モデル概要
モデル特徴
モデル能力
使用事例
🚀 Xwin-LM: 強力で安定した再現可能な大規模言語モデルのアライメント
Xwin-LMは、大規模言語モデルのアライメント技術を開発し、オープンソース化することを目指しています。これには、教師付き微調整(SFT)、報酬モデル(RM)、棄却サンプリング、人間のフィードバックによる強化学習(RLHF)などが含まれます。初回リリースはLlama2ベースモデルをベースに構築され、AlpacaEvalで1位にランクインしました。特筆すべきは、このベンチマークで初めてGPT - 4を上回ったことです。本プロジェクトは継続的に更新されます。
🚀 クイックスタート
Xwin-LMを使って大規模言語モデルのアライメントを強化しましょう!
✨ 主な機能
- 大規模言語モデルのアライメント技術の開発とオープンソース化。
- Llama2ベースモデルを使用した高性能モデルの提供。
- AlpacaEvalでの高い勝率を達成。
📚 ドキュメント
ニュース
- 💥 [2023年10月12日] Xwin-LM - 7B - V0.2とXwin-LM - 13B - V0.2がリリースされ、比較データとRLトレーニング(PPO)が改善されました。GPT - 4に対する勝率は大幅に向上し、それぞれ59.83%(7Bモデル)と70.36%(13Bモデル)に達しました。70Bモデルは近日リリース予定です。
- 💥 [2023年9月] Xwin-LM - 70B - V0.1をリリースしました。このモデルはAlpacaEvalベンチマークでDavinci - 003に対する勝率95.57%を達成し、AlpacaEvalで1位にランクインしました。AlpacaEvalで初めてGPT - 4を上回ったモデルであり、GPT - 4に対する勝率は60.61です。
- 🔍 [2023年9月] RLHFはXwin - LM - V0.1リリースの高いパフォーマンスにおいて重要な役割を果たしています!
- 💥 [2023年9月] Xwin-LM - 13B - V0.1をリリースしました。このモデルはAlpacaEvalで91.76%の勝率を達成し、すべての13Bモデルの中で1位にランクインしました。
- 💥 [2023年9月] Xwin-LM - 7B - V0.1をリリースしました。このモデルはAlpacaEvalで87.82%の勝率を達成し、すべての7Bモデルの中で1位にランクインしました。
モデルカード
モデル | チェックポイント | レポート | ライセンス |
---|---|---|---|
Xwin-LM - 7B - V0.2 | 🤗 HFリンク | 📃近日公開(お楽しみに) | Llama 2ライセンス |
Xwin-LM - 13B - V0.2 | 🤗 HFリンク | Llama 2ライセンス | |
Xwin-LM - 7B - V0.1 | 🤗 HFリンク | Llama 2ライセンス | |
Xwin-LM - 13B - V0.1 | 🤗 HFリンク | Llama 2ライセンス | |
Xwin-LM - 70B - V0.1 | 🤗 HFリンク | Llama 2ライセンス |
ベンチマーク
AlpacaEvalでのXwin-LMのパフォーマンス
以下の表は、AlpacaEvalでのXwin-LMのパフォーマンスを示しています。このベンチマークでは、805の質問にわたってText - Davinci - 003に対する勝率が評価されます。包括的な評価のため、初めてChatGPTとGPT - 4に対する勝率も提示しています。Xwin-LMモデルファミリーは、すべての指標で新たな最先端のパフォーマンスを確立しています。特に、Xwin-LM - 70B - V0.1は初めてGPT - 4を上回り、Text - Davinci - 003に対して95.57%、GPT - 4に対して**60.61%**の印象的な勝率を達成しています。
モデル | AlpacaEval(勝率 %) | AlpacaEval(勝率 %) | AlpacaEval(勝率 %) |
---|---|---|---|
v.s. Text - Davinci - 003 | v.s. ChatGPT | v.s. GPT4 | |
Xwin-LM - 70B - V0.1 | 95.57 | 87.50 | 60.61 |
GPT - 4 | 95.28 | 84.66 | 50.00 |
Xwin-LM - 13B - V0.2 | 93.22 | 87.14 | 70.36 |
WizardLM - 70B - V1.0 | 92.91 | 80.19 | 46.70 |
Llama - 2 - 70B - Chat | 92.66 | 81.97 | 51.19 |
Xwin-LM - 13B - V0.1 | 91.76 | 81.79 | 55.30 |
ChatGPT | 89.37 | 50.00 | 16.60 |
Xwin-LM - 7B - V0.2 | 89.31 | 79.60 | 59.83 |
WizardLM - 13B - V1.2 | 89.17 | 75.75 | 41.91 |
Xwin-LM - 7B - V0.1 | 87.35 | 76.40 | 47.57 |
Llama - 2 - 13B - Chat | 81.09 | 64.22 | 30.92 |
AlpacaEvalのケーススタディ
プロンプト | GPT4の応答 | Xwin-LMの応答 |
---|---|---|
私はりんごの上に皿を置き、その皿をキッチンからダイニングルームに持ってきました。りんごは今どこにありますか | りんごは今ダイニングルームにあります。あなたが皿をキッチンからダイニングルームに移動させたとき、りんごは皿の下にあったからです。 | りんごはまだキッチンにあります。あなたは皿だけを移動させたからです。りんごは皿の下にあるので、りんごをダイニングルームに持っていきたい場合は、りんごを直接移動させるか、りんごを皿の上に置いてから皿をダイニングルームに移動させる必要があります。 |
次の質問に答えてください。 フランス語で「こんばんは」はどう言いますか。 |
フランス語で「こんばんは」は「bonsoir」と言います。 | フランス語で「こんばんは」は「bonsoir」と訳されます。この挨拶は夕方や夜に使われ、通常は午後6時以降です。これは「bon」(良い)と「soir」(夕方)の組み合わせです。発音は「bone - swahr」と言います。 |
NLP基礎タスクでのXwin-LMのパフォーマンス
次の表は、Open LLM LeaderboardのNLP基礎タスクにおけるXwin-LMsと他の大規模言語モデルの比較を提供しています。
モデル | MMLU 5 - shot | ARC 25 - shot | TruthfulQA 0 - shot | HellaSwag 10 - shot | 平均 |
---|---|---|---|---|---|
Text - davinci - 003 | 56.9 | 85.2 | 59.3 | 82.2 | 70.9 |
Vicuna - 13b 1.1 | 51.3 | 53.0 | 51.8 | 80.1 | 59.1 |
Guanaco 30B | 57.6 | 63.7 | 50.7 | 85.1 | 64.3 |
WizardLM - 7B 1.0 | 42.7 | 51.6 | 44.7 | 77.7 | 54.2 |
WizardLM - 13B 1.0 | 52.3 | 57.2 | 50.5 | 81.0 | 60.2 |
WizardLM - 30B 1.0 | 58.8 | 62.5 | 52.4 | 83.3 | 64.2 |
Llama - 2 - 7B - Chat | 48.3 | 52.9 | 45.6 | 78.6 | 56.4 |
Llama - 2 - 13B - Chat | 54.6 | 59.0 | 44.1 | 81.9 | 59.9 |
Llama - 2 - 70B - Chat | 63.9 | 64.6 | 52.8 | 85.9 | 66.8 |
Xwin-LM - 7B - V0.1 | 49.7 | 56.2 | 48.1 | 79.5 | 58.4 |
Xwin-LM - 13B - V0.1 | 56.6 | 62.4 | 45.5 | 83.0 | 61.9 |
Xwin-LM - 70B - V0.1 | 69.6 | 70.5 | 60.1 | 87.1 | 71.8 |
Xwin-LM - 7B - V0.2 | 50.0 | 56.4 | 49.5 | 78.9 | 58.7 |
Xwin-LM - 13B - V0.2 | 56.6 | 61.5 | 43.8 | 82.9 | 61.2 |
💻 使用例
基本的な使用法
会話テンプレート
望ましい結果を得るために、推論にモデルを使用する際は、会話テンプレートに厳密に従ってください。当社のモデルはVicunaが確立したプロンプト形式を採用しており、複数ターンの会話をサポートしています。
A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: Hi! ASSISTANT: Hello.</s>USER: Who are you? ASSISTANT: I am Xwin-LM.</s>......
HuggingFaceの例
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Xwin-LM/Xwin-LM-7B-V0.1")
tokenizer = AutoTokenizer.from_pretrained("Xwin-LM/Xwin-LM-7B-V0.1")
(
prompt := "A chat between a curious user and an artificial intelligence assistant. "
"The assistant gives helpful, detailed, and polite answers to the user's questions. "
"USER: Hello, can you help me? "
"ASSISTANT:"
)
inputs = tokenizer(prompt, return_tensors="pt")
samples = model.generate(**inputs, max_new_tokens=4096, temperature=0.7)
output = tokenizer.decode(samples[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(output)
# Of course! I'm here to help. Please feel free to ask your question or describe the issue you're having, and I'll do my best to assist you.
vLLMの例
Xwin-LMはLlama2をベースにしているため、vLLMを使用した高速推論もサポートしています。詳細なインストール手順については、vLLMを参照してください。
from vllm import LLM, SamplingParams
(
prompt := "A chat between a curious user and an artificial intelligence assistant. "
"The assistant gives helpful, detailed, and polite answers to the user's questions. "
"USER: Hello, can you help me? "
"ASSISTANT:"
)
sampling_params = SamplingParams(temperature=0.7, max_tokens=4096)
llm = LLM(model="Xwin-LM/Xwin-LM-7B-V0.1")
outputs = llm.generate([prompt,], sampling_params)
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(generated_text)
今後の予定
- [ ] ソースコードを公開する。
- [ ] 数学、推論などのより多くの機能を公開する。
引用
このリポジトリのデータまたはコードを使用する場合は、以下のように引用してください。
@software{xwin-lm,
title = {Xwin-LM},
author = {Xwin-LM Team},
url = {https://github.com/Xwin-LM/Xwin-LM},
version = {pre-release},
year = {2023},
month = {9},
}
謝辞
Llama 2、FastChat、AlpacaFarm、およびvLLMに感謝します。
📄 ライセンス
Llama2ライセンス



