Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,129 @@
|
|
1 |
---
|
2 |
license: llama2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: llama2
|
3 |
+
datasets:
|
4 |
+
- HuggingFaceH4/ultrachat_200k
|
5 |
+
- HuggingFaceH4/ultrafeedback_binarized
|
6 |
+
- HuggingFaceH4/cai-conversation-harmless
|
7 |
+
language:
|
8 |
+
- tr
|
9 |
+
- en
|
10 |
---
|
11 |
+
|
12 |
+
|
13 |
+
|
14 |
+
# SambaLingo-Thai-Chat
|
15 |
+
|
16 |
+
<img src="SambaLingo_Logo.png" width="340" style="margin-left:'auto' margin-right:'auto' display:'block'"/>
|
17 |
+
|
18 |
+
<!-- Provide a quick summary of what the model is/does. -->
|
19 |
+
SambaLingo-Thai-Chat is a human aligned chat model trained in Thai and English. It is trained using direct preference optimization on top the base model [SambaLingo-Thai-Base](https://huggingface.co/sambanovasystems/SambaLingo-Thai-Base). The base model adapts [Llama 2](https://huggingface.co/meta-llama/Llama-2-7b-hf) to Thai by training on 63 billion tokens from the Thai split of the [Cultura-X](https://huggingface.co/datasets/uonlp/CulturaX) dataset.
|
20 |
+
|
21 |
+
## Model Description
|
22 |
+
<!-- Provide a longer summary of what this model is. -->
|
23 |
+
|
24 |
+
- **Developed by:** [SambaNova Systems](https://sambanova.ai/)
|
25 |
+
- **Model type:** Language Model
|
26 |
+
- **Language(s):** Thai, English
|
27 |
+
- **Finetuned from model:** [Llama 2](https://huggingface.co/meta-llama/Llama-2-7b-hf)
|
28 |
+
- **Blog Post**: Will be released soon!
|
29 |
+
|
30 |
+
## Getting Started
|
31 |
+
|
32 |
+
### Loading Model With Hugging Face
|
33 |
+
Please make sure to set use_fast=False when loading the tokenizer.
|
34 |
+
```python
|
35 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
36 |
+
|
37 |
+
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Thai-Chat", use_fast=False)
|
38 |
+
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Thai-Chat", device_map="auto", torch_dtype="auto")
|
39 |
+
```
|
40 |
+
|
41 |
+
### Interacting With Model Pipeline
|
42 |
+
Please make sure to set use_fast=False when loading the tokenizer.
|
43 |
+
```python
|
44 |
+
from transformers import pipeline
|
45 |
+
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Thai-Chat", device_map="auto", use_fast=False)
|
46 |
+
messages = [
|
47 |
+
{"role": "user", "content": {YOUR_QUESTION}},
|
48 |
+
]
|
49 |
+
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
|
50 |
+
outputs = pipe(prompt)[0]
|
51 |
+
outputs = outputs["generated_text"]
|
52 |
+
```
|
53 |
+
|
54 |
+
### Suggested Inference Parameters
|
55 |
+
- Temperature: 0.8
|
56 |
+
- Repetition penalty: 1.0
|
57 |
+
- Top-p: 0.9
|
58 |
+
|
59 |
+
### Prompting Guidelines
|
60 |
+
To prompt this model, please use the following chat template:
|
61 |
+
```
|
62 |
+
<|user>:\n{question}</s>\n<|assistant|>\n
|
63 |
+
```
|
64 |
+
|
65 |
+
### Example Prompts and Generations
|
66 |
+
|
67 |
+
|
68 |
+
## Training Details
|
69 |
+
The alignment phase follows the recipe for [Zephyr-7B](https://huggingface.co/HuggingFaceH4/zephyr-7b-beta), and comprises two stages: supervised fine-tuning (SFT) and Direct Performance Optimization (DPO).
|
70 |
+
|
71 |
+
The SFT phase was done on the [ultrachat_200k](https://huggingface.co/datasets/HuggingFaceH4/ultrachat_200k) dataset mixed with the Google translated version of the ultrachat_200k dataset. It was trained for one epoch with global batch size 512 and max sequence length 2048 tokens. We used a linear decay learning rate of 2e-5 and 10% warmup.
|
72 |
+
|
73 |
+
The DPO phase was done on the [ultrafeedback](https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized) dataset and cai-conversation-harmless dataset, mixed with 10% of the data Google translated. It was trained with global batch size 32 and for three epochs. We used a linear decay learning rate of 5e-7, 10% warmup and β=0.1 as the regularization factor for DPO.
|
74 |
+
|
75 |
+
|
76 |
+
## Tokenizer Details
|
77 |
+
We extended the vocabulary of the base llama model from 32,000 tokens to 57,000 tokens by adding up to 25,000 non-overlapping tokens from the new language.
|
78 |
+
|
79 |
+
## Uses
|
80 |
+
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
81 |
+
|
82 |
+
### Direct Use
|
83 |
+
|
84 |
+
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
85 |
+
Use of this model is governed by the Meta’s [Llama 2 Community License Agreement](https://ai.meta.com/llama/license/). Please review and accept the license before downloading the model weights.
|
86 |
+
|
87 |
+
|
88 |
+
### Out-of-Scope Use
|
89 |
+
|
90 |
+
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
91 |
+
SambaLingo should NOT be used for:
|
92 |
+
|
93 |
+
- Mission-critical applications
|
94 |
+
- Applications that involve the safety of others
|
95 |
+
- Making highly important decisions
|
96 |
+
|
97 |
+
## Bias, Risks, and Limitations
|
98 |
+
|
99 |
+
<!-- This section is meant to convey both technical and sociotechnical limitations. -->
|
100 |
+
|
101 |
+
Like all LLMs, SambaLingo has certain limitations:
|
102 |
+
- Hallucination: Model may sometimes generate responses that contain plausible-sounding but factually incorrect or irrelevant information.
|
103 |
+
- Code Switching: The model might unintentionally switch between languages or dialects within a single response, affecting the coherence and understandability of the output.
|
104 |
+
- Repetition: The Model may produce repetitive phrases or sentences, leading to less engaging and informative responses.
|
105 |
+
- Coding and Math: The model's performance in generating accurate code or solving complex mathematical problems may be limited.
|
106 |
+
- Toxicity: The model could inadvertently generate responses containing inappropriate or harmful content.
|
107 |
+
|
108 |
+
## Acknowledgments
|
109 |
+
We extend our heartfelt gratitude to the open-source AI community; this endeavor would not have been achievable without open source. SambaNova embraces the open-source community and aspires to actively contribute to this initiative.
|
110 |
+
|
111 |
+
We would like to give a special thanks to the following groups:
|
112 |
+
- Meta for open sourcing LLama 2 and open sourcing FLORES-200 dataset
|
113 |
+
- Nguyen et al for open sourcing CulturaX dataset
|
114 |
+
- CohereAI for releasing AYA-101 and open sourcing a multilingual instruction tuning dataset
|
115 |
+
- EleutherAI for their open source evaluation framework
|
116 |
+
- Hugging Face-H4 team for open source the zephyr training recipe and alignment handbook repo
|
117 |
+
|
118 |
+
|
119 |
+
## Cite SambaLingo
|
120 |
+
```
|
121 |
+
@software{sambalingo,
|
122 |
+
title = {{SambaLingo: Open Source Language Experts}},
|
123 |
+
author = {SambaNova Systems},
|
124 |
+
url = {https://huggingface.co/sambanovasystems/SambaLingo-Thai-Chat}
|
125 |
+
month = {2},
|
126 |
+
year = {2024},
|
127 |
+
version = {1.0},
|
128 |
+
}
|
129 |
+
```
|