Boreas
Boreas-7B is een Nederlands/Engels taalmodel gebaseerd op Mistral-7B-v0.1. Het model is getraind op 10 miljard tokens aan Nederlandse en Engelse tekst.
Boreas-7B-chat (dit model) is een verdere finetune op instructie- en chat data.
- Boreas-7B vertoont overeenkomsten met GEITje-7B, aangezien beide modellen zijn voortgebouwd op het Mistral-7B basismodel en zijn getrained op een vergelijkbare omvang van 10 miljard tokens.
- Boreas-7B-chat is vergelijkbaar met GEITje-7B-chat en GEITJE-7B-ultra-sft,
- omdat het ook een fine-tune is op een chat-dataset.
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:
- Boreas-7B en Boreas-7B-chat zijn getraind met een context lengte van 2048 tokens, terwijl GEITje is getraind met 8192 tokens.
- Boreas-7B en Boreas-7B-chat zijn getraind op een mix van Engels en Nederlands, waar GEITje alleen op voornamelijk Nederlands getraind is.
- Boreas-7B-chat is getraind op een mix van chatconversaties en pre-train data.
Omdat zowel GEITje als Boreas afgeleiden zijn van hetzelfde basismodel, is het mogelijk om een merge te maken.
Gebruik met ollama
Selecteer een GGUF quantisatie van Boreas-7B-chat-v1-GGUF en volg de instructies in de repository. Belangrijk: een system prompt is essentieel voor optimale model prestaties.
Scandeval benchmark
Met dank aan Bram Vanroy en Dan Saattrup Nielsen is Boreas-7B-chat geevalueerd en geplaatst op het Dutch NLG scandeval leaderboard.
Visualisatie gegenereerd met de Radial Plot Generator
Doel Boreas
Het Boreas project onderzoekt de ontwikkeling van een taalmodel dat authentiek Nederlands prefereert met behoud van meertalige capaciteiten. Zowel in de (continued) pre-training als fine-tuning (SFT) fases, wordt door mensen geschreven Nederlands gecombineerd met hoge kwaliteit Engels. Deze aanpak onderzoekt hoe continued pre-training van een meertalig model kan leiden tot natuurlijk Nederlands taalgebruik, terwijl de oorspronkelijke capaciteiten van het basismodel behouden blijven door de integratie van Engelstalig materiaal.
Boreas-7B basismodel
Het basismodel is op Mistral-7B doorgetraind op 10 miljard tokens.
De dataset is samengesteld uit diverse bronnen in zowel de Nederlandse als de Engelse taal:
Datasetnaam | Aantal Tokens | Percentage Tokens (%) |
---|---|---|
Nederlandse literatuur | 3401M | 34.01 |
Nederlandse Wikipedia | 2381M | 23.81 |
mc4_nl_cleaned (Nederlands) | 1361M | 13.61 |
Nederlands nieuws | 1361M | 13.61 |
Nederlands educatief materiaal | 136M | 1.36 |
Engelse literatuur | 340M | 3.40 |
Engelse Wikipedia (euirim/goodwiki) | 340M | 3.40 |
Engelse wis- en natuurkundeteksten | 340M | 3.40 |
Engelse instructiedataset (philschmid/flanv2) | 340M | 3.40 |
De dataset compositie is gebaseerd op zowel beschikbaarheid van data als de volgende overwegingen:
- Inclusie van kwalitatief hoogwaardig Nederlands taalmateriaal uit diverse bronnen. De selectie omvat literaire werken, nieuws- en Wikipedia-artikelen.
- Integratie van ongeveer 5% van de oorspronkelijke dataset voor kennisbehoud. Hoewel de exacte samenstelling van de Mistral-trainingsdata onbekend is, is het aannemelijk dat deze kwalitatief hoogwaardige Engelstalige content en instructiedata bevat. Daarom is gekozen voor de toevoeging van Engelstalige literatuur, Wikipedia-artikelen en instructiedata.
- Exclusie van door Large Language Models (LLMs) gegenereerde teksten in de pre-training fase. Empirische observaties suggereren dat LLM-gegenereerde content vaak lagere perplexiteit vertoont en modelspecifieke biases reproduceert. Daarom zijn datasets geselecteerd van vóór november 2022.
- Inclusie van mc4_nl_cleaned - afgeleid van mC4, een multilingual versie van Common Crawl data, gefilterd op ongewenste terminologie en onderworpen aan additionele bewerkingen conform het voorschrift van de T5-auteurs. De selectie is gebaseerd op de bewezen effectiviteit van C4 in pre-training benchmarks.
Empirisch onderzoek door het Falcon project toont aan dat combineren van gecureerde datasets van veronderstelde hoge kwaliteit - waaronder literaire werken, conversaties, en technische literatuur - met web-gebaseerde corpora voor de pretrain fase geen prestatieverbeteringen oplevert en dat de proportie gecureerde data negatief correleert met zero-shot prestaties. Dit project onderscheidt zich echter door een beperkte continued pre-training fase op basis van een sterk basismodel, in tegenstelling tot een complete pre-training vanaf initialisatie.
Tijdens de pre-training fase zijn de brontexten gepackt
in blokken van 2048 tokens, waarbij is gestreefd naar het
samenvoegen van coherente tekstfragmenten. Korte fragmenten zijn overgeslagen. Deze methodiek beoogt minimalisatie van 'cross-sequence' ruis binnen individuele training-examples.
De randomisatie van de voorbeelden is pas na deze aggregatie geïmplementeerd.
Pre-training
De pre-training van Boreas-7B is uitgevoerd met het EasyDeL JAX framework op een TPU-v4-32 op, beschikbaar gesteld door de Google TPU Research Cloud. De pre-training specificaties zijn als volgt:
- Globale batch size van 192 (batch size 96 × gradient accumulation steps 2)
- Flash attention met een blockgrootte van 512 tokens
- Maximale sequentielengte van 2048 tokens
- Datatype
bfloat16
- LION optimizer met triangulaire learning rate scheduling:
- Piek learning rate: 3e-6
- Gradient clipping: 1.0
Boreas-7B-chat
Boreas-7b-chat is een full-finetune
van het basismodel,
getraind op een mix van datasets, met een totale grootte van 4,7 miljard tokens.
De dataset compositie is als volgt:
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 wis- 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 educatie q en a | 3 | 0.68 |
(P) Nederlands educatief materiaal | 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)
In contrast met het basismodel bevat de fine-tuning dataset wel synthetische content.
De dataset wordt gedomineerd door teknium/OpenHermes-2.5
, een zorgvuldig samengestelde verzameling van diverse chat en instructie datasets.
Deze substantiële Engelstalige component in de training data dient twee doelen:
- Maximalisatie van dataset diversiteit
- Voornaamste bron van het formatteren van kennis in Engelse instructie en chat teksten.
Door de inclusie van vertaal-instructies wordt taalkundige alignment beoogd tussen Engels en Nederlands. Een klein gedeelte bestaat uit synthetische chatadata, gegenereerd op basis van Nederlandstalige Wikipedia-artikelen en educatieve teksten, met als doel domein-specifieke terminologie en lokale taalconventies te bevorderen. Om authentiek Nederlands te prefereren is hoogwaardige Nederlandstalige pre-train data toegevoegd.
Bij alle chat datasets is er alleen getraind op de assistant-completion tokens.
Fine-tuning
De fine-tuning van Boreas-7B-chat is uitgevoerd met het EasyDeL JAX framework op een TPU-v4-32, beschikbaar gesteld door de Google TPU Research Cloud. De fine-tuning specificaties zijn als volgt:
- Globale batch size van 192 (batch size 96 × gradient accumulation steps 2)
- Flash attention met een blockgrootte van 512 tokens
- Maximale sequentielengte van 2048 tokens
- LION optimizer met triangulaire learning rate scheduling:
- Piek learning rate: 2e-6
- Gradient clipping: 1.0
NB: De training werd onderbroken door een technische storing aan het einde van de dataset epoch. Gezien de gestabiliseerde loss werd besloten de training niet te hervatten voor een nieuwe epoch.
- Downloads last month
- 176