2024-09-19 機械学習勉強会
今週のTOPIC[blog] GPU acceleration with Polars and NVIDIA RAPIDS[blog] Learning to Reason with LLMs[blog] AIエージェントキャッチアップ勉強会#1[blog] ICDAR'24参加速報 〜LLMでドキュメント解析は解決されるのか?〜[slide] 自社開発した大規模言語モデルをどうプロダクションに乗せて運用していくか〜インフラ編〜[blog] Mixture of Experts Explained[blog]【Reflection70B】GPT-4oやClaude 3.5超えの最強LLM?自らのミスを自動修正する技術搭載![slide] 遊戯王ニューロンにおける Amazon SageMaker の活用 大規模画像データの MLOps 基盤構築Information Extraction from Visually Rich Documents Using Directed Weighted Graph Neural Network概要1. Introduction2. Related Work3. 提案手法Word Embedding ModuleGraph Builder ModuleNode Classifier Module4. 実験感想
今週のTOPIC
@Naoto Shimakoshi
[blog] GPU acceleration with Polars and NVIDIA RAPIDS
- polarsでGPU (cuDF)を使う処理がβ版になり、ほとんどの一般的な関数がカバーされるようになった。
- 計算処理が最大13倍になるらしい
- 大きいサイズほど恩恵が大きい
- インストール
- 以下のようにcollectする際に とするとGPUを使える (簡単!)
- Colab notebookで試せる
- 機能としてGPUで処理できないものはCPUに自動でFallbackしたり、未実装だがCPU処理のほうが有利なクエリはCPUを使い、それ以外はGPUといったハイブリッド処理などを目指している。
- polarsのpython APIをcuDF APIで単純に置き換えるのではなく、polarsでクエリの実行計画などを最適化した後にエンジンをGPUに移行する。そのため、最適化部分などはpolarsの恩恵を受けつつも、実行だけはGPUの恩恵を受けられるという形になる。
@Tomoaki Kitaoka
[blog] Learning to Reason with LLMs
- OpenAI o1 は、競技プログラミング(Codeforces)で 89 パーセンタイルにランクインし、米国数学オリンピック(AIME)予選でトップ500に入るほどの性能を見せ、物理学、化学、生物学の問題で、博士号レベルの人間の正答率を上回った
- o1 の大規模な強化学習アルゴリズムによってchain of thoughtを使って生産性高く思考するための仕組みを訓練された。また、o1 のパフォーマンスは、訓練時間や思考に費やす時間が増えるにつれて向上することが確認されている。
- Evals
- o1は、数学やプログラミング、PhDレベルの科学問題など、難易度の高い推論ベンチマークでGPT-4oを大きく上回る結果となった。化学、物理、生物学の専門知識を問う難しいインテリジェンスベンチマークGPQAではo1は人間の専門家のパフォーマンスを上回り、このベンチマークで初めて人間を超えたモデルとなった。
- GPT-4oとo1の各競技評価での正答率やスコアの内訳を見ると、o1は53/57のMMLU(マルチタスク・言語理解ベンチマーク)でGPT-4oを上回っており、幅広い分野で優勢性を示している
- Chain of Thought
- 強化学習を通じて、o1は自らのChain of Thoughtを洗練させ、使用する戦略を改善する。
- モデルは、自身のミスを認識して修正する方法を学び、また、雑なステップをよりシンプルなものに分解することを習得し、現在のアプローチが機能しない場合には異なる方法を試すように学習して、モデルの推論能力は劇的に向上した。
- Coding
- 2024年国際情報オリンピック(IOI)において213ポイントを獲得し、49パーセンタイルにランクインする性能を見せた
- この大会は1問あたり提出回数が50というの制限があったので、提出物はIOIの公開テストケース、モデルが生成したテストケース、そして学習されたスコアリング関数のパフォーマンスに基づいて選定されるようにチューニングをした。もし1問題あたり10,000回の提出が許可されていた場合、このモデルは362.14点を獲得し、金メダルの基準を超えるスコアとなっていた。
- 最終的に、このモデルのコーディングスキルを示すために、Codeforcesで開催された競技プログラミングコンテストをシミュレーションしたところ、GPT-4oはEloレーティング808を達成し、人間の競技者の中で11パーセンタイルに入りましたが、このモデルはGPT-4oとo1を大きく上回り、Eloレーティング1807を達成し、競技者の93%よりも優れたパフォーマンスを示した。
- Human preference evaluation
- 試験や学術的なベンチマークに加え、o1-previewとGPT-4oの評価を、さまざまな分野における難易度の高いオープンエンドのプロンプトを用いて行った。この評価では、人間のトレーナーに対して、o1-previewとGPT-4oの匿名化された回答が提示され、どちらの回答を好むか投票してもらった。
- 結果として、o1-previewはデータ分析、コーディング、数学など推論が重視されるカテゴリーで大差をつけてGPT-4oよりも好まれた。しかし、自然言語に関するいくつかのタスクではo1-previewがあまり好まれず、すべてのユースケースに適しているわけではないことが示唆された。
- Hiding the Chains of Thought
- 隠されたChains of Thoughtは、モデルの思考プロセスを理解するための重要な手段と考えていますが、ユーザーにはそのまま見せず、モデルがその思考から有益な内容を回答に反映させる形にしている。
- ユーザー体験、競争優位性、思考の連鎖のモニタリングなど、さまざまな要因を考慮した結果、ユーザーには生の思考の連鎖を見せないという決定をしました。この決定にはいくつかの欠点があることを認識していますが、モデルに思考の連鎖から有益なアイデアを回答に反映させる方法を教えることで、この欠点を部分的に補おうとしている。
@Yuta Kamikawa
[blog] AIエージェントキャッチアップ勉強会#1
- その名の通りAIエージェントをキャッチアップする勉強会の第一回が9/17に開催
- AIエージェントとは
- 事前に決められた目標を達成するために、必要なアクションを自律的に選択し実行するプログラム
- 第一回では、AutuGen/AutoGen Studioについてドキュメントを読んだり、実際に動かしたりしながらキャッチアップ
- AutoGenはマルチエージェントの会話に特化したフレームワーク
- 次回開催予定
- お昼の時間にご飯食べながらオンラインで参加するのも良さそう
@Ryosuke Fukazawa
[blog] ICDAR'24参加速報 〜LLMでドキュメント解析は解決されるのか?〜
以前この勉強会でも取り上げられていた “CREPE: Coordinate-Aware End-to-End Document Parser” の著者によるICDAR 2024 参加レポート
ここでは「近年のLLMによってドキュメント解析領域の研究課題は解決されるのか、または従来のドキュメント解析のアプローチに欠かせないDetectorやRecognizeやParserやLayout Analysisといった要素技術を今後も研究するべきか?」くらいのニュアンスで捉えるのが適切です。先に結論だけ書いておくと、今後も必要だという主張の方が多かったです。
ハルシネーションのリスクをコントロールしつつ、モデルの出力に説明性を持たせるための方法として、これまでのドキュメント解析のための技術が大事であるのは変わらないであろうという見解が示されてます。
@Yosuke Yoshida
@MatsudaKazuki
[blog] Mixture of Experts Explained
一昔前にLLM界隈で話題になりかけていたMoEについてです。MoEという言葉自体は1991年にすでにあったっぽいですが、Mistralが使っていることやMoE-LLaVAが出てきたことで最近またよく見るようになってきています。ちょっと時代遅れ感はありますがアイデア自体は割と簡単で面白いので選びました。
MoE(Mixture of Expert)における基本的な考え方は
「異なる専門家(異なるパラメータを持つNN)にそれぞれ得意分野の入力を投げよう」
というもの
MoEは主に、Gating Network(Routerとも呼ばれる)とN Experts(基本的にはFFN)で構成。これらはともにパラメータを持っていて学習可能。
Gating Networkでは、入力に対してそれぞれのExpertに対しSoftmaxで正規化された重みづけを行う。その後ネットワーク(Expert)の出力に対して重みを掛け合わせる。
基本的な考えは以上だが、現在注目されているMoEはSparse MoE(SMoE)と呼ばれているもので、Gating Networkの出力のtop kのExpertに対して上の処理を行おうというものになっている。
なぜ話題に?→MLLMと相性がいい
- 計算コストを抑えたままパラメータ数を増やせる
- スパース性により計算量の削減になる
- 適切なエキスパートのみが活性化されるため、パラメータに対して計算量が減る
- LLMにおいて正義であるパラメータ数を大きく保ちながら計算を効率的に行える
- MLLMにおけるMoEの入力はトークン単位になるが、image tokenとtext tokenを適切なExpertに割り当てられる
- モダリティによって活性化されるExpertが異なる
- 性能もかなり良い
@Shinnosuke Hirano
[blog]【Reflection70B】GPT-4oやClaude 3.5超えの最強LLM?自らのミスを自動修正する技術搭載!
少し前にXで話題になっていたHyperWriteが発表したオープンソースのLLMモデル
概要
LlamaベースのLLMをReflection Tuningによって性能を大幅に改善
Reflection Tuningとは
Reflection Tuningとは、モデルが自身の生成内容をリアルタイムで評価し、誤りを検出して修正する技術です。Reflection 70Bでは、生成されたテキストがこの技術を使って正確性を評価・確認された後にアウトプットされます。 具体的には、モデルは推論の過程を<thinking>タグ内に表示し、最終的に納得した答えが<output>タグに出力されます。このプロセスにより、ユーザーは推論内容を確認し、もう一度見直すことが可能です。また、ハルシネーションを防止するために、<reflection>タグが使われ、モデルが自己修正を行います。もし<thinking>タグで誤りがあった場合、<reflection>タグでそのミスを修正し、より正確な解決策を提案します。
性能評価
複数のベンチマークにおいてGPT-4o、Claude 3.5 Sonnetを上回る結果。
GPT-4oに対しては全てのベンチマークで性能が上回る。
所感
- オープンソースかつパラメータ数70BでGPT-4oを上回る結果を得られているのは極秘情報を扱う企業とかはとても喜びそう
GPT-o1-previewでも使われている?
- 日本語の性能はイマイチのようで残念
@Hiroshi Nishijima
[slide] 遊戯王ニューロンにおける Amazon SageMaker の活用 大規模画像データの MLOps 基盤構築
- 遊戯王OCGの公式アプリである遊戯王ニューロンには、画像に含まれるカードを最大20枚まで同時に検出する機能がある
- 新規カードが追加されるたびに、そのカードに対応するようにモデルを更新する必要がある。
- 更新時の課題
- 学習時の課題(作業コスト、モニタリングコスト…)
- データの課題(学習データ・テストデータの作成…、データの管理コスト)
- 運用の課題
→ SageMaker を軸としてMLOps基盤の構築をすることで課題の解決を測る
移行前
移行後
Information Extraction from Visually Rich Documents Using Directed Weighted Graph Neural Network
Hamza Gbada, Karim Kalti, and Mohamed Ali Mahjoub
ICDAR 2024
概要
- Visually Rich Document (VRD)のEntity間の関係を捉えるために、 重み付き有向グラフを用いた新しい手法の提案。
- 既存研究は、ユークリッド距離を用いた空間的近接性に依存する手法が多かった。
- 本研究では、重み付き有向グラフを用いた新しい関係表現を使ったGNNを用いることで、高い性能を達成した。
1. Introduction
- VRDとはGraphicやChart、異なるフォント、様々なテキストの方向やレイアウトなどが入り混じった文書のこと。
- VRDのタスクを解くためには、文書のテキストブロックの配置などの視覚的情報が重要になる。
- 既存研究はユークリッド距離を用いてエッジを構築するようなものが多かったが、以下のようなDateと日付の距離やTOTALと金額の距離などを見ると、単純に距離が近かったら関連度が高いというわけではないことがわかる。
- これに対し、新しい重み付き有向グラフを用いたモデルを提案する。貢献としては以下の3つ。
- VRDの構成要素とその関係性を効率的にハンドリングできるようなアプローチを提案した。
- VRDに適した隣接関係の多様性を考慮した重み付き有向グラフを提案した。
- 5つの実世界データセットで評価して、有意な改善を示した。
2. Related Work
- Information extraction from invoices:a graph neural network approach for datasets with high layout variety, WI 2021, Krieger,F., et al.
- Information ExtractionをNode Classificationに置き換え、GATを利用した。
- ノード特徴量をText特徴、相対距離をエッジ特徴にした。
- An invoice reading system using a graph convolutional network., ACCV 2018, Krieger,F. , et al.
- word特徴量をノードとし、近傍のノードを用いてGCNでNodeのラベルを分類。
- Spatial dependency parsing for semi-structured document information extraction., ACL-IJCNLP 2021, Hwang, W., et al.
- Information ExtractionをTextのToken間のEdgeを繋ぐかどうかを解く問題として定式化した。
- Consideration of the word’s neighborhood in GATs for information extraction in semi-structured documents., ICDAR 2021., Belhadj, D., et al.
- Word特徴量とVision特徴量をノードとし、近傍4つのノードを用いてGATでNodeのラベルを分類。先行研究に比べて近傍数を少なくした。
- Improving information extraction from semi-structured documents using attention based semi-variational graph auto-encoder., ICDAR 2023., Belhadj, D., et al.
- Semi-Variational Graph AutoEncoderを使って、ラベル付けされていないデータも用いて事前学習する半教師あり学習を提案。
- 事前学習タスクが最終的な分類にも寄与するように、最終的に用いる分類器と層を共有するAttentionベースのVAEを提案
- グラフのエッジは3つ後ろに続く行とユークリッド距離に基づき決定。
- Spatial dual-modality graph reasoning for key information extraction., arxiv 2021, Sun, H., et al.
- Key Information taskをNode Classificationタスクに置き換えた。
- U-NetとBi-LSTMを用いたノード特徴量を作成。
- GraphのEdgeはテキスト間の空間的特徴から決定。
- DAMGCN: entity linking in visually rich documents with dependency-aware multimodal graph convolutional network., ICDAR 2023, Chen, Y.M., et al.
- VRDにおけるEntity Linkingの問題にDAMGCN (Dependency Aware Multimodal Graph Convolutional Networks)という手法を提案。
- レイアウトベースでkNNを用いてグラフを構築し、Link Predictionとして問題を解いた。
- LayoutGCN: a lightweight architecture for visually rich document understanding. ICDAR 2023, Shi, D., et al.
- VRDに対する効率的なアーキテクチャをGCNを用いて構築し、Mobileでも動かせるようなモデルにした。
- Word特徴、Vision特徴、Layout特徴をノード特徴量とした。
- Multimodal weighted graph representation for information extraction from visually rich documents. Neurocomputing 2024, Gbada, H.
- 重み付きグラフを用いたVRDからの情報抽出。
- Word特徴、Vision特徴、Layout特徴をノード特徴量。
- 隣接するテキストとの関係をEdge。
3. 提案手法
以下の3つのモジュールから構成される
- Word Embedding Module
- OCRをかけて生成されたテキストからWord Embeddingを作成
- Graph Builder Module
- Word Embeddingとそれに含まれるBounding Box情報を受け取って、それらを集約する。集約した情報を用いて重み付き有向グラフを作成する。
- Node Classifier Module
- Node Classificationとして問題を解く
Word Embedding Module
- BERTを利用してテキスト分類を学習させ、埋め込みベクトルを得るためにMapping層を追加する。
- Mapping
- テキスト分類で学習したEmbeddingを今回のユースケースに合わせたEmbeddingに手軽にMappingするための層
Graph Builder Module
- 各文書を以下のようなn個のBBox情報の集合として定義。それぞれ左上隅と右下隅の座標。
- 各BBoxをグラフのノードとし、エッジをBBox間の関係を定義するものとする。
- 各エッジには以下のような重みが割り当てられる。今回のケースだとこれは2つのBBox間の角度とする。
- 以下のようなアルゴリズムでグラフを構築していく。
- 上から下、左から右でBBoxを並び替えていく。
- 自分より後ろにいるBBoxを対象にそのBBoxとの間に他のBBoxがないのであればEdgeを繋ぐ。
- エッジの重みとして角度、ノードのEmbeddingをWord EmbeddingとしてAssign。
Node Classifier Module
- GCNを用いて単純にNode Classification
- GCN知らない人は以下を参照
- ‣
- ‣
4. 実験
- Dataset
- FUNSD
- NoisyなForm画像
- 149枚を訓練 50枚をテスト
- CORD
- 1000枚超のインドネシアのレシート画像
- 80%を訓練、10%を検証、10%をテスト
- WILDRECEIPT
- 1740のレシート画像
- 平均で39個のBBox
- SROIE
- ICDAR 2019のコンペで使われたもの。
- 4つにカテゴリ分けされた1000のレシート画像
- 600枚を訓練、400枚をテスト
- XFUND
- 7つの言語で構成された1393枚のForm画像。
- それぞれの言語で199枚
- 149枚を訓練、50枚をテスト
- 結果 (F1スコアで評価)
- Sun et al.:Spatial dual-modality graph reasoning for key information extraction
- Belhadj et al. 2023: Improving information extraction from semi-structured documents using attention based semi-variational graph auto-encoder
- Gbada et al.: Multimodal weighted graph representation for information extraction from visually rich documents
- Deng et al. : 謎。論文内に引用がない。。
- ちなみにLayoutLMv3でFUNSDが0.9208、CORDが0.9746
- Ablation Study
- 重みを追加するかしないか。
- 有向グラフか無向グラフか
- PretrainしたWord Embeddingをそのまま使うか、Mapping層を挟むか
- Edgeの重みにユークリッド距離を使うか角度を使うか
感想
- GraphのEdgeの作り方の部分はアイデア自体はシンプルだが、面白かった。ページまたぎとかも表現できるので、1回Token Classificationモデルで学習させたEmbeddingを用いて、GCNで2段階目のモデルをかますというアイデアは面白いかもしれない。tokenが多いとエッジ作成に時間がかかりそうなので、その部分は気になる。