🦝

Tanuki-8B,8x8Bの開発完了までに考えていたことと、「科学の基盤モデル」の構築に向けた考え

2024/08/30に公開

関連URL

はじめに

筆者(畠山)はTanuki-8B, 8x8Bの開発に、たまたま、チームリーダーとして参加することになりました。日本で高い性能が出たので、自分でも驚いています(詳細は別記事を参照)。

本記事は、プロジェクトの参加経緯や、大規模言語モデル開発を通して思ったこと、そして今後の展望について、特に「科学の基盤モデルの構築」焦点を当てながら、記述します。

(以下の文章は、あくまで個人の感想文です。科学的な厳密性は担保されておらず、また、チームとしての見解を表しているわけではないので、ご了承ください。)

プロジェクト参加に至るまで

筆者の専門分野: 化学(?)

筆者の履歴書上の専門、即ち学位を取得した分野は、化学です。特に実験化学、高分子材料、電気化学、デバイス科学などをやってきました。

最近は大規模言語モデルのネタで発表する機会が多いので、「どうして化学にこだわるんですか?」と聞かれることもありますが、一応、化学が専門だからです。2024年現在も、東工大の物質理工学院というところに所属しており、一応、化学・材料の研究をしています(google scholar)。化学・材料分野ではトップジャーナルとされる雑誌(JACS 2017Adv. Mater. 2018 .Chem. Rev. 2023など)に、ファーストオーサーで論文を書いたこともあります。最近は、半導体エッチングの微細化に関わる材料開発(Nat. Commun. 2024)などにも関わっています(ちなみにこれは、今後のAI発展の基礎となるムーアの法則を維持し続けるために必要な、超上流の材料研究です)。

小学生の頃から、たまたまプログラミングをかじっていたこともあり、2018年頃から、機械学習を使った材料研究にも取り組みました。グラフニューラルネットを使った電池材料探索(JACS2020)、実験情報のグラフ構造化と「マルチモーダル」な物性予測モデル(Commun. Mater. 2020)、電子実験ノートとの連携(npj Compt. Mater. 2022)、物性予測のためのフローベースの生成AIの活用(ACS Omega, 2021)などが、個人的に着目してたトピックです。最近は、もう少し大きな枠組みの話として、シミュレーションを融合したインフォマティクスのプロジェクトなどにも関わっています(例えばChemRxiv 2024, arXiv 2024)。

大規模言語モデルを触るまでの経緯

2018-2023年頃: 普通の機械学習をやる (そして限界を感じる)

大規模言語モデルが登場する前は、特定のジャンルに特化した「普通のAI」を研究で使っていました。従来の専門特化型のAIは、特定のタスクを解くうえで、人間を超える性能を出せますが、汎用性や応用力に乏しいです。例えば将棋のプロはチェスも一般人よりは得意なはずですが、将棋特化のAIは、そのままでは、チェスをプレイすることすらままなりません。

材料開発で構築する特化型AIも、その適用範囲において著しい制約があります。例として、筆者が開発した全固体電池の材料部材の性能(イオン伝導度)を予測するプログラム(JACS2020)は、特定のジャンルの材料群においては、専門家や分子シミュレーションを超える性能を達成できました。しかし、「特定の材料系におけるイオン伝導度を予測する」以外のタスクでは、使い物になりませんでした。「伝導度は高いが合成不可能な構造が提示される」、「新しい構造群や他の物性での予測は困難」といった課題があり、実験研究の現場での活用に難しさを感じていました。加えて、モデル構築のためには、その道の専門家が膨大な工数(>数十時間)をかけてデータベースを準備する必要もあり、方法論としてのスケーラビリティにも疑問符が付いていました。

汎化性能を上げるための対応策として、材料データをグラフ構造によって抽象化し、種々のデータベースを融合する(Commun. Mater. 2020)といった手法も試したことがありますが、筆者が期待したほどの予測性能や汎化性能は出ませんでした、今から振り返ると、学習データの量とモデル規模が不足が圧倒的に足りていなかったように思います。

2023年: GPT-4に驚き、大規模言語モデルを研究対象に含める

大規模言語モデルが注目され出したのは、ChatGPTがリリースされた2022年の秋頃からですが、筆者が実際に触ったのは、少し遅れて2023年の2-3月頃です。ちょうど、前職から現所属の東工大に移る時期で、諸々の忙殺から開放され、やっと時間的な余裕を取れるようになったタイミングです。

