基盤モデルの開発をしている中で苦労することは?

南野充則氏(以下、南野):では、ここからパネルディスカッションに移っていきたいと思います。最初は、こちら側でお題を用意しています。大きなトピックとしては、基盤モデルの開発とコスト、基盤モデルにおけるアカデミアとビジネスの観点でどのような考え方をされているのかというところ。

あとは、日本語特化LLMの意義と展望といったところですね。大きなトピックとして揃えていますが、今「Slido」でのご質問もいただいていますので、適宜Slidoも拾いながらやっていければと思います。Slidoは、このQRコードからみなさんに質問していただければと思います。

さっそくですが、トピック1に移っていきたいと思います。「基盤モデルの開発をしている中で苦労されることは?」というところで、これはまず垣内さんからお願いしたいです。この基盤モデルを作っている中でどんな苦労があったかをお話しいただけるとうれしいです。

垣内弘太氏(以下、垣内):そうですね、これは言わなくても、おわかりいただける話だとは思うんですが、やはりシンプルに大規模なことをやろうとすればするほど資金がかかるというのが1つ。あとは、大規模なことをやろうとすればするほど、すごく大規模なGPUのクラスターを確保しないといけない中で、今GPUのニーズがすごく強い状況なので、そこの確保がけっこう難しかったりするなと(思います)。その2点がそもそもの話としては、すごく大きいかなと思います。

南野:ありがとうございます。岡崎さん、いかがでしょうか?

岡崎直観氏(以下、岡崎):はい。まず我々は限られた予算と期間の中でやっているので、その中で何に取り組んだら……例えば性能を上げるんだったらとか、研究としてやろうとした時に、共有して意義のある実験、もしくは研究の問いは何なのかということを意思決定するところにけっこう時間をかけてやっています。

あと、私がしているわけではないのですが、藤井さん(藤井一喜氏)とかを見ていると実験の管理もすごく大変そうで、どの実験をいつやるのかというスケジューリングをかなり厳密に管理しています。あと、実験している時にロスが発散している場合の対処。あとは、GPUが故障した場合にすぐ別の代替に移し替えるとか。

あと、最近はロスが下がりすぎている状況があって、それがなんでなのかをデバッグしないといけないのですが、その原因が自分が書いたコードではなくて、学習フレームワークの中の予期せぬ挙動だったりというのがあって、そのへんはすごく大変そうだなと思っています。

あと、大規模データの取り扱いもきちんと事前に見積もっておかないと、例えば借りたサーバーで処理しきれないとか、ディスクに乗りきらないみたいなことが起こるので、そのへんも苦労しているところに入るんじゃないかなと思います。以上です。

南野:ありがとうございます。

日本語特化LLMの性能差は?

南野:そのトピックに関してSlidoにいろいろ集まっています。例えば、「『GPT-3.5』や『4』『4 Turbo』に比べて、基盤のモデルのサイズが小さそうだ」といったところなのですが、「性能差は日本語特化にしてどんな感じなのか?」という質問が何個か出ています。それについて垣内さん、岡崎さんからコメントをいただけるとうれしいです。

垣内:そうですね。例えば先ほど申し上げたように、弊社でも今700億パラメーターくらいのモデルを学習しています。GPTのサイズは正確には公開されていないので、もうどれぐらいの規模でやっているのかはわからないんですけれども。

それこそやはりGAFAとかは、数万台、数十万台、GPUを買い込んで実験していると言われているので(笑)。そんな中で弊社で並列で回しているのは、たかだか数百台だったりするんですよね。というところでいうと、規模としては、やはり圧倒的に大きい差はあるのかなと思います。

あと、性能面もGPT-4とかになると、やはりすごく性能が高くて、そこに追いつくような日本語モデルというのは到底出てきていないんじゃないかなとは思います。

岡崎:私からですが、まずLLMの性能を測るというのはけっこう難しい課題です。ベンチマークだけで測ればいいというわけでもないですし。あとは、GPT-4とかに比較してもらうみたいな、いろいろなやり方があって、一概にどれが良い、悪いと言いにくい状況があります。「Swallow」の70Bでもけっこういい性能だと言ってくれる方もいますし、そこの比較は難しいかなというのがまず1つです。

あと、Swallowに関しては、最初にご説明したとおり、あまりタスクに特化した味付けをしていないんですね。やっていることは、本当に純粋に「Common Crawl」のデータや「Wikipedia」のデータを入れて、次の単語を予測させているだけという状態がベースモデル。

