LLMの評価
Slalomでは大規模言語モデル (Large Language Model: LLM) の企業活用を支援しています。その中で、LLMのカスタマイズ、評価、応用事例について社内でサーベイを行う機会があり、その内容を社外にも公開しようという話になりました。本記事では、前回のLLMのカスタマイズ手法に引き続き、LLMの評価に関する話題を紹介します。
なぜ評価は必要?
モデルの評価は、機械学習を用いたシステムの効果を判断する上で不可欠です。体系的な評価がなければ、特に大規模言語モデル (LLM) のような複雑なモデルを構築・改善していくことは不可能と言えます。LLMを組み込んだシステムにおいて、LLMの出力はユーザーが直接目にするコンテンツ自体となりえます。そのため、その出力精度が悪ければユーザーにとって無意味なコンテンツとなり、害のあるコンテンツを含んだ出力は、直接的にユーザーに対して悪影響を及ぼす恐れがあります。以上の理由から、LLMの出力が意図したもかどうかを評価することは、重要であると考えられます。この記事では、まずLLMに関わるタスクとデータセットを紹介した後、代表的な評価指標を紹介します。
タスクとデータセット
LLMを用いたアプリケーションを構築するさいには、LLMがアプリケーションの目的に沿った動作をするかを評価します。アプリケーションに合致する、または、近しい自然言語処理タスクを見つけ、そのタスクに利用されるデータセットを用いることで評価が行えます。以下に、代表的な自然言語処理タスクの例と公開データセットを記述します。
自然言語理解, Natural Language Understanding (NLU):
GLUE (General Language Understanding Evaluation): 文章の類似性判定、感情分析、含意関係の認識といった多様なタスクを含むデータセットです。
SuperGLUE: GLUEよりもより深い言語理解が必要とされる難易度の高いデータセットです。
質問応答, Question Answering (QA):
SQuAD (Stanford Question Answering Dataset): Wikipediaの記事の内容に対する質問とその回答を、クラウドソーシングを用いて作ったデータセットです。
TriviaQA: Wikipediaの記事やウェブ上のテキストから、雑学に関する質問とその回答を収集したデータセットです。
NaturalQuestions: Googleによって公開されたこのデータセットには、実際のユーザーからの質問と、それに対するWikipediaの記事から抽出された短い回答が含まれています。
機械翻訳, Machine Translation:
WMT (Workshop on Machine Translation): 欧州連合の翻訳部門である欧州委員会によって作成された、欧州の複数の言語間の翻訳データセットです。
IWSLT (International Workshop on Spoken Language Translation): 話し言葉に特化して作成された翻訳データセットです。
要約, Summarization:
CNN/Daily Mail: CNN と Daily Mail のニュース記事のペアを収集し、各記事の要約を作成したデータセットです。
XSum: ニュース記事を元に作られ、各記事の要約が 1 文という特徴を持つデータセットです。
感情分析, Sentiment Analysis
IMDB: 映画レビューのテキストと感情ラベルのペアからなるデータセットです。データセットは、IMDB のウェブサイトから収集された 5 万件のレビューで構成されています。各レビューは、5 段階の感情スコア(1 つ星から 5 つ星)でラベル付けされています。
有害性検出, Toxicity detection
CivilComments: 2015年から2017年までの間に約50の英語のニュースサイトで作成された公開コメントから成るデータセットです。有害性の有無がラベルとして与えられています。
常識推論, Commonsense Reasoning:
CommonsenseQA: 常識に基づいた推論を要求する質問応答データセットです。
SWAG: 特定のシチュエーションに基づいた推論を行うためのデータセットです。
情報検索, Information Retrieval (IR):
評価に利用したい公開データセットが見つからない場合、自前でデータセットを用意する必要があります。公開データセットとデータセットを自前で用意する長所と短所、留意点は下記の通りです。
学習・テストデータの重複: 公開データセットは、元の事前学習済みモデルの学習に利用されている可能性があります。このようなケースでは、精度の評価値が不当に高くなる恐れがあります。
限定的なユースケース: 公開データセットは、広範に利用できるように汎用的に設計されています。そのため、本来評価したい目的との間にギャップが生じることがあります。
データのサイズ: 公開データセットは、定量的な評価に十分なデータのサイズがあります。一方で、自分たちの手で作るカスタムデータセットでは、十分なサイズのデータを集めるのには大きな手間がかかります。
評価の観点・指標の大別
ここではまず、評価の観点・指標を整理し、大まかな意味を説明します。
評価指標や手法などの詳細は次の節で説明します。
精度
精度に関する指標は、どれほどLLMが正確な出力を行えるかを測るための指標です。下記は精度に関する指標をまとめた表です。
ロバスト性
ロバスト性の評価では、モデルが様々な入力や状況に対してどの程度効果的に機能するかを測定します。
ロバストなLLMは、不変性と等価性の両方の側面を兼ね備えます。わずかなtypo等、入力の変化が意味の変化に関連しない場合に、モデルは一貫した出力を行う必要があり (不変性)、意味の変化に関連する入力の変化に対しては、適切に出力を調整する (等価性) ことが求められます。
公平性
公平性は、特定の属性に基づいて、言語モデルのパフォーマンスに違いがないという性質を指します。具体的には、言語モデルが特定の属性を持つ人々に不利益を与えたり、特定の属性を持つ人々を不当に有利に扱ったりしない場合、公平性が高いと言えます。
バイアス
バイアスは、言語モデルが特定の属性に基づいて、偏った結果を生成する性質を指します。具体的には、言語モデルが特定の属性を持つ人々に対して、否定的な表現や偏った予測を生成するケースがあります。
有害性
有害性は、言語モデルによって生成されたテキストが、特定の個人や集団に対して、差別的、攻撃的、または有害な影響を与えることを指します。
例えば、下記のような例があります。
攻撃的言語: 他人を攻撃する、侮辱する、または脅迫する言葉です。
差別的言語: 人種、性別、宗教、国籍、性的指向、障害などに基づく差別的な表現です。
不適切または下品な言葉遣い: 粗野、卑猥、またはその他の社会的に受け入れられない言葉遣いです。
効率性
効率性は、システムがどの程度迅速かつコスト効果的にタスクを処理できるかを指します。この概念は、特に大規模なデータセットやリアルタイム処理が必要なアプリケーションで重要です。性能の良いLLMであっても、コスト効率が悪い場合はサービス提供者やユーザーにとって使い勝手が悪いです。LLMの効率性に関して、学習時の効率と推論時の効率の2つの観点が考えられます。
キャリブレーション・不確実性
キャリブレーションは、予測された確率が実際の発生確率とどの程度一致しているかを指します。キャリブレーションの良いモデルは、予測された確率が実際の頻度と一致していることを意味します。
不確実性は、測定や予測における信頼度や精度の欠如を表します。これは、利用可能な情報の限界、測定誤差、モデルの不完全性などから生じます。
評価の観点・指標の詳細
次に、評価に関する観点や評価指標の詳細を紹介します。
精度
以下では、それぞれの指標の意味を個別に説明します。
マッチングに基づく参照指標
BLEU (Bilingual Evaluation Understudy)
出力と、答えとなる参照文との類似性を測定する指標であり、n-gramの適合率に基づいています。一般的には、機械翻訳の評価に使用されます。
ROUGE (Recall-Oriented Understudy for Gisting Evaluation)
生成された要約と参照要約文を比較して評価する指標であり、unigram、bigram、trigramのオーバーラップの再現率を測定します。複数のバリエーション (ROUGE-N、ROUGE-L、ROUGE-Sなど)があり、それぞれ異なる側面 (n-gramの一致、最長共通部分列、順序付きn-gramなど) を測定します。
METEOR (Metric for Evaluation of Translation with Explicit Ordering)
適合率と再現率の調和平均に基づいており、単語の一致に加えて、同義語や文法的変形を考慮する指標です。
以上紹介した定量評価指標の一部は、PythonベースのOSSライブラリを介して利用することできます。
BERTScore
BERTScoreは、BERTから事前に学習された文脈埋め込みを使用し、出力と参照文の単語をコサイン類似度で照合する埋め込みベースの評価指標です。
MoverScore
MoverScoreは、BERTから得られたベクトル表現に対してWord Mover's Distance (単語の移動距離) を適用し、2つのテキスト間の類似度を計算する評価指標です。BERTScoreがトークン同士を一対一でマッチングするのに対し、MoverScoreは多対一のソフトなマッチングを行います。
LLMを利用した自動評価
G-EVAL
CoT (Chain of Thoughts) と呼ばれるプロンプトエンジニアリングの技術を用いて、LLMから生成されたテキストの意味と流暢さを評価します。
GPTScore
GPT-3を用いて、生成されたテキストの意味、流暢さ、生成可能性を評価します。
LLM-EVAL
一つのプロンプト、一度のLLMのモデル呼び出しを用いて、対話文の品質を内容、文法、正確性といった複数の次元で評価します。
これらの指標・評価方法は、従来のBLEUやROUGEといったメトリクスに比べて、生成されたテキストの意味的な品質をより正確に評価し、人による評価と相関が比較的高いことが知られています。このため、機械翻訳や要約などのテキスト生成タスクでの使用が増えています。ただし、これらの指標は計算に複雑なモデルを使用しているため、計算コストが高いというデメリットもあります。
Human-in-the-loopによる評価
BLEU、ROUGE、BERTScore、MoverScoreのような指標は有用で定量的な自動評価手段を提供しますが、意味理解やコンテンツの適切さなどの文脈的要因で、人間の評価者が提供できる繊細な評価ができない場合があります。人手を介した評価を直接的な評価は、より豊かで繊細な評価が行え、創造性や倫理、適切さといった側面を捉えられます。しかし、定量的な自動評価指標と比較すると、時間や費用がかかり、評価者によって評価値がバラつくなど主観に伴う評価誤差リスクがあります。
ロバスト性
不変性 (Invariance) による評価
不変性は、異なる入力形式に対してもモデルが一貫した出力を提供する能力です。NLPにおけるロバスト性評価では、以下のような要素が考慮されます。
同義語の取り扱い: モデルが異なる単語やフレーズ (同義語や類義語) を使用しても、同じ意味を維持できるかを評価します。
文の再構成: 異なる単語の順序や構文構造を持つ文に対して、モデルが同じ意味を認識できるかどうかを評価します。
ノイズ耐性: スペルミスや文法の誤りがあっても、モデルが文の意味を正しく理解できるかをテストします。
ロバスト性の評価では、これらの変更に対し、精度などの評価指標がどの程度変化するかを観測します。元の入力を異なる入力に変換するライブラリの一つに、NL-Augmenterがあります。
等価性 (Equivariance) による評価
等価性は、LLMが入力データの意味の変化に対して、同じ意味を持つ結果を出力できる能力を指します。ロバスト性評価では、特に以下の点が重視されます。
文脈の変化への対応: 文の一部を変更することで意味が変わる場合 (例えば、時制や主語の変更) 、モデルがこれを適切に捉えて出力に反映できるかを評価します。
意味の微妙な変化の検出: 繊細な意味の違いやニュアンスの変化をモデルがどの程度捉えられるかをテストします。
これらの概念を用いたロバスト性の評価は、モデルが実世界の様々なシナリオや変化にどう対応するかを理解するのに役立ちます。不変性と等価性のバランスを取ることで、より実用的で信頼性の高いパフォーマンスを提供できます。
公平性
因果的公平性 (Counterfactual Fairness)
因果的公平性は、「もしも」の状況を考慮してLLMの性能を評価します。具体的には、個人の特定の属性が異なっていた場合に、モデルの出力の変化を評価します。因果的公平性が高いモデルは、これらの属性が変わっても同じような性能を発揮します。
例: LLMを使用して、履歴書から候補者の適性を予測する場合、公平性は候補者の性別や民族に基づいて予測性能が左右されない性質を意味します。因果的に公平であるためには、ある候補者が異なる性別や民族であった場合にも、その候補者の適性に関する予測性能が変わらないようにする必要があります。
パフォーマンス格差 (Performance Disparities)
パフォーマンス格差は、異なるグループ間でモデルの性能がどの程度異なるかを指します。この概念は、特定のグループ (例えば、特定の言語話者、人種、性別のグループ) に対してモデルが公平に機能するかどうかを評価するために用います。
例: ある言語変換ツールが英語からスペイン語への翻訳は非常に正確に行うが、英語から中国語への翻訳では誤りが多い場合、このツールは言語によるパフォーマンス格差を持っていると言えます。
グループ公平性 (Group Fairness)
グループ公平性は、異なる社会的グループ間でモデルの性能が均等であることを目指します。これは、モデルが特定のグループに対して偏見を持たないようにするための概念です。
例: LLMを用いてニュース記事やソーシャルメディアの投稿を分析した時に、特定の民族や性別に関して同等の性能を示す場合、グループ公平性が高いと言えます。
個人公平性 (Individual Fairness)
個人公平性は、機械学習モデルが類似した個々の人々に対して一貫性した性能を示す、公平な扱いをすることを目指す概念です。
例: LLMを使用してテキストの感情分析を行う場合、異なる個人が表現する感情に対して一貫性のある性能評価を行うことが求められます。言い換えると、特定の個人に関する属性や先入観に基づいた解釈を避け、一貫性のある性能評価を行うことを意味します。
これらの概念は、LLMやその他のAIシステムが公平性を保つために重要な観点です。それぞれが異なる側面から公平性を捉えており、これらをバランス良く取り入れることが重要です。
バイアス
人口統計学的表現 (Demographic Representation)
このバイアスは、ある人口統計学的グループがデータセットやモデルの出力において、過剰または不足して表現される事柄がある状況を指します。例えば、特定の性別、人種、年齢層、社会経済的地位などのグループが、データセットにおいて過小または過大に存在する場合です。この状況では、モデルは特定のグループに対する偏った見解を学習し、その結果、不公平な出力を行う可能性があります。
例: LLMが生成したテキストで、特定の人種や性別が他よりも頻繁に言及される場合、これはDemographic Representationのバイアスの一例です。例えば、LLMが職業に関する記事を生成するさいに、ある特定の人種が他の人種よりも頻繁に登場すると、これはその人種の過剰表現と言えます。
ステレオタイプな関連付け (Stereotypical Associations)
ステレオタイプな関連付けのバイアスは、特定の社会的グループや属性に対する先入観やステレオタイプが、データやモデルの挙動に組み込まれる状況を指します。これにより、モデルは特定のグループに対して偏った関連付けや予測を行うことがあり、これが不公平または差別的な結果を生む原因となります。
例: ステレオタイプな関連付けの例として、LLMが特定の職業や活動を特定の性別や人種と一貫して関連付ける場合が挙げられます。たとえば、LLMが「看護師」という職業を女性と関連付ける言語生成を行う場合、これは性別に基づくステレオタイプな関連付けの一例です。
公平性は特定のタスクにおけるグループ間での均等な性能 (精度など)を目指す概念であり、バイアスはモデルが生成する内容の偏りや非対称性に焦点を当てる概念です。これらは関連しているが、それぞれ異なる側面を表しています。公平性は特定のタスクの実行能力の均等性を追求し、バイアスはモデルの生成物自体の偏りを扱います。
有害性
有害性の評価には、下記の方法があります。
自動化された有害性検出ツールの使用: テキストの有害性を自動的に評価するために設計されたAIモデルを利用する方法です。これらのツールは、テキストの特定の言語パターンや単語の使用を分析し、有害性スコアを割り当てます。例えば、ツールの一つにPerspective APIがあります。
人間によるレビュー: 専門家や一般ユーザーがテキストをレビューし、その有害性を評価します。このアプローチは、文脈の解釈や微妙なニュアンスの理解が重要な場合に特に有効です。
ユーザーフィードバック: 実際のユーザーからのフィードバックや報告を利用して、モデルが生成するテキストの有害性を評価します。
効率性
LLMの効率性に関して、学習時の効率と推論時の効率の2つの観点が考えられます。
学習効率
エネルギー消費とCO2排出量: LLMの学習において、エネルギー消費量 (kWhで測定) とCO2排出量 (kgで測定)を考慮することが重要です。これらの指標は、使用されるGPUの数と種類、および学習過程に電力を供給するエネルギー源に影響を受けます。
推定方法論: 特定のデータが報告されていない場合、ハードウェアの使用状況とトレーニング期間の詳細が利用可能であれば、エネルギー消費と排出量をGPUの数やGPUの平均電力消費などから推定します。
推論効率
ノイズを除去した推論ランタイム: 評価対象のLLMの構築に利用した元のハードウェアとソフトウェア実装を使用して推論速度を計算します。このさい、外れ値などのノイズを除去します。
最適化された推論ランタイム: 最適化された均一な性能を持つハードウェアとソフトウェア実装を使用して、LLMの推論効率を測定します。
これらの指標は、モデルをより公平に比較し、効率と能力のトレードオフを理解するのに役立ちます。
キャリブレーション・不確実性
LLMのキャリブレーションと不確実性の管理は、モデルの有用性と信頼性を向上させる上で重要です。特に、医療や金融など生活に大きく影響を与える応用分野においては、これらの側面が特に重要になります。まず、キャリブレーションと不確実性の概念についてもう少し詳しく説明します。
キャリブレーション (Calibration)
キャリブレーションは、モデルが特定の出力に対して示す自信 (確信度)が、実際にその出力が正しい確率とどれだけ一致しているかを測定します。良いキャリブレーションとは、モデルが90%の確信度で予測を行った場合、その予測が正しい確率が実際に約90%である状態です。例えば、「吾輩は」という文章の次に来る文章が「猫である」確信度が90%である場合に、テストデータセットの文章を1000個とってきた時に、900個「吾輩は猫である」という文章が実際にあるとき、キャリブレーションは良い状態と言えます。
不確実性 (Uncertainty)
不確実性は、モデルが予測に自信を持っている度合い、あるいはモデルの出力の信頼性に関する情報を提供します。これは、モデルがデータの不完全性やノイズにどれだけ敏感かを反映します。不確実性にはエピステミック不確実性とアレータリック不確実性の種類があります。
エピステミック不確実性
モデルの知識の不完全さに由来する不確実性。例えば、訓練データに含まれない新しいタイプのクエリに対する不確実性です。
アレータリック不確実性
データ自体のランダム性やノイズに由来する不確実性。例えば、入力データに含まれる曖昧さやノイズがあります。
LLMにおけるキャリブレーションと不確実性に関して、Expected Calibration Error (ECE)や選択的分類 (Selective Classification) の評価指標と対処法が知られています。
Expected Calibration Error (ECE)
ECEは、モデルのキャリブレーションを測定するための指標です。これは、モデルの予測確信度と実際の正確性との間の一致度を定量的に評価します。具体的には、ECEは予測確信度をいくつかのビン (区間) に分割し、それぞれのビン内で予測確信度と実際の正解率の差の絶対値を計算します。これらの差の加重平均がECEです。
選択的分類 (Selective Classification)
選択的分類 (Selective Classification) は、モデルが不確実性が高いと判断した場合に予測を回避する手法です。このアプローチでは、モデルは自身の予測に対する自信の度合いに基づいて、いくつかのケースに対して予測を行わない選択をします。予測確信度が特定のしきい値よりも低い場合、モデルは予測を拒否します。このしきい値は、リスクの許容度やアプリケーションの要件に応じて調整されます。選択的分類の目的は、間違った予測のリスクを減らし、全体的なモデルの信頼性を向上させることです。これは、特に重要な意思決定やリスクが高いアプリケーションにおいて重要です。
これらの概念は、モデルの効果的な使用とリスク管理において重要です。ECEはモデルの信頼性を定量的に評価し、選択的分類はモデルの適用範囲を制御してリスクを最小限に抑えます。
まとめ
本記事では、LLMの評価に関する話題を紹介しました。評価の観点や指標については、タスクや文脈によって定義が異なる場合があり、ここで紹介した内容が全てではない点にご留意ください。
今後もLLM領域の技術進歩に合わせた付加価値が提供できるよう、技術動向をキャッチアップしていきたいと考えています。同様の思いを持つ読者にとって、少しでも私たちの記事が役に立てば幸いです。