Sahabat-AI (Indonesian language for “close friends”) is a collection of Large Language Models (LLMs) which has been pretrained and instruct-tuned for Indonesian language and its various dialects. Sahabat-AI ecosystem is co-initiated by Indonesian tech

83 4 weeks ago

Readme

Disclaimer!

SUPA-AI does not own this model and had no hand in making the original, we simply converted it to a guff format to be usable on ollama, you can find the original model here: https://huggingface.co/GoToCompany/llama3-8b-cpt-sahabatai-v1-instruct


base_model: - GoToCompany/llama3-8b-cpt-sahabatai-v1-base language: - en - id - jv - su

license: llama3

Llama3 8B CPT Sahabat-AI v1 Instruct

Sahabat-AI (Indonesian language for “close friends”) is a collection of Large Language Models (LLMs) which has been pretrained and instruct-tuned for Indonesian language and its various dialects. Sahabat-AI ecosystem is co-initiated by Indonesian tech and telecommunication companies: GoTo Group and Indosat Ooredoo Hutchison.

Llama3 8B CPT Sahabat-AI v1 Instruct is an Indonesian-focused model which has been fine-tuned with around 448,000 Indonesian instruction-completion pairs alongside an Indonesian-dialect pool consisting of 96,000 instruction-completion pairs in Javanese and 98,000 instruction-completion pairs in Sundanese. Additionally, we added a pool of 129,000 instruction-completion pairs in English.

  • Co-initiated by: PT GoTo Gojek Tokopedia Tbk, Indosat Ooredoo Hutchison
  • Developed by: PT GoTo Gojek Tokopedia Tbk, AI Singapore
  • Model type: Decoder
  • Languages: English, Indonesian, Javanese, Sundanese
  • License: Llama3 Community License

Model Details

Model Description

We performed instruction tuning in Indonesian, Javanese, Sundanese as well as English on our continued pre-trained Llama3 8B CPT Sahabat-AI v1 base, a decoder model using the Llama3 architecture, to create Llama3 8B CPT Sahabat-AI v1 Instruct.

For tokenisation, the model employs the default tokenizer used in Llama-3-8B. The model has a context length of 8192.

Benchmark Performance

We evaluated Llama3 8B CPT Sahabat-AI V1 Instruct on both general language capabilities and instruction-following capabilities.

General Language Capabilities

For the evaluation of general language capabilities, we employed the - SEA HELM (also known as BHASA) evaluation benchmark across a variety of tasks. - These tasks include Question Answering (QA), Sentiment Analysis (Sentiment), Toxicity Detection (Toxicity), Translation in both directions (Eng>Lang & Lang>Eng), Abstractive Summarization (Summ), Causal Reasoning (Causal) and Natural Language Inference (NLI). - We also added support for Javanese and Sundanese for the BHASA tasks whenever applicable - IndoMMLU - These tasks include examination questions on Humanities, Indonesian language, Local languages and cultures, Social science and STEM across primary, middle, and high school levels. - and the common English tasks from the HuggingFace LLM Leaderboard. - These tasks consist of IFEval, BBH, Math Lvl 5, GPQA, MuSR, and MMLU-PRO. - Caveat: Our results differ from the HuggingFace LLM Leaderboard because we have used VLLM as our inference platform. VLLM caps the context size at 4096 tokens while HuggingFace was set to 8192 tokens.

Note: SEA HELM is implemented using prompts to elicit answers in a strict format. For all tasks, the model is expected to provide an answer tag from which the answer is automatically extracted. For tasks where options are provided, the answer should comprise one of the pre-defined options. The scores for each task is normalised to account for baseline performance due to random chance.

The evaluation was done zero-shot with native prompts on a sample of 100-1000 instances for each dataset.

Instruction-following Capabilities

Since Llama3 8B CPT Sahabat-AI v1 Instruct is an instruction-following model, we also evaluated it on instruction-following capabilities with the IFEval dataset.

As this dataset was in English, the linguists and native speakers in the team worked together to filter, localize and translate the dataset into the respective target languages to ensure that the examples remained reasonable, meaningful and natural.

IFEval

IFEval evaluates a model’s ability to adhere to constraints provided in the prompt, for example beginning a response with a specific word/phrase or answering with a certain number of sections. Additionally, accuracy is normalized by the proportion of responses in the correct language (if the model performs the task correctly but responds in the wrong language, it is judged to have failed the task).

Note: IFEval was only used on Bahasa Indonesia. We are currently working on adding it for Javanese and Sundanese for our upcoming releases.

Results

Indonesian Results

SEA HELM (also known as BHASA)

Language / Model Name [Instruct] Qwen2-7B Qwen2.5-7B Llama-3-8B Llama-3.1-8B sea-lionv2.1-8B gemma-2-9B sahabatai-v1-8B sahabatai-v1-9B
Overall (Bahasa Indonesia + Javanese + Sundanese) 36.963 42.988 37.805 45.866 46.880 56.359 53.725 61.169
Bahasa Indonesia 46.760 60.372 42.022 51.944 54.579 63.394 57.221 64.154
Javanese 33.956 40.625 41.739 47.587 48.012 56.468 56.460 64.439
Sundanese 30.173 27.969 29.654 38.068 38.050 49.216 47.495 54.913

IndoMMLU

Model Name [Instruct] Qwen2-7B Qwen2.5-7B Meta-Llama-3-8B Llama-3.1-8B sea-lionv2.1-8B gemma-2-9B sahabatai-v1-8B sahabatai-v1-9B
Overall Results 53.0% 56.0% 51.9% 53.8% 54.4% 61.4% 55.6% 62.6%

