zolicsaki's picture
Update README.md
8a8e860 verified
|
raw
history blame
6.73 kB
---
license: llama2
datasets:
- uonlp/CulturaX
language:
- ja
- en
metrics:
- chrf
- accuracy
- bleu
---
# SambaLingo-Japanese-Base
<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-Japanese-Base is a pretrained Bi-lingual Japanese and English model that adapts [Llama 2](https://huggingface.co/meta-llama/Llama-2-7b-hf) to Japanese by training on 42 billion tokens from the Japanese split of the [Cultura-X](https://huggingface.co/datasets/uonlp/CulturaX) dataset. This model reports state of the art evaluation results in perplexity and FLORES-200 translation. For the chat version of this model, please see [sambanovasystems/SambaLingo-Japanese-Chat](https://huggingface.co/sambanovasystems/SambaLingo-Japanese-Chat).
## Model Description
<!-- Provide a longer summary of what this model is. -->
- **Developed by:** [SambaNova Systems](https://sambanova.ai/)
- **Model type:** Language Model
- **Language(s):** Japanese, English
- **Finetuned from model:** [Llama 2](https://huggingface.co/meta-llama/Llama-2-7b-hf)
- **Blog Post**: Will be released soon!
## Getting Started
### Loading Model With Hugging Face
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Japanese-Base")
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Japanese-Base", device_map="auto", torch_dtype="auto")
```
### Suggested Inference Parameters
We suggest setting do_sample=False as this is a pretrained checkpoint.
### Prompting Guidelines
This model is a pretrained checkpoint, so to use it effectively please use few shot prompting with exemplars. The only other prompt templating required is the standard \<s\> (BOS) token from the Llama tokenizer. If you want to interact with this model with direct questions or queries, please use the chat version of the model that has been aligned with human preferences [sambanovasystems/SambaLingo-Japanese-Chat](https://huggingface.co/sambanovasystems/SambaLingo-Japanese-Chat).
## Training Details
All pre-training is done on the [Cultura-X](https://huggingface.co/datasets/uonlp/CulturaX) dataset. We mix the data to be 75% data from the language we are adapting to, and 25% English as suggested by [Csaki et al.](https://arxiv.org/abs/2311.05741) We pack the data into sequences of length 4096, and ensure that when learning a token we only attend to previous tokens in the context of the corresponding text document. We train with a global batch size of 1024, sequence length of 4096, maximum learning rate of 1e-4 with cosine decay, warmup ratio of 0.01 and a weight decay of 0.1.
## 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
|| SambaLingo-Japanese-Base | ELYZA-japanese-Llama-2-7b-7b | bloom-7b1 | xglm-7.5B | mGPT-13B |
|------------------------------|------------------------------|-----------|-----------|----------|--------|
| Perplexity (Lower Is Better) | **1.559** | 1.754 | 2.216 | 1.775 | 2.349 |
| FLORES en->ja (8 shot, CHRF) | **0.281** | 0.250 | 0.056 | 0.156 | 0.111 |
| FLORES ja->en (8 shot, CHRF) | **0.495** | 0.436 | 0.262 | 0.369 | 0.297 |
| FLORES en->ja (8 shot, BLEU) | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 |
| FLORES ja->en (8 shot, BLEU) | **0.184** | 0.144 | 0.043 | 0.084 | 0.036 |
| Belebele (3 shot) | 36.56% | **53.67%** | 26.67% | 24.00% | 22.89% |
| SIB-200 (3 shot) | 68.63% | **74.02%** | 60.29% | 60.78% | 41.18% |
| PAWS-X | 46.80% | 50.50% | 45.40% | **51.95%** | 45.20% |
| XWinograd (0 shot) | 76.64% | **77.58%** | 58.92% | 64.96% | 57.77% |
## 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
```
@software{sambalingo,
title = {{SambaLingo: Open Source Language Experts}},
author = {SambaNova Systems},
url = {https://huggingface.co/sambanovasystems/SambaLingo-Japanese-Base}
month = {2},
year = {2024},
version = {1.0},
}
```