dawidmajewski commited on
Commit
99df2d0
·
verified ·
1 Parent(s): 05658ff

Publikacja pollock-mini-lm

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ assets/pollock-mini-lm-avatar-320.png filter=lfs diff=lfs merge=lfs -text
LICENSE.md ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Informacja licencyjna / Licensing notice
2
+
3
+ ## Kod / Code
4
+
5
+ Implementacja treningowa projektu bazuje na `karpathy/nanoGPT`, udostępnianym na licencji MIT:
6
+
7
+ <https://github.com/karpathy/nanoGPT/blob/master/LICENSE>
8
+
9
+ Elementy kodu rozpowszechniane razem z projektem pozostają objęte właściwymi informacjami licencyjnymi ich autorów. Licencja MIT dotycząca nanoGPT nie staje się automatycznie licencją danych treningowych ani wag modelu.
10
+
11
+ The training implementation is based on `karpathy/nanoGPT`, which is distributed under the MIT License:
12
+
13
+ <https://github.com/karpathy/nanoGPT/blob/master/LICENSE>
14
+
15
+ Code components distributed with the project remain subject to their respective authors' license notices. The nanoGPT MIT License does not automatically become the license of the training data or model weights.
16
+
17
+ ## Korpus i wagi / Corpus and weights
18
+
19
+ Model został wytrenowany na `SlayerLab/minimal-en-corpus-2.5b`, agregacie danych z wielu źródeł. Korpus nie nadaje dokumentom jednej wspólnej licencji; każdy dokument zachowuje identyfikator źródła i podlega warunkom, licencjom oraz ograniczeniom właściwego upstreamowego datasetu.
20
+
21
+ Ze względu na mieszany charakter tych warunków repozytorium modelu używa metadanej Hugging Face `license: other`. Nie jest to przyznanie dodatkowych praw do materiałów źródłowych. Użytkownik powinien przed użyciem, redystrybucją lub zastosowaniem komercyjnym zapoznać się z kartą korpusu i warunkami wszystkich właściwych źródeł:
22
+
23
+ <https://huggingface.co/datasets/SlayerLab/minimal-en-corpus-2.5b>
24
+
25
+ The model was trained on `SlayerLab/minimal-en-corpus-2.5b`, an aggregate of multiple data sources. The corpus does not apply a single common license to its documents; each document retains its source identifier and remains subject to the terms, licenses, and restrictions of the applicable upstream dataset.
26
+
27
+ Because these terms are mixed, the model repository uses the Hugging Face metadata value `license: other`. This notice does not grant additional rights to upstream materials. Before use, redistribution, or commercial application, users should review the corpus card and the terms of every applicable source:
28
+
29
+ <https://huggingface.co/datasets/SlayerLab/minimal-en-corpus-2.5b>
README.md CHANGED
@@ -1,5 +1,246 @@
1
  ---
 
 
 
 
2
  license: other
3
  license_name: mixed-upstream-dataset-terms
4
  license_link: https://huggingface.co/SlayerLab/pollock-mini-lm-125m/blob/main/LICENSE.md
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ language:
3
+ - en
4
+ library_name: transformers
5
+ pipeline_tag: text-generation
6
  license: other
7
  license_name: mixed-upstream-dataset-terms
8
  license_link: https://huggingface.co/SlayerLab/pollock-mini-lm-125m/blob/main/LICENSE.md
9
+ datasets:
10
+ - SlayerLab/minimal-en-corpus-2.5b
11
+ tags:
12
+ - causal-lm
13
+ - gpt2
14
+ - nanogpt
15
+ - bpe
16
+ - educational
17
+ model-index:
18
+ - name: pollock-mini-lm
19
+ results:
20
+ - task:
21
+ type: text-generation
22
+ name: Text Generation
23
+ dataset:
24
+ type: SlayerLab/minimal-en-corpus-2.5b
25
+ name: Minimal EN validation
26
+ split: validation
27
+ metrics:
28
+ - type: loss
29
+ value: 3.40875361
30
+ - type: perplexity
31
+ value: 30.227545
32
  ---
