Text Generation
Transformers
Safetensors
Bulgarian
English
llama
conversational
text-generation-inference
Inference Endpoints
Edit model card

SambaLingo-Bulgarian-Chat

SambaLingo-Bulgarian-Chat is a human aligned chat model trained in Bulgarian and English. It is trained using direct preference optimization on top the base model SambaLingo-Bulgarian-Base. The base model adapts Llama 2 to Bulgarian by training on 63 billion tokens from the Bulgarian split of the Cultura-X dataset. Try this model at SambaLingo-chat-space.

Model Description

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-Bulgarian-Chat", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Bulgarian-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-Bulgarian-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|>
Какъв извод можеш да извадиш за чувството, което изпитват героите от следната кратка история:

Мария чакаше с трепет да дойде 27-ми. Още само три дни и корабът щеше да акостира на пристанището. След 6 дълги месеца тя най-после щеше да види Иван. Когато денят най-после дойде, тя отиде на пристанището заедно с десетки други жени. Моряците един по един започнаха да слизат. Най-накрая тя съзря погледа на Иван, и двамата се прегърнаха силно.</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
7
Safetensors
Model size
6.95B params
Tensor type
BF16
·
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Datasets used to train sambanovasystems/SambaLingo-Bulgarian-Chat

Collection including sambanovasystems/SambaLingo-Bulgarian-Chat