Shohei Saito

Shohei Saito

Data Scientist

MCD Data Science Competition 2024 開催の振り返り

MCD Data Science Competition 2024 開催の振り返り

はじめに

データサイエンティストの齋藤です。2024年12月13日(金)に開催された MCD Data Science Competition 2024 について、運営目線での振り返りをまとめます。

本番のコンペは非公開ですが、同一設定の公開コンペを作成しました。腕試しをしたい方はぜひ参加してみてください。
https://www.kaggle.com/competitions/mcd-data-science-competition-2024-open/

開催概要

MCD Data Science Competition 2024 は、エムシーデジタル主催の Kaggle Community Competition 機能(一般ユーザでも Kaggle 上でコンペを開催できる仕組み)を利用したデータ分析コンペです。昨年に続き2回目の開催であり、生成AIをテーマにデータサイエンスの知見を共有し、参加企業間の交流を深める目的で企画されました。昨年度に引き続き弊社と関係のある企業様に声をかけさせていただいて開催しました。

参加企業様については以下をご覧ください
https://www.mcdigital.jp/news/241220/

前回(2023年12月)開催の振り返りブログはこちら
https://www.mcdigital.jp/blog/20240510techblog/

項目詳細
日時2024年12月13日(金) 10:00 ~ 19:00(懇親会込み)
参加者数58名
参加企業数15社(エムシーデジタル含む)
チーム数14
場所日比谷ミッドタウン 11F エムシーデジタルオフィス
タイムテーブル10:00 ~ 10:30 受付、開会式
10:30 ~ 16:45 コンペ
17:00 ~ 19:00 閉会式・懇親会

コンペ中の写真1 コンペ中の写真2

問題概要

今回は LLM を活用した RAG (Retrieval-Augmented Generation) コンペを開催しました。詳細な問題設定については、公開コンペページをご覧ください。

タスクと評価指標

  • 四択問題が与えられ、各問題について正解の選択肢番号を予測する
  • 問題に答えるのに必要なドキュメントの集合は与えられている
  • 評価指標は accuracy (正解数)

与えられるデータ

データに含まれるテキスト(記事、問題文、選択肢)は全て英語です。

ファイル名内容件数
article.csv英語版 Wikipedia から抜粋した記事約8,000件
train.csv問題文、4つの選択肢、正解番号、関連する記事ID約400件
test.csv問題文、4つの選択肢約400件

ルール

GPT-4o などの高性能な LLM を使うことで簡単に高得点を取れてしまうため、以下のルールを設けました。

  • ChatGPT などの外部 API (実行時にインターネット接続が必須のもの)を使っての回答は禁止
    • Kaggle 用語で言うところの Code Competition に準じた制限を意図
  • ただし生成AIを使ったコーディングや方針の検討は可

想定解法

典型的な RAG と同様に、以下の2ステップに分けて解くことを想定していました。

  1. 適切な記事を見つける
  2. 記事から回答を作る

1.適切な記事を見つける

test.csv には記事IDが含まれていないため、関連する記事を特定する必要があります。 運営としての想定解法

  • 問題文と選択肢を Embedding1 にして、各 article とのコサイン類似度を計算する
    • 今回の問題ではintfloat/multilingual-e5-smallが最も精度が高かった
    • 類似度の高い記事を1つ選択する
  • 最終的には複数の Embedding モデルや BM252 をアンサンブル3する

2.記事から回答を作る

Retrieval した記事・問題文・選択肢を LLM に与えて予測します。 運営としての想定解法

  • Kaggle Notebook 上で動く LLM モデルを複数試す
    • 今回の問題では gemma2 9b-it が最も精度が高かった
  • モデルのアンサンブルで精度を向上させる

サンプルノートブック

開催時間が約6時間と限られていたことや、Kaggle 初心者の参加も考慮して以下のサンプルノートブックを提供しました。

  • Retrieval 用ノートブック
    • 問題文と記事の Embedding を計算して最も近い記事を探す
    • 使用モデル: avsolatorio/GIST-small-Embedding-v0
  • Local LLM による回答ノートブック
    • Retrieval は行わず、問題文+選択肢だけから回答する
    • 使用モデル: qwen2-7b-instruct

