Edit model card

Viet-Sailor-4B-Instruct Version 2

Sailor-4B 🌊 is a model that has undergone additional pre-training on datasets from Southeast Asian countries 🌏, resulting in impressive performance 🚀. Building on this foundation, we have fine-tuned the model with a specific focus on Vietnamese language capabilities 🇻🇳.

This is a good choice for models under 7B parameters on the VMLU leaderboard 📊.

Training details 📚

The 1,000,000 samples fine-tuning training dataset was meticulously sampled in part from the following datasets:

Benchmarks 📈

We evaluated our model using the VMLU leaderboard:

# MODEL CREATOR BASE MODEL STEM SOCIAL SCIENCE HUMANITIES OTHERS AVG
1 VNPTAI.IO-14B VNPT AI Qwen1.5-14B-Chat 51.64 61.75 58.09 54.51 55.83
2 SeaLLM-7B-v2.5 DAMO Academy llama-2-7b 49.35 60.66 55.95 49.05 53.30
3 MI4uLLM-7B-Chat ML4U Mistral-7B-v0.1 44.72 58.69 56.86 52.36 52.08
4 Vistral-7B-Chat UONLP x Ontocord Mistral-7B-v0.1 43.32 57.02 55.12 48.01 50.07
5 SDSRV-7B-chat SDSRV teams Mistral-7B-v0.1 36.29 60.55 55.95 49.05 48.55
6 Arcanic Cono 1.5 Arcanic AI Mistral-7B-v0.1 45.11 52.44 51.97 45.36 47.45
7 SeaLLM-7b-v2 DAMO Academy llama-2-7b 39.95 52.02 49.38 45.27 45.79
8 Viet-Sailor-4B-Instruct 5CD-AI Sailor-4B 36.83 49.13 48.18 41.76 43.24
9 bloomz-7b1 BigScience Bloom-7b1 32.63 45.73 41.85 39.89 38.87
10 T-llama-7b FPTU HCM llama-2-7b 32.2 43.15 40.31 36.57 37.28
11 vbd-llama2-7b-50b... Vin BigData llama-2-7b 31.45 40.34 40.24 39.62 36.98
.. ...... ..... .... ... ... ... ... ...

Examples

Function-calling

<|im_start|>system
Bạn là một trợ lý hữu ích với quyền truy cập vào các chức năng sau. Sử dụng chúng nếu cần thiết -{
    "name": "search_movies",
    "description": "Search for movies based on title or genre",
    "parameters": {
        "type": "object",
        "properties": {
            "title": {
                "type": "string",
                "description": "The title of the movie"
            },
            "genre": {
                "type": "string",
                "description": "The genre of the movie"
            }
        }
    }
}<|im_end|>
<|im_start|>question
Bạn có thể tìm cho tôi một bộ phim có tựa đề "Inception" được không?<|im_end|>
<|im_start|>answer
<function-call> {"name": "search_movies", "arguments": {"title": "Inception"}}<|im_end|>
<|im_start|>question
<function-response> {"movies": [{"title": "Inception", "genre": "Science Fiction", "director": "Christopher Nolan", "release_year": 2010}]}<|im_end|>
<|im_start|>answer
Tôi đã tìm thấy một bộ phim có tựa đề "Inception". Đó là một bộ phim Khoa học viễn tưởng của đạo diễn Christopher Nolan và được phát hành vào năm 2010.<|im_end|>

Sentiment analysis

<|im_start|>system
Bạn là trợ lý AI hữu ích<|im_end|>
<|im_start|>question
Bạn là trợ lý AI. Hãy phân loại cảm xúc của bình luận sau theo từng khía cạnh của chủ thể.
Bình luận: về cách ăn mặc của cô thì quá 😡 😡 . nhưng về cách nói chuyện thì rất 😍.<|im_end|>
<|im_start|>answer
Cảm xúc của bình luận này có thể được phân loại như sau: 
- Cảm xúc tiêu cực đối với cách ăn mặc của cô ấy: 😡
- Cảm xúc tích cực đối với cách nói chuyện của cô ấy: 😍<|im_end|>

Simple math

