sail
/

Text Generation
Transformers
Safetensors
qwen2
multilingual
sea
sailor
sft
chat
instruction
conversational
text-generation-inference
File size: 5,686 Bytes
7c0d178
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462e044
 
 
 
 
 
 
 
 
 
 
 
 
7c0d178
 
859e5b7
7c0d178
 
 
 
 
 
 
 
e91bc51
7c0d178
 
 
 
 
 
 
 
 
3bb7140
7c0d178
 
 
 
 
 
 
 
7fb5ea9
7c0d178
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7fb5ea9
7c0d178
7fb5ea9
 
 
 
 
 
 
 
 
 
 
 
7c0d178
7fb5ea9
 
 
 
 
 
 
 
 
7c0d178
7fb5ea9
 
7c0d178
 
7fb5ea9
 
7c0d178
 
 
 
 
 
 
 
 
 
 
 
 
 
3bb7140
 
 
 
 
e91bc51
 
89a866a
 
 
3bb7140
 
 
7c0d178
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
---
language:
- en
- zh
- id
- th
- vi
- ms
- lo
datasets:
- CohereForAI/aya_dataset
- CohereForAI/aya_collection
- Open-Orca/OpenOrca
tags:
- multilingual
- sea
- sailor
- sft
- chat
- instruction
widget:
- text: "如何制作烤鱼?"
  example_title: "Chinese"
- text: "How to bake fish?"
  example_title: "English"
- text: "Bagaimana cara memanggang ikan?"
  example_title: "Malay"
- text: "วิธีย่างปลา?"
  example_title: "Thai"
- text: "Bagaimana membuat bakaran ikan?"
  example_title: "Indonesian"
- text: "Làm thế nào để nướng cá?"
  example_title: "Vietnamese"
license: apache-2.0
base_model: sail/Sailor-4B
inference: false
---

<div align="center">
  <img src="banner_sailor.jpg" width="700"/>
</div>

Sailor is a suite of Open Language Models tailored for South-East Asia (SEA), focusing on languages such as 🇮🇩Indonesian, 🇹🇭Thai, 🇻🇳Vietnamese, 🇲🇾Malay, and 🇱🇦Lao. 
Developed with careful data curation, Sailor models are designed to understand and generate text across diverse linguistic landscapes of SEA region. 
Built from [Qwen 1.5](https://huggingface.co/collections/Qwen/qwen15-65c0a2f577b1ecb76d786524) , Sailor encompasses models of varying sizes, spanning from 0.5B to 14B versions for different requirements. 
We further fine-tune the base model with open-source datasets to get instruction-tuned models, namedly Sailor-Chat. 
Benchmarking results demonstrate Sailor's proficiency in tasks such as question answering, commonsense reasoning, and other tasks in SEA languages.

> The logo was generated by MidJourney

## Model Summary
- **Model Collections:** [Base Model & Chat Model](https://huggingface.co/collections/sail/sailor-65e19a749f978976f1959825)
- **Project Website:** [sailorllm.github.io](https://sailorllm.github.io/)
- **Codebase:** [github.com/sail-sg/sailor-llm](https://github.com/sail-sg/sailor-llm)
- **Technical Report:** [arxiv.org/pdf/2404.03608.pdf](https://arxiv.org/pdf/2404.03608.pdf) 


## Training details
Sailor is crafted by continually pre-training from language models like the remarkable Qwen 1.5 models, which already has a great performance on SEA languages. 
The pre-training corpus heavily leverages the publicly available corpus, including 
[SlimPajama](https://huggingface.co/datasets/cerebras/SlimPajama-627B), 
[SkyPile](https://huggingface.co/datasets/Skywork/SkyPile-150B), 
[CC100](https://huggingface.co/datasets/cc100) and [MADLAD-400](https://huggingface.co/datasets/allenai/MADLAD-400).
The instruction tuning corpus are all publicly available including 
[aya_collection](https://huggingface.co/datasets/CohereForAI/aya_collection), 
[aya_dataset](https://huggingface.co/datasets/CohereForAI/aya_dataset), 
[OpenOrca](https://huggingface.co/datasets/Open-Orca/OpenOrca).

By employing aggressive data deduplication and careful data cleaning on the collected corpus, we have attained a high-quality dataset spanning various languages. 
Through systematic experiments to determine the weights of different languages, Sailor models undergo training from 200B to 400B tokens, tailored to different model sizes. 
The approach boosts their performance on SEA languages while maintaining proficiency in English and Chinese without significant compromise. 
Finally, we continually pre-train the Qwen1.5-0.5B model with 400 Billion tokens, and other models with 200 Billion tokens to obtain the Sailor models.

## Requirements
The code of Sailor has been in the latest Hugging face transformers and we advise you to install `transformers>=4.37.0`.

## Quickstart

Here provides a code snippet to show you how to load the tokenizer and model and how to generate contents.

```python
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"

model = AutoModelForCausalLM.from_pretrained(
    'sail/Sailor-4B-Chat',
    torch_dtype="auto",
    device_map="auto"
)

tokenizer = AutoTokenizer.from_pretrained('sail/Sailor-4B-Chat')
system_prompt= 'You are a helpful assistant'

prompt = "Beri saya pengenalan singkat tentang model bahasa besar."
# prompt = "Hãy cho tôi một giới thiệu ngắn gọn về mô hình ngôn ngữ lớn."
# prompt = "ให้ฉันแนะนำสั้น ๆ เกี่ยวกับโมเดลภาษาขนาดใหญ่"

messages = [
    {"role": "system", "content": system_prompt},
    {"role": "question", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

model_inputs = tokenizer([text], return_tensors="pt").to(device)
input_ids = model_inputs.input_ids.to(device)

generated_ids = model.generate(
    input_ids,
    max_new_tokens=512,
)

generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
```

# License

Sailor is distributed under the terms of the Apache License 2.0. 
No restrict on the research and the commercial use, but should comply with the [Qwen License](https://huggingface.co/Qwen/Qwen1.5-1.8B/blob/main/LICENSE).

## Citation

If you find sailor useful, please cite our work as follows:

```
@article{dou2024sailor,
  title={Sailor: Open Language Models for South-East Asia},
  author={Dou, Longxu and Liu, Qian and Zeng, Guangtao and Guo, Jia and Zhou, Jiahui and Lu, Wei and Lin, Min},
  journal={arXiv preprint arXiv:2404.03608},
  year={2024}
}
```

# Contact Us

If you have any questions, please raise an issue or contact us at [doulx@sea.com](mailto:doulx@sea.com) or [liuqian@sea.com](mailto:liuqian@sea.com).