模型概述
模型特點
模型能力
使用案例
🚀 Komodo-7B-Base模型卡片
Komodo-7B-Base是一個大型語言模型,它在Llama-2-7B-Base的基礎上通過增量預訓練和詞彙擴展開發而來。該模型可以處理印尼語、英語和11種印尼地區語言。
免責聲明:這不是一個經過指令微調的模型,下游任務需要進一步微調。例如,人們通常會利用Alpaca數據集在Llama-2-7B-Base模型的基礎上進行進一步微調。因此,該模型沒有提示模板。
🚀 快速開始
由於這是一個受保護的模型,在使用模型之前,你需要登錄到你的Hugging Face(HF)賬戶。以下是一種實現方法,你可以從你的個人資料中獲取HF令牌(個人資料 -> 設置 -> 訪問令牌):
import huggingface_hub
huggingface_hub.login("YOUR_HF_TOKEN")
登錄後,你可以開始下載並加載模型和分詞器。我們為Komodo-7B編寫了一個自定義解碼函數,因此需要傳遞trust_remote_code=True
。即使不使用此參數,代碼也能運行,但解碼過程可能無法達到預期效果。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
device = "cuda:0" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained("Yellow-AI-NLP/komodo-7b-base", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Yellow-AI-NLP/komodo-7b-base", trust_remote_code=True)
model = model.to(device)
然後,你可以嘗試使用該模型:
full_prompt = "Candi borobudur adalah"
tokens = tokenizer(full_prompt, return_tensors="pt").to(device)
output = model.generate(tokens["input_ids"], eos_token_id=tokenizer.eos_token_id)
print(tokenizer.decode(output[0], skip_special_tokens=True))
# Candi borobudur adalah candi yang terletak di Magelang, Jawa Tengah.
✨ 主要特性
- 多語言支持:能夠處理英語、印尼語以及11種印尼地區語言,包括亞齊語、巴釐語、班查爾語、布吉斯語、馬都拉語、米南加保語、爪哇語、達雅克恩加朱語、巽他語、多巴巴塔克語、楠榜語。
- 基於Llama-2:在Llama-2-7B-Base的基礎上進行增量預訓練和詞彙擴展。
📦 安裝指南
由於這是一個受保護的模型,在使用模型之前,你需要登錄到你的Hugging Face(HF)賬戶。以下是一種實現方法,你可以從你的個人資料中獲取HF令牌(個人資料 -> 設置 -> 訪問令牌):
import huggingface_hub
huggingface_hub.login("YOUR_HF_TOKEN")
登錄後,你可以開始下載並加載模型和分詞器。我們為Komodo-7B編寫了一個自定義解碼函數,因此需要傳遞trust_remote_code=True
。即使不使用此參數,代碼也能運行,但解碼過程可能無法達到預期效果。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
device = "cuda:0" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained("Yellow-AI-NLP/komodo-7b-base", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Yellow-AI-NLP/komodo-7b-base", trust_remote_code=True)
model = model.to(device)
💻 使用示例
基礎用法
由於這是一個受保護的模型,你需要登錄到你的HF賬戶才能使用該模型。以下是登錄的方法,你可以從你的個人資料中獲取HF令牌(個人資料 -> 設置 -> 訪問令牌):
import huggingface_hub
huggingface_hub.login("YOUR_HF_TOKEN")
登錄後,你可以下載並加載模型和分詞器。由於我們為Komodo-7B編寫了自定義解碼函數,所以需要傳遞trust_remote_code=True
。即使不使用此參數,代碼也能運行,但解碼過程可能無法達到預期效果。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
device = "cuda:0" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained("Yellow-AI-NLP/komodo-7b-base", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Yellow-AI-NLP/komodo-7b-base", trust_remote_code=True)
model = model.to(device)
之後,你就可以嘗試使用該模型:
full_prompt = "Candi borobudur adalah"
tokens = tokenizer(full_prompt, return_tensors="pt").to(device)
output = model.generate(tokens["input_ids"], eos_token_id=tokenizer.eos_token_id)
print(tokenizer.decode(output[0], skip_special_tokens=True))
# Candi borobudur adalah candi yang terletak di Magelang, Jawa Tengah.
高級用法
暫無高級用法示例。
📚 詳細文檔
更多詳細信息可查看我們的論文:https://arxiv.org/abs/2403.09362
模型詳情

模型描述
- 開發者:Yellow.ai
- 模型類型:解碼器
- 支持語言:英語、印尼語、亞齊語、巴釐語、班查爾語、布吉斯語、馬都拉語、米南加保語、爪哇語、達雅克恩加朱語、巽他語、多巴巴塔克語、楠榜語
- 許可證:llama2
評估與結果
請注意,以下基準測試值基於我們的SFT模型Komodo-7B-Instruct,而此處我們僅發佈了基礎模型Komodo-7B-base。
組織 | 模型名稱 | Indo MMLU | ID-EN | XCOPA-ID | 意圖分類 | 口語檢測 | NusaX-Senti | ID-仇恨言論 | TydiQA-ID | Indosum | 平均值 |
---|---|---|---|---|---|---|---|---|---|---|---|
OpenAI | GPT-3.5-turbo-0301 | 51.3 | 64.5 | 70.0 | 82.0 | 64.1 | 47.2 | 68.0 | 85.3 | 41.0 | 63.7 |
OpenAI | GPT-3.5-turbo-0613 | 52.7 | 66.8 | 88.2 | 84.0 | 75.1 | 63.3 | 63.7 | 86.4 | 40.0 | 68.9 |
OpenAI | GPT-3.5-turbo-1106 | 53.3 | 69.7 | 89.3 | 84.0 | 64.2 | 59.8 | 56.6 | 88.0 | 42.0 | 67.4 |
OpenAI | GPT-4-preview-1106 | 69.8 | 78.0 | 98.3 | 89.0 | 92.7 | 66.1 | 73.4 | 72.0 | 33.0 | 74.7 |
Meta | Llama-2-7B-Chat | 30.4 | 45.6 | 41.5 | 57.0 | 31.4 | 2.9 | 41.3 | 11.7 | 34.0 | 32.9 |
Meta | Llama-2-13B-Chat | 32.0 | 61.7 | 38.0 | 59.0 | 31.1 | 58.7 | 57.2 | 71.9 | 40.0 | 50.0 |
Gemma-7B-it | 37.4 | 73.6 | 57.7 | 77.1 | 18.8 | 44.2 | 54.8 | 73.3 | 44.0 | 53.4 | |
Mistral | Mixtral-8x7B-v0.1-Instruct | 45.2 | 57.8 | 88.7 | 86.0 | 41.1 | 52.8 | 68.8 | 90.3 | 14.0 | 60.5 |
AISingapore | Sealion-7B-Instruct-NC | 23.9 | 26.9 | 41.3 | 37.0 | 41.8 | 30.7 | 57.3 | 65.3 | 26.0 | 38.9 |
Cohere | Aya-101-13B | 47.7 | 47.3 | 84.0 | 64.0 | 18.9 | 74.6 | 72.7 | 81.3 | 39.0 | 58.8 |
MBZUAI | Bactrian-X-Llama-7B | 23.6 | 43.2 | 45.3 | 42.0 | 50.3 | 44.5 | 42.4 | 65.0 | 15.0 | 41.3 |
Alibaba | Qwen-1.5-7B-chat | 40.0 | 56.0 | 29.5 | 85.0 | 41.8 | 58.7 | 63.9 | 51.22 | 29.0 | 50.6 |
Yellow.ai | Komodo-7B-Instruct | 43.2 | 90.5 | 79.6 | 84.0 | 73.6 | 79.3 | 56.2 | 90.3 | 43.0 | 71.1 |

基礎設施
訓練詳情 | Komodo-7B |
---|---|
AWS EC2 p4d.24xlarge | 1 實例 |
Nvidia A100 40GB GPU | 8 |
訓練時長 | 300 小時 |
🔧 技術細節
模型架構和目標
Komodo-7B是一個使用Llama-2架構的解碼器模型。
參數 | 詳情 |
---|---|
層數 | 32 |
d_model | 4096 |
頭維度 | 32 |
詞彙量 | 35008 |
序列長度 | 4096 |
分詞器詳情
認識到語言多樣性的重要性,我們專注於提高我們的語言模型在印尼語和地區語言方面的能力。為此,我們通過識別並納入大約2000個印尼語常用詞和1000個Llama-2模型中缺失的地區語言詞彙,系統地擴展了分詞器的詞彙量。
增強詞彙量的標準方法通常是開發一個新的分詞器並將其與現有分詞器集成。這種技術在Chinese-LLaMA和Open-Hathi等項目中取得了顯著成果。這種策略的有效性歸因於中文和印地語等語言與英語之間的顯著語言差異。相比之下,印尼語使用與英語相同的拉丁字母,這帶來了不同的挑戰。
我們測試了傳統方法以及一種新方法,即納入印尼語詞彙中排名前n的單詞(而非標記)。我們發現,通過添加約3000個新詞彙,新方法可以獲得更好的生成得分。添加超過3000個單詞並不會顯著提高生成得分,但會增加嵌入矩陣的大小,導致訓練時間延長。
訓練數據
更多詳細信息可查看我們的論文:https://arxiv.org/abs/2403.09362
訓練過程
更多詳細信息可查看我們的論文:https://arxiv.org/abs/2403.09362
預處理
更多詳細信息可查看我們的論文:https://arxiv.org/abs/2403.09362
📄 許可證
本模型使用llama2許可證。
引用
@misc{owen2024komodo,
title={Komodo: A Linguistic Expedition into Indonesia's Regional Languages},
author={Louis Owen and Vishesh Tripathi and Abhay Kumar and Biddwan Ahmed},
year={2024},
eprint={2403.09362},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
模型卡片作者