<|im_start|>system
Bạn là một trợ lý AI hữu ích. Một nhà toán học.<|im_end|>
<|im_start|>question
Trên sân có 2 con vịt và 9 con bò hỏi tổng cộng có mấy cái chân ?<|im_end|>
<|im_start|>answer
Tổng số chân trên sân là 11. Mỗi con vịt có 2 chân và mỗi con bò có 4 chân, vì vậy 2 con vịt có tổng cộng 2*2 = 4 chân và 9 con bò có tổng cộng 9*4 = 36 chân. Do đó, tổng số chân trên sân là 4+36 = 40.<|im_end|>

Writing

<|im_start|>system
Bạn là một trợ lý AI hữu ích, trung thực, trung lập. Hãy trả lời một cách đầy đủ <|im_end|>
<|im_start|>question
Người dùng sẽ cung cấp cho bạn một nhiệm vụ. Hãy thực hiện lần lượt 2 nhiệm vụ sau:
Bưới 1: Hãy mô tả ý nghĩa hình ảnh của chuỗi emoji 😡 👫 👨‍👩‍👦.
Bước 2: Hãy tạo 1 câu chuyện ngắn kết hợp đầy đủ ý nghĩa giữa chúng với nhau.<|im_end|>
<|im_start|>answer
Bước 1: Mô tả ý nghĩa hình ảnh của chuỗi emoji 😡 👫 👨‍👩‍👦.
Ý nghĩa hình ảnh của chuỗi emoji có thể được giải thích như sau:
 - 😡: Biểu tượng cảm xúc này thường được sử dụng để thể hiện sự buồn bã, đau khổ hoặc thất vọng. Trong trường hợp này, nó có thể biểu thị rằng ai đó đang trải qua một số cảm xúc tiêu cực.
 - 👫: Biểu tượng cảm xúc này thường được sử dụng để thể hiện tình yêu và sự quan tâm. Trong trường hợp này, nó có thể biểu thị rằng ai đó đang thể hiện tình yêu và sự quan tâm của họ đối với ai đó.
 - 👨‍👩‍👦: Biểu tượng cảm xúc này thường được sử dụng để thể hiện tình yêu gia đình. Trong trường hợp này, nó có thể biểu thị rằng ai đó đang thể hiện tình yêu và sự quan tâm của họ đối với một thành viên trong gia đình.
Bước 2: Tạo một câu chuyện ngắn kết hợp các biểu tượng cảm xúc với nhau.
Câu chuyện:  Trong một thị trấn nhỏ, nơi mọi người đều biết nhau, có một gia đình hạnh phúc sống trong một ngôi nhà nhỏ xinh xắn. Cha mẹ yêu thương và chăm sóc con cái của mình rất nhiều. Một ngày nọ, họ nhận được tin dữ rằng đứa con út của họ đã qua đời vì một căn bệnh hiếm gặp. Cả gia đình đều đau buồn, đặc biệt là cha mẹ của đứa trẻ. Họ cố gắng vượt qua nỗi đau bằng cách dành thời gian bên nhau, ôm nhau và chia sẻ những ký ức đẹp đẽ về đứa con yêu dấu của họ.<|im_end|>

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
import torch
device = "cuda"

model = AutoModelForCausalLM.from_pretrained(
    '5CD-AI/Viet-Sailor-4B-Instruct',
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

tokenizer = AutoTokenizer.from_pretrained('5CD-AI/Viet-Sailor-4B-Instruct')
system_prompt = 'Bạn là một trợ lý AI hữu ích. Bạn rất cẩn thận và trung lập. Hãy trả lời trung thực và đầy đủ. Chỉ trả lời khi bạn biết thông tin chính xác.'

prompt = """Hãy phân loại cảm xúc của bình luận sau theo từng khía cạnh của chủ thể.
Bình luận: về cách ăn mặc của cô thì quá 😡 😡 . nhưng về cách nói chuyện thì rất 😍."""


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=256,
    num_beams=3,
    top_k=20,
    top_p= 0.5,
    temperature=0.9,
    repetition_penalty = 1.5,
    length_penalty = 1.0,
    do_sample=True
)

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)
Downloads last month
114
Safetensors
Model size
3.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 5CD-AI/Viet-Sailor-4B-Instruct