English Results

Model Name [Instruct] Qwen2-7B Qwen2.5-7B Llama-3-8B Llama-3.1-8B sea-lionv2.1-8B gemma-2-9B sahabatai-v1-8B sahabatai-v1-9B
Average 24.48 27.75 23.91 27.98 24.52 26.44 24.43 33.67

Llama3 8B CPT Sahabat-AI v1 Instruct can be run using the 🤗 Transformers library

# Please use transformers==4.45.0

import torch
import transformers

model_id = "GoToCompany/llama3-8b-cpt-sahabatai-v1-instruct"

pipeline = transformers.pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device_map="auto",
)

terminators = [
    pipeline.tokenizer.eos_token_id,
    pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
]

# Javanese
messages = [
   {"role": "system", "content": "You are a helpful assistant"},
   {"role": "user", "content": "Sopo wae sing ana ing Punakawan?"}
]

outputs = pipeline(
    messages,
    max_new_tokens=256,
    eos_token_id=terminators,
)
print(outputs[0]["generated_text"][-1])


# Sundanese
messages = [
    {"role": "system", "content": "You are a helpful assistant"},
    {"role": "user", "content": "Kumaha caritana si Kabayan?"},
]

outputs = pipeline(
    messages,
    max_new_tokens=256,
    eos_token_id=terminators,
)
print(outputs[0]["generated_text"][-1])

Caveats

It is important for users to be aware that our model exhibits certain limitations that warrant consideration. Like many LLMs, the model can hallucinate and occasionally generates irrelevant content, introducing fictional elements that are not grounded in the provided context. Users should also exercise caution in interpreting and validating the model’s responses due to the potential inconsistencies in its reasoning.

Limitations

Safety

Current Sahabat-AI models, including this commercially permissive release, have 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.

Technical Specifications

Fine-Tuning Details

Llama3 8B CPT Sahabat-AI v1 Instruct was built using a combination of a full parameter fine-tune, on-policy alignment, and model merges of the best performing checkpoints. The training process for fine-tuning was approximately 4 hours, with alignment taking 2 hours, both on 8x H100-80GB GPUs.

Data

Llama3 8B CPT Sahabat-AI v1 Instruct was trained on a wide range of synthetic instructions, alongside publicly available instructions hand-curated by the team with the assistance of native speakers. In addition, special care was taken to ensure that the datasets used had commercially permissive licenses through verification with the original data source.

Call for Collaboration

Sahabat-AI (Indonesian language for “close friends”) a local open source Large Language Model (LLM) ecosystem in Indonesian language, co-initiated by Indonesian tech and telecommunication companies: GoTo Group and Indosat Ooredoo Hutchison. Sahabat-AI ecosystem aims to empower Indonesians who want to develop AI-based services and applications using Bahasa Indonesia and its various local dialects.

We are supported by research centers and global tech experts such as AI Singapore and Tech Mahendra to train the model to gain general language understanding.

We also collaborate with key top Indonesia universities such as University of Indonesia, Gadjah Mada University, Bogor Institute of Agriculture, Bandung Institute of Technology, including top Indonesia media groups, such as Kompas Gramedia Group and Republika to train and enrich the model in Bahasa Indonesia, ensuring optimum provision of local context and cultural relevance.

We would like to invite researchers, developers, and language enthusiasts to actively contribute to the enhancement and expansion of Sahabat-AI. Your collaborations can involve: - Identifying and reporting technical issues - Sharing pre-training, instruction, and preference data - Improving documentation usability - Proposing and implementing new model evaluation tasks and metrics

Join us in shaping the future of Sahabat-AI by sharing your expertise and insights to make these models more accessible, accurate, and versatile.

You can contribute your ideas through this form.

The Development Team (in ascending alphabetical order)

AI Singapore

Chan Adwin
Cheng Nicholas
Choa Esther
Huang Yuli
Lau Wayne
Lee Chwan Ren
Leong Wai Yi
Leong Wei Qi
Limkonchotiwat Peerat
Liu Bing Jie Darius
Montalan Jann Railey
Ng Boon Cheong Raymond
Ngui Jian Gang
Nguyen Thanh Ngan
Ong Brandon
Ong Tat-Wee David
Ong Zhi Hao
Rengarajan Hamsawardhini
Siow Bryan
Susanto Yosephine
Tai Ngee Chia
Tan Choon Meng
Teng Walter
Teo Eng Sipp Leslie
Teo Wei Yi
Tjhi William
Yeo Yeow Tong
Yong Xianbin

PT GoTo Gojek Tokopedia Tbk

Anissa Dininta
Chau Shiau Ching
Choiri Hendra Hadhil
Goel Priyank
Saini Ajay Kumar
Shalev Ofir
Tan Daryl
Tep Kilian Rithi
Tiwari Anupam
Widjojo Daniel

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 the National Research Foundation or the National University of Singapore.

Contact

For more info, please contact us using this Sahabat-AI Inquiry Form.

Disclaimer

This is the repository for the Instruct 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.

References

IndoMMLU Reference

@inproceedings{koto-etal-2023-indommlu,
    title = "Large Language Models Only Pass Primary School Exams in {I}ndonesia: A Comprehensive Test on {I}ndo{MMLU}",
    author = "Fajri Koto and Nurul Aisyah and Haonan Li and Timothy Baldwin",
    booktitle = "Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing (EMNLP)",
    month = December,
    year = "2023",
    address = "Singapore",
    publisher = "Association for Computational Linguistics",
}
}