利用事例

連載26回:株式会社Preferred Networks 様 (第1回 大規模言語モデル構築支援プログラム 採択者)

ABCIで日本語版大規模言語モデルを構築する

 大規模言語モデル(Large Language Model、以下、LLM)など生成AIが非常に注目を浴びています。生成AI が持つ能力に個人の利用だけでなく、新しい付加価値の可能性を求め企業での利用も進んでいます。新しい可能性が見いだされる一方で、そのデータの学習には莫大な計算資源が必要になります。産総研は自身が構築・運用する人工知能処理向け計算インフラストラクチャ「ABCI」の計算資源の一部を利用できる「大規模言語モデル構築支援プログラム」を実施しました。「大規模言語モデル構築支援プログラム」の第1回に応募くださった株式会社Preferred Networks 代表取締役 最高研究責任者 岡野原 大輔 様にプログラムを通した成果や取り組みについてお話を伺いしました。


株式会社Preferred Networks 代表取締役 最高研究責任者 岡野原 大輔 様

株式会社 Preferred Networks
代表取締役 最高研究責任者 岡野原 大輔 様


LLMの学習には、まとまった計算資源と期間が必要


― 御社が携わっている事業についてと、今回「大規模言語モデル構築支援プログラム」(以下、支援プログラム)に応募くださった背景、目的をお教えいただけるでしょうか?

岡野原 大輔(以下、岡野原):

 Preferred Networksは、AIを使って社会の課題を解決したり、もしくは消費者が使うようなエンターテイメントの製品などを開発している会社です。これまで非常に広い分野でAIを適用した課題の解決を進めていまして、例えば自動運転の開発やロボットの知能化、そして科学計算を用いた創薬などにも携わっています。元々、AIを使ったソリューションを他の会社さんと一緒に作るのが中心の事業ですが、近年基盤モデルがAIソリューションにおいて非常に競争力を持ったものになってきています。AIソリューションを作る上では、基盤モデルから作らないと他のAIソリューションと差別化できない、もしくはそもそも問題が解決できない状況が見えてきました。最近は基盤モデルの開発にも会社を上げて取り組んでいる状況です。


― 最近、基盤モデルの大規模化が進んでおり、基盤モデルの学習に必要な計算資源が重要な課題になっています。御社は深層学習を高速化するプロセッサー「MN-Core™」の計算資源もお持ちですが、今回ABCIを選択された理由は何でしょうか?

岡野原:

 会社の中でも、計算資源やスーパーコンピューターは持っています。主にGPUを並べたものや、あとは「MN-Core™」という自社で作っている深層学習向けのチップを並べたスーパーコンピューターがありますが、すでに社内のいろんなプロジェクトが利用しているので、LLMや生成AIの学習で必要なまとまった規模でかつ、まとまった期間、ずっと社内の計算資源を使うのは難しい状況でした。基盤モデルの学習で社内の計算資源を利用すると、その期間は他のプロジェクトを全部止めないといけないので、こういった占有利用はかなり難しいと考えていました。まとまった計算資源をまとまった期間使える、しかもLLMの学習に使えるような強いネットワーク性能と全体のクラスターの性能が出る、という条件を満たす計算資源を国内外で探し続けていました。そこに、以前から利用させてもらっている産総研さんのABCIが「大規模言語モデル構築支援プログラム」という形でまとまった規模の計算資源を使えることになりまして、これは非常に私たちの需要に合っていたため、支援プログラムに応募しました。


大規模な計算資源を利用する前の準備は重要


― 今回の支援プログラムでは、ABCIの計算ノード(A)の60ノードを占有利用できます。60ノードという大規模な計算資源を利用する際に心掛けたことはあるでしょうか?

岡野原:

 まず、今回提供していただける計算資源でどれぐらいの規模の学習ができるのか逆算しました。会社の中ではまだ小さい規模の言語モデルしか作ったことがなかったので、今回利用できる計算資源の範囲の中でできるだけ大きい規模の言語モデルを作ろうと考えていました。そこで小規模な70億パラメーターのLLMモデルである、PLaMo-7B(Preferred Language Model1)をまず作り、そこで得られる知見を元に、より大きい130億パラメーターのモデル、PLaMo-13Bを作るという段階を踏むことに決めました。


― 最初から大規模なモデルで進めるのではなく、一回ステップを踏んでから、そこでのフィードバックやABCIの挙動など確認して進めたのですね。

岡野原:

 恐らくABCI側もこれだけ大規模の計算資源を、しかも長期間かつ高負荷、連続で動かすのは初めてだったのではと思います。また、現場レベルでは計算ノードで想定外の問題が起きていました。問題がありながらも、そこはABCIの担当者の方がしっかり対応してくれて、全体としては大きな問題にならずにしっかり最後まで行くことができました。


― 今回のモデルを作る際に、データセットをあらかじめご準備されたと伺っていましたが、それはどういった背景があったのでしょうか?