33
+
34
+ # pollock-mini-lm
35
+
36
+ ![Avatar pollock-mini-lm](./assets/pollock-mini-lm-avatar-320.png)
37
+
38
+ > **Wersja eksperymentalna / Experimental release.** Model nie jest przeznaczony do zastosowań produkcyjnych ani wysokiego ryzyka. / The model is not intended for production or high-risk use.
39
+
40
+ ## Polski
41
+
42
+ ### Opis
43
+
44
+ `pollock-mini-lm` to niewielki, anglojęzyczny model przyczynowy stworzony jako czytelny eksperyment edukacyjny. Nazwa podkreśla miniaturowy charakter projektu. Implementacja bazuje na [nanoGPT](https://github.com/karpathy/nanoGPT), uproszczonym przepisaniu minGPT, oraz na własnym tokenizerze byte-level BPE.
45
+
46
+ Nazwa modelu luźno nawiązuje do gestu malarskiego Jacksona Pollocka i idei kontrolowanego eksperymentu z przypadkiem. nanoGPT pełni tu rolę płótna, na którym różne dane, konfiguracje i decyzje treningowe tworzą odmienne wzorce zachowania modelu. Istotny jest nie tylko końcowy rezultat, ale również obserwacja procesu i wpływu poszczególnych składników eksperymentu.
47
+
48
+ Prostota jest celowa: projekt ma pomagać osobom rozpoczynającym tworzenie modeli zrozumieć, które decyzje dotyczące architektury, danych i treningu wpływają na wynik, a następnie przenieść te metody do własnych eksperymentów.
49
+
50
+ ### Architektura i tokenizer
51
+
52
+ | Właściwość | Wartość |
53
+ |---|---:|
54
+ | Typ | decoder-only Transformer, klasa GPT-2 small |
55
+ | Parametry nanoGPT | 95 963 904 (około 96M) |
56
+ | Warstwy / głowy / embedding | 12 / 12 / 768 |
57
+ | Maksymalny kontekst | 2048 tokenów |
58
+ | Słownik | 12 288 tokenów |
59
+ | Tokenizer | byte-level BPE, pretokenizacja w stylu GPT-2 |
60
+ | Tokeny specjalne | `<|endoftext|>`, `<|im_start|>`, `<|im_end|>` |
61
+
62
+ ### Dane
63
+
64
+ Model wytrenowano na [`SlayerLab/minimal-en-corpus-2.5b`](https://huggingface.co/datasets/SlayerLab/minimal-en-corpus-2.5b): mieszance 15 anglojęzycznych źródeł dobranej subiektywnie na zasadzie „common sense”, a nie poprzez naukową optymalizację proporcji.
65
+
66
+ - około 2,5 mld tokenów oszacowanych przed finalną tokenizacją;
67
+ - 2 703 768 815 tokenów BPE w zbiorze treningowym;
68
+ - 5 267 742 tokeny BPE w zbiorze walidacyjnym;
69
+ - deduplikacja dokładna i przybliżona, filtrowanie języka oraz decontaminacja benchmarków zostały wykonane na etapie przygotowania datasetu.
70
+
71
+ Karta datasetu zawiera pełną listę źródeł i informacje o ich licencjach. Mieszanka nie nadaje dokumentom jednej wspólnej licencji.
72
+
73
+ ### Trening
74
+
75
+ | Parametr | Wartość |
76
+ |---|---:|
77
+ | Kroki optymalizatora | 41 257 |
78
+ | Przetworzone tokeny | 10 815 275 008 (4 epoki) |
79
+ | Effective batch | 262 144 tokeny |
80
+ | Sekwencja / micro-batch / akumulacja | 2048 / 32 / 4 |
81
+ | Optymalizator | fused AdamW, betas 0.9/0.95 |
82
+ | Learning rate | 6e-4 → 6e-5, cosine decay |
83
+ | Warmup / weight decay / grad clip | 500 / 0.1 / 1.0 |
84
+ | Precyzja | BF16 |
85
+ | Sprzęt | 1× NVIDIA GeForce RTX 5090 32 GB |
86
+ | Framework | PyTorch 2.8.0+cu128, nanoGPT commit `3adf61e` |
87
+
88
+ ### Ewaluacja
89
+
90
+ Wydanie wykorzystuje końcowy checkpoint, który uzyskał najlepszy wynik spośród wszystkich zachowanych checkpointów w deterministycznej ewaluacji pełnego `val.bin`.
91
+
92
+ | Zbiór | Tokeny ocenione | Loss | Perplexity |
93
+ |---|---:|---:|---:|
94
+ | Minimal EN validation | 5 267 456 | 3.40875361 | 30.227545 |
95
+
96
+ Ewaluacja użyła 2572 kolejnych, niepokrywających się okien po 2048 tokenów w BF16. Nie przeprowadzono benchmarków downstream. Podczas treningu wykryto błąd historycznej logiki `best_val_loss`; dlatego wszystkie zachowane checkpointy porównano ponownie tą samą deterministyczną metodą, zamiast ufać nazwie `checkpoint_best_val.pt`.
97
+
98
+ ### Użycie z Transformers
99
+
100
+ ```python
101
+ from transformers import AutoModelForCausalLM, AutoTokenizer
102
+
103
+ model_id = "SlayerLab/pollock-mini-lm-125m"
104
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
105
+ model = AutoModelForCausalLM.from_pretrained(model_id)
106
+
107
+ inputs = tokenizer("Once upon a time", return_tensors="pt")
108
+ output = model.generate(
109
+ **inputs,
110
+ max_new_tokens=100,
111
+ do_sample=True,
112
+ temperature=0.7,
113
+ top_k=50,
114
+ )
115
+ print(tokenizer.decode(output[0], skip_special_tokens=True))
116
+ ```
117
+
118
+ Model korzysta ze standardowego `GPT2LMHeadModel` i nie wymaga `trust_remote_code`.
119
+
120
+ ### Przykładowe generacje
121
+
122
+ Poniższe próbki wygenerowano bez ręcznej selekcji wyników. Ustawienia: seed 1337 resetowany dla każdego promptu, temperature 0.7, top-k 50, maksymalnie 100 nowych tokenów. Prompt jest częścią pokazanego wyniku.
123
+
124
+ #### Wiedza ogólna / General knowledge
125
+
126
+ Prompt:
127
+
128
+ ```text
129
+ The capital of France is
130
+ ```
131
+
132
+ Wynik / Output:
133
+
134
+ ```text
135
+ The capital of France is a first of the most important element in the construction of the Socket.
136
+
137
+ Most of the socket is not a type of sandstone but it is generally a rocket.
138
+
139
+ As a result, there is also an exception of the rocket site. The socket is called a rocket.
140
+
141
+ The rocket is the only rocket.
142
+ The rocket is the highest rocket.
143
+
144
+ The rocket is the highest rocket.
145
+
146
+ The rocket
147
+ ```
148
+
149
+ #### Proste wyjaśnienie / Explanation
150
+
151
+ Prompt:
152
+
153
+ ```text
154
+ Photosynthesis is the process by which
155
+ ```
156
+
157
+ Wynik / Output:
158
+
159
+ ```text
160
+ Photosynthesis is the process by which the first two events are found. A key option is to do a function in some cases, so it is called the first two terms. This is what I want to think. The first one is to multiply the number by the number of digits. (The second one is to multiply the number by the first two terms. The first two terms are divided by the second one, so that is the first four terms. The third one is to multiply the number by the number of digits. The third
161
+ ```
162
+
163
+ #### Narracja / Story
164
+
165
+ Prompt:
166
+
167
+ ```text
168
+ In a distant future, humanity discovered
169
+ ```
170
+
171
+ Wynik / Output:
172
+
173
+ ```text
174
+ In a distant future, humanity discovered to change, as well as the "coneurship and a continuance of the body.
175
+ This is not a matter of the general sense, but a lot of things we call us to the body. If we feel the body is the body’s internal structure, we’re going to change the way. The body is the body’s potential structure, meaning that it is used for a body to balance and develop a sensory to control each other.
176
+ What is the
177
+ ```
178
+
179
+ #### Kod / Code
180
+
181
+ Prompt:
182
+
183
+ ```text
184
+ def fibonacci(n):
185
+ ```
186
+
187
+ Wynik / Output:
188
+
189
+ ```text
190
+ def fibonacci(n):)) = (n - 1) + (n - 1) + ( n - 1) + ( n - 2) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n - 1) + ( n
191
+ ```
192
+
193
+ ### Ograniczenia i odpowiedzialne użycie
194
+
195
+ - Jest to surowy model bazowy bez instruction tuningu, RLHF ani alignmentu. Nie jest asystentem konwersacyjnym.
196
+ - Może halucynować, zaprzeczać samemu sobie oraz generować treści toksyczne, stronnicze, niebezpieczne lub przypominające dane treningowe.
197
+ - Rozmiar około 96M ogranicza wiedzę, rozumowanie, spójność długiego tekstu i jakość kodu.
198
+ - Dane są głównie anglojęzyczne; działanie w innych językach nie było oceniane.
199
+ - Nie należy używać modelu do porad medycznych, prawnych, finansowych, decyzji o ludziach ani innych zastosowań wysokiego ryzyka.
200
+ - Użytkownik odpowiada za ocenę licencji i warunków źródeł danych dla swojego zastosowania.
201
+
202
+ ## English
203
+
204
+ ### Overview
205
+
206
+ `pollock-mini-lm` is a small English causal language model built as a readable educational experiment. Its name emphasizes the project's miniature scope. The implementation is based on [nanoGPT](https://github.com/karpathy/nanoGPT), itself a simplified rewrite of minGPT, and uses a custom byte-level BPE tokenizer.
207
+
208
+ The model's name loosely refers to Jackson Pollock's painterly gesture and to the idea of a controlled experiment with chance. nanoGPT serves as a canvas on which different data, configurations, and training decisions create distinct patterns of model behavior. What matters is not only the final result, but also observing the process and the influence of each component of the experiment.
209
+
210
+ The simplicity is intentional. The project is meant to help newcomers understand how architecture, data, and training choices affect model quality and reuse the same methods in their own experiments.
211
+
212
+ ### Architecture and tokenizer
213
+
214
+ The model is a roughly 96M-parameter GPT-2-small-class decoder with 12 layers, 12 attention heads, a hidden size of 768, a 2048-token context, and a 12,288-token vocabulary. The special tokens are `<|endoftext|>`, `<|im_start|>`, and `<|im_end|>`.
215
+
216
+ ### Data and training
217
+
218
+ The model was trained for four epochs (10,815,275,008 tokens seen) on [`SlayerLab/minimal-en-corpus-2.5b`](https://huggingface.co/datasets/SlayerLab/minimal-en-corpus-2.5b). The 15-source mixture was chosen subjectively using a “common sense” heuristic rather than scientifically optimized proportions. It contains about 2.5B estimated pre-tokenization tokens and 2,703,768,815 final BPE training tokens.
219
+
220
+ Training used one RTX 5090, BF16, fused AdamW, a 262,144-token effective batch, and cosine learning-rate decay from 6e-4 to 6e-5. See the Polish section above for the full configuration.
221
+
222
+ ### Evaluation
223
+
224
+ The release checkpoint was selected by deterministic evaluation of every retained checkpoint over 5,267,456 validation tokens. It achieved loss **3.40875361** and perplexity **30.227545**. No downstream benchmarks were run. A historical checkpoint-selection bug was discovered, so retained checkpoints were reevaluated instead of trusting the `checkpoint_best_val.pt` filename.
225
+
226
+ ### Usage
227
+
228
+ Use the standard `AutoTokenizer` and `AutoModelForCausalLM` example from the Polish section. No `trust_remote_code` flag is required.
229
+
230
+ ### Example generations
231
+
232
+ The four samples shown in the Polish section were generated without cherry-picking. The seed was reset to 1337 for each prompt; temperature was 0.7, top-k was 50, and generation was limited to 100 new tokens. The prompt is included in each displayed output.
233
+
234
+ ### Limitations and responsible use
235
+
236
+ This is an unaligned base model, not a conversational assistant. It can hallucinate, contradict itself, produce biased, toxic, unsafe, or training-like content, and perform poorly outside English. Its small size limits knowledge, reasoning, long-form coherence, and code quality. Do not use it for medical, legal, financial, high-impact, or production decisions. Users must assess upstream dataset terms for their intended use.
237
+
238
+ ## Licencja / License
239
+
240
+ Kod nanoGPT jest udostępniany na licencji MIT. Korpus treningowy stanowi agregat źródeł o różnych warunkach i nie nadaje dokumentom jednej wspólnej licencji. Z tego powodu model oznaczono na Hugging Face jako `license: other`, a zastosowanie wag powinno uwzględniać warunki właściwych źródeł opisanych w karcie datasetu. Szczegóły znajdują się w [`LICENSE.md`](./LICENSE.md).
241
+
242
+ nanoGPT code is distributed under the MIT License. The training corpus aggregates sources governed by different terms and does not assign a single common license to its documents. The model is therefore marked as `license: other` on Hugging Face, and use of the weights should account for the applicable upstream terms documented in the dataset card. See [`LICENSE.md`](./LICENSE.md) for details.
243
+
244
+ ## Pochodzenie / Attribution
245
+
246
+ Model i dataset: Dawid Majewski / SlayerLab. Implementacja treningowa bazuje na [`karpathy/nanoGPT`](https://github.com/karpathy/nanoGPT).
assets/pollock-mini-lm-avatar-320.png ADDED

Git LFS Details

  • SHA256: eba4d381d7c750a0dc7e8ae9356cac1b54b07d8ec0c00f0da045fe8e747687aa
  • Pointer size: 131 Bytes
  • Size of remote file: 132 kB
config.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "activation_function": "gelu",
3
+ "add_cross_attention": false,
4
+ "architectures": [
5
+ "GPT2LMHeadModel"
6
+ ],
7
+ "attn_pdrop": 0.0,
8
+ "bos_token_id": 12285,
9
+ "dtype": "float32",
10
+ "embd_pdrop": 0.0,
11
+ "eos_token_id": 12285,
12
+ "initializer_range": 0.02,
13
+ "layer_norm_epsilon": 1e-05,
14
+ "model_type": "gpt2",
15
+ "n_ctx": 2048,
16
+ "n_embd": 768,
17
+ "n_head": 12,
18
+ "n_inner": null,
19
+ "n_layer": 12,
20
+ "n_positions": 2048,
21
+ "pad_token_id": 12285,
22
+ "reorder_and_upcast_attn": false,
23
+ "resid_pdrop": 0.0,
24
+ "scale_attn_by_inverse_layer_idx": false,
25
+ "scale_attn_weights": true,
26
+ "summary_activation": null,
27
+ "summary_first_dropout": 0.1,
28
+ "summary_proj_to_labels": true,
29
+ "summary_type": "cls_index",
30
+ "summary_use_proj": true,
31
+ "tie_word_embeddings": true,
32
+ "transformers_version": "5.15.1",
33
+ "use_cache": true,
34
+ "vocab_size": 12288
35
+ }
generation_config.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 12285,
3
+ "do_sample": true,
4
+ "eos_token_id": 12285,
5
+ "pad_token_id": 12285,
6
+ "temperature": 0.7,
7
+ "top_k": 50,
8
+ "transformers_version": "5.15.1"
9
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:acaa1531322cce78ddb919700f173d4c6ea371185bea5052a3ae4c30f57b368e
3
+ size 384279168
release_manifest.json ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "model_id": "SlayerLab/pollock-mini-lm-125m",
4
+ "source_checkpoint": {
5
+ "filename": "checkpoint_final.pt",
6
+ "sha256": "b957195badd87e1980fbe2e91c2774177be7f4d8a569f7156d8a24775404a976",
7
+ "iteration": 41257,
8
+ "epoch": 4.00007387761812,
9
+ "tokens_seen": 10815275008
10
+ },
11
+ "artifacts": {
12
+ "README.md": {
13
+ "bytes": 11914,
14
+ "sha256": "e4e446e1417a5785621dee53622403d626e0ff43faaee051a1af60b2c18b940a"
15
+ },
16
+ "LICENSE.md": {
17
+ "bytes": 2257,
18
+ "sha256": "46cbe928ed0aa24875f02f774313b27ec9d8abdf41f0c9ef67e0adb4e0614de4"
19
+ },
20
+ "assets/pollock-mini-lm-avatar-320.png": {
21
+ "bytes": 132202,
22
+ "sha256": "eba4d381d7c750a0dc7e8ae9356cac1b54b07d8ec0c00f0da045fe8e747687aa"
23
+ },
24
+ "config.json": {
25
+ "bytes": 846,
26
+ "sha256": "683a3c7486296c007a7a36a45430d8e8c5ef7c36e6af887cfa24a0158d171b4d"
27
+ },
28
+ "generation_config.json": {
29
+ "bytes": 172,
30
+ "sha256": "d8ad5dfa82f75a9fc944e92b39036ed0794caf3088c610159ee5436b56aa883f"
31
+ },
32
+ "model.safetensors": {
33
+ "bytes": 384279168,
34
+ "sha256": "acaa1531322cce78ddb919700f173d4c6ea371185bea5052a3ae4c30f57b368e"
35
+ },
36
+ "special_tokens_map.json": {
37
+ "bytes": 99,
38
+ "sha256": "8b2257a17ea997bb038f43b133aefec82344ad2b8abc2b8a02a6c0a994ed624e"
39
+ },
40
+ "tokenizer.json": {
41
+ "bytes": 830547,
42
+ "sha256": "6cda4e5ec8293f3b821e02253f9c0e88e43ad4f7c6e1324763e1fb91749fef51"
43
+ },
44
+ "tokenizer_config.json": {
45
+ "bytes": 266,
46
+ "sha256": "39a075b24f05384c6d759521563d879cab4bb80b0fe94381e6e792966ab4c2ba"
47
+ }
48
+ }
49
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "bos_token": "<|endoftext|>",
3
+ "eos_token": "<|endoftext|>",
4
+ "pad_token": "<|endoftext|>"
5
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|endoftext|>",
4
+ "eos_token": "<|endoftext|>",
5
+ "extra_special_tokens": [
6
+ "<|im_start|>",
7
+ "<|im_end|>"
8
+ ],
9
+ "model_max_length": 2048,
10
+ "pad_token": "<|endoftext|>",
11
+ "tokenizer_class": "TokenizersBackend"
12
+ }