2024-07-11 機械学習勉強会

今週のTOPIC


@Naoto Shimakoshi

[blog] XGBoostとLightGBMの理論の解説

  • 普通のGBDTとXGBoostの違いは以下
    • 正則化項の追加
      • 葉の数と葉の重みに正則化を行っている
    • 目的関数をテイラー展開で二次近似して解くため効率的
      • なのでXGBoostなどでカスタムオブジェクトを設定するときは、一次導関数と二次導関数を計算する必要がある
    • XGBoostは貪欲法で木を成長させる
      • 以下のGainを最大化するように学習を行う。
      • なので、特徴量重要度を見るときは、Gain Importanceを見た方がどれだけ上のGainに貢献しているか分かるので実用的。
        • などはdefaultでsplitだったりするので要注意。
  • LightGBMとXGBoostとの違いは以下
    • Gradient-based One-Side Sampling (GOSS)
      • 全体から勾配が高いものをサンプリングするのと、残りからランダムサンプリングすることで、訓練効率を上げた
    • Exclusive Feature Bundling (EFB)
      • 互いに排他的な特徴をグループ化(バンドル)することで、効果的に特徴空間の次元を減らす
    •  Leaf-wise Tree Growth
      • LightGBMは、XGBoostの層別(Level-wise)な木の成長戦略とは異なり、葉単位(Leaf-wise)の成長戦略を採用

@Yuya Matsumura

[論文]LLM-jp: A Cross-organizational Project for the Research and Development of Fully Open Japanese LLMs

LLM-jp (2024) 著者たくさん…!
  • LLM-jp の活動報告ペーパー
    • オープンソースで高性能な日本語LLMを開発することを目的に、2024年6月には1,500人以上もの参加者が集まる。
  • 背景
    • LLMの研究開発には膨大な計算資源、予算が必要であり一部の大手組織にしか行えない。
    • 現在存在するトップレベルのLLMは詳細が公開されていない。
    • 社会でより広く使われていくためには、hallucinationや安全性の問題が依然として存在する。
    • たとえばGPT-3のデータセットにおける日本語の文書が占める割合は0.11%というように、英語に比べて日本語の能力は劣っている。
    • 英語が主流になることで、日本の文化や活動の影響力が小さくなってしまう恐れや、日本の知的資産の流出の恐れ。
  • いくつかのWGに分かれた活動。週次のオンライン会議やslackでのディスカッションで活動している。
    • Corpus Building WG
    • Model Building WG
    • Fine-tuning and Evaluation WG
    • Computational Infrastructure WG
    • プロジェクトが進むにつれ Academic Domain WG や Safety WG も爆誕
  • 13Bパラメタの LLM-jp-13B モデル(v1, v2)をオープンソースで、事前学習コーパスやファインチューン用データセットともに公開している。
 

@Tomoaki Kitaoka

