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
, 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.
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
,
SkyPile
,
CC100
and
MADLAD-400
.
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.
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"# the device to load the model
model = AutoModelForCausalLM.from_pretrained("sail/Sailor-4B", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("sail/Sailor-4B")
input_message = "Model bahasa adalah model probabilistik"### The given Indonesian input translates to 'A language model is a probabilistic model of.'
model_inputs = tokenizer([input_message], return_tensors="pt").to(device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=64
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids inzip(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
.
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}
}
Sailor-4B huggingface.co is an AI model on huggingface.co that provides Sailor-4B's model effect (), which can be used instantly with this sail Sailor-4B model. huggingface.co supports a free trial of the Sailor-4B model, and also provides paid use of the Sailor-4B. Support call Sailor-4B model through api, including Node.js, Python, http.
Sailor-4B huggingface.co is an online trial and call api platform, which integrates Sailor-4B's modeling effects, including api services, and provides a free online trial of Sailor-4B, you can try Sailor-4B online for free by clicking the link below.
Sailor-4B is an open source model from GitHub that offers a free installation service, and any user can find Sailor-4B on GitHub to install. At the same time, huggingface.co provides the effect of Sailor-4B install, users can directly use Sailor-4B installed effect in huggingface.co for debugging and trial. It also supports api for free installation.