File size: 7,583 Bytes
c3b5ef1
 
1a1ed0d
 
 
 
88c03a6
ada7646
88c03a6
c3b5ef1
 
88c03a6
 
 
1a1ed0d
 
6f90a97
1a1ed0d
6f90a97
1a1ed0d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5389b31
 
 
 
1a1ed0d
 
1a17979
1a1ed0d
 
1a17979
1a1ed0d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66fee5d
1a1ed0d
 
 
 
 
 
 
 
 
 
 
 
 
 
b43a8fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1a1ed0d
 
b43a8fb
1a1ed0d
 
b43a8fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1a1ed0d
b43a8fb
 
 
1a1ed0d
b43a8fb
 
1a1ed0d
 
 
 
 
a383d1e
1a1ed0d
59b666e
 
9cf5a4e
59b666e
 
9fbfc0e
59b666e
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
---
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
```sh
python3 -m vllm.entrypoints.openai.api_server --model MTSAIR/Cotype-Nano --port 8000
```

### Recommended generation parameters and system prompt
```python
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
```python
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` для запуска сервера:
> 
> ```bash
> pip install fastapi uvicorn
> ```
> 
> ### Шаг 2: Создание класса `App`
> 
> Создайте класс `App`, который будет настраивать сервер:
> 
> ```python
> from fastapi import FastAPI
> 
> app = FastAPI()
> ```
> 
> ### Шаг 3: Реализация маршрутов
> 
> Добавьте маршруты и обработчики для вашего веб-приложения. Например, создадим простой endpoint для ответа на GET-запросы:
> 
> ```python
> @app.get("/")
> async def read_root():
>     return {"message": "Hello, FastAPI!"}
> ```
> 
> ### Шаг 4: Запуск сервера
> 
> Используйте `uvicorn` для запуска сервера:
> 
> ```bash
> 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        |