🚀 SambaLingo-Arabic-Chat-70B
SambaLingo-Arabic-Chat-70Bは、アラビア語と英語で学習された、人間に合わせたチャットモデルです。ベースモデルのSambaLingo-Arabic-Base-70Bの上で、直接選好最適化(Direct Preference Optimization)を用いて学習されています。ベースモデルは、Llama-2-70bを、Cultura-Xデータセットのアラビア語分割からの280億トークンで学習することで、アラビア語に適応させています。このモデルをSambaLingo-chat-spaceで試すことができます。
🚀 クイックスタート
Hugging Faceでのモデルの読み込み
トークナイザーを読み込む際には、use_fast=Falseを設定してください。
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat-70B", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("sambanovasystems/SambaLingo-Arabic-Chat-70B", device_map="auto", torch_dtype="auto")
モデルパイプラインとの対話
トークナイザーを読み込む際には、use_fast=Falseを設定してください。
from transformers import pipeline
pipe = pipeline("text-generation", model="sambanovasystems/SambaLingo-Arabic-Chat-70B", 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|>
ليس لدي القدرة على الرؤية، ولكن يمكنني تقديم وصف للألوان بناءً على ما تعلمته من البيانات.\n\nبالنسبة لشخص ولد أعمى، قد يكون من الصعب وصف الألوان لأنها لم تختبرها من قبل. ومع ذلك، يمكننا استخدام الاستعارات والمقارنات لمساعدة هذا الشخص على فهم الألوان. على سبيل المثال، يمكننا وصف اللون الأحمر بأنه دافئ وحيوي، مثل لهب النار أو ثمرة الفراولة الناضجة. يمكننا وصف اللون الأزرق بأنه هادئ ومهدئ، مثل السماء أو المحيط. يمكننا وصف اللون الأخضر بأنه منعش وطبيعي، مثل أوراق الشجر أو العشب. يمكننا وصف اللون الأصفر بأنه مشرق ومبهج، مثل الشمس أو زهرة عباد الشمس. يمكننا وصف اللون الأرجواني بأنه ملكي وفاخر، مثل لون الجواهر أو غروب الشمس. في النهاية، قد يكون من الصعب وصف الألوان لشخص ولد أعمى، ولكن باستخدام الاستعارات والمقارنات، يمكننا مساعدتهم على فهم الفروق الدقيقة في الألوان بشكل أفضل.
✨ 主な機能
SambaLingo-Arabic-Chat-70Bは、アラビア語と英語に対応したチャットモデルで、特定の学習方法を用いて人間に合わせた応答を生成することができます。
📦 インストール
上記の「クイックスタート」で説明したように、Hugging Faceを使用してモデルを読み込むことができます。
📚 ドキュメント
モデルの説明
学習詳細
アライメントフェーズは、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を使用しました。
トークナイザーの詳細
ベースのLlamaモデルの語彙を、新しい言語から最大25,000の重複しないトークンを追加することで、32,000トークンから57,000トークンに拡張しました。
評価
評価結果については、私たちの論文を参照してください: SambaLingo: Teaching Large Language Models New Languages
使用方法
直接使用
このモデルの使用は、MetaのLlama 2 Community License Agreementによって管理されています。モデルの重みをダウンロードする前に、ライセンスを確認して承認してください。
範囲外の使用
SambaLingoは、以下の用途には使用しないでください。
- 使命クリティカルなアプリケーション
- 他人の安全に関わるアプリケーション
- 非常に重要な決定を行うアプリケーション
バイアス、リスク、および制限
他のすべての大規模言語モデル(LLM)と同様に、SambaLingoには特定の制限があります。
- 幻覚(Hallucination): モデルは時々、もっともらしく聞こえるが事実上誤ったまたは関係のない情報を含む応答を生成することがあります。
- コード切り替え(Code Switching): モデルは、単一の応答内で意図せず言語や方言を切り替えることがあり、出力の一貫性と理解しやすさに影響を与えます。
- 繰り返し(Repetition): モデルは繰り返しのフレーズや文を生成することがあり、魅力的で有益な応答が得られなくなります。
- コーディングと数学(Coding and Math): モデルが正確なコードを生成したり、複雑な数学問題を解いたりする性能は限られている可能性があります。
- 毒性(Toxicity): モデルは不適切または有害な内容を含む応答を誤って生成する可能性があります。
🔧 技術詳細
モデルの構築や学習に関する技術的な詳細は、上述の「学習詳細」や「トークナイザーの詳細」などで説明されています。
📄 ライセンス
このモデルの使用は、MetaのLlama 2 Community License Agreementによって管理されています。
謝辞
私たちは、オープンソースAIコミュニティに心から感謝の意を表します。この取り組みは、オープンソースなしでは不可能でした。SambaNovaはオープンソースコミュニティを支持し、このイニシアチブに積極的に貢献することを目指しています。
特別な感謝を以下のグループに送ります。
- MetaがLLama 2をオープンソース化し、FLORES-200データセットを公開してくれたこと
- NguyenらがCulturaXデータセットをオープンソース化してくれたこと
- CohereAIがAYA-101をリリースし、多言語命令微調整データセットをオープンソース化してくれたこと
- EleutherAIがオープンソースの評価フレームワークを提供してくれたこと
- Hugging Face-H4チームがZephyrの学習レシピとアライメントハンドブックのリポジトリをオープンソース化してくれたこと
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}
}