Update README.md
Browse files
README.md
CHANGED
@@ -21,31 +21,30 @@ datasets:
|
|
21 |
|
22 |
# Boreas
|
23 |
|
24 |
-
**NB: 20240430 model card is WIP - evaluations / example generations to be added**
|
25 |
-
|
26 |
![BoreasThe Mighty God of the North Wind](https://oldworldgods.com/wp-content/uploads/2023/10/boreas1.jpg)
|
27 |
|
28 |
[Boreas-7B](https://huggingface.co/yhavinga/Boreas-7B) is een Nederlands/Engels taalmodel gebaseerd op Mistral-7B.
|
29 |
-
Het is getraind op 10 miljard tokens aan Nederlandse en Engelse tekst.
|
30 |
|
31 |
-
**Boreas-7B-chat** (dit model) is
|
32 |
|
33 |
-
* Boreas-7B
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
37 |
|
38 |
Edwin Rijgersberg heeft [uitgebreide documentatie](https://github.com/Rijgersberg/GEITje/blob/main/README.md) geschreven voor het gebruik van GEITje,
|
39 |
en deze is ook van toepassing op Boreas.
|
40 |
|
41 |
De voornaamste verschillen tussen Boreas en GEITje zijn:
|
42 |
|
43 |
-
* Boreas-7B en Boreas-7B-chat zijn getraind met een context lengte van 2048 tokens, GEITje met 8192 tokens.
|
44 |
* Boreas-7B en Boreas-7B-chat zijn getraind op een mix van Engels en Nederlands, waar GEITje alleen op voornamelijk Nederlands getraind is.
|
45 |
-
* Boreas-7B-chat is getraind op een mix van
|
46 |
-
|
47 |
-
Omdat zowel GEITje als Boreas afgeleiden zijn van hetzelfde basismodel, is het mogelijk om een [merge](https://github.com/arcee-ai/mergekit) te maken.
|
48 |
|
|
|
|
|
49 |
|
50 |
## Gebruik met ollama
|
51 |
|
@@ -64,12 +63,13 @@ Plaatje gemaakt met de [Radial Plot Generator](https://huggingface.co/spaces/ale
|
|
64 |
|
65 |
## Doel Boreas
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
70 |
Bij het finetunen van Boreas-chat zijn toch 3% van de tokens Nederlandse chats gegeneerd door een LLM.
|
71 |
Dit is een kleine dataset die gemaakt is op basis van Nederlandse bronteksten, en een steekproef heeft uitgewezen
|
72 |
-
dat deze data van
|
73 |
|
74 |
Het uiteindelijke chat model is getraind op een mix van voornamelijk:
|
75 |
|
@@ -84,7 +84,7 @@ Het Boreas model kan dus beschouwd worden als een test voor knowledge transfer v
|
|
84 |
|
85 |
Het basismodel is op Mistral-7B doorgetraind op 10 miljard tokens.
|
86 |
|
87 |
-
De dataset is samengesteld uit
|
88 |
|
89 |
| Datasetnaam | Aantal Tokens | Percentage Tokens (%) |
|
90 |
|------------------------------------------------|---------------|-----------------------|
|
@@ -100,27 +100,33 @@ De dataset is samengesteld uit verschillende bronnen in zowel Nederlands en Enge
|
|
100 |
|
101 |
De keuze voor deze mix is gebaseerd op zowel beschikbaarheid van data als de volgende overwegingen:
|
102 |
|
103 |
-
*
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
*
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
|
|
|
|
|
|
|
|
|
|
119 |
|
120 |
## Pre-training
|
121 |
|
122 |
-
|
123 |
-
|
|
|
124 |
* Batch size 96, gradient accumulation steps 2
|
125 |
* Using flash attention, block size of 512
|
126 |
* Max sequence length of 2048
|
|
|
21 |
|
22 |
# Boreas
|
23 |
|
|
|
|
|
24 |
![BoreasThe Mighty God of the North Wind](https://oldworldgods.com/wp-content/uploads/2023/10/boreas1.jpg)
|
25 |
|
26 |
[Boreas-7B](https://huggingface.co/yhavinga/Boreas-7B) is een Nederlands/Engels taalmodel gebaseerd op Mistral-7B.
|
27 |
+
Het model is getraind op 10 miljard tokens aan Nederlandse en Engelse tekst.
|
28 |
|
29 |
+
**Boreas-7B-chat** (dit model) is een verdere finetune op instructie- en chat data.
|
30 |
|
31 |
+
* Boreas-7B vertoont overeenkomsten met [GEITje-7B](https://huggingface.co/Rijgersberg/GEITje-7B), aangezien beide
|
32 |
+
modellen zijn voortgebouwd op het Mistral-7B basismodel en zijn getrained op een vergelijkbare omvang van
|
33 |
+
10 miljard tokens.
|
34 |
+
* Boreas-7B-chat is vergelijkbaar met [GEITje-7B-chat](https://huggingface.co/Rijgersberg/GEITje-7B-chat) en [GEITJE-7B-ultra-sft](https://huggingface.co/BramVanroy/GEITje-7B-ultra-sft),
|
35 |
+
* omdat het ook een fine-tune is op een chat-dataset.
|
36 |
|
37 |
Edwin Rijgersberg heeft [uitgebreide documentatie](https://github.com/Rijgersberg/GEITje/blob/main/README.md) geschreven voor het gebruik van GEITje,
|
38 |
en deze is ook van toepassing op Boreas.
|
39 |
|
40 |
De voornaamste verschillen tussen Boreas en GEITje zijn:
|
41 |
|
42 |
+
* Boreas-7B en Boreas-7B-chat zijn getraind met een context lengte van 2048 tokens, terwijl GEITje is getraind met 8192 tokens.
|
43 |
* Boreas-7B en Boreas-7B-chat zijn getraind op een mix van Engels en Nederlands, waar GEITje alleen op voornamelijk Nederlands getraind is.
|
44 |
+
* Boreas-7B-chat is getraind op een mix van chatconversaties als ook 'normaal' pre-trainen.
|
|
|
|
|
45 |
|
46 |
+
Omdat zowel GEITje als Boreas afgeleiden zijn van hetzelfde basismodel, is het mogelijk om een [merge](https://github.com/arcee-ai/mergekit)
|
47 |
+
te maken.
|
48 |
|
49 |
## Gebruik met ollama
|
50 |
|
|
|
63 |
|
64 |
## Doel Boreas
|
65 |
|
66 |
+
Het doel van Boreas is de ontwikkeling van een taalmodel dat, met betrekking tot het Nederlandse gedeelte,
|
67 |
+
niet getraind is op door LLMs gegenereerde teksten.
|
68 |
+
Dit omvat het vermijden van Nederlandse chats gegenereerd door een LLM en datasets die vertaals zijn uit het
|
69 |
+
Engels door een LLM.
|
70 |
Bij het finetunen van Boreas-chat zijn toch 3% van de tokens Nederlandse chats gegeneerd door een LLM.
|
71 |
Dit is een kleine dataset die gemaakt is op basis van Nederlandse bronteksten, en een steekproef heeft uitgewezen
|
72 |
+
dat deze data van goede kwaliteit is.
|
73 |
|
74 |
Het uiteindelijke chat model is getraind op een mix van voornamelijk:
|
75 |
|
|
|
84 |
|
85 |
Het basismodel is op Mistral-7B doorgetraind op 10 miljard tokens.
|
86 |
|
87 |
+
De dataset is samengesteld uit diverse bronnen in zowel de Nederlandse als de Engelse taal:
|
88 |
|
89 |
| Datasetnaam | Aantal Tokens | Percentage Tokens (%) |
|
90 |
|------------------------------------------------|---------------|-----------------------|
|
|
|
100 |
|
101 |
De keuze voor deze mix is gebaseerd op zowel beschikbaarheid van data als de volgende overwegingen:
|
102 |
|
103 |
+
* Een substantieel aandeel hoogwaardig Nederlands taalmateriaal, primair bestaande uit door mensen geproduceerde teksten.
|
104 |
+
Dit leidde tot de inclusie van romans, Wikipedia-artikelen en journalistieke publicaties,
|
105 |
+
terwijl user-generated content zoals forumberichten, sociale media-uitingen en juridische documenten werden uitgesloten.
|
106 |
+
* Integratie van ongeveer 5% van de oorspronkelijke dataset, teneinde de retentie van initiële kennis te waarborgen.
|
107 |
+
Hoewel de exacte samenstelling van de Mistral-trainingsdata onbekend is, is het aannemelijk dat deze kwalitatief
|
108 |
+
hoogwaardige Engelstalige content en instructiedata bevat.
|
109 |
+
Derhalve is gekozen voor de toevoeging van circa 3% Engelstalige literatuur, Wikipedia-artikelen en instructiedata.
|
110 |
+
* Uitsluiten van door Large Language Models (LLMs) gegenereerde teksten in de pre-training fase.
|
111 |
+
Bij diverse Nederlandse datasets, valt de inferieure kwaliteit van vertalingen of gegenereerde teksten op.
|
112 |
+
Daarom is geopteerd voor datasets waarvan de brongegevens dateren van vóór het ChatGPT-tijdperk (i.e., vóór november 2022).
|
113 |
+
* Inclusie van mc4_nl_cleaned - afgeleid van mC4, een geduplificeerde versie van Common Crawl data,
|
114 |
+
gefilterd op ongewenste terminologie en onderworpen aan additionele bewerkingen conform het voorschrift van de T5-auteurs
|
115 |
+
voor de Engelstalige C4 dataset. Gezien de goede prestaties van C4 in diverse vergelijkende analyses als pre-training dataset,
|
116 |
+
is mc4_nl_cleaned geïncorporeerd in dit model.
|
117 |
+
|
118 |
+
In de pre-training fase zijn de brontexten gepackt in blokken van 2048 tokens. Hierbij is, waar mogelijk, gestreefd naar
|
119 |
+
samenvoeging van coherente tekstfragmenten. Korte fragmenten zijn overgeslagen, om te voorkomen dat een voorbeeld
|
120 |
+
begint met een paar tokens van het einde van een wikipedia artikel, gevolgd door een ander artikel.
|
121 |
+
Deze methodologie is gehanteerd om 'cross-sequence' ruis binnen individuele voorbeelden te minimaliseren.
|
122 |
+
De randomisatie van de voorbeelden is pas na deze aggregatie geïmplementeerd.
|
123 |
+
|
124 |
|
125 |
## Pre-training
|
126 |
|
127 |
+
Boreas-7B is pre-getraind met het [EasyDeL JAX framework](https://github.com/erfanzar/EasyDel) op een TPU-v4-32 op
|
128 |
+
de Google TPU Research Cloud. De pre-training specificaties zijn als volgt:
|
129 |
+
|
130 |
* Batch size 96, gradient accumulation steps 2
|
131 |
* Using flash attention, block size of 512
|
132 |
* Max sequence length of 2048
|