大規模言語モデルのインパクト(特にGPT-4)は絶大でした。化学・材料の専門データは学習されていないためか、誤った回答は散見されるものの、従来の専門特化型AIの課題であった汎化性能の低さという欠点が、大幅に改善されていました。プロの研究者が行うような、多角・総合的な視点に基づく材料設計や実験結果の予測を可能にする潜在力がある模様で、旧来の機械学習モデルから正統な進化を実感しました。端的にいえば、ドラえもん的な、いわゆる一般的な意味での「人工知能」の萌芽を、大規模言語モデルにて初めて見出しました。

大規模言語モデルが面白かったので、2023年は、GPT-4の実力を化学・材料分野で調べる(STAM: Methods 2023)、材料インフォマティクスにおける説明変数の選択をGPT-4にやらせる(Digital Discov. 2023)、Llama2やMixtralに科学論文を軽く読ませる(arXiv 2023)、自己報酬型のシステムで分子物性の予測精度を上げる(Docswell)などの研究活動*をしました。当時としてはホットトピックだったLlama2のファインチューニング方法を、日本最速(?)で記事化するなど、大規模言語モデルの萌芽期をエンジョイした記憶があります。

大規模言語モデルのサマースクールに参加する

2023年の夏頃に、松尾研が主催する大規模言語モデルのサマースクールに参加させていただきました(今年もやるようです)。Transformerの詳しい仕組みは、いまだによくわかってませんが、たまたま、最後に開催されたコンペで、優秀賞(確か3位くらい*)を頂きました。こうしたご縁もあり、今年のモデル開発に関わることとなりました。

*参考までに、勝因について、考察します。

筆者が関わる実験化学は、基本的に理論予測やコンピュータシミュレーションの結果がほぼ外れる複雑系です。そのため、頭でっかちな態度を貫いて悶々と悩むよりも、とりあえず手を動かして試行錯誤のサイクルを回せる人の方が、生き残りやすい(?)世界です。具体的には「経験、勘、観察眼、試行錯誤の多さ、運、たまに原理原則に立ち返って考える思考力」などが、成果を出すうえで極めて重要です。できればロジカルでスマートな研究をしたいものですが、「結局、最後は、気合と根性と粘り強さの世界」というメンタリティを根底に持って行動しないと、特にアジア圏の研究者と、競り負けてしまうことが多い印象です。

大規模言語モデルも挙動が複雑すぎて、人間には予測できない次元に突入したのかもしれません。浅学な筆者にとっては、理解・予測不能な世界です。こういう複雑系においては、「眼の前の実験結果をよく観察する」・「気合と根性」という実験研究で強みを発揮するアプローチが、当該コンペや今回の開発において、意外と役に立っているのかもしれません。

大規模言語モデルの開発プロジェクトに参加する

チームリーダーを務める

サマースクールでの経緯もあり、10-50Bクラスの大規模言語モデルの開発に、チームリーダーとして関わらせていただくことができました。膨大な計算リソースを、かなり自由に使わせていただけることになり、深く感謝しています。人工知能が専門でもない人間に、ドカンとリソースを提供する松尾研の懐の深さと胆力に恐れ入りました。

(とはいえ、6月頃、事前学習の段階でモデルのLoss spikeが頻発し、プロジェクトの見通しが一時的に怪しくなったときは、どうやら自分は大変な案件を引き受けてしまったということに、遅まきながら気づきました)

心がけたこと

本プロジェクトは、人材育成という側面があるとのことでした。なので、大規模言語モデルの開発という事案において、必ずしもトップレベルの成果を出す必要はないとの期待感であったように思います。

とはいえ、限りあるリソースを人工知能のプロではなく、(少なくとも自分のような)「素人」に提供することについて、快く思わない方々がいらっしゃるはずです。筆者個人としては、そのような方々に対しても、「このプロジェクトは人工知能の研究開発としても、何らかの価値があった」と、少しは思ってもらえる成果の創出を目指しました。

上記の事由を鑑み、チーム(というか個人の想い)としては、あくまで「最高峰のモデル性能」を目指しながら、かつ、「アカデミックのサイエンティストがあまりやりたがらなそうなガテン系の仕事」に注力*するという指針**を設定しました。

*特に後者についていえば、GENIACにおいてもアカデミック枠でプロ集団を中心とした組織(llm-jp)が参加しています。llm-jpでは巨大なモデル構築、コードやコーパス整備などに、基礎学問の観点からも力を入れているようでした。アカデミックの枠同士で、何らかの棲み分けがあるとすれば、それは本プロジェクトを、応用・エンジニアリング寄りの基礎検討として位置づけることではないかと、筆者は勝手に考えました。

