Vlammie commited on
Commit
6ca5f0a
·
verified ·
1 Parent(s): 120ac07

Upload folder using huggingface_hub

Browse files
README.md CHANGED
@@ -1,21 +1,66 @@
1
  ---
2
- license: apache-2.0
3
  language:
4
  - nl
5
  - en
 
6
  datasets:
7
  - ToetsChecker-Research/beleg
 
 
8
  tags:
 
 
9
  - pretrained
10
- - pytorch
11
  ---
12
 
13
- # Boterham
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
- Dit is het ruwe pretrain-checkpoint van Boterham 0.5B, getraind op 8,004 miljard tokens uit [ToetsChecker-Research/beleg](https://huggingface.co/datasets/ToetsChecker-Research/beleg).
 
 
 
 
 
16
 
17
- De run eindigde na 15.266 stappen met een beste validatieloss van 1,8345 (perplexiteit 6,3).
 
 
18
 
19
- ## Status
20
 
21
- Dit model is nog niet instructie-gefinetuned en nog niet naar Transformers-formaat geexporteerd. De bestanden in `boterham-0.5B/` zijn volledige PyTorch-trainingscheckpoints waarmee de finetuning later kan worden hervat.
 
 
 
 
1
  ---
 
2
  language:
3
  - nl
4
  - en
5
+ license: apache-2.0
6
  datasets:
7
  - ToetsChecker-Research/beleg
8
+ library_name: transformers
9
+ pipeline_tag: text-generation
10
  tags:
11
+ - nederlands
12
+ - dutch
13
  - pretrained
 
14
  ---
15
 
16
+ # boterham-0.5B
17
+
18
+ Een Nederlandstalig taalmodel, getraind op uitsluitend rechtmatig
19
+ verkregen materiaal: publiek domein en permissief gelicentieerde
20
+ bronnen. Geen geschraapt web, geen destillatie uit een ander model.
21
+
22
+ De dataset waarop het draait staat los gepubliceerd als
23
+ [`ToetsChecker-Research/beleg`](https://huggingface.co/datasets/ToetsChecker-Research/beleg),
24
+ met per document de herkomst, de licentie en de ophaaldatum. Dat
25
+ corpus is het eigenlijke product; een model veroudert binnen een jaar
26
+ en een goed gedocumenteerde dataset niet.
27
+
28
+ ## Wat het is
29
+
30
+ | | |
31
+ |---|---|
32
+ | parameters | 488,3M (447,4M zonder embeddings) |
33
+ | architectuur | decoder-only, GQA, RoPE, SwiGLU, RMSNorm, QK-norm |
34
+ | contextlengte | 2048 tokens |
35
+ | vocabulaire | 32,002 BPE, byte-level |
36
+ | val-loss na finetuning | 0.8348 |
37
+
38
+ ## Hoe het getraind is
39
+
40
+ Daarna gefinetuned op instructiedata die uit datzelfde corpus is afgeleid, 2.0 epochs, met het verlies alleen op het antwoord.
41
+
42
+ Alle taken in de instructiedata zijn afgeleid uit echte documenten en
43
+ achteraf gecontroleerd: een extractief antwoord moet letterlijk in de
44
+ context staan, een onthoudingsvoorbeeld moet aantoonbaar niet in de
45
+ context staan, en een samenvatting moet korter zijn dan de bron. Wat
46
+ niet te controleren viel is niet meegegaan.
47
+
48
+ ## Wat het niet kan
49
 
50
+ Dit is een model van een halve miljard parameters, getraind op een
51
+ budget in miljarden tokens waar vergelijkbare modellen er biljoenen
52
+ zien. Verwacht geen brede wereldkennis en geen betrouwbare feiten over
53
+ personen, datums of getallen zonder context erbij. Het is gebouwd om
54
+ te werken met een document in de prompt, niet om uit het hoofd te
55
+ antwoorden.
56
 
57
+ Losse conversatie en creatief schrijven zitten nauwelijks in de
58
+ trainingsdata, want daar bestaat geen rechtmatige Nederlandstalige
59
+ bron van omvang voor. Dat is een bewuste keuze en geen omissie.
60
 
61
+ ## Licentie en herkomst
62
 
63
+ Het model staat onder Apache 2.0. De onderliggende teksten zijn
64
+ publiek domein (artikel 11 Auteurswet voor overheidspublicaties en
65
+ rechtspraak) of permissief gelicentieerd (CC BY, CC BY-SA, CC0).
66
+ Per document staat de herkomst in de datasheet bij de dataset.
config.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3ForCausalLM"
4
+ ],
5
+ "model_type": "qwen3",
6
+ "attention_bias": false,
7
+ "attention_dropout": 0.0,
8
+ "bos_token_id": 1,
9
+ "eos_token_id": 18,
10
+ "pad_token_id": 0,
11
+ "head_dim": 64,
12
+ "hidden_act": "silu",
13
+ "hidden_size": 1280,
14
+ "initializer_range": 0.02,
15
+ "intermediate_size": 3456,
16
+ "max_position_embeddings": 2048,
17
+ "max_window_layers": 26,
18
+ "num_attention_heads": 20,
19
+ "num_hidden_layers": 26,
20
+ "num_key_value_heads": 4,
21
+ "rms_norm_eps": 1e-05,
22
+ "rope_scaling": null,
23
+ "rope_theta": 100000.0,
24
+ "sliding_window": null,
25
+ "use_sliding_window": false,
26
+ "tie_word_embeddings": true,
27
+ "torch_dtype": "float32",
28
+ "use_cache": true,
29
+ "vocab_size": 32002
30
+ }
generation_config.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 1,
3
+ "eos_token_id": 18,
4
+ "pad_token_id": 0,
5
+ "do_sample": false,
6
+ "max_new_tokens": 256
7
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cd2788645b99179851014b0f0ec53f9d6ce76531086d8a46875932f6b7ec4064
3
+ size 1953300248
special_tokens_map.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "<s>",
3
+ "eos_token": "<|einde|>",
4
+ "pad_token": "<pad>",
5
+ "unk_token": "<unk>"
6
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "tokenizer_class": "PreTrainedTokenizerFast",
3
+ "model_max_length": 2048,
4
+ "bos_token": "<s>",
5
+ "eos_token": "<|einde|>",
6
+ "pad_token": "<pad>",
7
+ "unk_token": "<unk>",
8
+ "clean_up_tokenization_spaces": false,
9
+ "additional_special_tokens": [
10
+ "<|gebruiker|>",
11
+ "<|boterham|>",
12
+ "<|systeem|>",
13
+ "<|einde|>",
14
+ "<|denken|>",
15
+ "<|einde_denken|>"
16
+ ],
17
+ "chat_template": "{% for bericht in messages %}{% if bericht['role'] == 'system' %}<|systeem|>{{ '\\n' + bericht['content'] + '\\n' }}{% elif bericht['role'] == 'user' %}<|gebruiker|>{{ '\\n' + bericht['content'] + '\\n' }}{% else %}<|boterham|>{{ '\\n' + bericht['content'] }}<|einde|>{% endif %}{% endfor %}{% if add_generation_prompt %}<|boterham|>{{ '\\n' }}{% endif %}"
18
+ }