🚀 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开发支持计划提供的支持。