インストラクトモデルは、すでに公開されているインストラクションデータを使って追加で学習しているものなので、そういった面でGPT-3や4に肩を並べられるかというと、まだ我々は、その段階にないかなとは思っています。

垣内:岡崎先生がおっしゃったとおり、評価はすごく難しくて。

なので、今いろいろな日本語モデルがあるのですが、それぞれがそれぞれの目標関数……例えば岡崎先生は、できるだけベーシックなモデルを作ろうという方向でされていて、我々はできるだけ柔軟に指示を聞いて役に立つ回答をするモデルを作ろうとしているというところで、けっこういろいろな評価指標があるんですよね。

NLPの基本的なタスクを解くのにメッチャ強いモデルもあれば、うちのモデルのように指示を聞く能力が高いモデルがあるという話なんですよね。その中にいろいろな指標があって、それぞれがけっこう相関していなかったりするのですが、結局どの指標で見てもGPT-4は上にいます(笑)。

岡崎:そうですね。

垣内:というのが現実かなと思います。

南野:ありがとうございます。

LLM開発で一番大事なことは何か

南野:では、ちょっとスライドに戻っていただければと思います。次の質問にいきたいと思います。

今課題がある中でLLMを作っていると思いますが、みなさん基盤を作っていく時に、この技術が重要だ、であったり。例えば先ほどGPUが壊れたという話もあったと思いますが、どういった開発の仕組みを整えてやっていくのが効率的なのかとか、そういったお話をいただければと思っています。

こちらは岡崎さんからお願いしてもよろしいでしょうか?

岡崎:はい、あまり高度な話はなくてですね。やはり一番大事だと考えているのは、モデルの評価をとにかくどんどんやることですね。

追加学習でも事前学習でもそうなのですが、チェックポイントがどんどん作られて学習が進んでいく中でロスを見ているだけではなくて、きちんとモデルを評価を走らせて、正しい方向に向いているのかとか。

例えば追加学習の場合は、日本語の性能がどのくらい下がっているのか、英語の性能がどのくらい下がっているのか。あと、その後どのくらい上がってきているのかを見ておかないと、そのまま続けていいかどうかがわからないんですね。

なので、評価をする方法をきちんと確立しておいて、学習の段階からそのサイクルを早く回しておくことが非常に重要かなと思っています。まずこのぐらいで、はい。

南野:ありがとうございます。垣内さん、いかがでしょうか?

垣内:岡崎先生のおっしゃっていることは、本当に共感するところです。評価のところもそうですし、先ほどおっしゃっていた、スケジュールをしっかり詰めてという話とか、壊れたノードに対する対処も弊社側でもすごくきちんとやっていて、メチャクチャ重要なところだなと思っています。

一方、そもそもの話になってしまうんですけれども。やはり弊社はスタートアップなので、スタートアップとしての戦略を考えた時に金と計算リソースで殴る、みたいなことはできないんですよね。

会社として生き残っていくことを考えた時に、そもそも弊社の戦略として、Post-training、事前学習した後の指示に従わせるデータを作るというのがあって、いかに質のいいデータを作るかに、この1年ずっと注力をしていました。

社内にデータファクトリーという組織が……データアノテーションの組織を自社で抱えていて、そこでひたすらデータを作ってはフィードバックしてデータを改善することを繰り返しています。そうすることで公開モデルに対して自社のデータを学習することでもっといいモデルができるというエコシステムを作っています。

なので、そもそもの戦略として基盤モデルをゼロから開発するみたいな、資金勝負とちょっと違うところで優位性を作ろうということに注力していました。

南野:ありがとうございます。

測定や評価はどうやっているのか

南野:たぶんこれはELYZAさんになんですけど、Slidoが来ています。

「各企業向けにLLMのサービスをリリースする際に、リリース条件であったり、その調整であったり、工夫されたことであったり。あと、リリース条件に精度が含まれるのであれば、その測定や評価の方法はどうやられているのか?」という質問が来ていますが、どんなかたちで企業さんと詰めたりされているんでしょうか?

垣内:これはけっこう難しい問題ではあるんですよね。先ほど岡崎先生もおっしゃってくれたように評価はすごく難しくて。要は、どの指標で測ったらというのがわからないので、結局はもう現場に使ってもらう、以上、ですね。

先ほど紹介した「ELYZA App Platform」でアプリケーションをすぐ作って、現場に導入して使ってもらって、「これぐらいの業務の効率化ができましたよね、じゃあ、本導入しましょう」というかたちで、本当に取るべきKPIを直接取りにいくというアクションを取ることが多いです。

南野:ありがとうございます。

