ducklingcodehouse commited on
Commit
8484e81
·
0 Parent(s):

Super-squash: keep only latest state and drop old LFS blobs

Browse files
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz 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
README.md ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ tags:
4
+ - transformers
5
+ - unsloth
6
+ - llama
7
+ - finnish
8
+ - medical
9
+ - dental
10
+ - healthcare
11
+ - research-only
12
+ license: apache-2.0
13
+ language:
14
+ - fi
15
+ base_model: Finnish-NLP/Ahma-3B-Instruct
16
+ ---
17
+
18
+ # Finnish-DentalQA-merged
19
+
20
+ **Finnish-language conversational AI assistant specialized for dental medicine.** This is a fine-tuned large language model (LLM) that generates structured text responses to dental consultation queries, designed to simulate professional dentist-to-dentist consultations with clinical reasoning and recommendations.
21
+
22
+ **RESEARCH USE ONLY - NOT FOR MEDICAL DECISIONS**
23
+
24
+ - **Developed by:** [Heikki Saxén](https://fi.linkedin.com/in/heikkisaxen) / [Duckling Codehouse Oy](https://www.linkedin.com/company/duckling-codehouse-oy/) ([ducklingcodehouse](https://huggingface.co/ducklingcodehouse))
25
+ - **Supported by:** [Entteri Professional Software Oy](https://www.entteri.com/) (makers of AssisDent dental PMS)
26
+ - **License:** apache-2.0
27
+ - **Base Model:** Finnish-NLP/Ahma-3B-Instruct (by Aapo Tanskanen & Rasmus Toivanen)
28
+ - **Context Length:** 2048 tokens
29
+ - **Release Date:** August 20, 2025
30
+
31
+ LoRA fine-tuned model merged into standalone format for Finnish dental medicine consultations between healthcare professionals. Trained on 30,908 synthetic dental conversations (80% expert clinical cases, 20% concept explanations) covering a broad range of different scenarios. Generated using pipeline with GPT-4.1.
32
+
33
+ **Research Focus:** This model demonstrates domain-specific fine-tuning with low computational resources. The goal is to explore how specialized models can be trained and deployed on consumer hardware (including personal GPUs) rather than requiring high-end infrastructure.
34
+
35
+ **System prompt recommendation:** This model was trained with a specific system prompt. For best results, we recommend using the same prompt format shown in the examples below.
36
+
37
+ **Response Format:** The model is trained to structure all clinical responses in three sections: "### Tausta" (Background), "### Arvio" (Assessment), "### Suositus" (Recommendation).
38
+
39
+ **Context Limit:** 2048 tokens total (input + output). Long conversations may need trimming to fit within this limit.
40
+
41
+ This llama model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's Transformers library.
42
+
43
+ [<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)
44
+
45
+ ## Model Comparison
46
+
47
+ **Merged Version**: LoRA adapters merged into standalone model, no additional files needed
48
+
49
+ **LoRA Version**: Separate adapter files, requires base model
50
+
51
+ ## Installation
52
+
53
+ ```bash
54
+ pip install transformers torch accelerate
55
+ ```
56
+
57
+ ## Loading the Model
58
+
59
+ ```python
60
+ from transformers import AutoTokenizer, AutoModelForCausalLM
61
+ import torch
62
+
63
+ model = AutoModelForCausalLM.from_pretrained(
64
+ "ducklingcodehouse/Finnish-DentalQA-merged",
65
+ torch_dtype=torch.bfloat16, # Use torch.bfloat16 or torch.float16 for older GPUs
66
+ device_map="auto"
67
+ )
68
+ tokenizer = AutoTokenizer.from_pretrained("ducklingcodehouse/Finnish-DentalQA-merged")
69
+ ```
70
+
71
+ ## Generate Response
72
+
73
+ ```python
74
+ # Use exact system prompt from training
75
+ system_prompt = """Olet kokenut suomalainen hammaslääkäri. Vastaat ammattimaisesti kollegojesi
76
+ kysymyksiin käyttäen oikeaa hammaslääketieteellistä terminologiaa ja viittaat Käypä hoito
77
+ -suosituksiin kun relevanttia."""
78
+
79
+ user_question = """87-vuotias nainen, jolla on vaikea muistisairaus, asuu palvelutalossa ja on
80
+ kotihoidon piirissä. Potilaalla on hampaattomuus, yläleuan kokoproteesi ja alaleuassa 6
81
+ luonnollista hammasta. Lääkityksenä on mm. rivaroksabaani eteisvärinään, donepetsiili,
82
+ metoprololi, kalsium+D-vitamiini, sekä useita muita lääkkeitä (yhteensä 9). Suun limakalvot
83
+ ovat kuivat, kielessä fissuroitumista, ja proteesin alla lievää punoitusta. HbA1c 46 mmol/mol,
84
+ BMI 22. Kotihoito raportoi potilaan nielevän huonosti ja syljen erityksen olevan vähäistä.
85
+ Karies- ja parodontiittiriski arvioidaan korkeaksi. Miten suosittelisit suun hoidon
86
+ järjestämistä ja priorisointia tässä tilanteessa?"""
87
+
88
+ messages = [
89
+ {"role": "system", "content": system_prompt},
90
+ {"role": "user", "content": user_question}
91
+ ]
92
+
93
+ inputs = tokenizer.apply_chat_template(
94
+ messages,
95
+ tokenize=True,
96
+ add_generation_prompt=True,
97
+ return_tensors="pt"
98
+ ).to(model.device)
99
+
100
+ # Recommended settings
101
+ with torch.no_grad():
102
+ outputs = model.generate(
103
+ inputs,
104
+ max_new_tokens=600,
105
+ temperature=0.1,
106
+ do_sample=True,
107
+ top_p=0.9,
108
+ repetition_penalty=1.2,
109
+ pad_token_id=tokenizer.pad_token_id
110
+ )
111
+
112
+ response = tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True)
113
+ print(response)
114
+
115
+ # Expected example response:
116
+ # ### Tausta
117
+ # Potilas on iäkäs, monisairas ja käyttää antikoagulanttihoitoa (rivaroksabaani), mikä
118
+ # lisää vuotoriskiä toimenpiteissä. Kuiva suu liittyy sekä lääkitykseen että ikääntymiseen.
119
+ # Hampaattomuus ja vähäinen syljeneritys altistavat limakalvovaurioille ja infektioille.
120
+ # Nielemisvaikeudet ja korkea karies- ja parodontiittiriski korostavat ehkäisevien
121
+ # toimenpiteiden merkitystä.
122
+ #
123
+ # ### Arvio
124
+ # Kliinisesti potilaalla on merkittävä hyposalivaatio (stimuloitu sylki <0,7 ml/min),
125
+ # joka yhdessä polyfarmasian kanssa lisää riskiä limakalvosairauksille ja infektioille.
126
+ # Proteesin alla oleva punoitus voi viitata proteesi-stomatiittiin tai kandidaasiin.
127
+ # Rivaroksabaanin vuoksi invasiivisia toimenpiteitä tulee välttää ellei välttämätöntä.
128
+ # Kotihoidon resurssit ja potilaan toimintakyky rajoittavat laajojen hoitojen toteutusta.
129
+ #
130
+ # ### Suositus
131
+ # Painopiste on limakalvojen kosteutuksessa (esim. keinotekoiset syljentuotteet) ja
132
+ # proteesin puhtauden ylläpidossa. Kotihoidolle annetaan selkeät ohjeet päivittäisestä
133
+ # proteesin puhdistuksesta ja limakalvojen tarkkailusta. Syljen eritystä voidaan tukea
134
+ # säännöllisellä nesteytyksellä ja tarvittaessa ksylitolituotteilla. Lääkärin kanssa
135
+ # arvioidaan mahdollisuudet vähentää kuivan suun aiheuttajia. Säännöllinen suun tarkastus
136
+ # (3–6 kk välein) on suositeltavaa. Käypä hoito -suositukset: "Lyhentyneen hammaskaaren
137
+ # hoito", "Karies (hallinta)" ja "Parodontiitti".
138
+ ```
139
+
140
+ ## Example
141
+
142
+ **User:** 27-vuotias mies, jolla on voimakas kipu ja turvotus alaleuan oikealla puolella. Viisaudenhammas 48 on puoliksi puhkeamassa, ympärillä runsasta ienturvotusta ja märkäkertymä. Potilaalla on kuumetta 38,3°C ja suun avausrajoitus 22 mm. Mitä ensihoitoa suosittelet terveyskeskuksessa?
143
+
144
+ **Assistant:**
145
+ ### Tausta
146
+ Potilas esittäytyy tyypillisin akuutin perikoroniitin oirein: kuume, paikallinen turvotus sekä trismus (avausrajoitus 22 mm). Puoliksi puhjenneen viisaudenhampaan (48) ympärillä oleva runsas ienturvotus ja märkäkertymä viittaavat paikalliseen infektioon, joka voi levitä syvempiin kudoksiin. Suun avausrajoitus (trismus) lisää riskiä infektion leviämiselle esimerkiksi submandibulaaritilaan.
147
+
148
+ ### Arvio
149
+ Kliininen kuva sopii akuuttiin perikoroniittiin komplisoituneena paikallisella absessilla tai flegmoonalla. Kuume ja yleisoireet täyttävät mikrobilääkehoidon aloituskriteerit Käypä hoito -suositusten mukaan. Trismus vaikeuttaa paikallista puhdistusta ja altistaa infektion leviämiselle. Märkäkertymän dreneeraus on ensisijaista, mutta myös antibioottihoito on tarpeen.
150
+
151
+ ### Suositus
152
+ Aloita amoksisilliini 500 mg x 3 po ja metronidatsoli 500 mg x 2 po suun kautta 7 päivän ajan. Kipulääkitys parasetamolilla ja/tai tulehduskipulääkkeellä. Huuhtele suu klooriheksidiinillä 1–2 kertaa päivässä. Mikäli potilaan yleistila heikkenee tai ilmaantuu nielemisvaikeuksia/hengitystieoireita, päivystyslähete erikoissairaanhoitoon on aiheellinen. Seuraa tilannetta tiiviisti; mikäli avausrajoitus pahenee tai yleisvointi huononee, sairaalahoito voi olla tarpeen.
153
+
154
+ **Follow-up:** Potilas palaa seuraavana päivänä. Kuume on noussut 39,2 °C:een, suun avaus onnistuu enää 10 mm, alaleuan oikea puoli on selvästi turvonnut ja nieleminen on kivuliasta. Hengitys on hieman rohisevaa. Mitä toimenpiteitä suosittelet tässä vaiheessa?
155
+
156
+ **Assistant:**
157
+ ### Tausta
158
+ Potilaan tila on selvästi pahentunut: kuume noussut 39,2 °C:een, suun avausrajoitus pahentunut (nyt vain 10 mm), oikean puolen turvotus lisääntynyt ja nieleminen vaikeutunut. Nämä löydökset viittaavat syvemmälle levinneeseen infektioprosessiin, mahdollisesti alkavaan flegmonaan tai abskessiin.
159
+
160
+ ### Arvio
161
+ Kyseessä on vakava infektio, jossa on riski hengitysteiden kompromissille ja septiselle kehitykselle. Suun avauksen rajoittuminen alle 20 mm sekä nielemisvaikeus ovat merkkejä siitä, että infektio saattaa olla levinnyt syvempiin kaulan tiloihin. Märän dreenauksen onnistuminen on kriittistä, mutta trismuksen vuoksi tämä voi olla haastavaa.
162
+
163
+ ### Suositus
164
+ Potilas tulee lähettää välittömästi päivystykseen sairaalatasolle suonensisäisen antibioottihoidon ja mahdollisen kirurgisen dreneerauksen arvioon. Hengitysteiden turvaaminen on ensisijainen prioriteetti – tarvittaessa anestesialääkärin arvio. Mikrobilääkehoitoa jatketaan sairaalassa suositusten mukaisesti. Seuranta tehostetussa valvonnassa on välttämätöntä komplikaatioiden varalta.
165
+
166
+ ## Training Details
167
+ - **Method:** LoRA fine-tuning (r=64, alpha=128, dropout=0.05) merged into standalone model
168
+ - **Learning Rate:** 0.0002
169
+ - **Epochs:** 3
170
+ - **Effective Batch Size:** 64
171
+ - **Precision:** BF16 native format, automatically converts to FP16 when needed for hardware compatibility
172
+ - **Embedding Training:** Enabled for domain specialization
173
+ - **Target Modules:** q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
174
+ - **Data:** 30,908 conversations covering a broad range of different scenarios
175
+ - **Context:** 2048 tokens (inherited from Ahma-3B-Instruct)
176
+ - **Hardware:** H100 GPU with Unsloth optimizations
177
+ - **Training Performance:** Loss curves showed steady convergence with final values well below 1.0, indicating successful learning without overfitting
178
+
179
+ ## Limitations and Important Notes
180
+
181
+ **Critical Medical Disclaimers:**
182
+ - Research purposes only - never use for actual medical decisions
183
+ - Model may hallucinate medical facts, treatments, or drug interactions
184
+ - Outputs have not been clinically validated and may contain medical misinformation
185
+ - All outputs require independent professional verification before any clinical application
186
+ - No liability is assumed for any consequences of model use
187
+
188
+ **Technical Limitations:**
189
+ - Primarily trained for dentist-to-dentist consultations - concept explanations included but not the main focus
190
+ - May particularly hallucinate on out-of-scope topics (further training could address this)
191
+ - Further fine-tuning may be needed for specific use cases
192
+ - System prompt dependency - using the training prompt is highly recommended
193
+ - 2048 token context limit affects both training and inference
194
+ - No formal evaluation - quality assessment has been primarily subjective
195
+
196
+ **Bias and Fairness:**
197
+ - Training data consists of synthetic conversations which may contain inherent biases
198
+ - Model responses may reflect biases present in the GPT-4.1 generated training data
199
+ - Geographic and cultural biases toward Finnish dental practices and protocols
200
+ - Potential underrepresentation of certain patient demographics or clinical scenarios
201
+
202
+ ## Related Models
203
+ - LoRA version: [ducklingcodehouse/Finnish-DentalQA-lora](https://huggingface.co/ducklingcodehouse/Finnish-DentalQA-lora)
204
+ - Base model: [Finnish-NLP/Ahma-3B-Instruct](https://huggingface.co/Finnish-NLP/Ahma-3B-Instruct)
205
+
206
+ ## Citation
207
+
208
+ If you use this model, please cite both this work and the base Ahma model:
209
+
210
+ ```bibtex
211
+ @misc{finnish-dentalqa-merged,
212
+ author = {Saxén, Heikki},
213
+ title = {Finnish-DentalQA-merged: LoRA Fine-tuned Model Merged for Finnish Dental Medicine},
214
+ year = {2025},
215
+ month = {August},
216
+ publisher = {Hugging Face},
217
+ url = {https://huggingface.co/ducklingcodehouse/Finnish-DentalQA-merged}
218
+ }
219
+
220
+ @misc{ahma-3b-instruct,
221
+ author = {Tanskanen, Aapo and Toivanen, Rasmus},
222
+ title = {Ahma-3B-Instruct},
223
+ year = {2024},
224
+ publisher = {Hugging Face},
225
+ url = {https://huggingface.co/Finnish-NLP/Ahma-3B-Instruct}
226
+ }
227
+ ```
config.json ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "LlamaForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 1,
8
+ "eos_token_id": 2,
9
+ "head_dim": 100,
10
+ "hidden_act": "silu",
11
+ "hidden_size": 3200,
12
+ "initializer_range": 0.02,
13
+ "intermediate_size": 8640,
14
+ "max_position_embeddings": 2048,
15
+ "mlp_bias": false,
16
+ "model_type": "llama",
17
+ "num_attention_heads": 32,
18
+ "num_hidden_layers": 26,
19
+ "num_key_value_heads": 32,
20
+ "pretraining_tp": 1,
21
+ "rms_norm_eps": 1e-06,
22
+ "rope_scaling": null,
23
+ "rope_theta": 10000.0,
24
+ "tie_word_embeddings": false,
25
+ "torch_dtype": "bfloat16",
26
+ "transformers_version": "4.55.3",
27
+ "use_cache": true,
28
+ "vocab_size": 64257
29
+ }
generation_config.json ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 1,
4
+ "eos_token_id": 2,
5
+ "transformers_version": "4.55.3"
6
+ }
model-00001-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6e11bc3df7fbdaafa714320e70a936f68898e506366081f49a03af6d860215da
3
+ size 4953958544
model-00002-of-00002.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d78ca3316a7c80b0f9bda177082f16a87abef6990bf63cbb61ddae9d3268a632
3
+ size 2311905688
model.safetensors.index.json ADDED
@@ -0,0 +1,245 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_parameters": 3632918400,
4
+ "total_size": 7265836800
5
+ },
6
+ "weight_map": {
7
+ "lm_head.weight": "model-00002-of-00002.safetensors",
8
+ "model.embed_tokens.weight": "model-00001-of-00002.safetensors",
9
+ "model.layers.0.input_layernorm.weight": "model-00001-of-00002.safetensors",
10
+ "model.layers.0.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
11
+ "model.layers.0.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
12
+ "model.layers.0.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
13
+ "model.layers.0.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
14
+ "model.layers.0.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
15
+ "model.layers.0.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
16
+ "model.layers.0.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
17
+ "model.layers.0.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
18
+ "model.layers.1.input_layernorm.weight": "model-00001-of-00002.safetensors",
19
+ "model.layers.1.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
20
+ "model.layers.1.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
21
+ "model.layers.1.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
22
+ "model.layers.1.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
23
+ "model.layers.1.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
24
+ "model.layers.1.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
25
+ "model.layers.1.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
26
+ "model.layers.1.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
27
+ "model.layers.10.input_layernorm.weight": "model-00001-of-00002.safetensors",
28
+ "model.layers.10.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
29
+ "model.layers.10.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
30
+ "model.layers.10.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
31
+ "model.layers.10.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
32
+ "model.layers.10.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
33
+ "model.layers.10.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
34
+ "model.layers.10.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
35
+ "model.layers.10.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
36
+ "model.layers.11.input_layernorm.weight": "model-00001-of-00002.safetensors",
37
+ "model.layers.11.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
38
+ "model.layers.11.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
39
+ "model.layers.11.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
40
+ "model.layers.11.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
41
+ "model.layers.11.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
42
+ "model.layers.11.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
43
+ "model.layers.11.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
44
+ "model.layers.11.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
45
+ "model.layers.12.input_layernorm.weight": "model-00001-of-00002.safetensors",
46
+ "model.layers.12.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
47
+ "model.layers.12.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
48
+ "model.layers.12.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
49
+ "model.layers.12.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
50
+ "model.layers.12.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
51
+ "model.layers.12.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
52
+ "model.layers.12.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
53
+ "model.layers.12.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
54
+ "model.layers.13.input_layernorm.weight": "model-00001-of-00002.safetensors",
55
+ "model.layers.13.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
56
+ "model.layers.13.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
57
+ "model.layers.13.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
58
+ "model.layers.13.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
59
+ "model.layers.13.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
60
+ "model.layers.13.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
61
+ "model.layers.13.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
62
+ "model.layers.13.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
63
+ "model.layers.14.input_layernorm.weight": "model-00001-of-00002.safetensors",
64
+ "model.layers.14.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
65
+ "model.layers.14.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
66
+ "model.layers.14.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
67
+ "model.layers.14.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
68
+ "model.layers.14.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
69
+ "model.layers.14.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
70
+ "model.layers.14.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
71
+ "model.layers.14.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
72
+ "model.layers.15.input_layernorm.weight": "model-00001-of-00002.safetensors",
73
+ "model.layers.15.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
74
+ "model.layers.15.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
75
+ "model.layers.15.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
76
+ "model.layers.15.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
77
+ "model.layers.15.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
78
+ "model.layers.15.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
79
+ "model.layers.15.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
80
+ "model.layers.15.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
81
+ "model.layers.16.input_layernorm.weight": "model-00001-of-00002.safetensors",
82
+ "model.layers.16.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
83
+ "model.layers.16.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
84
+ "model.layers.16.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
85
+ "model.layers.16.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
86
+ "model.layers.16.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
87
+ "model.layers.16.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
88
+ "model.layers.16.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
89
+ "model.layers.16.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
90
+ "model.layers.17.input_layernorm.weight": "model-00001-of-00002.safetensors",
91
+ "model.layers.17.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
92
+ "model.layers.17.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
93
+ "model.layers.17.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
94
+ "model.layers.17.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
95
+ "model.layers.17.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
96
+ "model.layers.17.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
97
+ "model.layers.17.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
98
+ "model.layers.17.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
99
+ "model.layers.18.input_layernorm.weight": "model-00002-of-00002.safetensors",
100
+ "model.layers.18.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
101
+ "model.layers.18.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
102
+ "model.layers.18.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
103
+ "model.layers.18.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
104
+ "model.layers.18.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
105
+ "model.layers.18.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
106
+ "model.layers.18.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
107
+ "model.layers.18.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
108
+ "model.layers.19.input_layernorm.weight": "model-00002-of-00002.safetensors",
109
+ "model.layers.19.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
110
+ "model.layers.19.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
111
+ "model.layers.19.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
112
+ "model.layers.19.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
113
+ "model.layers.19.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
114
+ "model.layers.19.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
115
+ "model.layers.19.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
116
+ "model.layers.19.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
117
+ "model.layers.2.input_layernorm.weight": "model-00001-of-00002.safetensors",
118
+ "model.layers.2.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
119
+ "model.layers.2.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
120
+ "model.layers.2.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
121
+ "model.layers.2.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
122
+ "model.layers.2.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
123
+ "model.layers.2.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
124
+ "model.layers.2.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
125
+ "model.layers.2.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
126
+ "model.layers.20.input_layernorm.weight": "model-00002-of-00002.safetensors",
127
+ "model.layers.20.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
128
+ "model.layers.20.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
129
+ "model.layers.20.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
130
+ "model.layers.20.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
131
+ "model.layers.20.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
132
+ "model.layers.20.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
133
+ "model.layers.20.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
134
+ "model.layers.20.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
135
+ "model.layers.21.input_layernorm.weight": "model-00002-of-00002.safetensors",
136
+ "model.layers.21.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
137
+ "model.layers.21.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
138
+ "model.layers.21.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
139
+ "model.layers.21.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
140
+ "model.layers.21.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
141
+ "model.layers.21.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
142
+ "model.layers.21.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
143
+ "model.layers.21.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
144
+ "model.layers.22.input_layernorm.weight": "model-00002-of-00002.safetensors",
145
+ "model.layers.22.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
146
+ "model.layers.22.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
147
+ "model.layers.22.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
148
+ "model.layers.22.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
149
+ "model.layers.22.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
150
+ "model.layers.22.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
151
+ "model.layers.22.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
152
+ "model.layers.22.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
153
+ "model.layers.23.input_layernorm.weight": "model-00002-of-00002.safetensors",
154
+ "model.layers.23.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
155
+ "model.layers.23.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
156
+ "model.layers.23.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
157
+ "model.layers.23.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
158
+ "model.layers.23.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
159
+ "model.layers.23.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
160
+ "model.layers.23.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
161
+ "model.layers.23.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
162
+ "model.layers.24.input_layernorm.weight": "model-00002-of-00002.safetensors",
163
+ "model.layers.24.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
164
+ "model.layers.24.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
165
+ "model.layers.24.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
166
+ "model.layers.24.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
167
+ "model.layers.24.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
168
+ "model.layers.24.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
169
+ "model.layers.24.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
170
+ "model.layers.24.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
171
+ "model.layers.25.input_layernorm.weight": "model-00002-of-00002.safetensors",
172
+ "model.layers.25.mlp.down_proj.weight": "model-00002-of-00002.safetensors",
173
+ "model.layers.25.mlp.gate_proj.weight": "model-00002-of-00002.safetensors",
174
+ "model.layers.25.mlp.up_proj.weight": "model-00002-of-00002.safetensors",
175
+ "model.layers.25.post_attention_layernorm.weight": "model-00002-of-00002.safetensors",
176
+ "model.layers.25.self_attn.k_proj.weight": "model-00002-of-00002.safetensors",
177
+ "model.layers.25.self_attn.o_proj.weight": "model-00002-of-00002.safetensors",
178
+ "model.layers.25.self_attn.q_proj.weight": "model-00002-of-00002.safetensors",
179
+ "model.layers.25.self_attn.v_proj.weight": "model-00002-of-00002.safetensors",
180
+ "model.layers.3.input_layernorm.weight": "model-00001-of-00002.safetensors",
181
+ "model.layers.3.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
182
+ "model.layers.3.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
183
+ "model.layers.3.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
184
+ "model.layers.3.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
185
+ "model.layers.3.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
186
+ "model.layers.3.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
187
+ "model.layers.3.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
188
+ "model.layers.3.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
189
+ "model.layers.4.input_layernorm.weight": "model-00001-of-00002.safetensors",
190
+ "model.layers.4.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
191
+ "model.layers.4.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
192
+ "model.layers.4.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
193
+ "model.layers.4.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
194
+ "model.layers.4.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
195
+ "model.layers.4.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
196
+ "model.layers.4.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
197
+ "model.layers.4.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
198
+ "model.layers.5.input_layernorm.weight": "model-00001-of-00002.safetensors",
199
+ "model.layers.5.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
200
+ "model.layers.5.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
201
+ "model.layers.5.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
202
+ "model.layers.5.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
203
+ "model.layers.5.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
204
+ "model.layers.5.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
205
+ "model.layers.5.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
206
+ "model.layers.5.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
207
+ "model.layers.6.input_layernorm.weight": "model-00001-of-00002.safetensors",
208
+ "model.layers.6.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
209
+ "model.layers.6.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
210
+ "model.layers.6.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
211
+ "model.layers.6.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
212
+ "model.layers.6.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
213
+ "model.layers.6.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
214
+ "model.layers.6.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
215
+ "model.layers.6.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
216
+ "model.layers.7.input_layernorm.weight": "model-00001-of-00002.safetensors",
217
+ "model.layers.7.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
218
+ "model.layers.7.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
219
+ "model.layers.7.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
220
+ "model.layers.7.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
221
+ "model.layers.7.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
222
+ "model.layers.7.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
223
+ "model.layers.7.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
224
+ "model.layers.7.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
225
+ "model.layers.8.input_layernorm.weight": "model-00001-of-00002.safetensors",
226
+ "model.layers.8.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
227
+ "model.layers.8.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
228
+ "model.layers.8.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
229
+ "model.layers.8.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
230
+ "model.layers.8.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
231
+ "model.layers.8.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
232
+ "model.layers.8.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
233
+ "model.layers.8.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
234
+ "model.layers.9.input_layernorm.weight": "model-00001-of-00002.safetensors",
235
+ "model.layers.9.mlp.down_proj.weight": "model-00001-of-00002.safetensors",
236
+ "model.layers.9.mlp.gate_proj.weight": "model-00001-of-00002.safetensors",
237
+ "model.layers.9.mlp.up_proj.weight": "model-00001-of-00002.safetensors",
238
+ "model.layers.9.post_attention_layernorm.weight": "model-00001-of-00002.safetensors",
239
+ "model.layers.9.self_attn.k_proj.weight": "model-00001-of-00002.safetensors",
240
+ "model.layers.9.self_attn.o_proj.weight": "model-00001-of-00002.safetensors",
241
+ "model.layers.9.self_attn.q_proj.weight": "model-00001-of-00002.safetensors",
242
+ "model.layers.9.self_attn.v_proj.weight": "model-00001-of-00002.safetensors",
243
+ "model.norm.weight": "model-00002-of-00002.safetensors"
244
+ }
245
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token": {
3
+ "content": "<s>",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "eos_token": {
10
+ "content": "</s>",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "<PAD>",
18
+ "lstrip": false,
19
+ "normalized": true,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "unk_token": {
24
+ "content": "<unk>",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ }
30
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": true,
3
+ "add_eos_token": false,
4
+ "add_prefix_space": true,
5
+ "added_tokens_decoder": {
6
+ "0": {
7
+ "content": "<unk>",
8
+ "lstrip": false,
9
+ "normalized": false,
10
+ "rstrip": false,
11
+ "single_word": false,
12
+ "special": true
13
+ },
14
+ "1": {
15
+ "content": "<s>",
16
+ "lstrip": false,
17
+ "normalized": false,
18
+ "rstrip": false,
19
+ "single_word": false,
20
+ "special": true
21
+ },
22
+ "2": {
23
+ "content": "</s>",
24
+ "lstrip": false,
25
+ "normalized": false,
26
+ "rstrip": false,
27
+ "single_word": false,
28
+ "special": true
29
+ },
30
+ "3": {
31
+ "content": "[INST]",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false,
36
+ "special": true
37
+ },
38
+ "4": {
39
+ "content": "[/INST]",
40
+ "lstrip": false,
41
+ "normalized": false,
42
+ "rstrip": false,
43
+ "single_word": false,
44
+ "special": true
45
+ },
46
+ "5": {
47
+ "content": "<<SYS>>",
48
+ "lstrip": false,
49
+ "normalized": false,
50
+ "rstrip": false,
51
+ "single_word": false,
52
+ "special": true
53
+ },
54
+ "6": {
55
+ "content": "<</SYS>>",
56
+ "lstrip": false,
57
+ "normalized": false,
58
+ "rstrip": false,
59
+ "single_word": false,
60
+ "special": true
61
+ },
62
+ "64256": {
63
+ "content": "<PAD>",
64
+ "lstrip": false,
65
+ "normalized": true,
66
+ "rstrip": false,
67
+ "single_word": false,
68
+ "special": true
69
+ }
70
+ },
71
+ "bos_token": "<s>",
72
+ "chat_template": "{% if messages[0]['role'] == 'system' %}{% set loop_messages = messages[1:] %}{% set system_message = messages[0]['content'] %}{% else %}{% set loop_messages = messages %}{% set system_message = 'Olet kokenut suomalainen hammaslääkäri. Vastaat ammattimaisesti kollegojesi kysymyksiin käyttäen oikeaa hammaslääketieteellistä terminologiaa ja viittaat Käypä hoito -suosituksiin kun relevanttia.' %}{% endif %}{% for message in loop_messages %}{% if (message['role'] == 'user') != (loop.index0 % 2 == 0) %}{{ raise_exception('Conversation roles must alternate user/assistant/user/assistant/...') }}{% endif %}{% if loop.index0 == 0 and system_message != false %}{% set content = '<<SYS>>\\n' + system_message + '\\n<</SYS>>\\n\\n' + message['content'] %}{% else %}{% set content = message['content'] %}{% endif %}{% if message['role'] == 'user' %}{{ bos_token + ' [INST] ' + content.strip() + ' [/INST]' }}{% elif message['role'] == 'assistant' %}{{ ' ' + content.strip() + eos_token }}{% endif %}{% endfor %}",
73
+ "clean_up_tokenization_spaces": true,
74
+ "eos_token": "</s>",
75
+ "legacy": false,
76
+ "model_max_length": 2048,
77
+ "pad_token": "<PAD>",
78
+ "padding_side": "left",
79
+ "sp_model_kwargs": {},
80
+ "spaces_between_special_tokens": false,
81
+ "tokenizer_class": "PreTrainedTokenizerFast",
82
+ "unk_token": "<unk>",
83
+ "use_default_system_prompt": false
84
+ }