2024-12-10 機械学習勉強会
今週のTOPIC[blog] VLMはBounding Boxを理解できるよって話[blog] LLM as a judgeを利用して、デプロイ後の図面解析モデルの精度を追跡する方法を考えてみる with Generative AI on Vertex AI[blog] CNN < Transformer?[論文] THE SUPER WEIGHT IN LARGE LANGUAGE MODELS[論文] OCR Hinders RAG: Evaluating the Cascading Impact of OCR on Retrieval-Augmented Generation[blog] A guide to Amazon Bedrock Model Distillation (preview)メインTOPIC[論文] From Generation to Judgment: Opportunities and Challenges of LLM-as-a-judge論文全体の構成概要と前置き何を判断するか Attributesどのように判断するか Methodologyどこで判断するか Application感想
今週のTOPIC
@Naoto Shimakoshi
[blog] VLMはBounding Boxを理解できるよって話
- 一部のVLMは訓練時に明示的にBounding Boxが含まれたテキストでの学習を行っている。
- BBoxに基づく画像説明やOCRなどを学習させている。
Bounding Boxを明示的に学習しているVLMの例としては、LLaVA 1.5やQwen-VL (Qwen2-VL含む)、Fuyu-8Bが挙げられます。日本語特化モデルならLLaVA 1.5の学習に倣っているllava-calm2-siglipがBounding Boxの学習を行っています。
- 論文の表記と合わせて生成させるとBBoxをちゃんと生成できるよ、という話。
- で色々なプロンプトで実験。
- 画像から”negative”文字の位置を当てる。
- 5パターンで実験
- ちゃんと生成できている
- 右から順に一枚ずつ見つけさせていき、なんとなく取れている。
単純に実装
期待する返答のフォーマットを生成のprefixにする
Systemプロンプトでフォーマットを誘導
BBox → テキスト生成を狙う
Systemプロンプトパターンで、カードを順番に見つけさせていく
- 他にも画像サイズにもかなり影響されるっぽく、大きくても小さくてもダメ。一つの応答で複数のBBoxを生成しようとしても難しい、という結果が得られた。。
[blog] LLM as a judgeを利用して、デプロイ後の図面解析モデルの精度を追跡する方法を考えてみる with Generative AI on Vertex AI
- CADDiさんのブログ
- という話。
- 図面内に存在する寸法のうち、最大値を推定するという最大寸法推定タスクを対象に実験。
- 精度出るならGPT-4oをそのまま使えばいいじゃんとなるのでは?と思ったが、レスポンスやコスト的な面で不採用になったらしい。
- 実際にVertex AIを用いてLLM-as-a-judgeを実装した例も記載。
- 以下のようなexplanationも書いてくれる。
- (自然言語の生成文とかは人としても評価難しかったりするので、LLN as a judgeがいい気はするが、こういう定量的なやつは統計値とかをベースラインでモニタリングした方が良さげな雰囲気)
@Yuta Kamikawa
[blog] CNN < Transformer?
- 物体検出のアーキテクチャにおいて、一般的にはTransformerベースの手法がCNNベースの手法より性能が高いという結果が出ているが、一概にはCNN < Transfomerとは言えませんよ、という話
- MS-COCOベンチマークでは精度も速度もTransfomerベースの手法が凌駕している
- 特定のユースケースにおいてはCNNベースの手法の方が精度が良いこともある
- ブログの著者は解像度が高く、物体数が多い物体検出タスクに取り組んでおり、Transformerベースの手法だと小さな物体を検出することができず、精度が上がらなかった
- モデルサイズが300MBのTransformerに対し、モデルサイズ1MのCNNでも小さな物体に対する精度は大きな差がありそうなことがわかった
- 推論速度は流石にTransformerがめちゃ早い
- NMSあり
- NMSなし
- 中低解像度、物体数が概ね100未満であれば何も考えずTransformerベースの手法を使えば良さそう
- それ以外の場合、一概に とは言えないのでは?
- データの品質とアーキテクチャ選定は改めて重要
@Shun Ito
[論文] THE SUPER WEIGHT IN LARGE LANGUAGE MODELS
- arxiv2024 by Apple (internship)
- LLMで Super Weight の存在があることを実験的に示した
- Super Weight とは
- 入力情報の処理において、特定の次元の値を大きく増幅させ、極端に高い活性化値 (Super Activation) を作るような重み
- Super Activationは非常に大きく、一定の値になっている
- 複数のモデルで観測され、いずれもmlp.down_proj(次元削減)で発生している
- 出力に大きな影響を与え(skip connectionsで伝搬する)、取り除くことで出力の品質が大きく下がる
- Super Activationを考慮して量子化する
- super activation を medianに置換 → quantise → dequantise → restore
- super activationを極力そのままにする
- 他の量子化手法と比べて、実験的に良い性能が得られている
@qluto (Ryosuke Fukazawa)
[論文] OCR Hinders RAG: Evaluating the Cascading Impact of OCR on Retrieval-Augmented Generation
OCRの結果を利用したRAGシステムを構築する際のカスケーディングインパクトに立ち向かうためのベンチマークOHRBenchを作ったよという論文
- どんなデータセットか
- 6つの実世界のアプリケーション領域(教科書、法律、金融、新聞、マニュアル、学術)から350の非構造化PDF文書を収集
- OCRノイズを「Semantic Noise(意味的ノイズ)」と「Formatting Noise(フォーマット的ノイズ)」の2種類に分類
- Semantic Noise(意味的ノイズ):
- 定義:
- OCRの予測エラーによって生じるノイズ
- テキストの意味内容に影響を与える誤認識
- 具体例:
- タイプミス
- 数式記号の誤認識
- テーブルの内容や構造の誤り
- 文字の切り捨てや途中での切れ目
- 影響:
- RAGシステムの検索精度と生成品質の両方に大きな影響
- 軽度から重度の摂動まで、パフォーマンスが最大50%低下
- 特にテーブル関連のクエリで深刻な影響(例:GPT-4oのF1スコアが50%低下)
- Formatting Noise(フォーマット的ノイズ):
- 定義:
- スタイルのレンダリングに使用されるフォーマットコマンドに関連するノイズ
- 文書の構造や体裁に関わる問題
- 具体例:
- 数式の空白文字
- 太字やイタリック体などのスタイルコマンド
- テーブルのMarkdown、LaTeX、HTMLなど異なる形式の表現
- 段落レベルの調整(タイトル、読み取り順序の変更など)
- 影響:
- 主にマルチモーダル要素(数式、テーブル)を含むクエリに影響
- プレーンテキストへの影響は比較的軽微
- BM25で最大16.8%、Qwen2-7Bで19.4%のパフォーマンス低下
- より高度なモデル(GPT-4o)は比較的耐性が高く、影響は約6%程度
- OCR Solution として pipeline-based systems, End-to-End Models, Universal VLMs の3種類を想定しエラーの評価を行なった。今回採用した手法・モデルにおいてはpipelineベースのものが総合的に良い結果になっている
@Yosuke Yoshida
[blog] A guide to Amazon Bedrock Model Distillation (preview)
- Amazon Bedrock Model Distillation の主な利点
- 効率性: 蒸留モデルは、最も高性能なモデルに匹敵する高いユースケース特化型の精度を提供しながら、一部の最小モデルと同じくらい高速です。
- コスト最適化: 蒸留モデルによる推論は、大規模で高度なモデルと比較してコストが安く抑えられます。
- 高度なカスタマイズ: Amazon Bedrockのモデル蒸留では、ファインチューニングのためのラベル付きデータセットを作成する必要がありません。Amazon Bedrockは、高品質な教師モデルの応答を生成する複雑なプロセスを自動化し、多様で大量のトレーニングデータセットを作成します。このプロセスでは、最大1万5千件のプロンプトと応答ペアを含むデータ合成や拡張技術をバックグラウンドで適用し、ユースケースに自動適応して蒸留モデルの性能を最適化します。
- 使いやすさ: Amazon Bedrockのモデル蒸留は、教師モデルの応答生成を自動化し、データ合成で応答を改善し、最適化されたハイパーパラメータ調整で学生モデルをファインチューニングする単一のワークフローを提供します。
- プレビューでは、Amazon Bedrock Model Distillation は、Amazon、Anthropic、Meta の 3 つのモデルプロバイダーをサポートしています。教師モデルと生徒モデルは、同じモデルプロバイダーからのものである必要があります。
メインTOPIC
[論文] From Generation to Judgment: Opportunities and Challenges of LLM-as-a-judge
Dawei Li, Bohan Jiang, Liangjie Huang, Alimohammad Beigi, Chengshuai Zhao, Zhen Tan, Amrita Bhattacharjee, Yuxuan Jiang, Canyu Chen, Tianhao Wu, Kai Shu, Lu Cheng, Huan Liu
LLM-as-a-judge について網羅的に調査したサーベイ論文。(先週紹介したものよりきめが細かい)
論文全体の構成
- 概要や前置き
- 主要な取り組み
- 何を判断するか Attributes
- 有用性 Helpfulness
- 無害性 Harmlessness
- 信頼性 Reliability
- 関連性 Relevance
- 実現可能性 Feasibility
- 全体的な品質 Overall Quality
- どのように判断するか Methodology
- チューニング方法
- プロンプティング戦略
- どこで判断するか Application
- 評価タスク
- アラインメント
- 情報検索
- 推論
- 課題と将来の展望
- バイアスと脆弱性の問題
- 動的で複雑な判断の実現
- 自己判断機能の改善
- 人間とLLMの協調判断
概要と前置き
- BLUE, ROUGEなどの伝統的な評価方法はリファレンスとなるテキストの表層表現に根差したものであり、オープンエンドなシナリオにおいては大きく制限を受ける
- BERTScoreやBARTScoreなどの埋め込みベースの評価手法も、有用性や無害性といった属性の評価には限界がある
- GPT-4などの最新LLMの進歩によって、スコアリング、ランキング、候補選択を行うようなLLM-as-a-judgeというコンセプトが登場した
- 評価パイプラインを組むことで、より詳細で精密な判断が可能になったり、評価だけではなく、アラインメント、情報検索、推論など幅広い応用もできるコンセプト
何を判断するか Attributes
- 有用性 Helpfulness
- 現在開発されている最新のLLMでは、 instruction tuning と alignment process を経て生まれており、その結果としてユーザーの指示に従い効果的な応答ができるようになっている。
- この alignment process ではコストのかかる多くのデータが必要なため、LLMを用いて有用性をラベル付けしたりデータを生成・評価する方法が模索されている。
- 複数のLLMから得られたレスポンスをGPT-4によってランキングづけさせたデータセットによって学習させたLLMが人の評価で高スコアを出した例など (Starling-7b)
- 無害性 Harmlessness
- 無害性を含むアラインメントに関する評価指標を12個のスキルとして詳細に定義し評価に用いることで人間の評価との高い一致性を示した例も https://arxiv.org/pdf/2307.10928
- Anthropic の憲法AIと呼ばれる手法も、LLMにガイドラインを提供し無害性評価をさせアラインメントを獲得するための手法として強力。
- 無害性をトークン生成時に逐次評価し、高いスコアを保てるようトークン生成を巻き戻すというような生成と評価とを組み合わせた事例も https://arxiv.org/abs/2309.07124
- 信頼性 Reliability
- 主に hallucination 対策として事実性をどのように評価するかという論文が多め。出力結果を分解し外部リソースと付き合わせて検証するような事実性の確認、クレームレベルでの情報抽出とその批評によって事実性を定義するものが中心
- 関連性 Relevance
- 従来の評価方法では難しい、文脈の微妙な違いやニュアンスを捉えた評価のための研究が盛ん
- 会話における関連性評価、RAGにおける関連性評価、マルチモーダル応用での関連性評価、などが代表的なものとして取り上げられている
- 実現可能性 Feasibility
- 推論パイプラインとして構築されたようなエージェンティックLLMにおいて、候補となるアクションやステップの実現可能性の評価が、計画、推論、意思決定の成功にとっては非常に重要になる
- モンテカルロ木探索を行わせる研究から、Tree -of-Thoughtという形でLLMが状態評価を行うステップ探索法、木ではなくグラフ構造によって実現可能性をLLMに付与させる手法などに発展してきている
- マルチエージェントをMoE的に協調させる際、判定用のLLMを用意させる事例も
- 全体的な品質 Overall Quality
- 要約タスク
- 要約の品質評価においては、評価次元が限られているため、LLM-as-a-judgeを直接プロンプトして総合評価を生成することが一般的(Gao et al., 2023; Jain et al., 2023a)。
- 機械翻訳タスク
- 機械翻訳の評価でも同様に、LLMに総合的な評価を直接生成させる方法が広く使われている(Huang et al., 2024; Kocmi and Federmann, 2023)。
- より自由形式の長文生成タスク
- 開放的で長文形式の生成タスクでは、評価次元が多岐にわたるため、LLMを用いて属性ごとの評価結果をまとめ、総合的な判断を生成することが求められる場合がある
どのように判断するか Methodology
- チューニング方法
- データソースの確保
- 人間による評価データ・アノテーションデータの用意
- LLM自体が生成する合成フィードバックを活用
- LLMにノイズを加えた指示を生成させ、その指示に基づく応答を低品質なものとして扱うなど、事前に用意されている品質の高いデータから外れたものを生成させる手法がある https://arxiv.org/abs/2408.02666
- トレーニング手法
- 大きく分けてfine-tuning, preference learning がある。
- fine-tuningは言わずもがな、preference learningとしては(RLHFに変わる)Direct Preference Optimizationという手法によるチューニングなど
- プロンプティング戦略
- Swapping Operation
- 候補の順序による位置バイアスを軽減するため、候補の順序を入れ替えて処理を2度実行。結果が一致しない場合は引き分けとするような手法
- Rule Augmentation
- プロンプトに評価原則や基準を直接組み込む手法。有用性、無害性などの原則を明示し、詳細な評価基準やルーブリックを与える
- Multi-agent Collaboration
- mixture-of-agent、ロールプレイ、ディベート、投票システムなどの形を通じて複数のLLMを組み合わせての判断を行わせる手法
- Demonstration
- in-context learningを活用し、人間の評価結果を例として提示する手法。
- Multi-turn Interaction
- 一度のLLM評価だけでは十分な判断ができないようなシチュエーションに対応するためのマルチターンな手法。評価用LLMにインタビュアーの役割を持たせて動的な質問を生成させて評価させたり、複数モデル間でのディベートという形を取ることがある
- Comparison Acceleration
- ペアワイズでの評価は最も一般的なアプローチだが、複数の選択肢をランク付けしたいといった状況では時間がかかり過ぎてしまう。
- ベースラインとの比較によって処理を簡略化したり、トーナメント形式での候補サンプリングによる処理効率化などが研究されている
どこで判断するか Application
- 評価タスク
- Open-ended Generation Tasks
- どんなものか
- 安全性、正確性、文脈関連性が求められるが、単一の「正解」が存在しない
- 対話応答、要約、ストーリー生成などが対象
- 評価の焦点
- 個別モデルの出力評価、複数モデルの比較評価、Hallucinationの検出、安全性関連の応答評価など
- Reasoning Tasks
- どんなものか
- 数学的推論、時系列を踏まえた推論
- 評価の焦点
- 推論過程における中間的な思考プロセスの評価、最終的な回答の正確性、論理的な一貫性を評価する必要がある
- Emerging Tasks (新興タスク)
- 社会的知性(他者との効果的なやり取りや共感能力)は学術的知性(論理的推論や知識生成)と比べて改善の余地が大きく、二つの間には相対的に低い相関があることが確認されている。こういった知性の評価に関しては先述のものとは大きく異なる評価軸が用意されている Empathy, Social-cognition, Self-presentation, Influence, Concernなど
- マルチモーダルモデルの評価においても、LLMと近しいアプローチで評価用データセットをモデルに生成させ、新たな評価用モデルを作成するというアプローチが取られていたりする。
- その他特定ドメインにおいては、コード理解、法的知識、ゲーム開発、海洋科学、ヘルスケア会話、ディベート判定などの事例が取り上げられている。
- それぞれドメインに合わせ、旧来の評価方法やLLMによる評価などを組み合わせて評価の仕組みを組み上げている
- BLUE, NER, LLM評価を組み合わせて総合的に評価している事例など
- アラインメント
- より大規模なモデルを判断者として小規模モデル向けに活用するパターン、自己フィードバックをさせるパターンなど。LLM自体をチューニングする話題が中心
- 情報検索(単純なjudgeという枠組みを超えて、ワークフロー・パイプラインを構築した上で結果を操作するという話に踏み込んでいる)
- 従来型検索への応用
- 検索結果のリランクにLLMを活用
- LLMのポジションバイアスに対処することが重要
- RAG
- 検索結果に対する評価を行わせ、さらなる情報取得のための判断を行わせたり、確実なエビデンスは何かというのを特定させた上で結果生成を行うなど、評価内容自体をアプリケーションへと組み込むという意味で LLM-as-a-judge を行なっていると言える
感想
- 人が行なっている評価の正体を定義・細分化し、それをLLMに行わせた時の人間の評価との相関・一致状況を評価するというのが基本的な流れ
- 機械的に処理しやすい評価指標になるようtraditionalなタスクに落とし込んだ上でLLMに解かせたり、0~10でスコアリングする多数の評価軸を事細かに定義するなど。ポイントワイズ的アプローチ
- 一方で、評価指標をきちんと整えたり、負担少なく大量のデータを手に入れることが大変であろうことから、ペアワイズでの評価を行うアプローチも多く見受けられた。これらはサーベイ論文内でも common approach とされていた
- ポジションバイアスに触れている論文がちらほらと散見されるなど、LLM-as-a-judgeにおける頻出の課題と対策が蓄積されてきていることがわかった
- 面と向かっているタスクが様々なのもあって、これで評価すればOK!と言った銀の弾丸的な評価方法は定まっていない様子。みんな思い思いの評価を行なっている
- つまり数あるアプローチを手札としてよく把握しておき、自分が向き合う問題に合わせて評価方法を定めていくのが必要な所作になってくるはず