File size: 4,540 Bytes
bb97e4c
 
 
 
e5c690f
 
189b91b
e5c690f
bb97e4c
 
a3a2281
 
e5c690f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c9bc7f5
e5c690f
 
 
65dae07
 
e5c690f
 
 
 
 
 
 
 
 
 
bb97e4c
e5c690f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
language:
- ru
---
## Инструктивный вихрь 5.4

Базовый Вихрь 5той версии (мистраль) обученный на переведенных инструкциях и ответах GPT-4 и улучшенный с помощью [ORPO](https://argilla.io/blog/mantisnlp-rlhf-part-8/) на нашем внутреннем датасете.

Модель имеет довольно высокое разннобразие ответов, поэтому рекомендуется использовать temperature в рендже [0.1, 0.4].

- [GGUF](https://huggingface.co/Vikhrmodels/it-5.4-fp16-orpo-v2-GGUF)

### Использование через transformers

```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_name = 'Vikhrmodels/it-5.4-fp16-orpo-v2'
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="sequential",
    attn_implementation="sdpa",
    torch_dtype=torch.bfloat16
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

test_input = tokenizer.apply_chat_template([
    {'role': 'user', 'content': 'Привет, объясни что такое черные дыры'}
], add_generation_prompt=True, tokenize=True, return_tensors='pt')
test_input = test_input.to(model.device)

answer = model.generate(
    test_input,
    do_sample=True,
    use_cache=True,
    max_new_tokens=256, 
    temperature=0.3,
)[:, test_input.shape[-1]:]
answer = tokenizer.batch_decode(answer, skip_special_tokens=True)[0]
print(answer)
```

Ответ модели:

> Привет! Черные дыры - это удивительные объекты, которые существуют в космосе. Они образуются из остатков массивных звезд, которые взрываются в результате сверхновой. После взрыва остается ядро звезды, которое коллапсирует под действием собственной гравитации, образуя черную дыру.
> 
> Черная дыра - это область пространства, где гравитационное притяжение настолько сильное, что ничто, даже свет, не может вырваться из нее. Это происходит потому, что гравитационное поле черной дыры настолько сильное, что оно искривляет пространство-время настолько, что даже свет не может покинуть ее.
> 
> Черные дыры могут быть разных размеров, от маленьких, которые могут быть размером с планету, до огромных, которые могут быть размером с галактику. Они могут быть как неподвижными, так и движущимися, и могут взаимодействовать с другими объектами в космосе, такими как звезды и планеты.
> 
> Черные дыры - это удивительные объекты, которые продолжают изучать ученые, и они могут многое рассказать нам о Вселенной и ее происхождении.

### Использование через vllm + openai client

Запуск сервера в терминале: \
`python -m vllm.entrypoints.openai.api_server --model Vikhrmodels/it-5.4-fp16-orpo-v2 --dtype half --api-key token-abc123 -tp 1`

```python
import openai

llm_model = "Vikhrmodels/it-5.4-fp16-orpo-v2"
llm_client = openai.OpenAI(
            base_url="http://localhost:8000/v1",
            api_key="token-abc123",
        )

def make_completion(history, client, model):
    completion = client.chat.completions.create(
                model=model,
                messages=history,
                temperature=0.3,
                max_tokens=2048,
                stop=["</s>", "<eos>", "<|eot_id|>", "<|im_end|>"]
    )
    output = completion.choices[0].message.content
    return output

answer = make_completion([
    {'role': 'user', 'content': 'Привет, объясни что такое черные дыры'}
], llm_client, llm_model)
print(answer)
```

### Метрики на ru_arena_general

![ru_arena_general](https://i.imghippo.com/files/kxqgJ1720804234.png)