🚀 Vistral-7B-Chat - ベトナム語向けの最先端の大規模言語モデルへ
Vistral-7B-Chatは、ベトナム語用の多ターン会話型大規模言語モデルです。このモデルは、多様なデータを用いた継続的事前学習と命令微調整により、Mistral 7B モデルを拡張したものです。
🚀 クイックスタート
Vistral-7B-Chatを使った単一/多ターン会話型チャットを有効にするには、以下の手順に従ってください。また、ローカルでVistralをデプロイする場合は、指定されたチャットテンプレートを使用することを確認し、こちら からダウンロードしてください。この手順は、Vistralが正確な回答を生成するために非常に重要です。
✨ 主な機能
- ベトナム語対応:Mistral 7Bのトークナイザーを拡張し、ベトナム語をより適切にサポートしています。
- 継続的事前学習:ベトナム語テキストの多様なデータセットを用いて継続的事前学習を行い、モデルの性能を向上させています。
- 命令微調整:多様な命令データを用いて微調整を行い、ベトナムの安全基準に沿った回答を生成するようにモデルを調整しています。
📦 インストール
このモデルを使用するには、transformers
ライブラリをインストールする必要があります。以下のコードを使用して、モデルとトークナイザーをロードできます。
💻 使用例
基本的な使用法
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
system_prompt = "Bạn là một trợ lí Tiếng Việt nhiệt tình và trung thực. Hãy luôn trả lời một cách hữu ích nhất có thể, đồng thời giữ an toàn.\n"
system_prompt += "Câu trả lời của bạn không nên chứa bất kỳ nội dung gây hại, phân biệt chủng tộc, phân biệt giới tính, độc hại, nguy hiểm hoặc bất hợp pháp nào. Hãy đảm bảo rằng các câu trả lời của bạn không có thiên kiến xã hội và mang tính tích cực."
system_prompt += "Nếu một câu hỏi không có ý nghĩa hoặc không hợp lý về mặt thông tin, hãy giải thích tại sao thay vì trả lời một điều gì đó không chính xác. Nếu bạn không biết câu trả lời cho một câu hỏi, hãy trẳ lời là bạn không biết và vui lòng không chia sẻ thông tin sai lệch."
tokenizer = AutoTokenizer.from_pretrained('Viet-Mistral/Vistral-7B-Chat')
model = AutoModelForCausalLM.from_pretrained(
'Viet-Mistral/Vistral-7B-Chat',
torch_dtype=torch.bfloat16,
device_map="auto",
use_cache=True,
)
conversation = [{"role": "system", "content": system_prompt }]
while True:
human = input("Human: ")
if human.lower() == "reset":
conversation = [{"role": "system", "content": system_prompt }]
print("The chat history has been cleared!")
continue
conversation.append({"role": "user", "content": human })
input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt").to(model.device)
out_ids = model.generate(
input_ids=input_ids,
max_new_tokens=768,
do_sample=True,
top_p=0.95,
top_k=40,
temperature=0.1,
repetition_penalty=1.05,
)
assistant = tokenizer.batch_decode(out_ids[:, input_ids.size(1): ], skip_special_tokens=True)[0].strip()
print("Assistant: ", assistant)
conversation.append({"role": "assistant", "content": assistant })
📚 ドキュメント
モデルの開発プロセス
- トークナイザーの拡張:Mistral 7Bのトークナイザーを拡張し、ベトナム語をより適切にサポートしました。
- 継続的事前学習:ベトナム語テキストの多様なデータセットを用いて継続的事前学習を行いました。このデータセットは、細心の注意を払ってクリーニングされ、重複が排除されています。
- 命令微調整:多様な命令データを用いて微調整を行い、ベトナムの安全基準に沿った回答を生成するようにモデルを調整しました。
データ
このモデルの技術レポートを公開した後、データを公開する予定です。ただし、一部のデータは、CulutraY と CulutraX データセットで公開されています。
性能評価
このモデルは、VMLUリーダーボード を用いて評価されました。このリーダーボードは、様々なタスクにおけるベトナム語の大規模言語モデルを評価する信頼性の高いフレームワークです。これらのタスクには、STEM、人文科学、社会科学などの複数選択問題が含まれています。このモデルは、平均スコア50.07%を達成し、ChatGPTの46.33%を大きく上回っています。
免責事項
広範なレッドチーミングと安全調整の努力にもかかわらず、このモデルは、幻覚、有害なコンテンツ、バイアスの問題など、潜在的なリスクを抱えている可能性があります。研究者や実践者には、これらの潜在的なリスクを十分に認識し、モデルを自分たちの作業に組み込む前に細心の注意を払って評価し、安全を確保することを強くお勧めします。ユーザーは、自らのガバナンスと規制に準拠する責任を負います。著者は、モデルの使用によって生じる潜在的な損害や責任について、一切の責任を負わない権利を留保します。
🔧 技術詳細
GGUFバージョン:あなたのローカルコンピュータ でVistralを実行するには、こちら を参照してください。
📄 ライセンス
このモデルは、AFL-3.0ライセンスの下で提供されています。
謝辞
このモデルを訓練するためのサポートとコンピューティングリソースを提供してくれたHessian AIとLAIONに感謝します。特に、LAIONが、Gauss Centre for Supercomputing e.V. とJohn von Neumann Institute for Computing (NIC) が提供するコンピューティング予算を、Juelich Supercomputing Centre (JSC) のスーパーコンピューターJUWELS BoosterとJURECAで使用する機会を提供してくれたことに感謝します。
引用
もしあなたがこのプロジェクトを役立つと感じた場合、リポジトリをスターし、以下のように私たちの研究を引用していただけると幸いです。huu@ontocord.ai, chienn@uoregon.edu, nguyenhuuthuat09@gmail.com および thienn@uoregon.edu
@article{chien2023vistral,
author = {Chien Van Nguyen, Thuat Nguyen, Quan Nguyen, Huy Nguyen, Björn Plüster, Nam Pham, Huu Nguyen, Patrick Schramowski, Thien Nguyen},
title = {Vistral-7B-Chat - Towards a State-of-the-Art Large Language Model for Vietnamese},
year = 2023,
}