🚀 适配大语言模型至希伯来语:揭秘 DictaLM 2.0 增强词汇与指令能力
DictaLM-2.0-Instruct 大语言模型(LLM)是 DictaLM-2.0 生成模型的指令微调版本,它使用了多种对话数据集进行微调。
若需了解该模型的完整详情,请阅读我们的 发布博客文章 或 技术报告。
这是一个为聊天设计的指令微调全精度模型。你可以在 此处 的实时演示中试用该模型。
你可以在 此处 查看并访问 DictaLM-2.0
的基础/指令未量化/量化版本的完整集合。
🚀 快速开始
指令格式
为了利用指令微调的优势,你的提示应该用 [INST]
和 [/INST]
标记包围。第一条指令应从句子起始标识符开始,后续指令则不需要。助手生成的内容将以句子结束标识符结束。
例如:
text = """<s>[INST] איזה רוטב אהוב עליך? [/INST]
טוב, אני די מחבב כמה טיפות מיץ לימון סחוט טרי. זה מוסיף בדיוק את הכמות הנכונה של טעם חמצמץ לכל מה שאני מבשל במטבח!</s>[INST] האם יש לך מתכונים למיונז? [/INST]"
这种格式可以通过 apply_chat_template()
方法作为 聊天模板 使用。
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda"
model = AutoModelForCausalLM.from_pretrained("dicta-il/dictalm2.0-instruct", torch_dtype=torch.bfloat16, device_map=device)
tokenizer = AutoTokenizer.from_pretrained("dicta-il/dictalm2.0-instruct")
messages = [
{"role": "user", "content": "איזה רוטב אהוב עליך?"},
{"role": "assistant", "content": "טוב, אני די מחבב כמה טיפות מיץ לימון סחוט טרי. זה מוסיף בדיוק את הכמות הנכונה של טעם חמצמץ לכל מה שאני מבשל במטבח!"},
{"role": "user", "content": "האם יש לך מתכונים למיונז?"}
]
encoded = tokenizer.apply_chat_template(messages, return_tensors="pt").to(device)
generated_ids = model.generate(encoded, max_new_tokens=50, do_sample=True)
decoded = tokenizer.batch_decode(generated_ids)
print(decoded[0])
🔧 技术细节
模型架构
DictaLM-2.0-Instruct 遵循 Zephyr-7B-beta 的指令模型微调方案,并为希伯来语扩展了指令数据集。
局限性
DictaLM 2.0 Instruct 模型展示了基础模型可以通过微调实现出色的性能,但它没有任何审核机制。我们期待与社区合作,探索使模型更好地遵循规则的方法,以便在需要审核输出的环境中部署。
📄 许可证
本模型使用 Apache-2.0 许可证。
📚 引用
如果您使用此模型,请引用:
@misc{shmidman2024adaptingllmshebrewunveiling,
title={Adapting LLMs to Hebrew: Unveiling DictaLM 2.0 with Enhanced Vocabulary and Instruction Capabilities},
author={Shaltiel Shmidman and Avi Shmidman and Amir DN Cohen and Moshe Koppel},
year={2024},
eprint={2407.07080},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2407.07080},
}
属性 |
详情 |
模型类型 |
指令微调大语言模型 |
训练数据 |
多种对话数据集 |