File size: 7,614 Bytes
c3b5ef1
 
1a1ed0d
 
 
 
c3b5ef1
 
1a1ed0d
 
1e99876
1a1ed0d
bdd3ce2
1a1ed0d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
633682f
1a1ed0d
 
633682f
1a1ed0d
bcb31a5
1a1ed0d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66fee5d
1a1ed0d
 
 
 
 
 
 
 
 
 
 
 
 
 
b43a8fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1a1ed0d
 
b43a8fb
1a1ed0d
 
b43a8fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1a1ed0d
b43a8fb
 
 
1a1ed0d
b43a8fb
 
1a1ed0d
 
 
 
 
be5eed4
1a1ed0d
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
---
library_name: transformers
language:
- ru
- en
pipeline_tag: text-generation
---

# Cotype-Nano🤖

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

Cotype Nano is a lightweight AI, 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

response = openai.ChatCompletion.create(
    model=model,
    temperature=0.0, # 0.2 is also allowed
    frequency_penalty=0.0,
    max_tokens=2048,
    top_p=0.1, # 0.9 is also allowed
    messages=[
          {"role": "system", "content": "Ты — ИИ-помощник. Тебе дано задание: необходимо сгенерировать подробный и развернутый ответ."},
          {"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: **31.2** (local measurement)

| Model                                      | Score  | 95% CI | Avg. #Tokens |
|---------------------------------------------|-------|-------------------------|---------------|
| **Cotype-Nano**                           | **31.2**  | **+1.7 / -1.9**            | **567**           |
| hermes-2-pro-llama-3-8b                     | 30.8  | +2.0 / 2.2              | 463.45        |
| openchat-3.6-8b-20240522                    | 30.3  | +2.2 / -1.6              | 428.7         |
| 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        |
| kolibri-vikhr-mistral-0427                  | 22.41 | +1.6 / -1.9             | 489.89        |
| snorkel-mistral-pairrm-dpo                  | 22.41 | +1.7 / -1.6             | 773.8         |
| **Cotype-Nano-4bit**                           | **21.6**  | **+2.1 / -1.8**               | **587**           |
| 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        |