Delete .ipynb_checkpoints
Browse files
.ipynb_checkpoints/README-checkpoint.md
DELETED
@@ -1,100 +0,0 @@
|
|
1 |
-
---
|
2 |
-
library_name: transformers
|
3 |
-
model_name: LDAI-1.5-ANIU
|
4 |
-
base_model:
|
5 |
-
- Qwen/Qwen2.5-1.5B-Instruct
|
6 |
-
language:
|
7 |
-
- ru
|
8 |
-
license: cc-by-nc-4.0
|
9 |
-
---
|
10 |
-
|
11 |
-
# LDAI-1.5-ANIU
|
12 |
-
|
13 |
-
![https://aniu.lakomoor.com](assets/web.gif)
|
14 |
-
|
15 |
-
|
16 |
-
Модель предназначена для подбора аниме под предпочтения пользователей. LDAI-1.5-ANIU используется на сайте https://aniu.lakomoor.com
|
17 |
-
|
18 |
-
## Обучение:
|
19 |
-
|
20 |
-
Для обучения модели мы собрали датасет, основанный на данных с Aniu.
|
21 |
-
В качестве генерации синтетического датасета использовались модели [Vikhr-Nemo-12B-Instruct-R-21-09-24](https://huggingface.co/Vikhrmodels/Vikhr-Nemo-12B-Instruct-R-21-09-24) и [Hermes-3-Llama-3.1-8B](https://huggingface.co/NousResearch/Hermes-3-Llama-3.1-8B), а за основу была взята модель [Qwen2.5-1.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct).
|
22 |
-
|
23 |
-
Использовался метод SFT для обучения модели.
|
24 |
-
|
25 |
-
Создание синтетического датасета и обучение модели потребовали около 120 часов работы на двух Nvidia Tesla P40 24GB.
|
26 |
-
|
27 |
-
## Пример кода для запуска:
|
28 |
-
|
29 |
-
**Рекомендуемая пареметры для генерации:**.
|
30 |
-
|
31 |
-
- temperature 0.3
|
32 |
-
- top_k 0
|
33 |
-
- top_p 1.0
|
34 |
-
|
35 |
-
***
|
36 |
-
|
37 |
-
```python
|
38 |
-
from transformers import AutoModelForCausalLM, AutoTokenizer
|
39 |
-
|
40 |
-
# Загрузка модели и токенизатора
|
41 |
-
model_name = "LakoMoor/LDAI-1.5-ANIU"
|
42 |
-
model = AutoModelForCausalLM.from_pretrained(model_name)
|
43 |
-
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
44 |
-
|
45 |
-
# Подготовка входного текста
|
46 |
-
input_text = "Семейное аниме для детей 8-12 лет"
|
47 |
-
|
48 |
-
messages = [
|
49 |
-
{"role": "system", "content": 'Вы модель "ldai-1.5-aniu", эксперт по подбору аниме на сайте Aniu. Пользователи описывают свои предпочтения, и ты рекомендуешь аниме, соответствующее их запросу. Учитывай жанры, возраст, предпочитаемый стиль и студию, а также добавляй краткое описание сюжета и полезные советы.'},
|
50 |
-
{"role": "user", "content": input_text},
|
51 |
-
]
|
52 |
-
|
53 |
-
# Токенизация и генерация текста
|
54 |
-
input_ids = tokenizer.apply_chat_template(messages, truncation=True, add_generation_prompt=True, return_tensors="pt")
|
55 |
-
output = model.generate(
|
56 |
-
input_ids,
|
57 |
-
max_length=512,
|
58 |
-
temperature=0.3,
|
59 |
-
num_return_sequences=1,
|
60 |
-
no_repeat_ngram_size=2,
|
61 |
-
top_k=0,
|
62 |
-
top_p=1.0,
|
63 |
-
)
|
64 |
-
|
65 |
-
# Декодирование и вывод результата
|
66 |
-
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
|
67 |
-
print(generated_text)
|
68 |
-
```
|
69 |
-
***
|
70 |
-
|
71 |
-
#### Ответ модели:
|
72 |
-
|
73 |
-
>{
|
74 |
-
> "title_ru": "Покемон: Современное поколение - Лукарио и загадка Мью",
|
75 |
-
> "title_alt": [
|
76 |
-
> "Pokemon: Lucario and the Mystery of Mew",
|
77 |
-
> "Gekijouban Pocket Monsters Advanced Generation: Myuu to Hadou no Yuusha Lucario",
|
78 |
-
> "Pokemon Movie 8"
|
79 |
-
> ],
|
80 |
-
> "year": 2010,
|
81 |
-
> "genres": [
|
82 |
-
> "детское",
|
83 |
-
> "экшен",
|
84 |
-
> "приключения",
|
85 |
-
> "драма",
|
86 |
-
> "фэнтези"
|
87 |
-
> ],
|
88 |
-
> "studio": "OLM",
|
89 |
-
> "author": "Кэти Пилон",
|
90 |
-
> "message": "Рекомендуем посмотреть аниме 'Покемон: Современное поколение - Лукарио и загадка Мью'. Это увлекательная история о приключениях в мире покемонов. Найдите его на сайте Aniu."
|
91 |
-
>}
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
### Ссылки
|
97 |
-
|
98 |
-
- [LakoMoor](https://t.me/lakomoordev)
|
99 |
-
- [Aniu](https://aniu.su/)
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.ipynb_checkpoints/config-checkpoint.json
DELETED
@@ -1,29 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"_name_or_path": "Qwen/Qwen2.5-1.5B-Instruct",
|
3 |
-
"architectures": [
|
4 |
-
"Qwen2ForCausalLM"
|
5 |
-
],
|
6 |
-
"attention_dropout": 0.0,
|
7 |
-
"bos_token_id": 151643,
|
8 |
-
"eos_token_id": 151645,
|
9 |
-
"hidden_act": "silu",
|
10 |
-
"hidden_size": 1536,
|
11 |
-
"initializer_range": 0.02,
|
12 |
-
"intermediate_size": 8960,
|
13 |
-
"max_position_embeddings": 32768,
|
14 |
-
"max_window_layers": 21,
|
15 |
-
"model_type": "qwen2",
|
16 |
-
"num_attention_heads": 12,
|
17 |
-
"num_hidden_layers": 28,
|
18 |
-
"num_key_value_heads": 2,
|
19 |
-
"rms_norm_eps": 1e-06,
|
20 |
-
"rope_scaling": null,
|
21 |
-
"rope_theta": 1000000.0,
|
22 |
-
"sliding_window": null,
|
23 |
-
"tie_word_embeddings": true,
|
24 |
-
"torch_dtype": "bfloat16",
|
25 |
-
"transformers_version": "4.46.2",
|
26 |
-
"use_cache": true,
|
27 |
-
"use_sliding_window": false,
|
28 |
-
"vocab_size": 151665
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|