**本プロジェクトではデータ系のエンジニアリングに注力しましたが、アルゴリズム面での成功もありました。8Bの学習済みモデルの重みパラメータを使いながら、8x8BのMixture of Expertsモデルを作るという、アップサイクリングという手法です。本手法は限られた計算リソース下で最大限の学習効率や推論性能を達成する上で、極めて有効なアプローチとして期待されていますが、諸々の難しさがあるようで、国内での公な成功例はありませんでした。本プロジェクトでは、メンバーの鋭い勘と試行錯誤、そして幸運もあり、8Bから8x8Bモデルへのアップサイクリングに、国内で初めて成功しました(アップサイクリングに関する本記事でのこれ以上の言及は割愛します)。

なぜ最高峰のモデル性能を目指すのか?

最高性能を目指す必要性

筆者がプロジェクトに参加した動機はいくつかありますが、そのうちの一つは、将来的には「科学研究に使える大規模言語モデルを作れるようになりたい」というものです。プロジェクトの開始時点においては、これを実現するための基礎知見があまりにも不足していたので、実際のモデル開発を通して、具体的な手応えを得たいという動機です*。

(*というのが、少なくとも化学業界の方々が抱くであろう「どうして畠山は化学研究をおろそかにして大規模言語モデルを開発するのか?」という疑問に答えるための返答文になります。とはいえ、純粋に、モデル開発は楽しいので、開発に取り組んでいたという側面は無視できません。)

科学研究を行うためには、少なくとも大学の学部生レベルの知能・推論能力は必要そうです。今回の開発で重視したJapanese MT-Benchと呼ばれるベンチマークは基本的な思考・推論能力を問う(小・中・高校生レベル、一部大学レベルの)問題が多く含まれています。このベンチマークで満点近くは取れないと、専門特化の化学モデルなどを作っても、どこかで行き詰まると危惧しています。

開発時点において、国産モデルの当該性能は、プロの科学研究をさせるという観点では、壊滅的に低い状態でした。例えば松尾研が2023年に報告したweblab-10b-instruction-sftのベンチマークスコアは10点満点中の2点程度で、小学校レベルの問題も殆ど満足に解けません。そのようなレベルのモデルに対して最先端の研究分野のデータを学習させても、所望の出力は得られなそうです。

Japanese MT-Benchを目標に設定した理由

一連の状況を鑑み、今後、様々な先端分野で通用する特化型の大規模言語モデルを作るにあたって、モデルが最低限、抑えるべき推論能力は、Japanese MT-Bench程度のベンチマークで高得点を取れるレベルであると判断しました。そこで本プロジェクトでは、Japanese MT-Benchを重点的な開発目標*にして、モデル構築を行いました。

また、開発中の試行錯誤を通して、「どの規模のモデルに、どのようなデータをどれだけ学習させれば、何ができるようになるのか?」に関する実践的な手応えを得たい、という動機もありました。今後、基盤モデルをベースに専門特化のモデルを構築する際に、間違いなく必要な知見だからです。

*機械学習の文脈で言えば、Japanese MT-Benchを開発データ(validation data)として活用したということになります。このようなベンチマークをvalidationに用いるべきではなく、純然たるtest dataとして使うべきだ、という考えの方もいらっしゃると思います。筆者もその考えには部分的に同意します。しかし現実問題として、開発に際しては、モデル性能を評価するための「使いやすいベンチマーク」(客観性・再現性・網羅性・コストなどに優れる)は間違いなく必要でした。Jasterなど、他のベンチマークは、筆者が期待する作文・推論能力を殆ど問わないので、本プロジェクトにおける開発データとしては不向きと判断しました。消去法でJapanese MT-Benchが残った、というのが合理的な理由です。

また、機械学習の歴史でいえば、MNISTやCIFAR-10のようなベンチマークタスクの存在とスコアアップに向けた切磋琢磨が、モデル性能の向上に寄与してきたという側面も無視出来ません。現在も、世界中でMT-Benchなどベンチマークタスクでの性能向上が競われています。性能向上に向けた試行錯誤を通して、機械学習の新たな境地が切り開かれる可能性を筆者も信じています。なので、チーム内では、Japanese MT-Benchでの性能向上を目指した開発を行いました。

最高峰の性能を目指すために「泥臭い仕事」をする

今回の開発では、Japanese MT-Benchで最高峰のスコアを実現する上で、従来とは異なる、泥臭い&筋肉質な手法を取ることにしました。

開発当時、モデル開発の一般的とされたアプローチは、「日本語や英語のネット文章を大量に学習させ、最後に少しだけファインチューニングで対話型のデータを学習させる」というものでした。

しかしながら、そのやり方を踏襲した(?)と思われる、Phase1における他のチームの結果llm-jpの取り組みFugaku-LLMの取り組みで報告されたJapanese MT-Benchのスコアは2-5点程度でした。残念ながら、科学研究を推進するための基盤モデルとして、これらは基礎性能が足りないと判断しています。

