Text Generation
Transformers
PyTorch
Safetensors
Arabic
English
llama
conversational
text-generation-inference
Inference Endpoints
zolicsaki commited on
Commit
c90c2d3
โ€ข
1 Parent(s): ffe561d

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +133 -0
README.md CHANGED
@@ -1,3 +1,136 @@
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
+ - ar
9
+ - en
10
  ---
11
+
12
+
13
+
14
+ # SambaLingo-Arabic-Chat-70B
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-Arabic-Chat-70B is a human aligned chat model trained in Arabic and English. It is trained using direct preference optimization on top the base model [SambaLingo-Arabic-Base-70B](https://huggingface.co/sambanovasystems/SambaLingo-Arabic-Base-70B). The base model adapts [Llama-2-70b](https://huggingface.co/meta-llama/Llama-2-70b-hf) to Arabic by training on 63 billion tokens from the Arabic split of the [Cultura-X](https://huggingface.co/datasets/uonlp/CulturaX) dataset. Try This Model at [SambaLingo-chat-space](https://huggingface.co/spaces/sambanovasystems/SambaLingo-chat-space).
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):** Arabic, English
27
+ - **Finetuned from model:** [Llama-2-70b](https://huggingface.co/meta-llama/Llama-2-70b-hf)
28
+ - **Try This Model:** [SambaLingo-chat-space](https://huggingface.co/spaces/sambanovasystems/SambaLingo-chat-space)
29
+ - **Paper:** [SambaLingo: Teaching Large Language Models New Languages](https://arxiv.org/abs/2404.05829)
30
+ - **Blog Post**: [sambalingo-open-source-language-experts](https://sambanova.ai/blog/sambalingo-open-source-language-experts)
31
+
32
+ ## Getting Started
33
+
34
+ ### Loading Model With Hugging Face
35
+ Please make sure to set use_fast=False when loading the tokenizer.
36
+ ```python
37
+ from transformers import AutoModelForCausalLM, AutoTokenizer
38
+
39
+ tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat-70B", use_fast=False)
40
+ model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat-70B", device_map="auto", torch_dtype="auto")
41
+ ```
42
+
43
+ ### Interacting With Model Pipeline
44
+ Please make sure to set use_fast=False when loading the tokenizer.
45
+ ```python
46
+ from transformers import pipeline
47
+ pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Arabic-Chat-70B", device_map="auto", use_fast=False)
48
+ messages = [
49
+ {"role": "user", "content": {YOUR_QUESTION}},
50
+ ]
51
+ prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
52
+ outputs = pipe(prompt)[0]
53
+ outputs = outputs["generated_text"]
54
+ ```
55
+
56
+ ### Suggested Inference Parameters
57
+ - Temperature: 0.8
58
+ - Repetition penalty: 1.0
59
+ - Top-p: 0.9
60
+
61
+ ### Prompting Guidelines
62
+ To prompt this model, please use the following chat template:
63
+ ```
64
+ <|user|>\n{question}</s>\n<|assistant|>\n
65
+ ```
66
+
67
+ ### Example Prompts and Generations
68
+ ```
69
+ <|user|>
70
+ ูƒู…ู„ูƒุŒ ู‡ู„ ุงู„ุงุญุณู† ุฃู† ุชูƒูˆู† ู…ุญุจูˆุจ ุฃูˆ ู…ุฎูŠู</s>
71
+ <|assistant|>
72
+ ู„ุง ุฃุณุชุทูŠุน ุฅุจุฏุงุก ุงู„ุฑุฃูŠ ุฃูˆ ุงู…ุชู„ุงูƒ ุงู„ู…ุดุงุนุฑุŒ ู„ูƒู† ูŠู…ูƒู†ู†ูŠ ุชู‚ุฏูŠู… ุฅุฌุงุจุฉ ู…ูˆุถูˆุนูŠุฉ ุนู„ู‰ ู‡ุฐุง ุงู„ุณุคุงู„. ููŠ ุญูŠู† ุฃู† ูƒูˆู†ูƒ ู…ุญุจูˆุจู‹ุง ูŠู…ูƒู† ุฃู† ูŠุฌู„ุจ ุงู„ุณุนุงุฏุฉ ูˆุงู„ุฑุถุงุŒ ูุฅู† ูƒูˆู†ูƒ ู…ุฎูŠูู‹ุง ูŠู…ูƒู† ุฃู† ูŠูƒูˆู† ู„ู‡ ุฃูŠุถู‹ุง ููˆุงุฆุฏู‡. ุนู„ู‰ ุณุจูŠู„ ุงู„ู…ุซุงู„ุŒ ูŠู…ูƒู† ุฃู† ูŠูƒูˆู† ุงู„ุดุฎุต ุงู„ู…ุฎูŠู ูุนุงู„ุงู‹ ููŠ ุฑุฏุน ุงู„ุณู„ูˆูƒูŠุงุช ุฃูˆ ุงู„ู…ูˆุงู‚ู ุบูŠุฑ ุงู„ู…ุฑุบูˆุจ ููŠู‡ุงุŒ ู…ุซู„ ุงู„ุชุฎุฑูŠุจ ุฃูˆ ุงู„ุชู†ู…ุฑ. ูˆู…ุน ุฐู„ูƒุŒ ู…ู† ุงู„ู…ู‡ู… ุฃู† ู†ุชุฐูƒุฑ ุฃู† ุงู„ุญุจ ูˆุงู„ู‚ุจูˆู„ ู‡ู…ุง ู‚ูŠู…ุชุงู† ู…ู‡ู…ุชุงู† ูŠุฌุจ ุงู„ุณุนูŠ ู„ุชุญู‚ูŠู‚ู‡ู…ุงุŒ ูˆุฃู† ูƒูˆู†ูƒ ู…ุญุจูˆุจู‹ุง ู„ุง ูŠู†ุจุบูŠ ุฃู† ูŠูƒูˆู† ุงู„ู‡ุฏู ุงู„ู†ู‡ุงุฆูŠ. ูˆุจุฏู„ุงู‹ ู…ู† ุฐู„ูƒุŒ ูŠุฌุจ ุฃู† ู†ุณุนู‰ ุฌุงู‡ุฏูŠู† ู„ู†ูƒูˆู† ุทูŠุจูŠู† ูˆุฑุญูŠู…ูŠู† ู…ุน ุงู„ุขุฎุฑูŠู†ุŒ ู…ุน ุงู„ุงุนุชุฑุงู ุฃูŠุถู‹ุง ุจุฃู† ูƒู„ ุดุฎุต ู„ุฏูŠู‡ ู†ู‚ุงุท ุงู„ู‚ูˆุฉ ูˆุงู„ุถุนู ุงู„ุฎุงุตุฉ ุจู‡.
73
+ ```
74
+
75
+ ## Training Details
76
+ 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).
77
+
78
+ 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.
79
+
80
+ The DPO phase was done on the [ultrafeedback](https://huggingface.co/datasets/HuggingFaceH4/ultrafeedback_binarized) dataset and [cai-conversation-harmless](https://huggingface.co/datasets/HuggingFaceH4/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.
81
+
82
+
83
+ ## Tokenizer Details
84
+ 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.
85
+
86
+ ## Uses
87
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
88
+
89
+ ### Direct Use
90
+
91
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
92
+ 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.
93
+
94
+
95
+ ### Out-of-Scope Use
96
+
97
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
98
+ SambaLingo should NOT be used for:
99
+
100
+ - Mission-critical applications
101
+ - Applications that involve the safety of others
102
+ - Making highly important decisions
103
+
104
+ ## Bias, Risks, and Limitations
105
+
106
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
107
+
108
+ Like all LLMs, SambaLingo has certain limitations:
109
+ - Hallucination: Model may sometimes generate responses that contain plausible-sounding but factually incorrect or irrelevant information.
110
+ - Code Switching: The model might unintentionally switch between languages or dialects within a single response, affecting the coherence and understandability of the output.
111
+ - Repetition: The Model may produce repetitive phrases or sentences, leading to less engaging and informative responses.
112
+ - Coding and Math: The model's performance in generating accurate code or solving complex mathematical problems may be limited.
113
+ - Toxicity: The model could inadvertently generate responses containing inappropriate or harmful content.
114
+
115
+ ## Acknowledgments
116
+ We extend our heartfelt gratitude to the open-source AI community; this endeavor would not have been possible without open source. SambaNova embraces the open-source community and aspires to actively contribute to this initiative.
117
+
118
+ We would like to give a special thanks to the following groups:
119
+ - Meta for open sourcing LLama 2 and open sourcing FLORES-200 dataset
120
+ - Nguyen et al for open sourcing CulturaX dataset
121
+ - CohereAI for releasing AYA-101 and open sourcing a multilingual instruction tuning dataset
122
+ - EleutherAI for their open source evaluation framework
123
+ - Hugging Face-H4 team for open source the zephyr training recipe and alignment handbook repo
124
+
125
+
126
+ ## Cite SambaLingo
127
+ ```
128
+ @software{sambalingo,
129
+ title = {{SambaLingo: Open Source Language Experts}},
130
+ author = {SambaNova Systems},
131
+ url = {https://huggingface.co/sambanovasystems/SambaLingo-Arabic-Chat-70B}
132
+ month = {2},
133
+ year = {2024},
134
+ version = {1.0},
135
+ }
136
+ ```