Sailor-1.8B-Chat-gguf

我要开发同款
匿名用户2024年07月31日
26阅读
所属分类ai
开源地址https://modelscope.cn/models/sail/Sailor-1.8B-Chat-gguf
授权协议Apache License 2.0

作品详情

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 7B 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

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, SkyPile, CC100 and MADLAD-400. The instruction tuning corpus are all publicly available including ayacollection, ayadataset, 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.

GGUF model list

Name Quant method Bits Size Use case
ggml-model-Q2_K.gguf Q2_K 2 847 MB very small, significant quality loss ❗️ not recommended for most purposes
ggml-model-Q3KL.gguf Q3KL 3 1.06 GB small, substantial quality loss
ggml-model-Q3KM.gguf Q3KM 3 1.02 GB small, balanced quality
ggml-model-Q3KS.gguf Q3KS 3 954 MB very small, high quality loss
ggml-model-Q4KM.gguf Q4KM 4 1.22 GB small, balanced quality
ggml-model-Q4KS.gguf Q4KS 4 1.16 GB small, greater quality loss
ggml-model-Q5KM.gguf Q5KM 5 1.38 GB small, balanced quality
ggml-model-Q5KS.gguf Q5KS 5 1.33 GB small, very low quality loss
ggml-model-Q6_K.gguf Q6_K 6 1.58 GB small, extremely low quality loss
ggml-model-Q8_0.gguf Q8_0 8 1.96 GB small, extremely low quality loss
ggml-model-f16.gguf f16 16 3.68 GB medium, no quality loss

How to run with llama.cpp

# install llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
make
pip install -r requirements.txt

# generate with llama.cpp
./main -ngl 24 -m ggml-model-Q4_K_M.gguf -p "<|im_start|>question\nCara memanggang ikan?\n<|im_start|>answer\n" --temp 0.7 --repeat_penalty 1.1 -n 400 -e

Change -ngl 24 to the number of layers to offload to GPU. Remove it if you don't have GPU acceleration.

How to run with llama-cpp-python

pip install llama-cpp-python
import llama_cpp
import llama_cpp.llama_tokenizer

# load model
llama = llama_cpp.Llama.from_pretrained(
    repo_id="sail/Sailor-4B-Chat-gguf",
    filename="ggml-model-Q4_K_M.gguf",
    tokenizer=llama_cpp.llama_tokenizer.LlamaHFTokenizer.from_pretrained("sail/Sailor-4B-Chat"),
    n_gpu_layers=40,
    n_threads=8,
    verbose=False,
)

system_role= 'system'
user_role = 'question'
assistant_role = "answer"

system_prompt= \
'You are an AI assistant named Sailor created by Sea AI Lab. \
Your answer should be friendly, unbiased, faithful, informative and detailed.'
system_prompt = f"<|im_start|>{system_role}\n{system_prompt}<|im_end|>"

# inference example
output = llama(
  system_prompt + '\n' + f"<|im_start|>{user_role}\nCara memanggang ikan?\n<|im_start|>{assistant_role}\n",
  max_tokens=256,
  temperature=0.7,
  top_p=0.75,
  top_k=60,
  stop=["<|im_end|>", "<|endoftext|>"]
)

print(output['choices'][0]['text'])

How to build demo

Install llama-cpp-python and gradio, then run script.

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:

@misc{dou2024sailor,
      title={Sailor: Open Language Models for South-East Asia}, 
      author={Longxu Dou and Qian Liu and Guangtao Zeng and Jia Guo and Jiahui Zhou and Wei Lu and Min Lin},
      year={2024},
      eprint={2404.03608},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

Contact Us

If you have any questions, please raise an issue or contact us at doulx@sea.com or liuqian@sea.com.

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论