模型概述
模型特點
模型能力
使用案例
🚀 Llama-3.1-Sherkala-8B-Chat
Llama-3.1-Sherkala-8B-Chat(簡稱Sherkala)是一款最先進的80億參數指令微調大語言模型(LLM),主要為哈薩克語設計,同時在英語、俄語和土耳其語方面也保持著出色的性能。該模型由Inception(G42旗下公司)、MBZUAI與Cerebras Systems合作開發,利用多語言數據的平衡混合和自定義分詞器,克服了哈薩克語數據稀缺的挑戰。此模型針對下游任務、安全文本生成和文化對齊進行了優化。
🚀 快速開始
以下是使用該模型的示例代碼。以下代碼在transformers==4.46.2版本上進行了測試。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path="inceptionai/Llama-3.1-Sherkala-8B-Chat"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.bfloat16, device_map="auto")
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer.chat_template="{% set loop_messages = messages %}{% for message in loop_messages %}{% set content = '<|start_header_id|>' + message['role']+'<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' %}{% if loop.index0 == 0 %}{% set content = bos_token + content %} {% endif %}{{ content }}{% endfor %}{% if add_generation_prompt %}{{ '<|start_header_id|>assistant<|end_header_id|>\n\n' }}{% endif %}"
def get_response(text):
conversation = [
{"role": "user", "content": text}
]
input_ids = tokenizer.apply_chat_template(
conversation=conversation,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt").to(device)
# Generate a response
gen_tokens = model.generate(
input_ids,
max_new_tokens=500,
stop_strings=["<|eot_id|>"],
tokenizer=tokenizer
)
# Decode and print the generated text along with generation prompt
gen_text = tokenizer.decode(gen_tokens[0][len(input_ids[0]): -1])
return gen_text
question = 'Қазақстанның жақсы тағамдарын ұсына аласыз ба?'
print(get_response(question))
回覆:
- Бешбармақ:這可能是哈薩克斯坦最著名的菜餚。這是一道傳統菜餚,將肉(通常是羊肉、牛肉或馬肉)煮至軟爛,並搭配有小肉塊的配菜。通常用手抓著吃,大多搭配湯一起食用。
- Казыбек:這是一種由發酵牛奶製成的傳統哈薩克甜點。它以柔軟和略帶酸味的口感而聞名。可以單獨食用,也可以塗抹在麵包或湯上。
- Бауырсақ:這是一種用肉和洋蔥填充的美味圓形麵包。它是許多哈薩克菜餚的基礎。
- Қуырылған тауық:這是烤馬肉,但它的製作方法很特別。將馬肉用調味料和酸奶醃製,然後烤至金黃。
- Шашлык:這類似於烤肉串,在全世界都很有名。烤肉串通常由馬肉、羊肉或牛肉等肉塊製成,在明火上烤制。
- Борщ:這是一種加入了甜菜根、胡蘿蔔、土豆和肉的紅色湯。這是一道在寒冷天氣中經常供應的美味熱湯。
- Кәстрөл:這是一道由肉(通常是羊肉或牛肉)、土豆、洋蔥和其他蔬菜製成的燉菜。通常搭配麵包一起食用。
- Жал-жая:這是一道由羊肉、土豆、洋蔥和調味料製成的燉菜。通常搭配煮熟的米飯一起食用。
- Қуырылған кеспе:這是一種由內臟、肉和蔬菜製成的湯。通常搭配麵包一起食用。
- Бал шырыны:這是一種由蜂蜜和牛奶製成的甜飲料。它提神又有益健康。
✨ 主要特性
- 多語言支持:主要支持哈薩克語,同時在英語、俄語和土耳其語方面也有出色表現。
- 數據稀缺問題的解決方案:利用多語言數據的平衡混合和自定義分詞器,克服了哈薩克語數據稀缺的挑戰。
- 優化設計:針對下游任務、安全文本生成和文化對齊進行了優化。
📦 安裝指南
文檔未提及具體安裝步驟,可參考示例代碼中的依賴安裝:確保安裝torch
和transformers
庫,示例代碼在transformers==4.46.2
版本上進行了測試。
💻 使用示例
基礎用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path="inceptionai/Llama-3.1-Sherkala-8B-Chat"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.bfloat16, device_map="auto")
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer.chat_template="{% set loop_messages = messages %}{% for message in loop_messages %}{% set content = '<|start_header_id|>' + message['role']+'<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' %}{% if loop.index0 == 0 %}{% set content = bos_token + content %} {% endif %}{{ content }}{% endfor %}{% if add_generation_prompt %}{{ '<|start_header_id|>assistant<|end_header_id|>\n\n' }}{% endif %}"
def get_response(text):
conversation = [
{"role": "user", "content": text}
]
input_ids = tokenizer.apply_chat_template(
conversation=conversation,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt").to(device)
# Generate a response
gen_tokens = model.generate(
input_ids,
max_new_tokens=500,
stop_strings=["<|eot_id|>"],
tokenizer=tokenizer
)
# Decode and print the generated text along with generation prompt
gen_text = tokenizer.decode(gen_tokens[0][len(input_ids[0]): -1])
return gen_text
question = 'Қазақстанның жақсы тағамдарын ұсына аласыз ба?'
print(get_response(question))
📚 詳細文檔
Sherkala詳情
屬性 | 詳情 |
---|---|
開發方 | Inception(G42旗下公司)、MBZUAI、Cerebras Systems |
支持語言 | 哈薩克語(主要)、英語、俄語、土耳其語 |
輸入 | 文本 |
輸出 | 生成的文本 |
模型大小 | 80億參數 |
上下文長度 | 8192個標記 |
技術報告 | Sherkala技術報告 |
許可證 | cc-by-nc-sa-4.0 |
模型架構
Sherkala基於Llama - 3.1 - 8B架構構建,這是一個因果、僅解碼器的Transformer模型,採用了RoPE位置編碼和分組查詢注意力機制。為了更好地捕捉哈薩克語豐富的形態特徵,我們將基礎詞彙表擴展了25%,加入了高頻哈薩克語標記。這種擴展減少了分詞的冗餘性(即每個單詞的平均子詞數量),提高了訓練和推理效率。
訓練數據
Sherkala在來自各種來源的453億個標記上進行持續預訓練,涵蓋哈薩克語和英語,並加入了俄語和土耳其語,以便通過跨語言能力遷移在哈薩克語上實現更好的性能。預訓練數據使用標準技術進行預處理,包括特定語言的標準化、過濾、清理以及使用局部敏感哈希進行去重。
為了實現強大的指令遵循和安全對話生成,Sherkala在大規模多語言指令數據集上進行微調,該數據集包含哈薩克語、英語和俄語的提示 - 響應示例。指令數據集廣泛覆蓋了所有三種語言的一般任務和能力。同時,還納入了一個專門的安全數據集(使用直接和對抗性提示混合創建),以減少有害或有偏見的輸出,並確保文化對齊。更多信息可在Sherkala技術報告中找到。
訓練細節
訓練超參數
- 學習率:1.5e - 4
- 批量大小:400萬個標記
- 優化器:AdamW(β1 = 0.9,β2 = 0.95,ε = 1e - 5)
- 權重衰減:0.1
- 梯度範數裁剪:1.0
- 學習率調度:
- 線性預熱(110步)
- 10倍餘弦衰減直至11433步
訓練基礎設施
- 訓練過程在Cerebras Condor Galaxy 2(CG - 2)AI超級計算機上進行。
- 在16個Cerebras CS - 2系統上執行訓練。
- 並行性:跨多個CS - 2系統的純數據並行。
評估
Sherkala在下游任務、開放式生成和安全指標方面進行了廣泛評估。以下各節詳細介紹評估結果。
下游評估
使用lm - evaluation - harness
在零樣本設置下,在哈薩克語、俄語和英語的多個任務上對Sherkala進行基準測試。評估標準涵蓋多個維度,包括:
- 知識:模型回答事實性問題的能力。
- 推理:模型回答需要推理的問題的能力。
- 錯誤信息/偏差:評估模型生成虛假或誤導性信息的可能性以及其中立性。
哈薩克語基準測試結果
模型 | AVG | KazMMLU | MMLU | Belebele | HS | PIQA | BoolQA | SIQA | ARC | OBQA | NIS | COPA | T - QA | CS - Pairs |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BLOOM (7.1B) | 37.6 | 29.3 | 27.9 | 26.4 | 29.9 | 52.0 | 62.1 | 36.7 | 23.6 | 33.6 | 22.0 | 47.2 | 49.2 | 49.1 |
BLOOMZ (7.1B) | 36.9 | 29.2 | 27.8 | 22.1 | 30.4 | 50.8 | 54.4 | 36.8 | 24.4 | 31.0 | 23.0 | 51.8 | 48.1 | 50.1 |
Gemma - 2 (9B) | 35.7 | 26.1 | 27.5 | 26.0 | 28.3 | 51.9 | 62.0 | 33.5 | 23.6 | 28.4 | 17.0 | 45.2 | 47.1 | 47.5 |
Gemma - 2 - it (9B) | 36.9 | 31.4 | 28.4 | 23.8 | 27.9 | 51.0 | 63.5 | 36.0 | 24.0 | 30.6 | 22.0 | 48.8 | 49.3 | 42.6 |
Qwen - 2.5 (7B) | 38.5 | 35.1 | 31.3 | 26.3 | 31.2 | 53.4 | 54.8 | 38.0 | 27.1 | 30.2 | 36.0 | 46.0 | 48.0 | 42.6 |
Qwen - 2.5 - Instruct (7B) | 40.8 | 37.8 | 33.2 | 31.1 | 31.5 | 52.3 | 60.9 | 38.1 | 27.8 | 31.6 | 38.0 | 47.2 | 51.0 | 49.3 |
LLama3.1 (8B) | 39.8 | 38.3 | 31.3 | 25.9 | 37.8 | 57.2 | 63.7 | 38.1 | 29.6 | 32.8 | 20.0 | 47.8 | 51.3 | 43.9 |
LLama3.1 - Instruct (8B) | 40.4 | 38.9 | 32.4 | 27.0 | 37.5 | 57.5 | 67.5 | 37.9 | 30.3 | 32.6 | 22.0 | 48.2 | 49.7 | 43.2 |
LLama3.1 - KazLLM - 1.0 (8B) | 43.7 | 37.0 | 31.5 | 27.8 | 46.0 | 62.8 | 69.8 | 44.7 | 35.5 | 34.2 | 32.0 | 50.4 | 50.9 | 45.0 |
Irbis - 7b - v0.1 (7B) | 37.7 | 29.5 | 27.8 | 26.1 | 31.3 | 53.9 | 52.4 | 37.8 | 24.8 | 30.0 | 25.0 | 54.4 | 46.6 | 50.9 |
mGPT - 13B (13B) | 37.7 | 28.5 | 26.7 | 27.9 | 31.4 | 54.6 | 56.4 | 38.5 | 24.0 | 32.0 | 23.0 | 49.4 | 47.9 | 49.8 |
Sherkala (Ours) | 45.7 | 51.6 | 37.7 | 25.9 | 53.1 | 68.1 | 66.9 | 42.2 | 38.1 | 37.0 | 18.0 | 51.0 | 50.3 | 54.3 |
Sherkala - chat (Ours - chat) | 47.6 | 41.4 | 34.6 | 30.6 | 55.2 | 65.9 | 75.8 | 48.1 | 42.9 | 37.4 | 28.0 | 53.2 | 52.5 | 53.3 |
平均分(AVG)代表所有任務的平均性能,數值越高表示在所有指標上的結果越好。縮寫“HS”、“ARC”、“OBQA”、“NIS”、“T - QA”和“CS - Pairs”分別對應HellaSwag、ARC - Challenge(Easy)、OpenBookQA、NIS - Math和TruthfulQA以及CrowS - Pairs。
英語基準測試結果
模型 | AVG | MMLU | RACE | HS | PIQA | BoolQA | SIQA | ARC | OBQA | T - QA | CrowS - Pairs |
---|---|---|---|---|---|---|---|---|---|---|---|
BLOOM (7.1B) | 48.5 | 29.1 | 36.5 | 59.6 | 73.6 | 62.2 | 46.5 | 33.4 | 35.8 | 38.9 | 68.9 |
BLOOMZ (7.1B) | 57.0 | 36.7 | 45.6 | 63.1 | 77.4 | 90.7 | 59.7 | 43.6 | 42.0 | 45.2 | 65.6 |
Gemma - 2 (9B) | 39.4 | 27.4 | 27.8 | 33.2 | 59.1 | 62.2 | 37.6 | 24.2 | 26.4 | 46.4 | 49.3 |
Gemma - 2 - it (9B) | 53.2 | 37.7 | 46.7 | 65.4 | 69.5 | 80.1 | 44.1 | 40.7 | 29.6 | 62.1 | 56.5 |
Qwen - 2.5 (7B) | 60.8 | 44.0 | 41.4 | 78.9 | 79.9 | 84.5 | 51.9 | 51.4 | 47.2 | 56.4 | 71.9 |
Qwen - 2.5 - Instruct (7B) | 62.1 | 46.7 | 46.3 | 80.5 | 80.3 | 86.4 | 48.7 | 54.9 | 48.8 | 64.8 | 63.2 |
LLama3.1 (8B) | 56.6 | 39.6 | 38.9 | 79.0 | 81.3 | 65.3 | 52.6 | 53.5 | 45.0 | 45.2 | 65.5 |
LLama3.1 - Instruct (8B) | 60.1 | 41.7 | 44.9 | 79.2 | 81.0 | 79.4 | 52.7 | 55.0 | 43.6 | 54.0 | 69.0 |
LLama3.1 - KazLLM - 1.0 (8B) | 58.6 | 39.7 | 44.3 | 77.9 | 80.8 | 72.8 | 51.5 | 54.6 | 43.0 | 51.0 | 70.0 |
Sherkala (Ours) | 58.7 | 46.8 | 39.2 | 78.3 | 80.5 | 77.2 | 51.3 | 52.1 | 46.0 | 49.6 | 65.9 |
Sherkala - chat (Ours - chat) | 59.1 | 40.5 | 41.6 | 78.1 | 79.1 | 84.8 | 58.0 | 52.6 | 42.6 | 51.3 | 62.2 |
這裡的平均分代表所有任務的平均得分,所有指標上分數越高越好。“HS”、“ARC”、“OBQA”、“T - QA”和“CS - Pairs”分別表示HellaSwag、ARC - Challenge(Easy)、OpenBookQA、TruthfulQA和CrowS - Pairs。關於評估的更多詳細信息,包括俄語的額外結果,可在Sherkala技術報告中找到。
生成評估
我們進一步使用GPT - 4作為評判者評估了開放式文本生成。下表顯示了模型在MT和Vicuna基準測試中,在哈薩克語、俄語和英語上的平均生成得分(帶標準差):
模型 | 哈薩克語MT (avg ± sd) | 哈薩克語Vicuna (avg ± sd) | 俄語MT (avg ± sd) | 俄語Vicuna (avg ± sd) | 英語MT (avg ± sd) | 英語Vicuna (avg ± sd) |
---|---|---|---|---|---|---|
GPT - 4o | 8.81 ± 1.51 | 9.32 ± 0.61 | 8.89 ± 1.59 | 9.79 ± 0.41 | 8.36 ± 1.35 | 9.03 ± 0.59 |
Qwen - 2.5 - 7B - Instruct | 3.52 ± 3.52 | 3.23 ± 1.73 | 5.81 ± 2.36 | 6.05 ± 3.07 | 7.40 ± 1.85 | 8.06 ± 1.22 |
Llama - 3.1 - 8B - Instruct | 3.76 ± 2.11 | 3.75 ± 1.91 | 0.85 ± 1.20 | 0.82 ± 1.55 | 6.55 ± 2.03 | 7.41 ± 1.28 |
KazLLM - 1.0 - 8B | 3.98 ± 2.15 | 4.88 ± 2.01 | 0.72 ± 1.06 | 0.28 ± 0.71 | 6.00 ± 2.15 | 6.66 ± 1.24 |
Sherkala - chat | 5.99 ± 2.73 | 7.39 ± 1.89 | 1.02 ± 1.41 | 0.97 ± 1.70 | 5.78 ± 2.43 | 6.55 ± 1.59 |
預期用途
我們在以下許可下發布Sherkala:
- Meta的Llama 3.1社區許可證,用戶必須遵守許可證的條款和條件、Meta的[可接受使用政策](https://www.llama.com/llama3/use - policy/)、Meta的隱私政策以及適用於特定用例和地區的適用政策、法律和法規;
- CC BY - NC - SA 4.0許可證,用戶必須遵守[許可證](https://creativecommons.org/licenses/by - nc - sa/4.0/legalcode.en)的條款和條件。
Sherkala旨在用於哈薩克語自然語言處理研究,包括:
- 聊天助手:為哈薩克語使用者量身定製的對話代理。
- 問答與內容生成:能夠提供符合文化背景、事實準確且上下文豐富的響應的系統。
- 多語言自然語言處理:支持哈薩克語以及英語、俄語和土耳其語的應用程序。
我們相信許多受眾將從我們的模型中受益:
- 學術界:從事哈薩克語自然語言處理研究的人員。
- 企業:針對哈薩克語受眾的公司。
- 開發者:在應用程序中集成哈薩克語功能的人員。
超出適用範圍的使用
雖然Sherkala是一款強大的語言模型,適用於哈薩克語和英語,但瞭解其侷限性和潛在的濫用可能性至關重要。
不建議將Sherkala用於以下方面:
- 商業用途:Sherkala不得用於任何商業目的,包括任何主要旨在獲取商業利益或金錢補償的用途。
- 惡意使用:該模型不應用於生成有害、誤導性或不適當的內容。這包括但不限於:
- 生成或傳播仇恨言論、暴力或歧視性內容;
- 傳播錯誤信息或虛假新聞;
- 從事非法活動或宣傳非法活動;
- 處理敏感信息:該模型不應用於處理或生成個人、機密或敏感信息。
- 所有語言的通用化:Sherkala僅針對哈薩克語和英語進行了優化。不應假設它在其他語言或方言上具有同等的熟練度。
- 高風險決策:在沒有人工監督的情況下,該模型不應用於做出高風險決策。這包括醫療、法律、金融或安全關鍵決策等。
🔧 技術細節
模型架構
基於Llama - 3.1 - 8B架構,採用RoPE位置編碼和分組查詢注意力機制,擴展詞彙表以提升哈薩克語處理能力。
訓練數據處理
使用標準技術對預訓練數據進行預處理,包括特定語言的標準化、過濾、清理和去重。
訓練超參數和基礎設施
明確了學習率、批量大小、優化器等超參數,以及在Cerebras Condor Galaxy 2(CG - 2)AI超級計算機上的訓練設置。
📄 許可證
Sherkala根據CC - BY - NC - SA 4.0許可證提供。除非遵守許可證規定,否則不得使用Sherkala。您可以在https://creativecommons.org/licenses/by - nc - sa/4.0/獲取許可證副本。
除非適用法律要求或書面同意,否則Sherkala按“原樣”分發,不提供任何形式的明示或暗示保證或條件。請參閱許可證條款,瞭解許可證下的具體語言權限和限制。
⚠️ 重要提示
儘管已採取廣泛措施減輕偏差並確保安全輸出,但Sherkala與所有大語言模型一樣,仍可能產生不準確、誤導性或有偏差的內容。用戶在敏感或高風險環境中部署該模型時,應採取額外的安全措施並進行全面評估。
💡 使用建議
使用Sherkala即表示您承認並接受,與任何大語言模型一樣,它可能會生成不正確、誤導性和/或冒犯性的信息或內容。該信息不旨在作為建議,不應以任何方式依賴,我們也不對其使用產生的任何內容或後果負責。我們一直在努力開發功能更強大的模型,因此歡迎您提供有關該模型的任何反饋。
注意:截至2025年2月20日,模型文件已更新到最新版本。
引用信息
@misc{koto2025sherkala,
title={Llama-3.1-Sherkala-8B-Chat: An Open Large Language Model for Kazakh},
author={Fajri Koto, Rituraj Joshi, Nurdaulet Mukhituly, Yuxia Wang, Zhuohan Xie, Rahul Pal, Daniil Orel, Parvez Mullah, Diana Turmakhan, Maiya Goloburda, Mohammed Kamran, Samujjwal Ghosh, Bokang Jia, Jonibek Mansurov, Mukhammed Togmanov, Debopriyo Banerjee, Nurkhan Laiyk, Akhmed Sakip, Xudong Han, Ekaterina Kochmar, Alham Fikri Aji, Aaryamonvikram Singh, Alok Anil Jadhav, Satheesh Katipomu, Samta Kamboj, Monojit Choudhury, Gurpreet Gosal, Gokul Ramakrishnan, Biswajit Mishra, Sarath Chandran, Avraham Sheinin, Natalia Vassilieva, Neha Sengupta, Larry Murray, Preslav Nakov},
year={2025},
eprint={2503.01493},
archivePrefix={arXiv},
primaryClass={cs.CL}
}