性能向上の対応策として、学習アルゴリズムを工夫したり、モデルサイズの効果を検証するなど、何らかのスマートな解決策を考えるのが、人工知能の研究としては好まれそうです。

一方、筆者の目的は、純然たる人工知能の研究ではなく、あくまで「研究遂行をするにあたってまともな入出力ができる」(≒Japanese MT-Benchで高得点を取れる)モデルを作るための最も実践的な方法論を明らかにすることでした。その解明過程においては、取り組みの学問的な素性の良さやサイエンスとしての意義を追求することは一旦保留し、むしろ実践的なノウハウの集積とエンジニアリングに徹し、新たな突破口を開くことに専念しました。

合成データで徹底した対話訓練を行う

様々な試行錯誤を通し、本プロジェクトの目的達成において最も有効だと判明したのは「人類との対話能力を上げるために、膨大な対話データを準備して徹底的に学習させる」、「モデルの苦手なジャンルを特定し、その領域はできるようになるまで徹底的に学習させる」という、エンジニアリング寄りの筋肉質なアプローチです。

開発を通して得た、数十Bクラスのサイズの大規模言語モデルに関する筆者の実力感は、「習ってないタスクはほぼできない」というものでした。例えば、「与えられた文章を3点で箇条書きにする」というタスクを解けるようになるためには、相当量(1000回以上?)の訓練は必要な手応えでした。同様に「100文字で要約する」、「JSON形式に変換する」ためにも、相当量の個別訓練が必要でした。筆者らのモデル開発が下手なだけだったのかもしれませんが、Web上のテキストを学習させるだけで、勝手に上記のタスクが解けるようになるような事例は、残念ながら明確な形では観測できませんでした。

言語モデルの対話能力を向上させる上での最大のボトルネックは、学習データの不足でした。上記のような指示タスクを解くためだけに、人間が訓練データを人手で生成するのは、あまりにも手間がかかりすぎます。しかし幸いなことに、今年に入ってからは、データ不足の解決策として、高性能でオープンな言語モデル(Calm3, Phi3, WizardLM2など)群を活用できるようになりました。それらのモデルを使い、自動で多量(>100 Bトークン)の対話データを合成し、人類と行われるであろう多彩な(できれば全ての)対話タスクのすべてを、あらかじめ事前学習の段階で予習させるという手段を取ることにしました。

図: 自動生成した対話データの例(マルチターン)

今回の取り組みにおいて、Webデータのみを学習したモデルでは、Japanese MT-Benchの回答性能は4-5点程度にとどまりました。一方、自動生成された多量の対話データを学習させることで、最終的なスコアは7-8点程度まで上昇しました。

始めはジャンルにこだわらず対話データを生成し、モデルに学習させました。しかし開発の終盤では、苦手なジャンルとして、論理・数学・コード・定型出力・情報抽出などが浮き彫りになりました。自動生成された対話データの中に、関連のドメインが十分に含まれていなかった and/or モデルにとって、当該ジャンルの推論難度が高いことが、苦手なジャンルが出現した理由と解釈しています。いずれにせよ、漫然とテキストデータを準備してモデルに学習させるだけでは期待した総合性能は得られませんでした。

大規模言語モデルの訓練においても、人間に対する学校教育のように、教えるべき内容の体系的な整理や細分化、目標設定、学習教材や演習問題の丁寧な設定が求められると実感しました*。学習の最終盤では、論理・数学・コード・定型出力・情報抽出などに重点をおいた合成テキストを大量生成し、モデルに学習させました。数学やコーディングについては、学習指導要領やプログラミングのテキストなどを参考にしながら、カテゴリごとの問題文なども作りました。

*人間と大規模言語モデルの唯一の大きな違いは、必要なデータ量です。アルトマンが指摘するように、大規模言語モデルに高校レベルの生物学を教えたいのであれば、少なくとも2千冊程度の教科書品質のテキストが必要になるであろうと、筆者も考えています。ここで、教科書や演習問題は人間が書く必要はなく、大規模言語モデルの出力で代替するのが現実的な解決策のはずです。

大規模言語モデルの潜在的な(高い)性能を信じている(?)方々*にとって、本プロジェクトで重視した「できるようになるまで徹底的に訓練する」というアプローチは、「ずいぶんがっかりな」やり方のようにも見えます。しかし、プロジェクト期間中、これ以外の有効な解決策は、一つも見つかりませんでした。

(*Webを中心とする大量のテキストデータを学習させて、最後に軽くファインチューニングをするだけで、人類と円滑な対話ができるようになるはずだという考え方。残念ながら、国内外の状況を鑑みるに、少なくとも100B程度以下のモデルサイズ帯では、このアプローチでMT-Benchで高スコアを実現した例はないように思われます。GPT-4規模のモデルでさえ、そのアプローチが成功するかは自明ではありません。要するに、大規模言語モデルの知識・スキルの習得効率は「かなり低い」ため、CommonCrawlでは対話ドメインを十分に網羅することができず、専用の訓練データを多量に準備する必要がありそうだ、というのが筆者の持論です。)

