File size: 4,862 Bytes
521273d
 
 
 
 
 
 
86bb45b
521273d
49734f9
521273d
 
 
 
323ba70
521273d
 
49734f9
f502750
4fc9993
f502750
 
 
 
 
 
 
 
 
 
 
49734f9
521273d
 
 
 
 
 
 
e2b9343
521273d
 
21df202
521273d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3af5882
521273d
49734f9
521273d
 
3af5882
 
49734f9
521273d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
language:
- pl
- en
pipeline_tag: text-generation
---

# Llama-3-8B-Omnibus-1-PL-v01-INSTRUCT-GGUF

To repozytorum zawiera konwersj臋 modeli Llama-3-8B-Omnibus-1-PL-v01-INSTRUCT do formatu GGUF - Q8_0 oraz Q4_K_M. Przetestowana zosta艂a w dw贸ch 艣rodowiskach uruchomieniowych:

#### LM Studio 
Wersja minimum 0.2.20 - koniecznie wybierz format promptu Llama 3 (!) (opcja Preset)

#### Ollama
Wersja 0.1.32. Konfiguracja ollama plik Modelfile


```
FROM ./Llama-3-Omnibus-PL-v01-GGUF.Q4_K_M.gguf 
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>

{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>

{{ .Response }}<|eot_id|>"""
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
PARAMETER stop "<|reserved_special_token|>"
```



Repozytorium zawiera model Meta Llama-3-8B-Omnibus-1-PL-v01 w wersji polskoj臋zycznej. Model posta艂 na podstawie finetuningu modelu bazowego Llama-3-8B. Wykorzystano do tego dataset instrukcji Omnibus-1-PL (stworzy艂em go na w艂asne potrzeby przeprowadzania eksperymen贸w finetuningu modeli w j臋zyku polskim). Szczeg贸艂y parametr贸w treningu w sekcji Trening. Celem tego eksperymentu by艂o sprawdzenie czy mo偶na nam贸wi膰 Llama-3-8B do p艂ynnego rozmawiania w j臋zyku polskim (oryginalny model instrukcyjny 8B ma z tym problem - woli zdecydowanie bardziej rozmawia膰 po angielsku).

<img src="Llama-3-8B-PL-small.jpg" width="420" />

Uwaga! 
* Model NIE jest CENZUROWANY. To wersja do zabawy. Nie zosta艂a ujarzmiona.
* Model b臋dzie dalej rozwijany poniewa偶 eksperymentuj臋 z a. kolejnymi wersjami datasetu, b. model jest 艣wietn膮 baz膮 do testowania r贸偶nych technik finetunowania (LoRA, QLoRA; DPO, ORPO itd.)
* Udost臋pni艂em go spontanicznie by u偶ytkownicy mogli go u偶ywa膰 i sprawdza膰 jako艣膰 Llama 3 ale w kontek艣cie j臋zyka polskiego.
* Po informacji, 偶e baza by艂a trenowana na 15T token贸w (tylko 5% nie angielskich) uzna艂em, 偶e to 艣wietny model do finetuningu. By膰 mo偶e lekkie dotrenowanie modelu za pomoc膮 contingued-pretraining da jeszcze wi臋kszy uzysk. 

### Spos贸b kodowania nazwy modelu
* Nazwa modelu bazowego: Llama-3-8B
* Nazwa datasetu: Omnibus-1
* Wersja j臋zykowa: PL (polska)
* Wersja modelu: v01

### Dataset
Omnibus-1 to zbi贸r polskich instrukcji (100% kontekstu Polskiego - fakty, osoby, miejsca osadzone w Polsce), kt贸ry zosta艂 w 100% syntetycznie wygenerowany. Zawiera on instrukcje z kategorii - matematyka, umiej臋tno艣膰 pisania, dialogi, tematy medyczne, zagadki logiczne, t艂umaczenia itd. Powsta艂 on w ramach moich prac zwi膮zanych z badaniem jako艣ci modeli w kontek艣cie j臋zyka polskiego. Pozwala on na finetuning modelu i sprawdzenie podatno艣ci modelu do m贸wienia w naszym rodzimym j臋zyku. Dataset zawiera obecnie 75.000 instrukcji. B臋dzie ca艂y czas udoskonalony i by膰 mo偶e w przysz艂o艣ci udost臋pniony (jak uznam, 偶e ju偶 jest wtstarczaj膮co pe艂en i obejmuje szerokie spektrum tematyki i umiej臋tno艣ci). Dataset jest w 100% generowany za pomoc膮 innych LLM (GPT3.5, GPT4, Mixtral itd.) 


### Szablon konwersacji 
Szablon konwersacji to oryginalna wersja Llama3

```
<|start_header_id|>You are a helpful, smart, kind, and efficient AI assistant. You always fulfill the user's requests to the best of your ability.<|end_header_id|>
{System}
<|eot_id|>
<|start_header_id|>user<|end_header_id|>
{User}
<|eot_id|><|start_header_id|>assistant<|end_header_id|>
{Assistant}
```

### Wersja instrukcyjna
Wersje poddane quantyzacji s膮 dost臋pne w repozytorium:
* Llama-3-8B-Omnibus-1-PL-v01-instruct-GGUF - przetestowane w LM Studio (wybierz szablon - Llama3) oraz ollama

* 
| Version | Model card                                                                 |
| ------- | -------------------------------------------------------------------------- |
| Instruct| [馃 HuggingFace](https://huggingface.co/Remek/Llama-3-8B-Omnibus-1-PL-v01-instruct) |


### Trening
Poni偶ej szczeg贸艂y hiperparametr贸w treningu:
* learning_rate: 2e-05
* train_batch_size: 8
* eval_batch_size: 8
* seed: 42
* distributed_type: single-GPU (Nvidia A6000 Ada)
* num_devices: 1
* gradient_accumulation_steps: 4
* optimizer: adamw_8bit
* lr_scheduler_type: linear
* lr_scheduler_warmup_steps: 5
* num_epochs: 1
* QLoRa - 4bit: rank 64, alpha 128

#### Unsloth

<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/made with unsloth.png" width="200px" align="center" />

[Unsloth](https://unsloth.ai), narz臋dzie dzi臋ki kt贸remu powsta艂 ten model.


### Licencja
Licencja na zasadzie nie do komercyjnego u偶ycia (ze wzgl臋du na dataset - generowany syntetycznie za pomoc膮 modeli GPT4, GPT3.5) oraz licencja Llama3 (prosz臋 o zapoznanie si臋 ze szczeg贸艂ami licencji).