大規模言語モデルを活用したデータ汚染の検出手法
3つの要点
✔️ 既存の検出方法の限界を克服するため、大規模言語モデルを使用した新しい汚染検出方法「LLM Decontaminator」を提案
✔️ 静的なベンチマークに依存せず、新しい一回限りの試験(例:コーディングコンペティション)を導入し、大規模言語モデルを評価することを提案
✔️ 言い換えられテストサンプルは、学習データに含めるとベンチマーク結果を歪めるため、汚染と定義されるべき
Rethinking Benchmark and Contamination for Language Models with Rephrased Samples
written by Shuo Yang, Wei-Lin Chiang, Lianmin Zheng, Joseph E. Gonzalez, Ion Stoica
(Submitted on 8 Nov 2023 (v1), last revised 11 Nov 2023 (this version, v2))
Comments: Published on arxiv.
Subjects: Computation and Language (cs.CL); Artificial Intelligence (cs.AI)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
大規模言語モデルの急速な進化の一方で、その評価がますます難しくなっています。大規模言語モデルの性能を評価するために、短い期間に多くのベンチマークが確立されましたが、これらのスコアが必ずしも現実世界の性能を反映するものではありませんでした。さらに、これらのベンチマークデータセットが前処理やファインチューニングの過程で汚染されている可能性も指摘されています。
例えば、Llama-2の汚染分析 (Touvron et al., 2023) では、大規模マルチタスク言語理解(MMLU)のテストサンプルの10%以上が汚染されていることが判明しています。また、GPT-4の技術報告書 (OpenAI, 2023) によると、HumanEvalの25%が学習データで汚染されていることが判明しています。同様の問題はオープンソースデータセットにも存在しており、StarCoder Data (Li et al., 2023) においても数百のテストケースが汚染されていることが示されています。
汚染の問題は、重要視されているものの、依然として正確に検出することが難しいとされています。一般的な方法としては、n-gramオーバーラップと埋め込み類似検索があります。n-gramオーバーラップは文字列のマッチングに基づく方法で、GPT-4 (OpenAI, 2023)、PaLM (Anil et al., 2023)、Llama (Touvron et al., 2023) などで広く使用されていますが、精度が限られています。一方、埋め込み類似検索は事前学習モデルの埋め込みを使用して、類似した汚染サンプルを見つける方法ですが、リコールと精度のバランスを取ることが難しいとされています。また、大規模言語モデルが生成する合成データの使用も増えており、それらの汚染を検出することはさらに難しいとされています。Phi-1の報告 (Gunasekar et al., 2023) では、HumanEvalのテストサンプルに似た合成データの一部がn-gramオーバーラップでは検出できないことが示されています。
この論文では、汚染除去の方法を研究するために、「書き換えサンプル(Rephrased Sample)」の概念を提案しています。これは、元のサンプルと同じ意味を持ちながら、既存の汚染テストでは検出が難しいサンプルです。大規模言語モデルを使ってテストサンプルをパラフレーズしたり、他の言語に翻訳したりすることで生成されます。このような書き換えサンプルが学習に使用されると、モデルが過学習しやすく、テストベンチマークで非常に高い性能を達成することが示されています。
MMLU、GSM-8k、HumanEvalなどのベンチマークで、ファインチューニングされた13BのLlamaモデルがGPT-4の性能に匹敵し、n-gramオーバーラップでは、汚染として検出されない現象が観察されています。
また、この論文では、既存の汚染除去の方法がなぜ失敗するのかについて詳細な分析を提供し、新しい大規模言語モデルベースの汚染除去の方法を提案しています。この方法では、まず埋め込み類似検索を使って与えられたテストサンプルと最も類似度の高い上位kサンプルを取得し、その後、GPT-4のような強力な大規模言語モデルを使って、これらのサンプルがテストケースに非常に近いかどうかを確認します。結果、この方法が既存の方法よりも大幅に優れていることが示されています。さらに、広く使用されている事前学習およびファインチューニングデータセットに、この提案方法を適用し、これまでは知られていなかったパブリックベンチマークとのテストの重複を明らかにすることに成功しています。
RedPajama-Data-1TやStarCoder-Dataの事前学習セットにおいて、HumanEvalベンチマークの8-18%が重複していることが特定されました。また、GPT-3.5によって生成された合成データセットであるCodeAlpaca (Chaudhary, 2023) には、HumanEvalからの書き換えサンプルが12.8%含まれていることが分かりました。これは、大規模言語モデルが生成した合成データを使って学習する際の汚染リスクを示しています。
この論文では、大規模言語モデルを評価するためのパブリックベンチマークにおける汚染除去方法の改善が求められています。現行の評価基準では、モデルの真の性能を反映していない可能性があるため、より信頼性の高い汚染除去手法の導入が必要です。
また、CodeforcesやKaggleといったコンペティション形式の一度限りの試験を提案し、大規模言語モデルの正確な評価を行うことが推奨されています。これにより、モデルの実際の能力をより正確に測定し、汚染のリスクを低減することが期待されています。
書き換えサンプルの概念
大規模言語モデルの評価において、学習セットに含まれるテストセットのバリエーションがどのように最終的なベンチマークの性能に影響するかを調査することが重要です。このようなテストケースのバリエーションを「書き換えサンプル」と呼んでいます。実験では、数学、知識、コーディングなどさまざまなベンチマークのドメインを考慮しています。下の例は、GSM-8kの書き換えサンプルです。10-gramオーバーラップでは検出できませんが、意味は同じままです。
ベンチマークの汚染はさまざまな形で現れるため、書き換え技術にはいくつかの違いがあります。テキストベースのベンチマークでは、単語の順序を変更したり、同義語に置き換えたりして意味を変えずにテストケースを書き換えます。コードベースのベンチマークでは、コーディングスタイルや命名規則、実装方法を変えることで、意味を維持しながら書き換えを行います。
書き換えプロセスは、下図のような単純なアルゴリズムを採用しています。この方法では、大規模言語モデル(例:GPT-4)を使用してテストプロンプトの書き換えバージョンを生成し、n-gramオーバーラップのような検出方法で検出されないことを確認します。多様な出力を促すために、初期温度をゼロにしない設定を使用します。このプロセスをテストセットの各プロンプトに適用することで、書き換えによるテストセットを構築します。「RephraseLLM」は高性能な大規模言語モデル(GPT-4やClaudeなど)を指し、「isContaminated」はn-gramオーバーラップや埋め込み類似検索などの汚染検出の方法を指しています。
単語の順序変更以外にも、さまざまな書き換え技術があります。実際のデータセットでは、翻訳技術を含む多くの書き換え技術が存在します。これらの技術を用いることで、書き換えサンプルは隠蔽され、モデルのスコアが大幅に向上します。
異なる言語からの同じ意味を持つプロンプトは、ほとんどの言語モデルで異なる埋め込みを生成します。テストプロンプトを他の言語に翻訳することで、n-gramオーバーラップ検出や埋め込み類似検索を回避できます。複数の言語で特別に学習された埋め込みモデルだけが、翻訳されたサンプルを検出できます。
テキストベースのデータでは、翻訳技術によりn-gramオーバーラップと埋め込み類似検索の両方を回避しながらスコアを大幅に向上させることができます。この方法は、モデルの多言語翻訳能力を活用し、知識評価を効果的に翻訳タスクに変換します。コードベンチマークにおいても、翻訳技術は有効です。同じ問題を解決するプログラムをPythonからCやJavaに翻訳することで、効果を確認できます。翻訳技術がコードベンチマークに与える影響をさらに調査するために、多言語データ拡張を提案しています。
コードベンチマークでは、多言語データ拡張を用いて翻訳技術を強化することができます。複数の言語を組み込むことで、モデルの一般化能力を高め、翻訳されたコードと元のコードが同じ機能を果たすことを理解させます。このようにして、書き換えサンプルの概念とその技術を理解することで、大規模言語モデルの評価方法をより正確かつ効果的に進化させることができます。
大規模言語モデルによる汚染検出方法
この論文では、ベンチマークに対してデータセットから言い換えられたサンプルを正確に除去する新しい汚染検出方法「LLM Decontaminator」を紹介しています。既存の検出方法であるn-gramオーバーラップや埋め込み類似検索の限界を克服するために、この新しいアルゴリズム「LLM Decontaminator」が提案されています。
このアルゴリズムは2つのステップで構成されます。1つ目のステップは、各テストケースについて、埋め込み類似検索を使用して最も類似性の高い上位k個の学習アイテムを特定します。2つ目のステップは、その後、GPT-4のような高性能な大規模言語モデルを使用して、それぞれのペアが同一かどうかを評価します。
この方法により、データセット内にどれだけの言い換えサンプルが含まれているかを、適度な計算コストで判断できます。「テンプレート」は、テストケースと学習ケースを組み合わせた構造化プロンプトで、「LLMDetector」に比較を行わせ、「True」または「False」を返すよう指示します。「True」は学習ケースがテストケースの言い換えサンプルである可能性を示します。「LLMDetector」はGPT-4のような高性能な大規模言語モデルであり、「TopKSimilarity」は埋め込み類似検索を使用して学習データ内の最も類似した上位k個のサンプルを特定します。
下図は、異なる汚染検出方法のベン図を示しています。学習データのサブセットと汚染検出範囲を示すベン図です。実線の円は学習データとそのサブセットを表します。点線の円は、データセット内で汚染の可能性があると検出方法によって示された領域を囲んでいます。
LLM Decontaminatorは、埋め込み類似検索を活用し、汚染を迅速にフィルタリングします。さらに、大規模言語モデルの信頼度の高い判断を利用します。n-gramオーバーラップ検出は言い換えサンプルを検出する際に高い偽陰性率をもたらすことがあり、埋め込み類似検索は高い閾値で多くの偽陽性を検出することがあります。特に、LLM Decontaminatorは、言い換えサンプルを検出する際により高い精度を示します。
実験 - 再構築されたサンプルがベンチマークに与える影響
ここでは、再構築されたサンプルで学習されたモデルが非常に高いスコアを達成し、MMLU、HumanEval、GSM-8kの3つの広く使用されているベンチマークでGPT-4の性能に匹敵することを示しています。これにより、再構築されたサンプルが学習データから除去されるべき汚染データであることが示唆されています。また、さまざまな汚染検出方法を評価し、広く使用されている学習セットにDecontaminatorを適用して新たに汚染を発見しています。
1つ目のベンチマークである「MMLU」(Hendrycks et al., 2020)は、抽象代数学からプロフェッショナル心理学まで57の分野をカバーする、非常に幅広い科目を含むベンチマークです。このMMLUを再構築するためには、多くのシナリオを考慮する必要があります。MMLUの複雑さと多肢選択形式を考慮すると、再構築の詳細について詳しく説明する必要があります。
また、多肢選択問題でn-gramオーバーラップ検出を使用すると、異なる質問が同様の選択肢配置を共有している場合に偽陽性が発生しやすい傾向があります。下図はn-gramオーバーラップ検出からの偽陽性の例です。選択肢のパターンが完全に一致しているにもかかわらず、実際には異なる問題というです。この偽陽性問題を減らすために、MMLUの実験では「質問のみ」のコントロールグループを導入しています。「質問のみ」とは、質問の本文のみを再構築することを表し、「フルプロンプト」とは質問の本文と選択肢の両方を再構築することを表してます。
また、大量の数字は、しばしば文字の重複を引き起こします。これを避けるために、カンマとスペースを交互に使用するなど、大きな数字の形式を変更しています。さまざまな分野の専門用語も重複問題を引き起こす可能性があります。これを回避するために、省略形と完全な用語を交互に使用し、特に名前や化学式を含む選択肢の場合には大文字小文字を調整しています。
再構築されたテストセットでLlama-2-7bとLlama-2-13bを16エポックで学習しています。下表に示すように、再構築されたサンプルで学習したLlama-2 7Bおよび13Bは、MMLUで45.3から88.5という非常に高いスコアを達成しています。これは、再構築されたサンプルがベンチマークの数値を大幅に歪める可能性があり、汚染データとして扱うべきであることを示唆しています。元のモデルは5ショットでテストされ、再構築データで学習したモデルはゼロショットでテストされます。
2つ目のベンチマークである「HumanEval」(Chen et al., 2021)は、大規模言語モデルのコーディング能力を評価するためにOpenAIが提供するベンチマークです。このベンチマークでは、モデルに不完全なコードの断片を提供し、それを完成させるように要求します。
HumanEvalテストセットをPythonで言い換えをし、それをC、JavaScript、Rust、Go、およびJavaの5つのプログラミング言語に翻訳しています。これらのコードでCodeLlama 7Bおよび13Bをそれぞれ学習しています。その後、これらの5つのプログラミング言語を含むマルチプログラミング言語データセットを構築し、それに基づいて学習しています。下表には、言い換えられたPython、言い換えられたC、マルチプログラミング言語データセットでのCodeLlamaの性能を示しています。
言い換えられたサンプルで学習されたCodeLlama 7Bおよび13Bは、HumanEvalで高いスコアを達成しています。一方、GPT-4はHumanEvalで67.0しか達成できませんでした。
3つ目のベンチマークである「GSM-8K」(Cobbe et al., 2021)は、大規模言語モデルの数学的能力を評価するために使用される代表的なベンチマークです。
下表には、言い換えられたサンプルで学習されたLlama-2 7bおよび13bが、GSM-8Kで高いスコアを達成することを示しています。元のモデルは5ショットでテストされ、言い換えられたデータで学習されたモデルはゼロショットでテストされています。
実験 - 汚染検出方法の評価
1つ目のベンチマークである「MMLU」です。MMLUの抽象代数学、社会学、アメリカ史の3つの科目をもとに、除染ベンチマークを構築しています。言い換えられたサンプルに対する検出方法の精度を比較するため、元のテストセットと言い換えられたテストセットの両方を使用して200のプロンプトペアを構築しています。これらのペアは、100のランダムペアと100の言い換えられたペアで構成されています。これらのペアに対するF1スコアは、汚染検出能力を示し、高いスコアはより正確な検出を表しています。
ベースラインとしてランダム検出(Random)を使用し、ランダム検出を大きく上回るスコアは検出方法の有効性を示します。
下表に示されているように、LLM Decontaminatorを除くすべての検出方法は、偽陽性を含んでいます。言い換えられたサンプルや翻訳されたサンプルはn-gramオーバーラップでは検出されません。multi-qa BERTを使用した場合、エンベディングの類似性検索は翻訳されたサンプルに対して完全に無効です。Multilingual BERTでは、アメリカ史の科目で低いスコアを示しています。LLM Decontaminatorの信頼性と精度が示されています。
2つ目のベンチマークである「HumanEval」についてです。既存の検出方法がHumanEvalの言い換えられたサンプルを検出できないことを示し、LLM Decontaminatorがそれらを検出するのに成功していることを確認しています。HumanEvalでは、前述のMMLUの方法に従って200のプロンプトペアを構築しています。n-gramオーバーラップ、埋め込み類似検索、LLM Decontaminatorを使用してF1スコアを評価しています。下表によると、埋め込み類似検索は同じプログラミング言語内での検出に効果的であることがわかりますが、翻訳後の効果は低いことがわかります。調査された方法の中で、言い換えられたサンプルを確実に検出するのはLLM Decontaminatorのみです。
さらに、LLM Decontaminatorの有効性を示すために、広く使用されている実世界のデータセットに適用し、多数の言い換えられたサンプルを特定しています。下表は、各学習データセットの異なるベンチマークの汚染率が表示しています。
CodeAlpaca (Chaudhary, 2023)は、OpenAIのDavinci-003を使用してSelf-instruct technique (Wang et al., 2023b) によって生成された合成データセットです。CodeAlpacaモデルの微調整に使用される20Kの命令に従うデータが含まれています。CodeAlpaca-20Kは、Tulu (Wang et al., 2023a) を含む多くの有名なモデルの学習に使用されます。検出にはk=1をパラメータとしてGPT-4を使用し、HumanEvalテストセットからの言い換えられたサンプルが21個存在し、12.8%を占めることが判明しています。下図は、CodeAlpaca内のHumanEvalの言い換えられたサンプルです。
RedPajama-Data-1T (Computer, 2023)は、オープンソースモデルの学習に広く使用されているデータセットです。MPT (Team, 2023) と OpenLlama (Geng & Liu, 2023) は共にこのデータセットを事前学習データセットとして使用しています。この論文では、GitHubサブセットから16Gのデータをサンプリングし、LLM Decontaminatorを用いて検出を行い、合計14のHumanEvalの言い換えられたサンプルを特定しています。下図は、RedPajama内のHumanEvalの言い換えられたサンプルです。
MATH (Hendrycks et al., 2021)は、代数学、幾何学、数論を含む様々な数学分野にわたる広く認識されている数学の学習データセットです。MathInstruct1 (Yue et al., 2023) など、多くの数学中心のデータセットに貢献しています。LLM Decontaminatorは、MATHテストセットの1.58%にあたる79個の言い換えられたサンプルを明らかにしています。下例は、MATH学習データ内のMATHテストの言い換えられたサンプルです。
FLAN (Longpre et al., 2023)は、様々なデータソースを含む包括的な知識学習データセットです。FLANの1.63%を占めるCoTサブセットを利用し、検出にはGPT-4を使用し、除染パラメータをk=1に設定しています。調査の結果、76のテストケース、MMLUテストセットの0.543%が言い換えされていることを示しています。
まとめ
この論文では、大規模言語モデルにおけるベンチマーク汚染の問題と、既存の除染方法の評価について検討しています。既存の検出方法では、単純なバリエーションを持つテストケースを検出できないことを示しています。このようなテストデータのバリエーションが排除されない場合、13Bモデルはテストベンチマークに過適合しやすく、非常に高い性能を示してしまいます。
これに対処するために、新しい検出方法であるLLM Decontaminatorを提案しています。この方法を実際のデータセットに適用し、これまで知られていなかったテストの重複を明らかにしています。この論文では、研究コミュニティには、パブリックのベンチマークを使用する際に、より強力な除染措置を採用することを強く勧めています。
言い換えられたテストサンプルは、学習データに含めることでベンチマークが影響を受ける可能性があるため、汚染と見なされるべきです。しかし、汚染の正確な定義は依然として難しい課題とされています。例えば、GSM-8kでは、学習データとテストデータが数字だけ異なることがあります。このような条件で学習されたモデルは、解法を暗記することはできるものの、見たことのないパターンに対する一般化が難しくなります。その結果、ベンチマークの数値はモデルの数学問題解決能力を正確に反映しない可能性があります。
モデルが大規模言語モデルによって生成されたデータで学習されることが増えるにつれて、意図しない汚染が発生する可能性が高まります。例えば、GPTによって生成されたCodeAlpacaデータセットにおいても、いくつかの汚染が発見されました。合成データでモデルを学習する際には、潜在的な汚染に注意を払う必要があるとしています。モデル開発者には、より強力な除染措置を導入することを提案しています。
さらに、提案した除染方法は有用なツールとなり得ますが、学習データにアクセスせずに汚染を検出する方法は依然としてオープンな問題です。静的なベンチマークに依存するのではなく、新しい一回限りの問題を作成して大規模言語モデルを評価することを提案しています。例えば、コーディング領域では、CodeForcesのような週次のコーディングコンペティションを利用することが考えられます。ベンチマークはモデル開発と同じくらい迅速に更新されるべきであるとしています。
この記事に関するカテゴリー