モデル規模 vs. データのどちらを取るか?

上述の通り、筆者が試した限り、モデルの対話性能を上げるための唯一かつ最も有効な方策は、「ひたすら実践を想定した対話訓練をする」のみでした。非常に泥臭く、夢のない手法ではありますが、(大規模言語モデルよりも賢い)人間を教育する際に、塾や家庭教師でも同じようなことをしますので、ある意味、正統なアプローチです。

ところで、学習に使用した「教材」となる合成テキストは後続のプロジェクトでも繰り返し利用が可能です。それに対し、一度構築したモデルは、継続学習、アップサイクリング、蒸留などの例外的な手法を除いて、後続プロジェクトでの再活用性が限定されます。もし同じ計算リソースで同じ推論性能が出るのであれば、a)巨大モデルの事前学習に計算資源を全投入するよりも、b)合成データを生成しながら小型モデルを作る方が、総合的には有利かもしれません。

世界的には、モデルサイズは抑えつつ、合成データを活用(?)しながらトップ性能を目指すという潮流が形成されつつあるように思います(Llama3.1, GPTのturbo, o, miniモデルなど)。

参考: その他の泥臭い(?)取り組みの例

ちなみに、データ生成以外で行った、「泥臭い」取り組みとして、

ルールベースでのテキストクリーニング(NGフィルタの手作業での多量の追加)、人手でのモデル出力のアノテーション、公的な学術レポジトリとの学習データの利用交渉、などがあります。

が、力不足もあり、期待したほどの成果は挙げられませんでした*。

*うまくいかなかったことの経緯など

  • テキストクリーニング: ノイズ除去の選択性が難しい。結局、大規模言語モデルにフィルタリングさせた方が早そう。
  • 人手でのアノテーション: 一定以上のモデル性能になると、評価者によるアノテーションがバラツキが問題(?)でモデル性能が低下した。
  • 公的レポジトリの制度整備が追いついていない模様。組織内部での規約の問題などがあるようで、結局、Creative Commonsのデータすら、入手できなかった。

開発結果: Japanese MT-Benchでそれなりに高いスコアが出た

得意・不得意なジャンルはありますが、小学校・中学・高校・(一部は大学)レベルの思考力を問う問題を解けるようになりました。

(詳細は別の記事を参照ください)

今後: 「言語モデルの知識・タスク習得の過程」を解明しながら、「科学の基盤モデル」を作りたい

最後に、今回の取り組みを通して興味をもった点、今後に取り組みたいことについてまとめます。

個人的には、以下の点に、今のところは興味を持っています。

1. 「何をどれだけ学習したら、何ができるようになるのか?」の解明

今回の取り組みを通して、定性的なジャンルの内容については、Calm3などが自動生成した対話データをある程度、適当に生成して(>数十Bトークン?)学習させるだけで、それなりに満足のいく作文ができるようになることが分かりました。

一方、数学や論理推論などの厳密な出力が求められるタスクでは、開発期間内でどれだけ頑張っても、解けないままの問題が何件もありました。

例えばTanuki-8x8Bが最後まで解けなかったタスクの一つに、サイコロの問題があります。

問題

2つのサイコロを振るとき、合計が少なくとも3になる確率は何ですか?

モデルの回答

2つのサイコロを振る場合、それぞれのサイコロには6つの面があり、合計で36通りの結果があります。次に、合計が少なくとも3になる確率を求めるために、まず合計が3未満となる結果を数えます。

1. 合計が2になる場合:
   - (1,1)
   - (1,2)
   - (2,1)
   - (2,2)
   これは4通りです。

2. 合計が1になる場合:
   - (1,1)
   - (1,2)
   - (2,1)
   - (1,3)
   - (2,2)
   - (3,1)
   - (1,4)
   - (4,1)
   - (2,3)
   - (3,2)
   - (1,5)
   - (5,1)
   - (3,3)
   - (4,2)
   - (2,4)
   - (4,3)
   - (3,4)
   - (4,4)
   - (5,2)
   - (2,5)
   - (5,3)
   - (3,5)
   - (5,4)
   - (4,5)
   - (5,5)
   これは15通りです。

したがって、合計が3未満になる結果は全部で19通りです。

全体の結果は36通りなので、合計が少なくとも3になる確率は次のように計算されます:

\[ \text{確率} = 1 - \frac{\text{合計が3未満の結果}}{\text{全体の結果}} \]

\[ \text{確率} = 1 - \frac{19}{36} \]

