SambaLingo-Russian-Chat

SambaLingo-Russian-Chat is a human aligned chat model trained in Russian and English. It is trained using direct preference optimization on top the base model SambaLingo-Russian-Base. The base model adapts Llama-2-7b to Russian by training on 63 billion tokens from the Russian split of the Cultura-X dataset. Try this model at SambaLingo-chat-space.
Model Description
- Developed by: SambaNova Systems
- Model type: Language Model
- Language(s): Russian, English
- Finetuned from model: Llama-2-7b
- Try this model: SambaLingo-chat-space
- Paper: SambaLingo: Teaching Large Language Models New Languages
- Blog Post: sambalingo-open-source-language-experts
Getting Started
Loading Model With Hugging Face
Please make sure to set use_fast=False when loading the tokenizer.
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Russian-Chat", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Russian-Chat", device_map="auto", torch_dtype="auto")
Interacting With Model Pipeline
Please make sure to set use_fast=False when loading the tokenizer.
from transformers import pipeline
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Russian-Chat", device_map="auto", use_fast=False)
messages = [
{"role": "user", "content": {YOUR_QUESTION}},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt)[0]
outputs = outputs["generated_text"]
Suggested Inference Parameters
- Temperature: 0.8
- Repetition penalty: 1.0
- Top-p: 0.9
Prompting Guidelines
To prompt this model, please use the following chat template:
<|user|>\n{question}</s>\n<|assistant|>\n
Example Prompts and Generations
<|user|>
ΠΠ°Π²Π΅ΡΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°Π³ΡΠ°Ρ: Π ΠΎΠ΄ΠΈΠΎΠ½ Π Π°ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² - Π³Π»Π°Π²Π½ΡΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ ΡΠΎΠΌΠ°Π½Π° "ΠΡΠ΅ΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΊΠ°Π·Π°Π½ΠΈΠ΅" Π€Π΅Π΄ΠΎΡΠ° ΠΠΎΡΡΠΎΠ΅Π²ΡΠΊΠΎΠ³ΠΎ. ΠΠ³ΠΎ Ρ
Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ΅Π½ ΠΈ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ. ΠΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΡΠ΄Π°ΡΡΠΈΠΌΠΈΡΡ ΡΠΌΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΈ Π°ΠΌΠ±ΠΈΡΠΈΡΠΌΠΈ, Π½ΠΎ</s>
<|assistant|>
Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ Π±ΠΎΡ ΡΠ±Π° ΠΈ ΠΌΠΎΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΎΠΌΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°ΡΡ Π΅ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΡΠΌΠΈ. Π Π°ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² β Π±Π΅Π΄Π½ΡΠΉ ΡΡΡΠ΄Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΡΠΏΠΈΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΈ ΡΡΠ²ΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π± Ρ Π±Π΅ΡΡΠΈΠ»ΡΠ½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²ΠΎΡ ΠΆΠΈΠ·Π½Ρ. ΠΠ½ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ΅ΠΎΡΠΈΠΈ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²ΠΎ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ ΠΏΡΠ΅ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΡΠ°Π΄ΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π²Π΅Π»ΠΈΠΊΠΈΡ
ΡΠ΅Π»Π΅ΠΉ, ΠΈ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎ Π²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΠΎΡΠΈΡ, ΡΠ±ΠΈΠ² ΡΡΠ°ΡΡΡ
Ρ-ΠΏΡΠΎΡΠ΅Π½ΡΡΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΌΡ ΡΡΠ²ΡΡΠ²Ρ Π²ΠΈΠ½Ρ ΠΈ ΠΏΡΠΈΡ
ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΡΡΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ ΠΈΡΠΊΠ°ΡΡ ΠΈΡΠΊΡΠΏΠ»Π΅Π½ΠΈΡ ΠΈ ΠΈΡΠΊΡΠΏΠ»Π΅Π½ΠΈΡ. ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΌΠ°Π½Π° Π Π°ΡΠΊΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΠΏΡΡΡ ΡΠ°ΠΌΠΎΠΏΠΎΠ·Π½Π°Π½ΠΈΡ ΠΈ Π»ΠΈΡΠ½ΠΎΡΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°, ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ Π²Π°ΠΆΠ½ΠΎΡΡΡ ΡΠΎΡΡΠ²ΡΡΠ²ΠΈΡ, ΡΠΎΡΡΡΠ°Π΄Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ΅ ΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠ΅Π±Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠ²ΠΎΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΈΡΠΊΡΠΏΠ»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ°ΡΠΊΠ°ΡΠ½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅.
Training Details
The alignment phase follows the recipe for Zephyr-7B, and comprises two stages: supervised fine-tuning (SFT) and Direct Performance Optimization (DPO).
The SFT phase was done on the 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.
The DPO phase was done on the ultrafeedback 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.
Tokenizer Details
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.
Evaluation
For evaluation results see our paper: SambaLingo: Teaching Large Language Models New Languages
Uses
Direct Use
Use of this model is governed by the Metaβs Llama 2 Community License Agreement. Please review and accept the license before downloading the model weights.
Out-of-Scope Use
SambaLingo should NOT be used for:
- Mission-critical applications
- Applications that involve the safety of others
- Making highly important decisions
Bias, Risks, and Limitations
Like all LLMs, SambaLingo has certain limitations:
- Hallucination: Model may sometimes generate responses that contain plausible-sounding but factually incorrect or irrelevant information.
- Code Switching: The model might unintentionally switch between languages or dialects within a single response, affecting the coherence and understandability of the output.
- Repetition: The Model may produce repetitive phrases or sentences, leading to less engaging and informative responses.
- Coding and Math: The model's performance in generating accurate code or solving complex mathematical problems may be limited.
- Toxicity: The model could inadvertently generate responses containing inappropriate or harmful content.
Acknowledgments
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.
We would like to give a special thanks to the following groups:
- Meta for open sourcing LLama 2 and open sourcing FLORES-200 dataset
- Nguyen et al for open sourcing CulturaX dataset
- CohereAI for releasing AYA-101 and open sourcing a multilingual instruction tuning dataset
- EleutherAI for their open source evaluation framework
- Hugging Face-H4 team for open source the zephyr training recipe and alignment handbook repo
Cite SambaLingo
@misc{csaki2024sambalingo,
title={SambaLingo: Teaching Large Language Models New Languages},
author={Zoltan Csaki and Bo Li and Jonathan Li and Qiantong Xu and Pian Pawakapan and Leon Zhang and Yun Du and Hengyu Zhao and Changran Hu and Urmish Thakker},
year={2024},
eprint={2404.05829},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
- Downloads last month
- 155