Cotype-Nano / README.md
AlanRobotics's picture
Update README.md
6f90a97 verified
|
raw
history blame
7.58 kB
metadata
library_name: transformers
language:
  - ru
  - en
pipeline_tag: text-generation
license: other
license_name: apache-2.0
license_link: >-
  https://huggingface.co/MTSAIR/Cotype-Nano/blob/main/Apache%20License%20MTS%20AI.docx

Cotype-Nano🤖

MTSAIR/Cotype-Nano – это легковесная LLM, разработанная для выполнения задач с минимальными ресурсами. Она оптимизирована для быстрого и эффективного взаимодействия с пользователями, обеспечивая высокую производительность даже в условиях ограниченных ресурсов.

Cotype Nano is a lightweight LLM, designed to perform tasks with minimal resources. It is optimized for fast and efficient interaction with users, providing high performance even under resource-constrained conditions.

Inference with vLLM

python3 -m vllm.entrypoints.openai.api_server --model MTSAIR/Cotype-Nano --port 8000

Recommended generation parameters and system prompt

import openai
import pandas as pd
from tqdm import tqdm

openai.api_key = 'xxx'

endpoint = 'http://localhost:8000/v1'
model = 'MTSAIR/Cotype-Nano'
openai.api_base = endpoint

# Possible system prompt:
# {"role": "system", "content": "Ты — ИИ-помощник. Тебе дано задание: необходимо сгенерировать подробный и развернутый ответ."},


response = openai.ChatCompletion.create(
    model=model,
    temperature=0.4, # 0.0 is also allowed
    frequency_penalty=0.0,
    max_tokens=2048,
    top_p=0.8, # 0.1 is also allowed
    messages=[
          {"role": "user", "content": "Как мне обучить модель meta-llama/Llama-3.2-1B с помощью библиотеки transformers?"}
        ]
    )

answer = response["choices"][0]["message"]["content"]
print(answer)

Inference with Huggingface

from transformers import pipeline

pipe = pipeline("text-generation", model="MTSAIR/Cotype-Nano", device="cuda")

messages = [
  {"role": "system", "content": "Ты — ИИ-помощник. Тебе дано задание: необходимо сгенерировать подробный и развернутый ответ."},
  {"role": "user", "content": "Расскажи мне про ИИ"},
]

res = pipe(messages, max_length=1024)
print(res[0]['generated_text'][-1]['content'])

Example request

Request: Напиши простой сервер на фастапи

Cotype-Nano response:

Фастапи (FastAPI) — это современный фреймворк для создания веб-сервисов на языке Python, который использует асинхронный синтаксис и поддерживает генераторы. Он подходит для создания сложных веб-приложений и часто используется в сочетании с базой данных.

Для создания простого сервера на фастапи, вам понадобится:

  1. Установить фастапи и необходимые библиотеки.
  2. Создать базовый класс App для настройки сервера.
  3. Реализовать маршруты и обработчики для вашего веб-приложения.

Шаг 1: Установка фастапи и необходимых библиотек

Для начала установите фастапи и другие необходимые библиотеки, такие как uvicorn для запуска сервера:

pip install fastapi uvicorn

Шаг 2: Создание класса App

Создайте класс App, который будет настраивать сервер:

from fastapi import FastAPI

app = FastAPI()

Шаг 3: Реализация маршрутов

Добавьте маршруты и обработчики для вашего веб-приложения. Например, создадим простой endpoint для ответа на GET-запросы:

@app.get("/")
async def read_root():
    return {"message": "Hello, FastAPI!"}

Шаг 4: Запуск сервера

Используйте uvicorn для запуска сервера:

uvicorn main:app --reload

Здесь main — это имя файла с вашим кодом, а app — это экземпляр класса App, который вы создали ранее.

--reload указывает uvicorn перезагружать сервер при изменении кода.

Теперь, когда вы запустите сервер, он будет доступен по адресу http://127.0.0.1:8000. Вы можете отправить GET-запрос на / и увидеть ответ:

{
    "message": "Hello, FastAPI!"
}

Это базовый пример того, как можно создать простой сервер на фастапи. Вы можете расширять и модифицировать его, добавляя новые маршруты, обработчики и функциональность в соответствии с вашими требованиями.

Training process

The model was trained in two stages. In the first stage, MLP layers were trained on mathematics and code. In the second stage, the entire model was trained on internal and open synthetic instructional datasets.

ru-llm-arena: 30.2 (local measurement)

Model Score 95% CI Avg. #Tokens
Cotype-Nano 30.2 +2.2 / -1.3 542
vikhr-it-5.3-fp16-32k 27.8 +1.5 / -2.1 519.71
vikhr-it-5.3-fp16 22.73 +1.8 / -1.7 523.45
Cotype-Nano-4bit 22.5 +2.1 / -1.4 582
kolibri-vikhr-mistral-0427 22.41 +1.6 / -1.9 489.89
snorkel-mistral-pairrm-dpo 22.41 +1.7 / -1.6 773.8
storm-7b 20.62 +1.4 / -1.6 419.32
neural-chat-7b-v3-3 19.04 +1.8 / -1.5 927.21
Vikhrmodels-Vikhr-Llama-3.2-1B-instruct 19.04 +1.2 / -1.5 958.63
gigachat_lite 17.2 +1.5 / -1.5 276.81
Vikhrmodels-Vikhr-Qwen-2.5-0.5b-Instruct 16.5 +1.5 / -1.7 583.5
Qwen-Qwen2.5-1.5B-Instruct 16.46 +1.3 / -1.3 483.67
Vikhrmodels-vikhr-qwen-1.5b-it 13.19 +1.3 / -1.1 2495.38
meta-llama-Llama-3.2-1B-Instruct 4.04 +0.6 / -0.8 1240.53
Qwen-Qwen2.5-0.5B-Instruct 4.02 +0.7 / -0.8 829.87