\[ \text{確率} = 1 - \frac{19}{36} \]

\[ \text{確率} = \frac{36}{36} - \frac{19}{36} \]

\[ \text{確率} = \frac{17}{36} \]

したがって、2つのサイコロを振ったときに合計が少なくとも3になる確率は約0.4722、つまり約47.22%です。

このモデルには数学的なセンスが欠如しており、正しい回答ができていないことは明らかです。

一方で当該モデルは、WizardLM 8x22Bによって自動生成された数学・論理・コード系のテキストを多量に(数GB以上)学習しており、その中にサイコロの類題も、結果的には含まれていました(下記: 合計何件かは要調査)。


それなりに数学が得意な人間であれば、この程度の数の演習問題をこなせば、MT-Benchの問題も解けるようになりそうです。しかし、今回のモデルには全く解けませんでした。

サイコロ問題以外にも、類題を一定量、学習したけれども、解けなかったタスクがいくつも存在します。例えば、「与えられた文章の書き出しを、特定のひらがな(例えば「あ」)に変えなさい」というタスクについて、Calm3を使った演習データを作り、数百件以上、学習させてみたりもしました。


Calmによって自動生成された対話データの例

しかしそれでも、MT-Benchでは指示の仕方が訓練時とは若干異なったためか、モデルは指示に追従することができませんでした。

問題

あなたの先ほどの回答を「け」で始まる文章で表現しなおしてみてください。

*注: 「先程の回答」は以下の通り。

銀座は昼と夜で全く異なる顔を見せる街だ。昼間には、煌びやかなネオンが輝く高層ビルや洗練されたブティックが立ち並び、まるで宝石箱をひっくり返したような光景が広がる。通りを歩くと、人々の話し声や笑い声が響き渡り、ビジネスマンたちが忙しそうに行き交う中、カフェからはコーヒーの香りが漂い、パンの焼ける香ばしい匂いが鼻をくすぐる。車のクラクションや遠くから聞こえる音楽が混じり合い、活気に満ちた空気が漂っている。

一方、夜になると銀座は一転して静寂と洗練に包まれる。高級レストランの窓から漏れる柔らかな光が通りを照らし、影絵のように浮かび上がる。店先のディスプレイに飾られた美しいジュエリーやファッションアイテムが、一層の輝きを放つ。石畳の道を歩く足音が響く中、車の通りも落ち着き、代わりに静かなバーやクラブの扉が開かれ、心地よい音楽と共に大人たちの社交の場となる。ジャズの旋律が風に乗って流れ、ウイスキーの香りと煙草の煙が混じり合う中、一瞬一瞬が特別な時間として感じられる。銀座の夜は、昼間の賑やかさが嘘のように穏やかで、まさに「夜の宝石」と呼ぶにふさわしい場所である。

モデルの回答

銀座の昼は、きらびやかで賑やかな光景が広がり、人々の活気と笑い声で満ちている。カフェの香りやパンの焼ける音が混じり合い、車のクラクションや遠くの音楽が響いている。

夜の銀座は、静寂と洗練が支配する場所で、高級レストランの柔らかな光と影が魅力的だ。石畳の道を歩く足音が響き、ジャズの旋律が風に乗って流れる中、ウイスキーの香りが漂う。

「なぜモデルは回答できないのか?」を考えることにこそ、人工知能研究のフロンティアがあるように思われる

以上のように、結果的に、今回構築したモデルはJapanese MT-Benchの類題を多かれ少なかれ、学習した*わけですが、それでも、全く解けない問題が多数ありました。これは筆者としても驚きでした。

(*なので、このモデルは、Japanese MT-Benchにover fit気味の可能性があります。他のモデルと正確な比較をする場合は、Elyza100など、開発には用いていない他のテキスト生成系タスクでのベンチマーク評価なども行う必要があります。このような「公平性」を犯してでもモデル開発を行ったうえで、筆者がむしろ強調したいのは、以下に示すように、数十Bクラスのモデルは、over fitが危惧されるレベルでの学習を行ってすらなお、解けないタスクがたくさんあるという事実です。そして、その問題を解決するための基礎知見の集積に、モデル開発のフロンティアがありそうです)

普段、実際のモデル開発に関わっていない方からすると、想像しにくいかもしれませんが、数十Bクラスの大規模言語モデルというのは、多くの方が思っている以上に、「おバカ」らしいというのが、筆者の見解です。

がっかりかもしれませんが、大規模言語モデルの実力感を、ポジショントーク抜きにあえて例えてみますと、今回の数十万Bクラスの大規模言語モデルの訓練は、「ものすごく物覚えの悪い、具体的には1つのトピックごとに、軽く1000回くらいは同じようなことを教えないと身につかない) 小学生レベルの知能に、無理して中学・高校・大学・社会人レベルのことを教える」ような作業でした。これは、かなり大変でした。

