Text Generation
Transformers
Safetensors
Arabic
English
llama
conversational
text-generation-inference
Instructions to use sambanovasystems/SambaLingo-Arabic-Chat with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use sambanovasystems/SambaLingo-Arabic-Chat with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Arabic-Chat") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat") model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use sambanovasystems/SambaLingo-Arabic-Chat with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "sambanovasystems/SambaLingo-Arabic-Chat" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sambanovasystems/SambaLingo-Arabic-Chat", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/sambanovasystems/SambaLingo-Arabic-Chat
- SGLang
How to use sambanovasystems/SambaLingo-Arabic-Chat with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "sambanovasystems/SambaLingo-Arabic-Chat" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sambanovasystems/SambaLingo-Arabic-Chat", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "sambanovasystems/SambaLingo-Arabic-Chat" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sambanovasystems/SambaLingo-Arabic-Chat", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use sambanovasystems/SambaLingo-Arabic-Chat with Docker Model Runner:
docker model run hf.co/sambanovasystems/SambaLingo-Arabic-Chat
|
Download README.md from sambanovasystems/SambaLingo-Arabic-Chat: direct link, hf CLI and curl.
- Browser
- Download file 7.96 kB
-
https://huggingface.co/sambanovasystems/SambaLingo-Arabic-Chat/resolve/main/README.md
- Command line
-
hf download hf://sambanovasystems/SambaLingo-Arabic-Chat/README.md
-
curl -L -o README.md https://huggingface.co/sambanovasystems/SambaLingo-Arabic-Chat/resolve/main/README.md
7.96 kB
| license: llama2 | |
| datasets: | |
| - HuggingFaceH4/ultrachat_200k | |
| - HuggingFaceH4/ultrafeedback_binarized | |
| - HuggingFaceH4/cai-conversation-harmless | |
| language: | |
| - ar | |
| - en | |
| # SambaLingo-Arabic-Chat | |
| <img src="SambaLingo_Logo.png" width="340" style="margin-left:'auto' margin-right:'auto' display:'block'"/> | |
| <!-- Provide a quick summary of what the model is/does. --> | |
| SambaLingo-Arabic-Chat 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](https://huggingface.co/sambanovasystems/SambaLingo-Arabic-Base). The base model adapts [Llama-2-7b](https://huggingface.co/meta-llama/Llama-2-7b-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). | |
| ## Model Description | |
| <!-- Provide a longer summary of what this model is. --> | |
| - **Developed by:** [SambaNova Systems](https://sambanova.ai/) | |
| - **Model type:** Language Model | |
| - **Language(s):** Arabic, English | |
| - **Finetuned from model:** [Llama-2-7b](https://huggingface.co/meta-llama/Llama-2-7b-hf) | |
| - **Try This Model:** [SambaLingo-chat-space](https://huggingface.co/spaces/sambanovasystems/SambaLingo-chat-space) | |
| - **Paper:** [SambaLingo: Teaching Large Language Models New Languages](https://arxiv.org/abs/2404.05829) | |
| - **Blog Post**: [sambalingo-open-source-language-experts](https://sambanova.ai/blog/sambalingo-open-source-language-experts) | |
| ## Getting Started | |
| ### Loading Model With Hugging Face | |
| Please make sure to set use_fast=False when loading the tokenizer. | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat", use_fast=False) | |
| model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat", device_map="auto", torch_dtype="auto") | |
| ``` | |
| ### Interacting With Model Pipeline | |
| Please make sure to set use_fast=False when loading the tokenizer. | |
| ```python | |
| from transformers import pipeline | |
| pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Arabic-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](https://huggingface.co/HuggingFaceH4/zephyr-7b-beta), and comprises two stages: supervised fine-tuning (SFT) and Direct Performance Optimization (DPO). | |
| 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. | |
| 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. | |
| ## 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](https://arxiv.org/abs/2404.05829) | |
| ## Uses | |
| <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. --> | |
| ### Direct Use | |
| <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. --> | |
| 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. | |
| ### Out-of-Scope Use | |
| <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. --> | |
| SambaLingo should NOT be used for: | |
| - Mission-critical applications | |
| - Applications that involve the safety of others | |
| - Making highly important decisions | |
| ## Bias, Risks, and Limitations | |
| <!-- This section is meant to convey both technical and sociotechnical 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} | |
| } | |
| ``` |