岡野原:

 PLaMoの学習には基本的に公開されているデータセットを元にそれらを組み合わせて学習用データとして使ったのですが、公開されているデータでも品質が悪いデータがたくさん含まれていたりします。今回のPLaMoの学習では、日本語でもちゃんと性能を出すことを目指していたので、日本語の良質なデータがどういったところにあるのか調べたりしました。あと、学習用データをきれいにする部分はかなり大変でして、例えば、機械で自動生成したデータを学習データとして加えると性能が落ちたりしますし、重複するデータももちろんあります。また学習に含めてはいけないような良くないデータもあるので、そういったデータを削除しました。今、AIモデルの学習における状況は、データの方が多く、学習のために必要な計算資源がボトルネックになり全部を学習できない状況、と認識しています。限りある計算資源で効果的な学習を進めるために、小さい規模のモデルを使って、どのデータを選ぶのか、こういうデータを入れたら効果がある、これは効果がない、などを検証しながら、より大規模なモデルの学習の準備を進めました。
 作業工程を時系列で言えば、最初に60ノードを全台使えるようにするための準備と、効率的に学習を進めるためのチューニングを実施し、そして小規模のPLaMo-7Bの学習に約半月を費やして、より大規模なPLaMo-13Bは、学習に約1か月を費やしました。全体合わせて2か月の時間をこのように使いました。


入念な事前準備をしても避けられないトラブル


― さきほど、想定外のトラブルがあった、と仰ってましたが、どのようなトラブルだったのでしょうか?

岡野原:

 ある程度の想定はしていたのですが、やはりこれだけ多くの計算ノード数を同時に動かすとなると、常にどこかのノードは故障が起きていました。計算ノードもハードウェアのばらつきというか、ある計算ノードはずっと故障しがちなので、そういうノードは除外して安定して使えるノードに絞り込んでいくことをしていました。しかし安定したノードに絞っても、どこかで必ずハードウェア障害は起きるもので、例えば1年間故障しないハードウェアでも500台稼働させるなら毎日1台は故障するぐらいのレベルで、常にハードウェアの障害が起きます。そこで全体の学習効率を落とさないで学習できるインフラをソフトウェア側で作って全体の学習を進めました。
 あと、大規模モデルの学習過程で見られる情報は、その時々の「パープレキシティ」2と呼ばれる、どれぐらい予測が当たっているかという数値しか見えないです。最終的にできたモデルはどれくらいの性能を達成するのか、学習が終わってみないとわからないです。実際にモデルの学習が終わって評価してみたら、もともと自分たちが狙って精度を上げたいと思っていたところは伸びなくて、一方で別なところで意外と性能が伸びていて、予想外のことが起こります。これは開発中のトラブルというよりは、でき上がったものがどうなるのかという予測できない部分で難しいところです。実際モデルを作ってから、「じゃあ、これはこういう目的で使っていこう」というのを相談したりしました。
 AIのモデルは一般に作ってみるまで分からないものが多いですが、今回の基盤モデルにおいては「べき乗則」3と呼ばれる規模を大きくしていくとどれぐらい性能が良くなるのか予測できる法則があるので、これぐらいモデルを大きくしたり、投入計算規模を大きくしたらどれくらい精度が上がるか、ある程度の予測はつきやすいです。しかしそこで予測がつくものは、あくまで次の単語の予測の性能だけであって、後で使う要約や翻訳などのいろいろなタスクでどれぐらい性能が出るのかわからないです。特に一番気になった、日本語の性能はどれぐらい出せるのか、と言う部分が実際わからなくて、学習をやってみたら予測の範囲内ながらも、もうちょっと学習データに日本語の特に良質なデータを増やしておいた方が良かったかな?と後になっては思います。逆に、英語の能力がその分高かったので、最終的に日本語と英語の両方の能力を合わせて性能が高いという結果になりました。もともとは、もうちょっと日本語寄りに狙ったつもりでしたが。


株式会社Preferred Networks 代表取締役 最高研究責任者 岡野原 大輔 様


― 目標とのギャップが生まれたので、そこは今後の課題でしょうか?

岡野原:

 今後の課題かと思います。しかし、それ自体は一つの研究成果だと思っています。これぐらいのデータ量だったらこうなるだとか、多くの知見が蓄積できたという成果です。今回、ABCIでLLMを構築して、2023年9月にオープンなモデルPLaMo-13Bという形で公開しました。4 このPLaMo-13Bの構築を通して大規模基盤モデルの構築ができそう、と言うことがわかったので、今回の経験をもとに基盤モデルの開発と提供に特化した株式会社Preferred Elementsという会社を設立しました。Preferred Elementsとして、「GENIAC」(Generative AI Accelerator Challenge、以下GENIAC5)と呼ばれる経済産業省が主導するプロジェクトに参画しています。この「GENIAC」プロジェクトにおいて、生成AIの開発として1000億パラメーターのマルチモーダル基盤モデルの構築を進めています。この構築にはもちろんABCIで作った「PLaMo-13B」の経験が元になっていまして、先ほどお話しした想定通りにいった部分とか、逆に想定通りに行かなかった部分の経験を参考に、1000億のパラメータモデルの構築を進めています。
 言語だけだとビジネスとしては難しく、言語以外の情報が扱えないと解析できる対象はすごく限られてしまいます。我々のお客さまである企業の人たちが持っているデータを聞いてみると、例えばパワポのデータとか、実験データとかで、必ずしもテキストだけではなくて、図や表やグラフとか、その他には例えば顕微鏡の写真とか、自動運転であれば車載カメラの映像など、いろいろなデータに広がります。さまざまなデータを解析しようと思うと、マルチモーダルなデータが扱えないと、お客さまの必要最低限の要求を満たせなくなってしまいます。さらに、マルチモーダルの中でも我々が特に目標としているのは、まだあまり注目されてないようなデータ、例えばセンサーから出てくるデータなどにも対応していくことを考えています。我々が話しているお客さまの企業活動で直面している課題を解決できるものと、お客さまの企業競争力を上げていけるものを作るのが最初の目標になっています。