しかし、この「大規模言語モデルは思ったよりおバカで、特に数学や論理が苦手らしい」という現状を真摯に受け止め、学理・実践の両面から解決策を探る過程にこそ、世界レベルでの大規模言語モデル研究のフロンティアがあるのではいかと、個人的には考えています。地頭はおバカかもしれませんが、AIは、人間を遥かに凌ぐ努力(学習)が可能です。努力を重ねれば、囲碁や将棋で人間を打ち負かすことは容易ですし、数学オリンピックで活躍するレベルの推論もできるようになります。工夫次第で、人間に迫る・超えるような推論ができるようになるのが、言語モデルの面白さだと思います。

Transformer系のアーキテクチャを超える、新たなアルゴリズムが開発されれば、ゲームチェンジが起きる可能性はあります。しかし当面は、「いかにAIに効率的で膨大な訓練をさせるか」が、世界的には、一つのホットトピックとして存在し続けるのではないかと推察します。

ちなみに、海外のモデルは、我々のさらに先を行っています。2024年8月に発表されたQwen2 mathでは、数学系の合成データを活用した事前学習を通して、GPT-4を超える数学性能を達成したとの報告がなされており、開発したTanukiモデルよりもずいぶん高性能です。恐らく報告グループは、我々のNヶ月(N>12?)以上前に、「MT-Benchのサイコロの問題は生半可な学習データ量では全然とけねぇ…」という類の残念な事実(?)に気づいていたはずです。そこで、より抜本的な対策として、例えば「数学の教科書と演習問題」を大規模言語モデルによって多量に合成するような試行錯誤を重ねながら、モデル精度を改善したのではないかと推察します。

以上をまとめると、筆者は、学術的な視点で

  • 解こうとしているタスクのモデルにとっての難易度
  • 学習データと当該タスクのEmbed vector上での距離
  • 当該タスクを解けるようになるために必要な
    • 基盤モデル基礎性能(サイズ・事前学習データ)
    • 学習データの類似度
    • 当該データとの距離

などについて、定量的な立場から明らかにすることに、興味があります。

今後、専門特化のモデル構築、すなわち特化型の知識やタスク性能を付与するにあたっても、上記の知見を明らかにしておくことには、実用上、大きな意義があります。

逆にいえば、学習データの質や量についての土地勘のない、暗中摸索の状態で、とりあえず専門データを学習させてみるという取り組みがあったとすれば、それはおそらく、期待した成果に繋がらないのではないかと、勝手に危惧しています。

(一応化学者である)筆者はこの業界の論文を網羅的にチェックはしておりませんので、上記の学術的な研究動向については、あまり把握しておりません。ただ、エンジニアリングを重視した本プロジェクトでの取り組みを通して、Japanese MT-Benchの問題を解ける/解けない(データレベルでオープンな)モデルが揃いましたので、今後、どなたかが、もっと地に足についた研究解明を行ってくれることを、期待しております。

2. 「科学の基盤モデル」を作りたい

世界で戦える基盤モデルを作りたい

記事の冒頭で記した通り、筆者は一応、科学者(化学者)です。本業では世界レベルで通用する材料研究を行っています。

本プロジェクトは、海外のフロンティアモデルのキャッチアップを目的としながら、ローカルな(日本語を喋る)AI開発に、特にエンジニアリングに力点を置きながら注力する作業に専念しました(甘んじました)。

日本の化学・材料業界は(年々、ランキングは下がりつつあるものの)世界で戦えるレベルは維持しており、「世界で一番、あるいは類を見ない」研究をするのが、標準です。これに対し、大規模言語モデルの業界は、残念ながらアメリカ・中国勢などと大きく引き離されています。本プロジェクトでも、「日本一」を目指すだけで精一杯でしたし、これまでの国内の大規模言語モデルのプレスリリースを見ても、「日本一」を競うのが関の山であった印象です。

科学者としては、これはいささか寂しい状況です。やはり、国際的なレベルで競争力のある研究開発をするのが、産学共に重要だと(勝手に)思っています。

とはいえ、OpenAIやGoogleを超えるガチンコのAI開発は、(大規模言語モデルを開発している諸企業には、貪欲に目指してほしいものですが)自分には難しそうですので、焦点を絞った開発をする必要が出てきます。

個人的に、興味と適性のありそうなトピックは、科学(化学)関連の基盤モデルの構築です。

取り組むべき課題

以下に、科学の基盤モデルを作るにあたって必要そうなTODOを記していきます。

学習データが多量に必要な点以外、やるべきことは人間と同じです。

