🚀 SambaLingo-Russian-Chat
SambaLingo-Russian-Chatは、ロシア語と英語で訓練された、人間に適合したチャットモデルです。ベースモデルのSambaLingo-Russian-Baseの上で直接的な嗜好最適化を用いて訓練されています。ベースモデルは、Llama-2-7bを、Cultura-Xデータセットのロシア語分割からの630億トークンで訓練することで、ロシア語に適応させています。このモデルをSambaLingo-chat-spaceで試すことができます。
🚀 クイックスタート
Hugging Faceでのモデルの読み込み
トークナイザーを読み込む際には、use_fast=Falseを設定するようにしてください。
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Russian-Chat", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Russian-Chat", device_map="auto", torch_dtype="auto")
モデルパイプラインとのやり取り
トークナイザーを読み込む際には、use_fast=Falseを設定するようにしてください。
from transformers import pipeline
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Russian-Chat", device_map="auto", use_fast=False)
messages = [
{"role": "user", "content": {YOUR_QUESTION}},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt)[0]
outputs = outputs["generated_text"]
推論パラメータの提案
- 温度 (Temperature): 0.8
- 繰り返しペナルティ (Repetition penalty): 1.0
- Top-p: 0.9
プロンプトガイドライン
このモデルにプロンプトを与えるには、次のチャットテンプレートを使用してください。
<|user|>\n{question}</s>\n<|assistant|>\n
プロンプトと生成の例
<|user|>
Завершите параграф: Родион Раскольников - главный персонаж романа "Преступление и наказание" Федора Достоевского. Его характер очень сложен и эволюционирует на протяжении всей истории. Он обладает выдающимися умственными способностями и амбициями, но</s>
<|assistant|>
его внутренняя бор ьба и моральные сомнения мешают ему действовать в соответствии со своими желаниями. Раскольников — бедный студент, который терпит финансовые трудности и чувствует себ я бессильным изменить свою жизнь. Он приходит к теории, согласно которой некоторые люди имеют право совершать преступления ради достижения великих целей, и решает про верить свою теорию, убив старуху-процентщицу. Однако его действия приводят к глубокому чувству вины и психологическому срыву, который заставляет его искать искупления и искупления. На протяжении всего романа Раскольников проходит путь самопознания и личностного роста, осознавая важность сочувствия, сострадания и ответственности пе ред другими. В конечном итоге он принимает на себя ответственность за свои действия и находит искупление через раскаяние и прощение.
✨ 主な機能
SambaLingo-Russian-Chatは、ロシア語と英語で訓練されたチャットモデルで、人間に適合した応答を生成することができます。ベースモデルのSambaLingo-Russian-Baseをベースに、直接的な嗜好最適化を用いて訓練されています。
📚 ドキュメント
モデルの説明
トークナイザーの詳細
ベースのLlamaモデルの語彙を、新しい言語から最大25,000の重複しないトークンを追加することで、32,000トークンから57,000トークンに拡張しました。
評価
評価結果については、我々の論文を参照してください: SambaLingo: Teaching Large Language Models New Languages
使用方法
直接使用
このモデルの使用は、MetaのLlama 2 Community License Agreementによって管理されています。モデルの重みをダウンロードする前に、ライセンスを確認して受け入れてください。
範囲外の使用
SambaLingoは、以下の用途には使用しないでください。
- 使命に関わるアプリケーション
- 他人の安全に関わるアプリケーション
- 非常に重要な決定を下すアプリケーション
バイアス、リスク、および制限
他のすべての大規模言語モデルと同様に、SambaLingoには特定の制限があります。
- 幻覚: モデルは時々、もっともらしく聞こえるが事実上誤ったまたは関係のない情報を含む応答を生成することがあります。
- コードスイッチング: モデルは、単一の応答内で意図せず言語または方言を切り替えることがあり、出力の一貫性と理解しやすさに影響を与えます。
- 繰り返し: モデルは繰り返しのフレーズまたは文を生成することがあり、魅力的で有益な応答が得られなくなります。
- コーディングと数学: モデルが正確なコードを生成したり、複雑な数学問題を解いたりする能力は限られている可能性があります。
- 毒性: モデルは不適切または有害な内容を含む応答を誤って生成する可能性があります。
謝辞
私たちは、オープンソースAIコミュニティに心から感謝の意を表します。この取り組みは、オープンソースなしでは不可能でした。SambaNovaはオープンソースコミュニティを受け入れ、このイニシアチブに積極的に貢献することを目指しています。
以下のグループに特別な感謝を送ります。
- MetaがLLama 2をオープンソース化し、FLORES-200データセットをオープンソース化してくれたこと
- NguyenらがCulturaXデータセットをオープンソース化してくれたこと
- CohereAIがAYA-101をリリースし、多言語命令微調整データセットをオープンソース化してくれたこと
- EleutherAIがオープンソースの評価フレームワークを提供してくれたこと
- Hugging Face-H4チームがゼフィロントレーニングレシピとアライメントハンドブックリポジトリをオープンソース化してくれたこと
SambaLingoを引用する
@misc{csaki2024sambalingo,
title={SambaLingo: Teaching Large Language Models New Languages},
author={Zoltan Csaki and Bo Li and Jonathan Li and Qiantong Xu and Pian Pawakapan and Leon Zhang and Yun Du and Hengyu Zhao and Changran Hu and Urmish Thakker},
year={2024},
eprint={2404.05829},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
🔧 技術詳細
アライメントフェーズは、Zephyr-7Bのレシピに従い、教師あり微調整(SFT)と直接パフォーマンス最適化(DPO)の2つの段階で構成されています。
SFTフェーズは、ultrachat_200kデータセットと、ultrachat_200kデータセットのGoogle翻訳バージョンを混合したデータセットで行われました。グローバルバッチサイズ512、最大シーケンス長2048トークンで1エポック訓練されました。線形減衰学習率2e-5と10%のウォームアップを使用しました。
DPOフェーズは、ultrafeedbackデータセットとcai-conversation-harmlessデータセットで行われ、10%のデータをGoogle翻訳したものを混合しました。グローバルバッチサイズ32で3エポック訓練されました。線形減衰学習率5e-7、10%のウォームアップ、およびDPOの正則化係数としてβ=0.1を使用しました。
📄 ライセンス
このモデルの使用は、MetaのLlama 2 Community License Agreementによって管理されています。