🚀 スマウグ (Smaug-72B-v0.1) 登場!
スマウグ (Smaug-72B-v0.1) は、HuggingFaceのOpen LLM Leaderboardで首位を獲得したオープンソースモデルです。平均スコアが80%を超える最初のオープンソースモデルとなりました。

🚀 クイックスタート
スマウグ (Smaug-72B-v0.1) は、moreh/MoMo-72B-lora-1.8.7-DPO から直接ファインチューニングされ、最終的には Qwen-72B をベースにしています。
✨ 主な機能
- 新しいファインチューニング技術であるDPO-Positive (DPOP) を使用して作成されました。
- ARC、HellaSwag、MetaMathの新しいペアワイズ嗜好バージョン(および他の既存のデータセット)を使用して訓練されました。
- 新しい損失関数と訓練手順であるDPOPは、幅広いデータセットや下流タスクでDPOを上回る性能を発揮します。
📚 ドキュメント
新しい技術と完全な訓練の詳細については、新しい論文を参照してください:https://arxiv.org/abs/2402.13228 。
🔧 技術詳細
我々は、ペアの補完間の編集距離が低いデータセット(数学ベースのデータセットなど)では、標準的なDPO損失が、好ましいクラスと好ましくないクラスの相対確率が増加する限り、好ましい例のモデルの尤度を低下させる可能性があることを示しました。これらの洞察を利用して、この失敗モードを回避する新しい損失関数と訓練手順であるDPOPを設計しました。驚くべきことに、DPOPは、補完間の編集距離が高いデータセットを含む、幅広いデータセットや下流タスクでDPOを上回ることがわかりました。
📊 評価結果
総合評価
平均 |
ARC |
HellaSwag |
MMLU |
TruthfulQA |
Winogrande |
GSM8K |
80.48 |
76.02 |
89.27 |
77.15 |
76.67 |
85.08 |
78.70 |
MT-Bench
llama-2の会話テンプレートとQwenのシステムプロンプトを使用してMT-Benchを実行しました。シングルモデルモードで次の結果を得ました。
初回応答 |
2回目の応答 |
平均 |
8.18 |
7.34 |
7.76 |
🧬 コンタミネーション結果
https://github.com/swj0419/detect-pretrain-code-contamination/tree/master を使用してコンタミネーション数を生成し、Llama7Bを参照モデルとして使用しました。
Smaug-72B
ARC |
TruthfulQA |
GSM8K |
0.20 |
0.45 |
1.00 |
MoMo-72B-lora-1.8.7-DPO
ARC |
TruthfulQA |
GSM8K |
0.20 |
0.39 |
1.00 |
Llama-2-70B
ARC |
TruthfulQA |
GSM8K |
0.22 |
0.51 |
0.89 |
💻 使用例
例1:スマートフォン比較ブログのアウトライン作成
質問
2つの人気スマートフォンモデルを比較するブログ記事を書くと想像してください。2つのモデルの機能、パフォーマンス、ユーザー体験を効果的に比較するためのアウトラインを作成してください。200語以内で回答してください。
回答
アウトライン:
- 比較する2つのスマートフォンモデルの紹介(ブランド名とモデル名を記載)
- デザインとビルド品質
- 寸法、重量、使用材料、全体的な美的魅力の比較
- 該当する場合は、防水・防塵性能の比較
- ディスプレイと画面品質
- 画面技術(OLED、IPS LCDなど)の比較
- 表示解像度、リフレッシュレート、および明るさレベルの比較
- パフォーマンスとハードウェア
- プロセッサ、RAM、およびストレージ構成の比較
- ベンチマークスコア(例:AnTuTu、Geekbench)の比較
- カメラシステムと画像品質
- メイン、超広角、望遠、およびマクロレンズ(利用可能な場合)の比較
- 低光環境での性能と画像処理能力の比較
- バッテリー寿命と充電
- バッテリー容量と推定使用時間の比較
- 充電技術(有線、無線、高速充電、逆充電)の比較
- ソフトウェアとユーザー体験
- オペレーティングシステム(iOS vs. Android)とその機能の比較
- ユーザーインターフェイス、カスタマイズオプション、およびアプリエコシステムの比較
- 追加機能と特典
- 生体認証(指紋、顔認証など)の比較
- NFC、5G接続、および音質などの追加機能の比較
- 価格とコストパフォーマンス
- 小売価格と現在のオファーの比較
- 機能とパフォーマンスを考慮した全体的な価値の評価
- 結論と潜在的な購入者への推奨事項
例2:確率計算問題
質問
地元の高校で実施された調査で、新しい学校の色に対する好みが測定されました。58%の生徒が青を好き、45%が緑を好み、22%が両方の色を好きでした。学校からランダムに生徒を選んだ場合、青も緑も好きでない確率は何ですか?
回答
ランダムに選んだ生徒が青も緑も好きでない確率を求めるには、片方の色だけを好きな生徒またはどちらの色も好きでない生徒の割合を求める必要があります。
与えられた情報から、以下のことがわかります。
- 58%が青を好き
- 45%が緑を好き
- 22%が両方の色を好き
片方の色だけを好きな生徒の割合を求めるには、青を好きな生徒と緑を好きな生徒の合計から、両方の色を好きな生徒の割合を引きます。
- 58%(青) + 45%(緑) - 22%(両方) = 83%
次に、少なくとも1つの色を好きな生徒の割合を100%から引くことで、青も緑も好きでない生徒の確率を求めます。
したがって、ランダムに選んだ生徒が青も緑も好きでない確率は17%です。
例3:配列の共通要素検索
質問
追加のデータ構造を使用せずに、2つの配列の共通要素を見つけるプログラムを実装してください。
回答
def find_common_elements(arr1, arr2):
common_elements = []
for num1 in arr1:
if num1 in arr2 and num1 not in common_elements:
common_elements.append(num1)
return common_elements
array1 = [1, 2, 3, 4, 5]
array2 = [4, 5, 6, 7, 8]
print(find_common_elements(array1, array2))
このプログラムは、最初の配列(arr1)の要素を繰り返し処理し、各要素が2番目の配列(arr2)に存在するかどうかを確認します。存在し、かつその要素がまだcommon_elementsリストに追加されていない場合、その要素は追加されます。その後、関数は共通要素のリストを返します。
例4:名前付きエンティティの識別
質問
与えられたニュース記事に記載されている名前付きエンティティ(人物、組織、場所)を特定してください。エンティティのタイプに基づいて3つのグループに分けて名前付きエンティティをリストするJSON辞書を生成してください。キーはエンティティのタイプで、値は文字列のリストです。
昨日、ファラデーのCEOであるアダムソン・エマーソンと、ダイムラーAGのCEOであるディーター・ツェツェは、ベルリンに新しい巨大工場を建設する計画を発表しました。この施設はファラデーとダイムラーの合弁事業となり、両社の電気自動車とバッテリーパックを生産し、地域に数千の雇用機会を生み出します。エマーソンとツェツェは、ベルリンの戦略的な立地、熟練した労働力、強力なインフラストラクチャが、拡大に理想的な選択肢になっていると述べました。新しい巨大工場は、ヨーロッパでの電気自動車の需要の増加に対応し、持続可能な未来に貢献することを目指しています。ボルクスワーゲンのCEOであるハーバート・ディースはこのニュースを歓迎し、より深い協力が自動車産業の電動化への移行に役立つと述べました。
回答
{
"people": ["Adamson Emerson", "Dieter Zetsche", "Herbert Diess"],
"organizations": ["Faraday", "Daimler AG", "Volkswagen"],
"locations": ["Berlin", "Europe"]
}
📄 引用
このリポジトリのデータ、モデル、または方法を使用する場合は、論文を引用してください。
@article{pal2024smaug,
title={Smaug: Fixing Failure Modes of Preference Optimisation with DPO-Positive},
author={Pal, Arka and Karkhanis, Deep and Dooley, Samuel and Roberts, Manley and Naidu, Siddartha and White, Colin},
journal={arXiv preprint arXiv:2402.13228},
year={2024}
}
📄 ライセンス
このプロジェクトは tongyi-qianwen-license-agreement の下でライセンスされています。