A. 高校~大学レベルまでの徹底した科学教育

科学的な思考をするにあたって最も大切なのは、基礎的な科学知識と思考能力です。人間用の学習指導要領やカリキュラムなどを参考にしながら、AIが学ぶべきテキストや演習問題などを多量に生成し、体系的に学ばせる取り組みが必要そうです。数学や論理的な思考力については、特に重点的な訓練が必須という手応えです。

これまでの開発を踏まえた経験に基づくと、この実現のために、10 B規模のモデルに対して、数百Bトークンレベルの学習データが必要ではないかと踏んでいます。人間には到底準備できません*ので、大規模言語モデルによるデータ合成と品質管理が鍵になります。到達度の確認のためのベンチマーク問題の設定も、欠かせません。

この作業は、ある意味では、過去に行われた「東大ロボプロジェクト」の大規模言語モデル版を行うようなイメージと言えそうです。

*日本語のWebサイトを全てクローリングしたCommon Crawlのサイズが、数百Bトークンです。

B. 大学院レベルの専門教育(業界特化の基盤モデル)

学問的な基礎を固めた上で、特定の業種(化学、物理、医学、…)に特化した知識を訓練することで、特定の業界で運用可能なモデルが得られる可能性があります。このレベルでは、まだ教科書などが存在しますので、それらを参照しながらデータ合成を進める流れになります。言語モデルの出力精度をチェックする「アノテーター」の確保が難しくなってくる領域です。少量データをいかに大規模言語モデルで精密に増やしていくかが、プロジェクト成功の鍵かもしれません。

GPT-4などのフロンティアモデルも、現在はこのレベルに到達しつつあるように思われます。

C. 研究レベルの専門教育(領域特化の基盤モデル)

AIをやらない「普通の研究者」が本当にほしいと思っているのは、専門的な研究をサポートできるレベルのAIです。しかしこの領域は、学習に使えるテキストが公開論文やプレプリント、研究組織内の文書などに限られ、明らかにデータ不足の状態です。加えて、出力の正確さを担保するアノテーターも、世界で数えるほどしかいないという状況もありえます。

しかし、キャッチアップやトレースが難しい、この領域にこそ、世界的な競争力の源泉があるはずです。OpenAIやGoogleも、この領域を狙っているように思います。

インターネット上には転がっていないローカルな希少情報を、いかに効率的にデータ化し、学習させるかの勝負です。例えば筆者は、自動の化学合成実験と組み合わせた、マルチモーダルな観察・実験遂行システムの可能性を探ったりしています(Polym. J. 2024)。オリジナルなデータを生産し続けながら、最高峰のモデルを活用するという戦略は、国際競争における一つの勝ち筋になるはずです。

言語はどうするか?

専門性とは別の話として、モデルが喋る言語の問題は無視出来ません。国際性を鑑みると、明らかに英語を喋るモデルが有利です。しかし日本で活動を行う研究者・技術者の多くは、日本語で日常的なディスカッションを行います。また、アノテーションも日本語の方が捗りそうです。そういう意味では、日英のバイリンガルモデルを作るという取り組みには、一定の社会的価値があるかもしれません。また、日英モデルでの開発知見やノウハウを、よりマイナーな言語へ展開する仕組みを作れば、ローカライゼーションという意味での国際競争力を見いだせる可能性もありそうです。

まとめ

個人的には、科学研究を行うための基盤モデルなどを作れたら面白そうだと暗黙的には考えながら、プロジェクトに関わってきたように思います*。

(*他にも色々と用途はあるはずで、これに用途を限定しているわけではありません。)

その初手として、GENIACの取り組みでは、最低限の対話ができる(≒Japanese MT-Benchで高得点を取れる)モデルを作ることができました。

ただし、論理推論や数学では解けない問題が散見されたので、継続した基礎力の強化が必要です。

また、「特定のタスクを解かせるために必要な、モデルの素養、演習問題の質と量」について、より体系的な観点から明らかにする基礎検討の重要性が示されました。

より実践的な立場からは、A.中学・高校・学部レベルの基本的な科学教育をAIに行いつつ、並列してB.業界、C.領域特化のモデル構築のノウハウを確立する作業が必要になってきます。

今後も基盤モデルの学習プロジェクトは、どんどん立ち上がっていくとは思いますが、学習データの不足がボトルネックになりそうです。なので、データ合成に関するパブリックな知見集積を中心に、コツコツと取り組んでいければと、画策中です。

謝辞

今回の大規模言語モデルの開発にかかる成果は、NEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)の助成事業「ポスト5G情報通信システム基盤強化研究開発事業」(JPNP20017)の結果得られたものです。

東大松尾・岩澤研究室 | LLM開発 プロジェクト[GENIAC]

Discussion