作問背景と問題作成方法

今年は生成AIを活用するコンペにすることは初期段階で決定していました。
ChatGPT などの API を利用すると参加者間で利用できるリソースに差が出るため、 Kaggle Notebook で動作するLLM (いわゆるローカル LLM) を活用するルールにしました。 Community Competition の仕様上、評価指標に複雑なものは使えないため、RAG形式でのタスク設計が最も現実的と判断しました。

記事ソースの選定

Wikipedia は規模が大きく、ライセンス(CC-BY-SA-3.0)も使いやすいため採用しました。すべての記事から長さが一定の範囲に入っている記事をランダムに選んで約8000記事としました。
その他には青空文庫や国会議事録なども記事ソースの候補に挙がっていました。

言語について

今回は全て英語の記事や問題文となっています。日本語を採用しなかった理由としては、ローカル LLM では日本語性能が不安定であることが予想されたことと、手法によっては日本語の文章の形態素解析をする必要があり、参加者に余計な手間になってしまうことがありました。

問題作成方法

問題文、選択肢、正解選択肢は GPT-4o で作成しました。

  • 英語版 Wikipedia から記事を取得する
  • GPT-4o に記事を与えて、問題文・選択肢・正解を一括生成させる
  • 作成後、記事・問題文・選択肢を GPT-4o に再度与えて、正解できなかった問題は除外する
    • GPT-4o 自身が解けない問題は不適切と判断

その他に検討したコンペ案

  • LLM 出力か判定するコンペ
    • 質問-応答のペアが与えられる。LLMによる出力か、人間による出力かを判定する
    • LLM - Detect AI Generated Text と完全に同じのため却下
  • 感情分析
    • テキスト(例えば商品レビューやSNSの投稿など)が与えられるので、それがポジティブかネガティブかを5段階で判定する
    • LLM で容易に解決できてしまいそうだったため却下
  • 嘘クイズコンペ
    • コンペとしての構造は同じだが、一般常識と異なる内容をドキュメントに書いておき、それを答えさせるもの
      • Q.日本の首都は? → A.大阪
        東京と答えた場合は不正解にする
    • データセットの作成コストが大きいため却下

振り返り

良かった点(参加者アンケートより抜粋)

  • 多様なスキルレベルの人が楽しめる難易度であった
  • サンプルノートブックも適切な質、量であった

改善点

  • LLM モデルによっては、400問の回答に数十分かかってしまい、6時間のコンペの中ではかなり重かった
    • 正確な実力を評価したいという意図だったが、もう少し test のサイズは小さくすべきだった
  • Kaggle の使い方に関する説明が不十分だった
    • Kaggle Notebook からインターネット接続するためにはアカウント認証をしてから明示的にONにする必要があること
    • チームマージの仕方
    • チーム内でコードを共有する方法

まとめ

MCD Data Science Competition 2024 について運営側からの振り返りを行いました。 作問した問題に真剣に取り組んでいただけたことが非常に嬉しく、昨年に続きとても良い経験になりました。 私自身も今回の作問を通じて、多様なローカル LLM を実際に動かす機会となり、多くの学びがありました。

エムシーデジタルにご興味をお持ちいただけた方は、ぜひカジュアル面談にご応募ください。
採用情報や面談申込みはこちらから


  1. テキストを数値ベクトルに変換したもので、文章としての意味の近さを比較できる

  2. 単語の出現頻度に基づいて類似度を算出できる手法

  3. 複数のモデルや結果を組み合わせて精度を高める手法

RSS

Tags

Next

Eiichiro Sato

Eiichiro Sato

最適化案件における評価関数設計

はじめに データサイエンティストの佐藤です。 エムシーデジタルでは、現実世界の課題を「最適化問題」として定式化し、解を探索することでユーザの要望に応えるプロジェクトを多く手がけています

  • #TechBlog
  • #数理最適化