1.はじめに
1-1 本記事のきっかけ
松尾研LLM開発コンペ2025に、チームPromptiaの開発メンバーとして参加させていただきました。その際の取り組みについて自分なりの振り返りをまとめたく、本記事を投稿します。
松尾研LLM開発コンペ2025 (https://weblab.t.u-tokyo.ac.jp/lm-compe-2025/)
1-2 コンペチーム内での役割
データ管理サブチームに所属し、モデル学習への利用を主な目的としたデータ収集を担当。分野ごとに分担してデータ収集する方針のもと、主に「言語学」や「歴史」の分野を担当しました。
2.コンペ中に実施したことの振り返り
2-1 チームでのデータ収集方針と、「言語学」分野でのデータ収集
チームPromptiaでは、VLDとRLT (Reinforcement Learning Teachers)を実施する計画で、データ管理サブチームでは、主にRLT学習用の問題と解答のデータセットを収集する方針が決定。収集するデータの難易度は、下記の5レベルの中でレベル4.~レベル5.を目指すこととなりました。
- レベル1. 基礎 (初学者向けの基礎知識。単純な知識や定義を問うもの)
- レベル2. 初級 (知識を前提に、多少の応用が必要なもの)
- レベル3. 中級 (論理的思考や文脈の解釈が必要なもの)
- レベル4. 上級 (高度な専門知識や複雑な推論を要するもの)
- レベル5. 超難解 (トップレベルの専門家でも難解な問題)
上記の方針に基づき、「言語学」「歴史学」分野での、問題・解答のデータセットで、かつオンラインで所得可能なデータが無いか、検索サイトなどを使って情報収集。その結果、「日本言語学オリンピック」の過去問のPDFがオンラインで公開(CC-BY)されていることがわかり、まずは数年分のデータをダウンロードしチーム内で情報共有しました。
「日本言語学オリンピック」 https://iolingjapan.org/preparation/
※言語学オリンピックは、言語を分析する能力を競う科学オリンピック
”初めて見る言語のデータから隠れた法則を解き明かす”
”分析力,情報処理能力,論理的思考,試行錯誤する力が求めらる”
(上記サイトより)
実際に問題を見てみると、どの問題もとても面白い内容でした。ただ、主に中高生を対象としたオリンピックであるため、レベル3.は満たすものの、レベル4.~5.を目指すという収集方針からは少し外れるという点が課題でした。また、年度毎の「問題」pdfと「解答」pdfに分かれているため、Q&A形式のjsonl等に整えるには少し手間がかかりそうでした。
このため、さらに「言語学」「歴史学」の分野で、問題・解答の難問データを探索しましたが、思ったようなデータセットを見つけることはできないまま、コンペ後半(実際に学習を回し始めるフェーズ)となってしまいました。
2-2 サブチーム内の議論
サブチーム内では、「難易度の高いデータを集めるには何をすればいいか」「どのような尺度・どのような方法で、集めたデータを絞り込み、選定するか」「足りないデータをどのように補うか」など様々な議論が熱心に行われました。
特に、数学・物理学・化学・医学などの分野では、収集されたデータ量も多く、絞り込みが必要となりました。また、数学などに関しては、もっと難しい問題の収集、もしくは合成が必要ではないかといった議論もありました。一方で、人文科学系のデータについては、難問の収集をその後も継続することとなりましたが、結果的にはほぼ収集できませんでした。
いずれの議論も大変興味深いものでしたが、その中で特に面白いと感じたのは、「論文」を元データとして、そこから難易度の高い問題と解答を生成できるのでは、というアプローチの紹介でした。(この点については次節でも触れたいと思います。)
3.コンペ後の振り返り
3-1 人文科学系の難易度の高い問題を収集するには?
今回結果として、「言語学」分野での難易度の高い問題・解答データを見つけることができませんでした。その点について、あらためて振り返ってみたいと思います。
まず、「言語学」分野での難易度の高い問題とは、どのような問題か、どうすれば収集できたのか、という点です。
今回のデータ収集では、「レベル4. 上級 (高度な専門知識や複雑な推論を要するもの)、「レベル5. 超難解 (トップレベルの専門家でも難解な問題)」を目標としました。
そこで、レベル4.の問題について探るため、言語学関連の大学院入試問題について調べてみました(工学系出身で人文科学系の大学院入試に馴染みがないこともあり)。
ChatGPTなどで調査した範囲では、言語学関連の大学院入試問題では、「〇〇について論じなさい」「〇〇について説明しなさい」といった論述形式の問題が多いようです。〇〇に入るのは、例えば「日本語の語彙の特徴」といった大きな題目であり、単に知識を問う問題ではありません。先のレベル感でいえばレベル4.に近い問題と思われます。その意味では、大学院の入試問題を収集すれば、難問を収集できたのかもしれません。
ただし、上記のような入試問題には、下記のような問題点もありそうです。
① 正解を定めるのが難しい
② 大規模LLMならば、比較的無難な解答を生成できそう(それで大学院に合格できるレベルかは別として)
③ レベル4.の定義にある”複雑な推論を要する”という要件に合致するのか
このうち②については、既存の教科書や論文のほぼ全てをLLMが学習していると仮定すれば、あり得そうと思います(数例について試してみたのみですが)。①も考えあわせると、大学院の入試問題を収集するだけでは、LLMにとっての難問データ収集としては、不足がありそうです。
また③については、人文科学系の難しい問題とは、必ずしも”複雑な推論を要する"を要件とする必要はないのかもしれません(少なくとも表面に見える形では)。一方で、何か別の要件、例えば、”専門性に基づいた分析力・説明力・一貫性・独自の観点”などを要件とすることも考えられます。(これらの要件は複雑な推論を要することと同義なのかもしれませんが、数学などにおける複雑な推論能力とは少し意味合いが異なるのかも、という個人的な意見です。おそらく推論能力についての専門家の方ならば、何が違うのかを説明いただけるのではと思うのですが、そこは調べておらず、すみません。)
3-2 論文を使った難問作成について
次に、視点を変えて、問題・解答データを収集するのではなく、元となるデータから難問を生成する方向性について、少し考えてみたいと思います。
チーム内での議論で「論文」を元とした問題生成が紹介されていたのですが、これは言語学分野でも使えそうです。特に、新しい論文であれば既学習済という状況を避けることもできます。
そこで、もし言語学分野での論文を使って、問題・解答を生成するとしたら、どんな方法がありそうか、について考えてみました。
まず、論文などを元にした問題・解答の生成について、これもChatGPTで調査してみました。その中で、難易度レベルの制御方法として、Bloome分類(知識、理解、応用、分析、評価、創造の階層)を応用した問題生成(レベルを指定して問題を生成する)といったアプローチがあるとのこと。
これを言語学の論文に利用した設計として、ChatGPTからは下表の提案がありました。
| レベル | タスクのタイプ | 目的 | 具体的な問題例(言語学論文を想定) |
|---|---|---|---|
| 1. 再現 | 定義・用語・事実の確認 | 専門用語・主張の理解 | 「この論文で‘相互行為的統語論’とは何を指すか?」 |
| 2. 概要化 | 要旨・目的・結論の把握 | 論文の構造理解 | 「この研究の主要な仮説は何か?」 |
| 3. 適用 | 理論の応用 | 新事例への適用力 | 「著者の理論を別の言語(例:日本語)に適用するとどうなるか?」 |
| 4. 分析 | 論理構造・証拠の分析 | 根拠の妥当性検討 | 「著者のデータ解釈にどの前提が隠れているか?」 |
| 5. 評価 | 妥当性・限界の判断 | 批判的検討 | 「この分析方法に理論的な弱点はあるか?」 |
| 6. 創造 | 新しい視点の提案 | 創造的知見の導出 | 「この研究を発展させる新しい研究課題を提案せよ」 |
このように難易度を制御できるならば、論文を使って難問データを生成できる可能性がありそうです。ただし、本当に妥当な問題となっているかは、LLMおよび人手での検証が必要と思います。
また、この手法では正解の作成も必要ですが、ChatGPTによれば、LLMを活用して正解例を作成する手法を用いることが多いようです。
ただ、目的がLLMに解けないような難問データの生成とすれば、LLMを使っても正解例が作成できない可能性もあります。そのような場合、人間の専門家(例えば論文の読者など)による正解例の作成、もしくはLLMが生成した解答の評価・修正などが不可欠となってきます。
3-3 思いつきレベルの話
ここからは、論文データを使って難問を生成する方法として、例えば次のような手法はどうだろうか、という思いつきレベルの話です。
- LLMに、未学習の論文の中盤までを読ませ、その先の展開や結論などを予想させる
- LLMに、未学習の論文の冒頭と結論を読ませ、「方法・データ・主要な分析・結果の要旨」などを予想させる
このうち2番目の手法について、ChatGPTと対話しながら分析しました。その中から、3点を抜粋(対話の中から一部を抜粋・加筆・修正)して紹介します。
- この方法で、何を検証できそうか
- 構造的推論
論文の典型的な論理展開(背景→問題設定→方法→結果→議論)についての知識に基づき予測しているかを検証できる。 - 因果・論証推論
結論から「どのような証拠・分析があればその結論になるか」を推定できるか(逆推論力)。 - 分野固有知識の応用
人文学(言語学)的な手法や標準的証拠(コーパス分析、フィールドデータ、理論的議論など)を想定できるか。 - 一貫性・妥当性のある生成
生成した「途中」の記述が論理的に結論と整合し、説得力があるか。 - 創造性 vs. 事実性のバランス
新規で合理的な仮説を出せるか(創造性)と、実際の論文とどの程度一致するか(事実適合度)を同時に見ることが可能。
- 長所(この方法の魅力)
- 高次の推論能力(メタ的・仮説的な推論能力)を直接テストできる(単純な事実照合ではなく「どんな証拠・議論が必要か」を問う)。
- 人文科学で重要な"解釈的推論"を扱える。
- 自然な設定(読者が序論と結論だけ見て興味を持ち「途中を知りたい」と思う状況)であり、ヒューマンに近いタスク。
- 短所・限界(検証上の注意)
- 正解が一つではない
⇒ 人による妥当性判定や、複数尺度での評価が必要(単純な自動一致スコアでは不十分) - モデルの「想像(hallucination)」と「合理的推定」が区別しにくい
⇒ 根拠の提示(どの部分に基づく想定かの出力)を必須にして検証する - 訓練データ漏洩のリスク(モデルがその論文を学習済みの場合)
⇒ 事前にデータセットをフィルタし、訓練カットオフ以降の論文や公開度の低い論文を用いる - 評価の主観性
⇒ 専門家による複数評価や、評価基準の精緻化・評価一致度の確認が必要 - 難易度のばらつき(論文ごとに予測しやすさが違う)
⇒ 論文を難易度カテゴリ(簡単/中/難)に分類して分析する
思いつきレベルの話ではありますが、このように分析してみると、難問データの作成という点では面白みもありそうです。
ただし、現在のLLMの性能を考えると、論文の再現はできないとしても、それに近い予想を行うことは、すでに難しくないのかもしれません。実際に試してみてLLMを評価してみる必要がありますが、本記事ではここまでとしたいと思います。
4.まとめ
4-1 まとめ
人文科学系の難問データの収集の振り返りと、そこから発展して、人文科学系の難問とは何か、どうしたら収集・生成できるか、といったテーマについて考えてみました。これらの中には、既に解決されている課題なども含まれているかもと思います。お気づきの点などがありましたら、コメント頂ければ嬉しく思います。
4-2 コンペに参加して
本コンペに参加し、実際の事後学習に触れることができたのは、大変に素晴らしい経験でした。チームリーダーはじめチームの皆様、コンペ関係者の皆様、本当にありがとうございました。
個別の感想を2点ほど
- RLTの学習プロセスについて具体的に知ることができたこと自体、大変面白く興味深かいものでした。例えば、数学の証明問題では、教師の解説が証明という解答に対して行われるというのも新鮮でした。
- コンペでは、競合モデル開発への利用不可という制限があるモデル(GPT等)を利用しているデータは利用不可というルールでした。公開データの中には、データの整形などにGPT等を用いているものも多く、収集しても開発に利用できないという結果となりました。今後もしデータを整備するとしたら、このような点には十分に注意が必要というのが、コンペで得られた経験の1つです。
5.おわりに
本プロジェクトは、国立研究開発法人新エネルギー・産業技術総合開発機構(以下「NEDO」)の「日本語版医療特化型LLMの社会実装に向けた安全性検証・実証」における基盤モデルの開発プロジェクトの一環として行われます。