--- base_model: - GoToCompany/gemma2-9b-cpt-sahabatai-v1-base language: - en - id - jv - su license: gemma --- # Gemma2 9B CPT Sahabat AI v1 Instruct Sahabat AI is a collection of Large Language Models (LLMs) which has been pretrained and instruct-tuned for Indonesian languages. Gemma2 9B 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**. Sahabat is Indonesian for "Close Friends." - **Developed by:** PT GoTo Gojek Tokopedia Tbk, AI Singapore - **Funded by:** PT GoTo Gojek Tokopedia Tbk, AI Singapore - **Model type:** Decoder - **Languages:** English, Indonesian, Javanese, Sundanese - **License:** [Gemma Community License](https://ai.google.dev/gemma/terms) ## Model Details ### Model Description We performed instruction tuning in Indonesian, Javanese, Sundanese as well as English on our [continued pre-trained Gemma2 9B CPT Sahabat AI v1](https://huggingface.co/GoToCompany/gemma2-9b-cpt-sahabatai-v1-base), a decoder model using the Gemma2 architecture, to create Gemma2 9B CPT Sahabat AI v1 Instruct. For tokenisation, the model employs the default tokenizer used in Gemma-2-9B. The model has a context length of 8192. ### Benchmark Performance We evaluated Gemma2 9B 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](https://arxiv.org/abs/2309.06085v2) 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](https://arxiv.org/pdf/2310.04928) - 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](https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard). - These tasks consist of [IFEval, BBH, Math Lvl 5, GPQA, MuSR, and MMLU-PRO.](https://huggingface.co/docs/leaderboards/open_llm_leaderboard/about) - **Caveat**: Our results differ from the HuggingFace LLM Leaderboard because we have used [VLLM](https://docs.vllm.ai/en/latest/) 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 Gemma2 9B CPT Sahabat AI v1 Instruct is an instruction-following model, we also evaluated it on instruction-following capabilities with the [IFEval](https://arxiv.org/abs/2311.07911) 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). #### 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
Gemma2 9B CPT Sahabat AI v1 Instruct can be run using the 🤗 Transformers library ```python # Please use transformers==4.45.0 import torch import transformers model_id = "GoToCompany/gemma2-9b-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": "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": "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 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 Gemma2 9B 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 Gemma2 9B 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 Contributions We encourage researchers, developers, and language enthusiasts to actively contribute to the enhancement and expansion of Sahabat. Contributions can involve identifying and reporting bugs, sharing pre-training, instruction, and preference data, improving documentation usability, proposing and implementing new model evaluation tasks and metrics, or training versions of the model in additional Indonesian languages. Join us in shaping the future of Sahabat by sharing your expertise and insights to make these models more accessible, accurate, and versatile. ## The Team (by 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](​​https://aisingapore.org/) 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 Inquiry Form.](https://docs.google.com/forms/d/1_us969eQtEooYOn4XkvGkdP5VHOyCbO6L_sd9kTMnaA/edit) ## 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 ```bibtex @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", } } ```