Downloads · 30 days
5
11% of all-time downloads
RichardErkhov/yhavinga_-_Boreas-7B-chat-4bits
yhavinga_-_Boreas-7B-chat-4bits is a text generation model from RichardErkhov. Use it when you need the model to write or continue text. It is set up for transformers.
Downloads · 30 days
5
11% of all-time downloads
All-time downloads
44
Public
Parameters
7.4B
4.5 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors4.5 GB · 100%
How the weights are stored.
U87B · 95%
From the Hugging Face model README
Quantization made by Richard Erkhov.
Boreas-7B-chat - bnb 4bits
library_name: transformers license: apache-2.0 pipeline_tag: text-generation tags:
NB: 20240430 model card is WIP - evaluations / example generations to be added

Boreas-7B is een Nederlands/Engels taalmodel gebaseerd op Mistral-7B. Het is getraind op 10 miljard tokens aan Nederlandse en Engelse tekst. Boreas-7B-chat is verder getraind op instructie- en chat data.
Edwin Rijgersberg heeft uitgebreide documentatie geschreven voor het gebruik van GEITje, en deze is ook van toepassing op Boreas.
De voornaamste verschillen tussen Boreas en GEITje zijn:
Kies een GGUF quant van Boreas-7B-chat-v1-GGUF en volg de instructies daar. Belangrijk: gebruik een system prompt, anders zijn de resultaten matig.
Creatie van een taalmodel dat wat betreft het Nederlandse gedeelte, niet getraind is op teksten gegeneerd door een LLM. Dus geen Nederlandse chats gegeneerd door een LLM, en ook geen datasets die vertaald zijn uit het Engels door een LLM. Er is niet streng gefilterd op LLM-gegenereerde tekst, maar dit is wel een aandachtspunt geweest bij het samenstellen van de datasets. Bij het finetunen van Boreas-chat zijn toch 3% van de tokens Nederlandse chats gegeneerd door een LLM. Dit is een kleine dataset die gemaakt is op basis van Nederlandse bronteksten, en een steekproef heeft uitgewezen dat deze data van een goede kwaliteit is.
Het uiteindelijke chat model is getraind op een mix van voornamelijk:
Het Boreas model kan dus beschouwd worden als een test voor knowledge transfer van Engels naar Nederlands.
Het basismodel is op Mistral-7B doorgetraind op 10 miljard tokens.
De dataset is samengesteld uit verschillende bronnen in zowel Nederlands en Engels:
| Datasetnaam | Aantal Tokens | Percentage Tokens (%) |
|---|---|---|
| Nederlandse romans | 3401M | 34.01 |
| Nederlandse Wikipedia | 2381M | 23.81 |
| mc4_nl_cleaned (Nederlands) | 1361M | 13.61 |
| Nederlands nieuws | 1361M | 13.61 |
| Nederlandse schoolboeken | 136M | 1.36 |
| Engelse romans | 340M | 3.40 |
| Engelse Wikipedia (euirim/goodwiki) | 340M | 3.40 |
| Engelse wiskunde- en natuurkundeboeken | 340M | 3.40 |
| Engelse instructiedataset (philschmid/flanv2) | 340M | 3.40 |
De keuze voor deze mix is gebaseerd op zowel beschikbaarheid van data als de volgende overwegingen:
Bij het pre-trainen zijn de brontexten gepackt in blokken van 2048 tokens. Hierbij is waar mogelijk geprobeerd om alleen teksten te packen die bij elkaar passen. Ook worden kleine fragmenten weggegooid, zodat we bijvoorbeeld nooit een fragment krijgen dat begint met een paar tokens van het einde van een wikipedia artikel, om daarna met een ander wikipedia artikel te beginnen. Dit is gedaan om 'cross sequence' ruis binnen 1 example zoveel mogelijk te voorkomen. Pas na packing zijn de examples geshuffled.



Het chat LLM model is net als het basismodel getraind op een mix van datasets, met een grootte van 4.7B tokens. Het is een full finetune, dus geen LoRA finetune.
De volgende datasets zijn gemixt:
| Datasetnaam | Gewicht | Percentage Tokens (%) |
|---|---|---|
| (C) Diverse Engelse chat dataset (teknium/OpenHermes-2.5) | 200 | 45.15 |
| (C) Vertaal en->nl paragrafen (romans) | 100 | 22.57 |
| (C) Vertaal en->nl zinnen (romans) | 50 | 11.29 |
| (P) Nederlandse wikipedia | 30 | 6.77 |
| (P) Engelse wiskunde en natuurkunde boeken | 25 | 5.64 |
| (C) Engelse instruct dataset (philschmid/flanv2) | 20 | 4.51 |
| (C) Nederlandse wiki q en a | 12 | 2.71 |
| (C) Nederlandse schoolboeken q en a | 3 | 0.68 |
| (P) Nederlandse schoolboeken | 2 | 0.45 |
| (C) Vertaal en->nl uitdrukkingen (dictionary) | 1 | 0.23 |
(C) geeft aan dat de tekst geformatteerd is voor chat, (P) is ongeformatteerde tekst (gelijk aan de pre-train fase)
Het grootste gedeelte bestaat uit teknium/OpenHermes-2.5 - wat op zichzelf ook weer een amalgamaat van diverse
gefilterde chat/instruct datasets is. Deze dataset bevat wel programmacode data, wat ertoe resulteert dat Boreas-7B-chat
wel in staat is om simpele programmavragen te beantwoorden.
De reden om zoveel Engels in de dataset te mixen, is met name om de diversiteit in de dataset zo hoog mogelijk te krijgen, en omdat ik verwacht dat er een behoorlijke mate van cross language en naar nl knowledge transfer mogelijk is. Het omgekeerde is zeker waar: als een fine-tune dataset niet divers is, zal het model door zijn fine-tuning niet in staat zijn om zijn originele kunde uit te voeren. Een van de eerste Mistral finetunes die ik gemaakt heb was gefinetuned op alleen en->nl vertalen. Dat model kon uiteindelijk niets anders meer dan vertalen naar Nederlands.
In tegenstelling tot het basismodel is het chat model wel getrained op LLM-gegenereerde teksten - hierbij zijn de volgende overwegingen van toepassing: Bij de Nederlandse gegenereerde chats heb ik wederom geprobeerd om zoveel mogelijk origineel Nederlands taalgebruik te 'guiden' door alleen vragen en antwoorden te genereren op basis van teksten die origineel in het Nederlands geschreven zijn door een persoon. Dit zijn de Nederlandse wiki q en a en Nederlandse schoolboeken q en a chat datasets. Hierdoor wordt er zoveel mogelijk voor gezorgd dat bij bijvoorbeeld educatie-achtige q en a, de in onze regio gebruikelijke termen en eenheden voorkomen in de chat database, tenminste voor de Nederlandstalige chats.
Bij alle chat datasets is er alleen getraind op de assistant-completion tokens.