[library] Crawlee: a web scraping and browser automation library

  • Why Crawlee?
    • ヘッドレスブラウザクロールのサポート(Playwright)
      • CrawleeはPlaywrightを使用したヘッドレスブラウザクロールを標準でサポートしています。これにより、JavaScriptで生成されたコンテンツを含む複雑なウェブページも効率的にスクレイピングできます。
    • ミニマリスティックでエレガントなインターフェース
      • Crawleeは非常にシンプルで美しいインターフェースを提供しており、10行以下のコードでスクレイパーを設定できます。これにより、短時間でスクレイピングの設定が可能です。
    • 完全な型ヒントのカバレッジ
      • Crawleeは完全な型ヒントをカバーしているため、コードの予測可能性が向上し、開発者がエラーを減らしやすくなります。
    • 標準Asyncioに基づく
      • CrawleeはPythonの標準非同期ライブラリであるAsyncioに基づいており、高速で効率的な非同期スクレイピングを実現します。これにより、大量のリクエストを効果的に処理できます。

    @Yuta Kamikawa

    多言語transformersの言語分布調査

    背景
    • 日本語も扱える多言語transformersは100以上の言語、25万以上の語彙で構成されるが、そのうち日本語、英語、中国語などの言語がどのくらいの割合で含まれているのかふと気になったので調べてみた
    • 比較対象のtransformers
      • 日本語
      • 多言語
     
    実装
    • で取得した語彙リストに対して、fasttextの言語判定モデルで予測を行う
       
      結果
      transfomers全語彙数日本語中国語英語



       
      まとめ
      語彙という短い文字列で言語判定しているので、言語判定の精度に懸念はあるが、言語構成としては割と日本語の割合は高め

      @Shun Ito

      [論文] Don't Blame the Annotator: Bias Already Starts in the Annotation Instructions

      • EACL 2023 (Outstanding Paper Award)
      • 概要
        • ドキュメントに対する質問・回答ペアをクラウドソーシングで作成する場合、アノテーション方法のinstruction由来でバイアス(指示バイアス)が生じる
        • 例: 質問文が同じパターンばかりで始まってしまう
      • 発生する課題
        • よく出るパターンに過学習してしまう。テストデータではそのようなパターンを過大評価してしまう
      • 対策
        • 指示内容を多様なものにする
        • データ収集過程でのパターンモニタリング
        • パターンを考慮した精度評価
       

      @Ryosuke Fukazawa

      [論文] On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey

      LLMを使い合成データを手に入れるまでの過程を Generation, Curation, Evaluation の3段階に分け、それぞれに対してさまざまな手法を紹介したサーベイ論文
       
      この3段階それぞれで行われるステップを組み合わせることの意義や利点は以下の通り。
      • プロセスの体系化:
        • 複雑なデータ生成タスクを明確に定義された段階に分割することで、プロセス全体を理解しやすくなります。
        • 各段階に特化した技術や方法論を開発・適用しやすくなります。
      • 品質管理の強化:
        • Generationステージでは多様で豊富なデータを生成し、Curationステージでそれらを精査することで、最終的なデータセットの品質を向上させます。
        • 各段階で品質をチェックすることで、エラーの早期発見と修正が可能になります。
      • 効率性の向上:
        • 各段階に焦点を当てることで、それぞれの過程を最適化し、全体的な効率を高めることができます。
        • 例えば、Curationステージで低品質のデータを除去することで、後続の処理やモデル学習の効率が向上します。
      • 柔軟性と拡張性:
        • 各段階を独立して改善または拡張できるため、新しい技術や方法を容易に導入できます。
        • 特定のタスクやドメインに応じて、各段階をカスタマイズすることが可能です。
      • 評価の標準化:
        • Evaluationステージを明確に定義することで、生成されたデータの品質を一貫して評価するための基準を確立できます。
        • これにより、異なる手法や研究間の比較が容易になります。
      • エラー分析の容易さ:
        • 各段階で発生する問題を個別に特定し、分析することができます。
        • これにより、プロセス全体の改善ポイントを明確に把握できます。
      • リソースの最適配分:
        • 各段階の重要性や課題に応じて、適切にリソース(計算力、人的資源など)を配分できます。
      • 倫理的考慮の組み込み:
        • 特にCurationステージで、生成されたデータの倫理的問題や偏見を検出し、除去する機会を提供します。
       

      メインTOPIC

      [paper] Vision language models are blind

      Pooyan Rahmanzadehgervi,, Logan Bolton,, Mohammad Reza Taesiri, Anh Totti Nguyen

      概要

      • 視覚能力を持つ大規模言語モデル(VLM)は、画像とテキストの処理で高得点を記録する一方、人間には簡単な視覚タスク(例えば、円の重なりや線の交差の識別など)には失敗することが多い。
      • 既存のVLMベンチマークは、幅広いトピックをカバーしているが、多くのベンチマークはテキスト質問と選択肢のみで回答が推測できるため、VLMが人間のように画像を認識しているかどうかを評価する上で限界がある。
      • 本研究では人間の視力検査に基づいた低レベルの視覚タスクにおけるVLMの視覚能力をテストしたところ、VLMは非常に低いパフォーマンスを示したため、VLMは視覚能力がぼやけているかのように見えているのか、ほとんど見えてない状態で賢い人間が推測に頼って正解を導き出そうとしている状態にあることが示唆される。

      Vision Language Models

      • 本研究では、視覚言語モデル(VLMs)がシンプルな幾何学的画像をどのように認識するかを調査します。対象とするモデルは7つのベンチマークにおいて最高の性能を発揮している、GPT-4o、Gemini-1.5 Pro、Claude-3 Sonnet、Claude-3.5 Sonnetの4つ。
        • ベンチマーク
          • MMMU: マルチモーダル視覚理解をカバー。
          • AI2D: 科学図解に関するベンチマーク。
          • MathVista: 数学的理解をテスト。
          • ChartQA: チャートに関する質問応答。
          • DocVQA: ドキュメント理解をテスト。
          • ActivityNet-QA: ビデオ内の活動やイベントに関する質問応答タスクを評価。
          • EgoSchema: 視覚的なエゴセントリックデータの理解と情報抽出の能力を評価。
      • また、本研究では一部のチャットインターフェースがAPI版よりもパフォーマンスが劣ることが確認された。
        • 例えば、gemini.google.com上のシステムはaistudio.google.com上のGemini-1.5 Proよりもパフォーマンスが低い。
        • これは、追加のファインチューニングや特定のシステムプロンプトが企業のポリシーに合わせて調整されているためと考えらる
        • 同様に、perplexity.ai上で利用可能なGPT-4oおよびClaude 3モデルも、オリジナルのAPIモデルよりもパフォーマンスが低いことが確認された

      BlindTest benchmark of 7 tasks

      BlindTest の概要

      • 本研究では、人間の視力検査に似た7つのシンプルで新しいタスクを設計。
      • これらのタスクは一般的な幾何学的プリミティブで構成されているが、既存の人間の視力検査は使用していない。理由は以下の2点です。
          1. インターネット上に存在する質問を使用すると、VLMの視覚能力が過大評価される可能性があるため。
          1. 事前の調査で、VLMは既存の人間の視力検査(例えば、スネレンチャートやタンブリングE)では非常に良い成績を収めることがわかっていたため。

      モチベーション

      • BlindTestベンチマークは、幾何学的プリミティブが近接、重なり、または交差している場合の識別能力をテストします。
      • 仮説として、これらのプリミティブは視覚的な認識が必要で、その空間情報を自然言語で正確に記述するのは難しく、「視覚的な認識能力」がより問われるのではないかと思われる。
      • しかし、VLMは浅い視覚エンコーダを大規模言語モデルに統合する「初期融合」に主に依存しており、これは実質的に「視覚的能力はないが、知識豊富な脳」のようなものと推察される。

      コントロール

      • 各テスト画像について、VLMに対して意味的に同等な2つの異なる質問を提示した。
      • さらに、プリミティブを描画する際に(a) 3つの異なる画像サイズと(b) 2つの線の太さを使用して同じ画像を再現し性能を比較した。
       

      タスク 1: 線の交差点の数を数える

      VLMが図やチャートに関する質問に高精度で答えることを踏まえると、チャートで2つのグラフが交差するかどうかを認識できるはずだという仮説が立てられる。
      • Images
        • 白いキャンバス上に描かれた2Dラインプロットの150枚の画像を作成
        • 各ラインプロットは、x座標が固定されて等間隔に配置された3つの点で定義される2つの線分で構成される
        • y座標はランダムにサンプリングされ、2つのプロットが正確に0、1、または2点で交差するように設定
      • Prompts
          1. "How many times do the blue and red line plots cross each other?"
          1. "How many times do the blue and red lines intersect?"
      • Groundtruth
        • 回答は0、1、2のいずれかであり、ランダムベースラインの正確さは33%
      • Results
        • 2つのプロンプトと3つの線幅において、すべてのVLMはこの簡単なタスクで低いパフォーマンスを示した
        • 最高の精度は77.33%(Sonnet-3.5)であり、特に2つのプロットの間の距離が狭くなるとVLMのパフォーマンスはさらに悪化する傾向があった
        • この結果は、ChartQAでの高い精度とは対照的で、VLMがラインプロットの全体的な傾向を認識できる一方で、交差点などの細部を「ズームイン」して見ることができないことを示唆している
      • Qualitative samples
       

      タスク 2: 2つの円

      このタスクでは、同じサイズの2つの円の相互作用を認識する能力を評価します。このタスクは、円の間の小さな隙間や重なりを検出する能力をテストする。
      • Images
        • 白いキャンバス上にサイズ、距離、向きが異なる2つの円を描いた672枚の画像を生成
          • 円の直径: キャンバスサイズの1/4、1/5、1/6、1/7
          • 円の周囲間の距離: 直径の-0.15から0.5倍
          • 向き: x軸に対して90°、0°、-45°、45°
          • キャンバスサイズ: 384ピクセル、769ピクセル、1155ピクセル
      • Prompts
          1. "Are the two circles touching each other? Answer with Yes/No."
          1. "Are the two circles overlapping? Answer with Yes/No."
      • Groundtruth
        • 円の周囲間の距離dに基づいて答える
          • d < 0: 重なっており接触している
          • d = 0: 重なっていないが接触している
          • d > 0: 重なっておらず接触していない
        • ランダムベースラインの精度は50%
      • Results
        • 人間には大きくてはっきり見えるオブジェクト(円)に関するこのタスクでも、どのVLMも完全に解くことができなかった
        • 全ての画像とプロンプトに対する最高精度は92.78%(Gemini-1.5)
        • 一般的な傾向として、2つの円が近接しているとVLMはパフォーマンスが低下し、推測に頼る傾向があった。
        • 例えば、Sonnet-3.5はしばしば保守的に「No」と回答する。GPT-4o(最も精度が低い)は、2つの円の間の距離が1つの半径ほど大きくても100%の精度を達成していない。
        • この結果は、VLMの視覚は2つの円の微妙な間隙や交差点をはっきりと見ることができないことを示唆している。
      • Qualitative samples
        •  

      タスク 3: 囲まれた文字

      VLM(視覚言語モデル)は単独のプリミティブ形状(例えば赤い円)や英単語を完璧に識別できることが確認されている。このタスクでは、赤い円を単語内の各文字に重ねて、その文字を特定する能力をテストする。人間には簡単なタスクですが、隣接する文字との間隔が非常に狭いため、VLMの視覚がぼやけている場合、特定の文字を識別できない可能性がある。
      • Images
        • 以下の3つの文字列を使用して画像を生成し、赤い円を単語内の各文字に重ねて、その文字を特定する能力をテストする
          • Acknowledgement
          • Subdermatoglyphic
          • tHyUiKaRbNqWeOpXcZvM
        • これらの文字列は、幅と高さが異なる文字を含んでおり、すべてのVLMがこれらの文字列を画像として入力した場合に読み取ることができることは確認済みである
        • Acknowledgementは一般的な英単語であり、Subdermatoglyphicは重複文字を含まない最長の単語、tHyUiKaRbNqWeOpXcZvMはランダムな文字列だあり単語への慣れによるモデルの精度を評価する
      • Prompts
          1. "Which letter is being circled?"
          1. "Which character is being highlighted with a red oval?"
      • Groundtruth
        • 赤く囲まれた文字と完全に一致するかを評価(大文字小文字は区別しない)
      • Results
        • すべてのVLMは赤い楕円が重なっている状態でも文字列を正確に綴ることができるが、どの文字が囲まれているかを読み取ることは、すべてのVLMにとって難しい。
        • 例えば、文字が赤い楕円によって部分的に隠れている場合にVLMは誤りを犯す傾向があったり、囲まれている文字の隣の文字を予測する傾向がある。
      • Qualitative samples

      タスク 4: 重なり合う形状の数を数える

      先行研究によると、VLM(視覚言語モデル)は分離した円の数を数えることができるとされているが、ここではオリンピックのロゴのように重なり合う円の数を数える能力をテストする。このタスクは幼児の認知発達のための一般的な演習であり、VLMの視覚がぼやけている場合、円の交差点を明確に見えないため、円を追跡して数えることができないという仮説を立てています。
      • Images
        • 画像サイズ:𝐶×𝐶
          • ただし、C の値は 384, 769, 1155 ピクセル
        • 円の数 𝑁 : 5, 6, 7, 8, 9
        • 円の直径 𝜙 : キャンバスサイズに応じて 𝐶 / 5 または 𝐶 / 10
        • 2列に並べられた、オリンピックのロゴのように重なり合った同じサイズの円を描画する
        • 2つの異なる線の太さを使用して円を描画する
        • 3つの解像度、5つの異なる円の数、2つの直径の組み合わせで画像を生成(合計60枚の画像)
      • Prompts
          1. "How many {shapes} are in the image? Answer with only the number in numerical format."
          1. "Count the {shapes} in the image. Answer with a number in curly brackets e.g. {3}."
          ここで、{shapes} は「円」または「五角形」が画像に応じて切り替わる
      • Groundtruth
        • 回答は5、6、7、8、9のいずれかであり、ランダムベースラインの正確さは20%
      • Results
      • Qualitative samples
       

      タスク 5: ネストされた正方形の数を数える

      VLM(視覚言語モデル)が交差する円の数を数えるのに苦労することを踏まえ、ここでは形状が交差しないように配置した。具体的には、各形状が完全に他の形状の内側に入れ子になっている。
       
      • Images
        • キャンバスのサイズ:
        • 正方形の数:
        • 最も外側の正方形が最初に描画され、ランダム辺の長さ と線の太さ pxで描画される
        • 残りの 個の正方形はサイズ縮小係数 を使用し、外側の正方形に触れないようにランダムな座標に配置
        • 線の太さごとに10枚の画像を生成し、合計30枚の画像を作成
        • すべての N 値についてこのプロセスを繰り返し、最終的に120枚の画像を生成
      • Prompts
          1. "Count the total number of squares in the image."
      • Groundtruth
        • 回答は2、3、4、5のいずれかであり、ランダムベースラインの正確さは25%
      • Results
        •  
        • すべてのモデルは5つの円を数える際には100%の精度を示しますが、円を1つ追加するだけで精度は急激に低下した
        • しかし、五角形を数える際には、Sonnet-3.5を除くすべてのVLMが5つの五角形でも低いパフォーマンスを示した
        • 全体として、6から9の形状(円と五角形の両方)を数えることはすべてのモデルにとって難しいことがわかった
      • Qualitative samples
       

      タスク 6: グリッドの行と列の数を数える

      これまでのタスクの結果から、VLMは重なり合う形状(タスク 4)や入れ子になった形状(タスク 5)を数えるのに苦労することが確認できた。では、隣接する形状についてはどうでしょうか?ここでは、形状(具体的には正方形)をグリッドに並べ、VLMが数える能力をテストする。このタスクは、テーブルに関する多くの質問を含むDocVQAで90%以上の精度を示しているため、VLMにとっては簡単なはず。
      • Images
        • グリッドは 𝑁 × 𝑁 、 𝑁 × 𝑁 ′ 、または 𝑁 ′ × 𝑁 のセルを持つ
          • 𝑁 ∈ { 3 , 4 , 5 , 6 , 7 , 8 , 9 } および 𝑁 ′ = 𝑁 + 1
          • → 正方形 or 一方の辺が1マス長い長方形
        • 各グリッドは、サイズ 𝐶 × 𝐶のキャンバスに2つの異なる線の太さで描かれ、キャンバスサイズは 𝐶 ∈ { 500 , 1250 , 2000 } ピクセルです。
        • 空のグリッドに加えて、各セルにランダムな単語を含むグリッドも作成し、2つのバージョンを組み合わせて合計444枚の画像が生成した
      • Prompts
          1. "Count the number of rows and columns and answer with numbers in curly brackets. For example, rows={5} columns={6}"
          1. "How many rows and columns are in the table? Answer with only the numbers in a pair (row, column), e.g., (5,6)"
      • Groundtruth
        • 回答には行数と列数の両方が含まれます。行数と列数が正確に予測された場合にのみ、回答が正解となります。
      • Results
        • VLMは、空のグリッド内の行と列の正確な数を数えるのに苦労することが多いことが確認できた
        • 具体的には、1または2の誤差が生じることが多く、例えば4×5のグリッドに対して、GPT-4oは4×4と予測し、Gemini-1.5は5×5と予測する。
        • この結果は、VLMがDocVQAでテーブル関連の質問に答えるための重要な情報を抽出できる一方で、セルごとにテーブルを明確に見ることができないことを示唆している。
      • Qualitative samples

      タスク 7: 単色の経路をたどる

      VLMが地図やチャートを読み取り、グラフを解釈し、入力画像内のユーザー注釈(例えば、矢印)を理解するためには、経路をたどる能力が重要となる。このタスクでは、簡略化された地下鉄マップで2つの指定された駅間の単色の経路の数を数えることをモデルに求める。これは人間には簡単なタスクですが、VLMにとっては大きな挑戦となる。
      • Images
        • 各地下鉄マップは、サイズ 𝐶 × 𝐶 の画像として作成される
          • ここで 𝐶 ∈ { 512 , 1024 } ピクセル
        • 4つの固定座標に駅名(A、B、C、D)を配置し、キャンバスを見えない18×18のグリッドに分割し、各駅から18ピクセル(約1グリッド分)離れた場所に経路の始点を3つ用意し、3つの経路の始点を初期化する
        • 深さ優先探索アルゴリズムを使用して、ランダムな駅とランダムな始点から経路を描画
        • 有効な移動は任意の方向に1セル(北、南、東、西)とし、このプロセスを繰り返し、各駅に1、2、または3本の経路が存在するようにして、合計180枚のマップを生成した
      • Prompts
          1. "How many single-colored paths go from A to C? Answer with a number in curly brackets, e.g., {3}"
          1. "Count the one-colored routes that go from A to C. Answer with a number in curly brackets, e.g., {3}."
      • Groundtruth
        • 回答は0、1、2、3のいずれかであり、ランダムベースラインの正確さは25%
      • Results
        • 2つの駅の間に1つの経路しかない場合でも、どのモデルも100%の精度を達成することがで着なかった(bestはSonnet-3.5で95%、worstは23.75%)。
        • VLMの予測はしばしば1から3つの経路の誤差があり、地図の複雑さが1から3経路に増加するにつれて、ほとんどのVLMのパフォーマンスは悪化する
        • この結果は、VLMが地図上の経路を追跡し、正確に数える能力に限界があることを示しています
      • Qualitative samples

      Related Work

      VLMの視覚能力のベンチマーク

      • VLMの視覚理解を評価するための一般的なベンチマークには、大学レベルのトピック、チャート、ドキュメント、ビデオなどがあり、これらのベンチマークでは、VLMの急速な進歩が見られ、例えばSonnet-3.5はDocVQAで95.2%、ChartQAで90.8%、AI2Dで94.7%の精度を達成している。
      • しかし、これらの多くのベンチマークは、広範な事前知識を必要とする実世界のデータを使用しており、データリーケージの問題があることが指摘されている。つまり、VLMは入力画像なしでも正確に答えられる場合が多い。
      • BlindTestベンチマークは以下の点で異なる。
          1. 人間にとって非常に簡単で、5歳の子供でも解ける。
          1. VLMのための初の低レベル視覚チェック。
          1. 事前知識がほとんど不要。
          1. 常識や複雑な推論を必要とせず、強力な言語モデルがほとんど役に立たない。

      VLMの視覚能力の向上

      • 最近の最先端のVLMを改善するためのアプローチは、事前学習されたLLMを視覚エンコーダと組み合わせてすることが一般的である
      • しかし、現在のVLMは、実際の写真に存在する自然のオブジェクトを見逃すことがあり、「盲目」となる場合がある
      • これに対して本研究は、低レベルの抽象画像においてVLMが視覚的に劣っていることを示しており、例えば、6つの重なり合う円や3つの入れ子になった正方形を数えることができないという問題がある
      • 本研究では、以下の具体的な制限に対処することを目指している。
          1. 単純な線や形状、幾何学的プリミティブが相互作用する際の識別とカウント。
          1. 色付きの経路の追跡。
      • これらの制限を解決することが、グラフや視覚数学、自然画像の盲目性(例えば、オブジェクトの向きを理解すること)に関する既存のビジョンベンチマークでの進展の基礎となる可能性があると考える。

      Discussion and Conclusion

      • 本研究では、BlindTestと呼ばれる新しい7つの低レベル視覚タスクのベンチマークを提案しました。これらのタスクはインターネット上に存在せず、ほとんど知識を必要するようなものではありません。
      • ところが商用利用されいてる最高性能を誇るVLMでも、5歳の子供が簡単に解けるタスク(例:2つの円や線が交差しているかどうか)に苦労していることが明らかになった。
      • これらは、視覚情報をLLMモデルに統合する際のlate-fusion approachに起因する可能性があり、 early-fusionの必要性を示唆している。
      • また、我々のタスクを使用してLORAで7Bのlate-fusion approachの最先端オープンソースVLMを単純にファインチューニングしてみたが、高性能なモデルを得ることはできず、BlindTestで良好なパフォーマンスを発揮する単一のモデルを訓練することは、単純ではなく、興味深い研究の可能性がある。