どうやって日本語のデータセットを集めて作っているのか?

南野:「日本語のデータセットはどうやって作っているんでしょうか?」という質問が来ています。先ほど、垣内さんにもいただいたと思いますが、岡崎先生とかELYZAさんとか、どうやって日本語のデータセットを集めて作られているのかをご教示いただくことはできますか?

岡崎:私はスライドに載せていたとおりなんですけど。Common Crawlからダウンロードしてきて、その中で日本語と思われるテキストを含むWebページを選別して、その中で文字数だったり、かな、カタカナ、漢字の割合を見て……など、いろいろいくつかあるんですけど。それらを見て、言語モデルとして学習してよさそうなテキストか判定をしています。

それをしないで、いわゆるECサイトでひたすら商品名が並んでいるようなもので学習したりすると、問いかけた時に変なことを答えちゃうんじゃないかという心配もあります。

あと、ひたすら同じ単語が並んでいるだけのテキストとかもあるんですね。そういうもので学習するとRepetitionという、言った時にずっと同じ単語をつぶやくモデルが作られちゃうんじゃないかという心配があるので、そういうものを弾くという方針で学習データを作っています。それ以外のインストラクションのデータとかは、まだうちはそんなに作っていない状況です。

南野:ありがとうございます。垣内さん、いかがでしょう?

垣内:弊社の事前学習も岡崎先生がおっしゃっていたところと同じようなかたちですね。インストラクションデータは、社内でアノテーションをしていますね……あっ、どうぞ。

南野:データを揃えるチームやアノテーションのチームはどのぐらいの規模でやられているんですか?

垣内:今は数十人ぐらいだと思います。ただ、理研さんがデータを作ってくれているところで、そこのインストラクションデータも、正直たぶん自社で作らずとも充実してきているというか。世の中的に今後充実してくることはかなり想定されてはいる状況かなとは思います。

南野:ありがとうございます。

モデル開発と運用のコスト感は?

南野:じゃあ、次のトピックに移っていきたいと思います。

モデル開発と運用に際してのコスト感といったところで、1基盤モデルを作っていく時にどういうコストがかかるのかみたいなところを……オーダーでもいいと思うんですけども。その時に、どんな項目の原価が高いのかというところもぜひみなさんにご教示いただけるとうれしいです。じゃあ、これは垣内さんからいきますか?

垣内:すごくアバウトですが、たぶんゼロから作るのと、それこそ「Llama 2」とかをベースにして作るのとで、また学習する桁が違うのかなと思います。Llama 2をベースとして作るんだとしたら、大規模なものだと、それでも数千万円ぐらいはかかるのかなとは思います。

(コストが)かかるのはもうシンプルに最初のところというか。追加で日本語のプレーンなテキストをどんどん学習させていくところに(コストが)かかっていて、基本的には学習させればさせるほどいいんですけど(笑)。

なので、そこを本当にメチャクチャ学習させたらお金がかかっちゃうし……そうですね、でも、今たぶん世の中で公開されている大規模な追加事前学習済みモデルは、基本的には数千万円ぐらいの、1,000万円のオーダーで作られているのかなと推察します。ただ、これは安い計算リソースを使っている場合だったりするので(笑)、普通のクラウドサービスのものを使うと、5倍とかになる可能性はぜんぜんあります。

南野:ありがとうございます。岡崎先生、いかがでしょうか?

岡崎:今ご説明があったとおりだと思っています。うちのSwallowもおそらく数千万円くらいの費用なんだと思います。ですが、先ほどお話がありましたとおり、「ABCI」は、かなり安い価格設定になっているので、その数倍はかかっているのかなという感じです。

会社の場合は、それ以外の人件費的なところも考えないといけないと思いますが、大学はけっこうそのへんは恵まれていて、優秀な方がいっぱいいるので助かっているところがあります。

南野:ありがとうございます。ELYZAさんは企業とやられていると思います。数千万円のモデルを作ろうという提案をした時に、「ROIがどうだ」「稟議をどう通すんだ?」という話にたぶんなってくると思いますが、そこらへんはどうやって突破されているんですか?

垣内:基本的に、先ほどの数千万円のモデルみたいなお話は、単純に自社内でベースとして開発しているモデルのお話ですね。

一方、企業特化のLLMを作ろうみたいな取り組みは正直難しいですよね。そこまでの規模となると、たぶん現段階でいきなりROIを完全に示してやるのは難しいので、企業でやる場合は、もうR&D的な立ち位置で進めるしかないかなと思いますね。

南野:ありがとうございます。

(次回へつづく)