Sailor-4B / README.md
leaderboard-pr-bot's picture
Adding Evaluation Results
16e5cde verified
metadata
language:
  - en
  - zh
  - id
  - th
  - vi
  - ms
  - lo
license: apache-2.0
tags:
  - multilingual
  - sea
  - sailor
datasets:
  - cerebras/SlimPajama-627B
  - Skywork/SkyPile-150B
  - allenai/MADLAD-400
  - cc100
base_model: Qwen/Qwen1.5-4B
model-index:
  - name: Sailor-4B
    results:
      - task:
          type: text-generation
        dataset:
          name: XQuAD-Thai
          type: XQuAD-Thai
        metrics:
          - type: EM (3-Shot)
            value: 46.82
            name: EM (3-Shot)
          - type: F1 (3-Shot)
            value: 63.34
            name: F1 (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: TyDiQA-Indonesian
          type: TyDiQA-Indonesian
        metrics:
          - type: EM (3-Shot)
            value: 53.98
            name: EM (3-Shot)
          - type: F1 (3-Shot)
            value: 73.48
            name: F1 (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: XQuAD-Vietnamese
          type: XQuAD-Vietnamese
        metrics:
          - type: EM (3-Shot)
            value: 47.65
            name: EM (3-Shot)
          - type: F1 (3-Shot)
            value: 67.09
            name: F1 (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: XCOPA-Thai
          type: XCOPA-Thai
        metrics:
          - type: EM (3-Shot)
            value: 53.4
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: XCOPA-Indonesian
          type: XCOPA-Indonesian
        metrics:
          - type: EM (3-Shot)
            value: 69.2
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: XCOPA-Vietnamese
          type: XCOPA-Vietnamese
        metrics:
          - type: EM (3-Shot)
            value: 68.2
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: M3Exam-Thai
          type: M3Exam-Thai
        metrics:
          - type: EM (3-Shot)
            value: 27.88
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: M3Exam-Indonesian
          type: M3Exam-Indonesian
        metrics:
          - type: EM (3-Shot)
            value: 31.27
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: M3Exam-Vietnamese
          type: M3Exam-Vietnamese
        metrics:
          - type: EM (3-Shot)
            value: 40.69
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: BELEBELE-Thai
          type: BELEBELE-Thai
        metrics:
          - type: EM (3-Shot)
            value: 36.11
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: BELEBELE-Indonesian
          type: BELEBELE-Indonesian
        metrics:
          - type: EM (3-Shot)
            value: 41.33
            name: EM (3-Shot)
      - task:
          type: text-generation
        dataset:
          name: BELEBELE-Vietnamese
          type: BELEBELE-Vietnamese
        metrics:
          - type: EM (3-Shot)
            value: 38.89
            name: EM (3-Shot)
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: AI2 Reasoning Challenge (25-Shot)
          type: ai2_arc
          config: ARC-Challenge
          split: test
          args:
            num_few_shot: 25
        metrics:
          - type: acc_norm
            value: 44.45
            name: normalized accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sail/Sailor-4B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: HellaSwag (10-Shot)
          type: hellaswag
          split: validation
          args:
            num_few_shot: 10
        metrics:
          - type: acc_norm
            value: 69.53
            name: normalized accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sail/Sailor-4B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: MMLU (5-Shot)
          type: cais/mmlu
          config: all
          split: test
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 38.99
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sail/Sailor-4B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: TruthfulQA (0-shot)
          type: truthful_qa
          config: multiple_choice
          split: validation
          args:
            num_few_shot: 0
        metrics:
          - type: mc2
            value: 37.02
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sail/Sailor-4B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: Winogrande (5-shot)
          type: winogrande
          config: winogrande_xl
          split: validation
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 66.06
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sail/Sailor-4B
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: GSM8k (5-shot)
          type: gsm8k
          config: main
          split: test
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 9.1
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=sail/Sailor-4B
          name: Open LLM Leaderboard

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.

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

Contact Us

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

Open LLM Leaderboard Evaluation Results

Detailed results can be found here

Metric Value
Avg. 44.19
AI2 Reasoning Challenge (25-Shot) 44.45
HellaSwag (10-Shot) 69.53
MMLU (5-Shot) 38.99
TruthfulQA (0-shot) 37.02
Winogrande (5-shot) 66.06
GSM8k (5-shot) 9.10