File size: 2,801 Bytes
0ef2181
 
e674cef
 
 
 
 
0ef2181
 
e674cef
0ef2181
e674cef
0ef2181
e674cef
0ef2181
e674cef
0ef2181
e674cef
 
0ef2181
 
e674cef
0ef2181
e674cef
 
0ef2181
e674cef
 
 
 
 
 
 
 
 
0ef2181
e674cef
 
 
 
0ef2181
e674cef
 
 
 
0ef2181
 
e674cef
 
 
 
0ef2181
e674cef
 
 
 
82602d0
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
---
library_name: transformers
model_name: ruadapt-s1
base_model: RefalMachine/ruadapt_qwen2.5_3B_ext_u48_instruct_v4
language:
- ru
datasets: dankalin/s1K-1.1-ru
---

# ruadapt-s1

Инструктивная модель на основе ruadapt_qwen2.5_3B, обученная на датасете переведенный на русский язык [s1K-1.1](https://huggingface.co/datasets/dankalin/s1K-1.1-ru).

Метод обучения и его параметры почти полностью соответствуют тем, что описаны в статье: [статья](https://arxiv.org/abs/2501.19393)

## Пример кода для запуска:

```python
from transformers import AutoModelForCausalLM, AutoTokenizer


model_name = "dankalin/ruadapt-s1"

model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

SYSTEM_PROMPT = """
Отвечай в формате:
<reasoning>
...
</reasoning>
<answer>
...
</answer>
"""

input_text = """
 9 игроков бейсбольной команды пошли в кафе-мороженое после игры. Каждый игрок взял один рожок мороженого с одним шариком: шоколадным, ванильным или клубничным.
 По крайней мере один игрок выбрал каждый вкус, и количество игроков, выбравших шоколадное мороженое, было больше, чем количество игроков, выбравших ванильное, которое, в свою очередь, было больше, чем количество игроков, выбравших клубничное.
 Пусть $N$ — количество различных вариантов распределения вкусов между игроками, удовлетворяющих этим условиям. Найдите остаток от деления $N$ на 1000."""

messages = [
    {'role': 'system', 'content': SYSTEM_PROMPT},
    {"role": "user", "content": input_text},
]


input_ids = tokenizer.apply_chat_template(messages, truncation=True, add_generation_prompt=True, return_tensors="pt")
output = model.generate(
    input_ids,
)

generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
```
## Наблюдения:
Модель демонстрирует значительные отклонения, особенно в решении математических задач. Однако на десятом прогоне [kristaller486/aime2025-ru](https://huggingface.co/datasets/kristaller486/aime2025-ru) она смогла верно решить одну задачу.