オープンLLMリーダーボード:DROPディープダイブ
オープンLLMリーダーボード:深層ダイビングでのDROP
最近、新たに3つの新基準がOpen LLM Leaderboardに追加されました。Winogrande、GSM8k、そしてDROPです。これらはEleutherAI Harnessの再現実装を使用しています。DROPのスコアをざっと見てみると、f1スコアでほとんどのモデルが10点以下という奇妙な現象が起こっていることがわかりました。私たちはこの問題を深く掘り下げ、何が起こっているのかを理解するために調査を行いました。一緒に調査結果を見ていきましょう!
初期の観察結果
DROP(段落に対する離散的な推論)は、モデルが英語の段落から関連する情報を抽出し、それらに対して離散的な推論手法(例えば、ソートやアイテムの数え上げなどを行い、正解にたどり着く)を実行する必要がある評価です(例は下の表を参照してください)。使用される評価指標はカスタムのf1スコアと完全一致スコアです。
DROPをOpen LLM Leaderboardに3週間前に追加しましたが、事前学習モデルのf1スコアは予想外の傾向を示しました。DROPのスコアをARC、HellaSwag、TruthfulQA、MMLUのリーダーボードの元々の平均(モデル全体のパフォーマンスの合理的な代理)と比較したとき、優れたモデルほどDROPのスコアも良い関連性があると予想していました。しかし、それは一部のモデルにしか当てはまらず、他のすべてのモデルのDROPのf1スコアは10点未満でした。
正規化の問い合わせ
この驚くべき振る舞いに対する最初の深い調査中に、正規化ステップが意図した通りに機能していない可能性があることがわかりました。いくつかのケースでは、正規化が正しい数値の回答を無視してしまっていました。具体的には、数値の回答の後に空白文字(スペース以外の改行など)が続いていた場合に正規化が無視されていました。以下に例を示します。生成結果が10\n\nPassage: The 2011 census recorded a population of 1,001,360
で、正解が10
である場合を見てみましょう。
- サークルブームのレビュー:最高のAIパワードソーシャルメディアツール?
- LLMsにおけるブラックボックスの問題:課題と新興解決策
- 『究極の没入型視覚化とモデリング体験を実現するために、4つのAIモデルを組み合わせる』
正規化は生成結果と正解の両方に対して複数のステップで行われます:
- 区切り文字での分割 |、-、または. を使って分割します。生成結果の先頭のシーケンス
10\n\nPassage:
には区切り文字が含まれていないため、このステップの後には単一の要素として扱われます。 - 句読点の削除 最初のトークンは
10\n\nPassage
となります(:は削除されます)。 - 数値の均一化 floatにキャストできるすべての文字列は数値と見なされ、floatにキャストされた後に再び文字列に変換されます。
10\n\nPassage
はfloatにキャストできないため変化しませんが、正解の10
は10.0
となります。 - その他のステップ その他の多くの正規化ステップが行われ、元の例は
10 passage 2011.0 census recorded population of 1001360.0
となります。
ただし、総合スコアは文字列ではなく、文字列から抽出された単語の袋(BOW)で計算されます。ここでは {'recorded', 'population', 'passage', 'census', '2011.0', '1001360.0', '10'}
となります。これは正規化された正解のBOWと比較されます。正解も同様の方法で正規化されて {10.0}
となります。ご覧の通り、この2つは一致しませんが、モデルは正しい出力を予測していました!
要約すると、数値の後に単なるスペース以外の空白文字が続く場合、数値の正規化は行われず、正解も数値である場合には一致しません!この最初の問題だけでスコアがかなり乱れる可能性がありますが、DROPのスコアが非常に低い要因はこれだけではないことは明らかでした。もう少し調査することにしました。
結果の詳細調査
さらなる調査を進める中で、私たちに加わってくれたZenoの友人たちと一緒に、我々がDROPのスコアで気づいた問題を代表する5つのモデルについてより詳細な調査を行いました。falcon-180Bとmistral-7Bは期待に対して性能が低く、Yi-34Bとtigerbot-70BはDROPで非常に優れたパフォーマンスを示しました。facebook/xglm-7.5Bは中間に位置しました。
もし興味があれば、Zenoプロジェクトで結果の分析をお試しください!
Zenoチームはさらに懸念すべき2つの特徴を発見しました:
- 1つのモデルも浮動小数点の答えで正確な結果が得られませんでした
- 長い回答を生成する高品質なモデルは、実際にはf1スコアが低下していることが分かりました
この時点で、両方の失敗事例が同じ根本的な要因によって引き起こされていると考えました:世代を終了させるためのストップワードトークンとして.
を使用することです:
- 浮動小数点の答えは、その生成が完了する前に統制的に中断されています
- 少数のショットプロンプト形式に一致しようとするより高品質なモデルは、実際の答えの後の
.
の次の提示可能なプロンプトでのみ停止し、したがって単語数が多すぎてf1スコアが低下しています。
これらの問題の両方を修正するために、生成の終了トークンとして\n
を使用することで解決できると仮説を立てました。
生成終了トークンの変更
そのため、試してみました!利用可能な結果で\n
を生成終了トークンとして使用することを調査しました。最初に出現した場合、生成された回答を最初の\n
で分割し、スコアを再計算しました。答えが.
で切られすぎる(たとえば、浮動小数点の答え)場合、これは正しい結果の近似にすぎませんが、すべてのモデルがこの問題に影響を受けているため、不公平な利点を与えることもありません。ただし、できるだけ早くコミュニティに報告するためにモデルを再実行することはしませんでした。
得られた結果は次のとおりです-\n
での分割は他のスコアと非常によく相関し、したがって総合的なパフォーマンスとも相関しています。
次は何ですか?
簡単な計算によると、すべてのモデルの完全な評価を再実行することは非常に費用がかかるでしょう(完全な更新には8年以上のGPU時間がかかり、そのうちの多くはDROPによって使用されました)。したがって、失敗した例だけを再実行することの費用を見積もりました。
ゴールド回答が浮動小数点数(たとえば、12.25
)であり、モデルの予測が正しい開始で始まります(たとえば、12
)が.
で切り捨てられる場合(この場合、生成が続行されれば実際には正しい結果である可能性が高いです)。これらの予測を再実行する必要があります!ただし、私たちの見積もりには、数で終わる生成された文(他の生成の40%)やその正規化によって台無しになった予測は含まれていません。
正しい結果を得るためには、例の50%以上を再実行する必要があります。これは非常に多くのGPU時間です!今回は実装が正しいことを確信する必要があります。
素晴らしいEleutherAIチーム(GitHubおよび内部で)とのディスカッションの結果、コードを綿密に調査し、私たちの調査を支援してくれた彼らと非常に明確になりました。したがって、このベンチマークの評価尺度の新しいバージョンの開発が必要です! したがって、新しいバージョンが出るまで、Open LLM LeaderboardからDROPを削除することを決定しました。
この調査の一つの収穫は、コミュニティの多くの目がベンチマークを共同で調査して、以前見逃されていたエラーを検出する価値があるということです。再び、オープンソース、コミュニティ、オープンでの開発の力が光り、数年間存在していたベンチマークの問題の根本原因を透明に調査することができました。
興味を持ったコミュニティのメンバーがDROPの評価に取り組む学者たちと協力して、スコアリングと正規化の修正を行うことを望んでいます。データセット自体は非常に興味深くクールですので、再び使えるようになると嬉しいです。DROPの評価方法に関するフィードバックは、この課題にご提供ください。
DROPのスコアに問題を指摘してくれた多くのコミュニティメンバーと、この課題でのEleutherAI HarnessとZenoチームの素晴らしいサポートに感謝します。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles