🚀 KARAKURI LM
KARAKURI LM是基於Llama 2構建的預訓練語言模型。該模型通過融入額外的日語詞彙,並在日語和多語言語料庫的混合數據上進行進一步預訓練,增強了Llama 2的能力。
KARAKURI LM Chat是KARAKURI LM的微調版本,它使用SteerLM技術,在公開可用和內部數據集的混合數據上進行訓練。在微調過程中,該模型採用了持續學習方法,不僅使用了結構化對話數據集,還融入了與預訓練階段類似的非結構化語料庫。
儘管對話數據集中日語標記僅佔2.5%,但該模型仍表現出色。在發佈時,它在MT - Bench - jp上的表現優於其他日語開源模型,並且在原始英文MT - Bench上的表現與Llama 2 70B Chat相當。
你可以在我們的博客文章中瞭解更多詳情(英文,日文)。如果你對我們的模型感興趣,可以嘗試我們的演示。
✨ 主要特性
- 增強日語能力:在Llama 2基礎上融入額外日語詞彙,並在日語和多語言語料庫上進一步預訓練。
- 持續學習微調:微調時採用持續學習方法,結合結構化對話數據集和非結構化語料庫。
- 出色性能表現:在MT - Bench - jp上優於其他日語開源模型,在MT - Bench上與Llama 2 70B Chat相當。
📚 詳細文檔
模型詳情
性能表現
在發佈時,KARAKURI LM 70B Chat v0.1在MT - Bench - jp上的表現優於其他日語開源模型:
模型 |
規模 |
微調技術 |
MT - Bench - jp得分 |
GPT - 4 |
- |
RLHF |
8.78 |
GPT - 3.5 - Turbo |
- |
RLHF |
8.24 |
Claude 2.1 |
- |
RLHF |
8.18 |
Gemini Pro |
- |
RLHF |
7.17 |
KARAKURI LM 70B Chat v0.1 |
70B |
SteerLM |
6.43 |
Qarasu - 14B - Chat - Plus - Unleashed |
14B |
SFT |
6.26 |
Llama 2 70B Chat |
70B |
RLHF |
5.23 |
ELYZA - Japanese - Llama - 2 - 13B |
13B |
SFT |
5.05 |
Japanese - StableLM - Instruct - Beta - 70B |
70B |
SFT |
5.03 |
Swallow - 70B - Instruct |
70B |
SFT |
4.39 |
在原始英文MT - Bench上,它的表現與Llama 2 70B Chat相當:
模型 |
平均分 |
MT - Bench得分 |
MT - Bench - jp得分 |
KARAKURI LM 70B Chat v0.1 |
6.52 |
6.61 |
6.43 |
Llama 2 70B Chat |
6.04 |
6.86 |
5.23 |
💻 使用示例
基礎用法
你可以使用transformers
庫中的pipeline()
函數來運行該模型:
from transformers import pipeline, Conversation
chatbot = pipeline("conversational", model="karakuri-ai/karakuri-lm-70b-chat-v0.1", device_map="auto", torch_dtype="auto")
conversation = Conversation("週末に日帰りで東京に遊びに行こうと思っています。日帰りなので、短時間で回れるおすすめの観光プランを教えてください。")
conversation = chatbot(conversation, max_new_tokens=512)
conversation.messages[-1]["content"]
高級用法
我們在Llama格式中使用以下多輪對話提示模板,其中包含多個屬性值的編碼字符串:
messages = [
{"role": "system", "content": "System prompt"},
{"role": "user", "content": "User prompt"},
{"role": "assistant", "content": "Model response"},
{"role": "user", "content": "User prompt"},
]
chatbot.tokenizer.apply_chat_template(messages, tokenize=False)
提示模板包含九個屬性。前五個屬性來自HelpSteer,其餘四個來自OASST2。屬性值用0到4的整數表示,0為最低,4為最高。
- 幫助性(默認值:4)
- 正確性(默認值:4)
- 連貫性(默認值:4)
- 複雜性(默認值:4)
- 冗長性(默認值:4)
- 質量(默認值:4)
- 毒性(默認值:0)
- 幽默性(默認值:0)
- 創造性(默認值:0)
如果你想更改模板中指定的默認屬性值,可以在用戶消息中添加屬性值來修改:
messages = [
{"role": "user", "content": "User prompt", "helpfulness": 0, "complexity": 0},
]
chatbot.tokenizer.apply_chat_template(messages, tokenize=False)
🔧 技術細節
訓練數據集
訓練基礎設施
- 硬件:KARAKURI LM 70B在32個Amazon EC2 trn1.32xlarge實例節點上進行訓練。
- 軟件:使用基於[neuronx - nemo - megatron](https://github.com/aws - neuron/neuronx - nemo - megatron)的代碼。
📄 許可證
Llama 2遵循LLAMA 2社區許可證,版權所有 © Meta Platforms, Inc. 保留所有權利。
在上述許可證的約束下,除商業用途外,你可以自由分享和修改KARAKURI LM,但必須以可識別和適當的方式:
- 當你發佈或向第三方提供KARAKURI LM、其衍生作品或修改版本,或KARAKURI LM及其衍生作品或修改版本的任何輸出或結果時,聲明你正在使用KARAKURI Inc.開發的KARAKURI LM。
- 如果你修改了KARAKURI LM的任何內容,請說明你的修改內容。
如果你計劃將KARAKURI LM用於商業目的,請事先與我們聯繫。未經我們明確授權,你無權將KARAKURI LM用於商業目的。
如果你對上述條款的解釋有任何疑問,也請隨時與我們聯繫。
📖 引用
@misc {karakuri_lm_70b_chat_v01,
author = { {KARAKURI} {I}nc. },
title = { {KARAKURI} {LM} 70{B} {C}hat v0.1 },
year = { 2024 },
url = { https://huggingface.co/karakuri-ai/karakuri-lm-70b-chat-v0.1 },
publisher = { Hugging Face },
journal = { Hugging Face repository }
}
🙏 致謝
我們衷心感謝AWS日本通過AWS LLM開發支持計劃提供的支持。