生成AIの学習環境におけるABCIの印象


― 今回、計算ノード(A)を60ノード使われてみて、こういった大規模な計算資源が利用できるABCIに対する感想や印象はいかがでしょうか?

岡野原:

 計算資源は自社で持っているものとパブリッククラウドも使っていますが、それらと比べてもABCIの使い勝手は良かったと思います。しっかり性能が出ますし、性能が出るように良く設計・構築されていると思います。また、今回の支援プログラムでは発生したトラブルに対してABCIの担当者の方が親身に対応してくれたので、我々の進めるべきことがしっかり進められました。しかし、これからお客さまが増えてきた場合に、うまくシステムでサポートを進めていく必要があるのかもしれないと感じました。かなり属人的にサポートしていただいたので、有難い半面で気になった面でもあります。その他には、計算資源の入手のしやすさはありますね。必要なタイミングで計算資源が使えるかどうかも大事で、その点でもABCIは使いやすいです。


株式会社Preferred Networks 代表取締役 最高研究責任者 岡野原 大輔 様


― おかげさまで多くのお客様に使っていただいており、今年度のABCIの利用率は高い状態でした。

岡野原:

 今はAIのブームもあり、ABCIは需要があると思います。自社で開発する汎用原子レベルシミュレータMatlantisの開発や研究でもABCIを使わせてもらっていて、LLMほどではないですが計算資源としてABCIを継続的に使い続けたいと考えています。機能としてはパブリッククラウドの方がたくさんあるのですが、ABCIはバッチで大規模計算を実行するという使い方が良いと思います。もし課題があるとすれば、会社としてガッツリ使いたい場合にまとまった計算資源の使い方ができると良いですね。それができるようなプログラムとして今回の支援プログラムを用意して頂いたのだと思います。今後、大規模な計算資源のユースケースのところで、そういった要望に応えるメニューが増えてくると良いと思います。


― 生成AIの研究を試してみたいと思っている他の方に対して、アドバイスを頂けるでしょうか?

岡野原:

 まさに生成AIは、大規模な開発や投資が必要になります。しかし、最初からそれだけの投資するのはすごく難しく、リスクが高すぎると思います。今回、我々もABCIの支援プログラムを使わせてもらって、本当に大規模な基盤モデルが作れるのかどうか試して、そこで多くの知見を溜めることができました。そこで得られた知見を基に、会社としても基盤モデルの開発をやっていくんだ、という確信を得ることができましたので、生成AIを試してみたい時に、ABCIを使うのは良いかと思います。ABCIは企業の研究活動を支援する目的もあったと思います。社内ではできない計算資源をABCIが持っているので、今回の生成AIの研究をABCIで試してみるのはすごくいい選択肢だろうと思います。企業やアカデミアがこういう大規模な計算資源を投じないと、そもそも研究成果が得られないというケースが増えてくると思います。そういった需要に対して柔軟に計算資源を提供できるような仕組みを、これからも提供していただければとは思います。計算資源自体が競争力の源泉にもなってきている中で、ABCIは計算資源を日本の企業や研究機関に提供して、日本の研究開発の橋渡しに期待しています。


- 今回は支援プログラムへのご応募、ならびに支援プログラムを通した貴重な経験談をありがとうございました。


株式会社Preferred Networks https://www.preferred.jp/ja/


  1. PLaMo:Preferred Networks社が、日英のデータセットで事前学習したLLaMAモデルベースの言語モデル。Apache v2.0のライセンスの元に公開されている。 

  2. パープレキシティ:確率統計モデルがどの程度正確に予測できるか示す指数であり、AIの学習においては次に続く単語の候補数を示す指標になり、この値が小さいほど優れた予測ができていることを示す。 

  3. べき乗則:数学で「ab」(aのb乗)のような式で表現できるもので、言語モデルにおいては、パラメータ数・学習データの量が増えるほど誤差が少なくなる法則。巨大なモデルに多くのデータと時間をかけると、より高い性能を得ることができることを意味する。 

  4. PLaMo-13B:Hugging Faceにて公開中 https://huggingface.co/pfnet/plamo-13b 

  5. GENIAC(Generative AI Accelerator Challenge):国内の生成AIの開発力強化していくため、基盤モデルの開発に必要な計算資源の支援や関係者の連携促進などを図る経済産業省主導のプロジェクト