license: cc-by-nc-sa-4.0
SEA-LION-7B-Instruct-NC
SEA-LION is a collection of Large Language Models (LLMs) which has been pretrained and instruct-tuned for the Southeast Asia (SEA) region. The size of the models range from 3 billion to 7 billion parameters. This is the card for the SEA-LION 7B Instruct (Non-Commercial) model.
For more details on the base model, please refer to the base model's model card.
SEA-LION stands for Southeast Asian Languages In One Network.
Model Details
Model Description
The SEA-LION model is a significant leap forward in the field of Natural Language Processing, specifically trained to understand the SEA regional context.
SEA-LION is built on the robust MPT architecture and has a vocabulary size of 256K.
For tokenization, the model employs our custom SEABPETokenizer, which is specially tailored for SEA languages, ensuring optimal model performance.
The pre-training data for the base SEA-LION model encompasses 980B tokens. The model was then further instruction-tuned on Indonesian data only.
- Developed by: Products Pillar, AI Singapore
- Funded by: Singapore NRF
- Model type: Decoder
- Languages: English, Chinese, Indonesian, Malay, Thai, Vietnamese, Filipino, Tamil, Burmese, Khmer, Lao
- License: CC BY-NC-SA 4.0 License
Benchmark Performance
SEA-LION-7B-Instruct-NC performs better than other models of comparable size when tested on tasks in the Indonesian language.
We evaluated SEA-LION-7B-Instruct-NC on the BHASA benchmark and compared it against Llama-2-7B, Mistral-7B and Falcon-7B.
We only evaluated it on the Indonesian tasks as the model was only instruction-tuned in Indonesian.
The evaluation was done zero-shot with Indonesian prompts and only a sample of 100 - 1000 instances per dataset was used as per the setting described in the BHASA paper.
The scores shown in the tables below have been adjusted to only consider answers provided in the appropriate language.
For Natural Language Understanding (NLU) tasks, we tested the model on Sentiment Analysis (Sent) using the NusaX dataset, Question Answering (QA) using the TyDiQA dataset, and Toxicity Detection (Tox) using the Indonesian Multi-Label Hate Speech Detection dataset. The metrics used are F1 score for all three tasks.
For Natural Language Generation (NLG) tasks, we tested the model on Machine Translation from English to Indonesian (MT-EN-ID) and from Indonesian to English (MT-ID-EN) using the FLORES-200 dataset, and Abstractive Summarization (AbsSum) using the XLSum dataset. The metrics used for Machine Translation are ChrF++ and COMET22, and ROUGE-L is used for Abstractive Summarization.
For Natural Language Reasoning (NLR) tasks, we tested the model on Natural Language Inference (NLI) using the IndoNLI lay dataset and on Causal Reasoning (Causal) using the XCOPA dataset. The metrics are accuracy for both tasks.
Model Name | Sent (F1) | QA (F1) | Tox (F1) | MT-EN-ID (ChrF++) | (COMET22) | MT-ID-EN (ChrF++) | (COMET22) | AbsSum (ROUGE-L) | NLI (Acc) | Causal (Acc) |
---|---|---|---|---|---|---|---|---|---|---|
sealion7b-instruct-nc | 76.13 | 24.86 | 24.45 | 52.50 | 86.97 | 46.82 | 81.34 | 15.44 | 33.20 | 23.80 |
Mistral-7B-Instruct-v0.1 | 73.66 | 26.08 | 18.60 | 31.08 | 55.29 | 51.20 | 82.38 | 14.41 | 29.20 | 11.00 |
Llama-2-7b-chat-hf | 41.92 | 4.23 | 0.00 | 47.96 | 77.86 | 55.76 | 86.08 | 4.59 | 0.00 | 0.00 |
falcon-7b-instruct | 0.00 | 8.47 | 7.21 | 1.66 | 30.07 | 16.82 | 46.32 | 1.55 | 0.00 | 2.20 |
Technical Specifications
Model Architecture and Objective
SEA-LION is a decoder model using the MPT architecture.
Parameter | SEA-LION 7B |
---|---|
Layers | 32 |
d_model | 4096 |
head_dim | 32 |
Vocabulary | 256000 |
Sequence Length | 2048 |
Tokenizer Details
We sample 20M lines from the training data to train the tokenizer.
The framework for training is SentencePiece.
The tokenizer type is Byte-Pair Encoding (BPE).
Example Usage
# Please use transformers==4.34.1
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("aisingapore/sealion7b-instruct-nc", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("aisingapore/sealion7b-instruct-nc", trust_remote_code=True)
prompt_template = "### USER:\n{human_prompt}\n\n### RESPONSE:\n"
prompt = """Apa sentimen dari kalimat berikut ini?
Kalimat: Buku ini sangat membosankan.
Jawaban: """
full_prompt = prompt_template.format(human_prompt=prompt)
tokens = tokenizer(full_prompt, return_tensors="pt")
output = model.generate(tokens["input_ids"], max_new_tokens=20, eos_token_id=tokenizer.eos_token_id)
print(tokenizer.decode(output[0], skip_special_tokens=True))
The Team
Lam Wen Zhi Clarence
Leong Wei Qi
Li Yier
Liu Darius
Lovenia Holy
Montalan Jann Railey
Ng Boon Cheong Raymond
Ngui Jian Gang
Nguyen Thanh Ngan
Ong Tat-Wee David
Rengarajan Hamsawardhini
Susanto Yosephine
Tai Ngee Chia
Tan Choon Meng
Teo Jin Howe
Teo Leslie
Teo Wei Yi
Tjhi William
Yeo Yeow Tong
Yong Xianbin
Acknowledgements
AI Singapore is a national programme supported by the National Research Foundation, Singapore and hosted by the National University of Singapore. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not reflect the views of National Research Foundation, Singapore.
Contact
For more info, please contact us at [email protected]
Disclaimer
This the repository for the non-commercial instruction-tuned model. The model has not been aligned for safety. Developers and users should perform their own safety fine-tuning and related security measures. In no event shall the authors be held liable for any claim, damages, or other liability arising from the use of the released weights and codes.