blueqat news
量子コンピュータ関連銘柄 更新: 10/12 11:45(日本時間)
%は前日比・グラフは直近10営業日の推移 — 株価とニュースの突き合わせ / 業界の関係図
寄稿 AI

【寄稿】日本語だけで一から育てた小さな言語モデル「nobidog」――自社のGPUで学習し、社内で使い始めました

要約

blueqat は、日本語の文章だけを読ませて一から学習した約12億パラメータの言語モデル「nobidog1b」を作り、自社のサーバーで社内向けに使い始めました。学習はすべて自社のGPUで行っています。「こんちは」と話しかけたら誰かのブログの続きを書き始めた、といった開発の裏話と、思ったより使える手応え、ベンチマークの予定、7B級と量子計算のためのモデルへの計画を紹介します。

blueqat で、小さな言語モデルを一から作りました。名前は「nobidog(ノビドッグ)」。いま社内で使い始めているのは、約12億パラメータの「nobidog1b」です。

いまの言語モデルの多くは、どこかの会社が公開したモデルを土台にして、そこから自分たちの用途に合わせて調整したものです。私たちは今回、あえてそれをしませんでした。日本語の文章だけを読ませて、まっさらな状態から学習させています。他社のモデルの重みは一切使っていません。

なぜ、わざわざ一から作るのか

理由は単純で、「自分たちで最後まで作れるのか」を確かめたかったからです。

言語モデルは、使うだけならいくらでも選択肢があります。でも、中で何が起きているのかを本当に分かろうと思ったら、一度は自分の手で、文章を集めるところから育ててみるしかありません。どのくらいの計算が要るのか、どこでつまずくのか。それは、作ってみないと分からないことばかりです。

学習に使ったのは、公開されている日本語の Web の文章と、日本語の Wikipedia です。これを自社で選別し、重複を取り除いて、学習用に加工しました。文章を細かい単位に切り分ける「トークナイザ」も自分たちで作り、学習のプログラムも自分たちで書きました。そして、学習はすべて自社の GPU の中で行っています。

小さく始めて、少しずつ大きく

最初は、ずっと小さなモデルから始めました。動くことを確かめ、少し大きくして、また確かめる。その繰り返しで、最後に今の 1B 級までたどり着きました。開発を始めてから約1か月、いちばん大きいモデルの学習そのものには、約16日かかっています。

使っている GPU は最新のものではありません。そのため、最新の GPU なら当たり前にできる計算の省略ができず、数字がはみ出さないように、一部の計算だけ精度を上げて回す工夫が必要でした。限られた機材で、どこまでいけるか。そこも今回の挑戦の一つです。

作ってみて、笑ってしまったこと

一から作ると、思わぬところで、思わぬ振る舞いに出会います。

いちばん笑ったのは、挨拶です。学習を終えたモデルに「こんちは」と話しかけたら、「こんちは、先日、新しいスマホケースを注文しまして…」と、誰かのブログの続きを書き始めてしまいました。別のときには、Windows XP のインストールの話を始めたこともあります。

原因は、仕上げの学習に使った問答の中に、挨拶がほとんど入っていなかったことでした。モデルは「こんちは」を、会話の始まりではなく、文章の書き出しだと思っていたのです。挨拶や雑談の見本を足して学習し直すと、「こんにちは!何かお手伝いできることはありますか?」と、ちゃんと返してくれるようになりました。

ほかにも、「𠮷(つちよし)」や「鰤」のような珍しい漢字が、化けた記号になって出てくることがありました。こうした字は、細かい部品を組み合わせて1文字になります。答えを部品ごとに流していたため、組み上がる前の半端な状態が表示されていたのです。こういう地味なつまずきの一つひとつが、作ってみて初めて分かったことでした。

使ってみると、思ったより使える

肝心の中身ですが、正直に言って、思っていたよりずっと使えます。

たとえば「VQE の仕組みを簡単に教えて」と聞くと、「ハミルトニアンをパウリ演算子の和に分解し、それぞれの期待値を測って、古典的な最適化でエネルギーを最小にしていく」という筋の答えを返してくれます。小さなモデルでも、量子コンピュータの基本的な用語の説明なら、十分に役に立つ場面があります。

もちろん、間違えることもあります。大きなモデルや専門家の代わりになるものではありません。それでも、小さいぶん軽く、速く、安く動かせます。手元の GPU で動き、外にデータを出さずに使える。この使い勝手のよさとコストの低さは、小さなモデルならではの強みだと感じています。

性能を数字で示すために、いまベンチマークを取っているところです。日本語の標準的な評価で、ほかの同じくらいの大きさのモデルと同じ条件で比べています。結果が出たら、あらためてご紹介します。

すでに社内で使っています

nobidog1b は、すでに自社のサーバー上で、社内の限られた利用者向けに提供を始めています。外部への提供や公開はまだですが、毎日使いながら、気になるところを直していく段階です。

次は 7B へ、そして量子計算のためのモデルへ

これから目指すのは、量子計算をより速く、より安く行うことを助けるモデルです。量子のアルゴリズムや回路を考えるとき、手元で軽く動くモデルが隣にいてくれたら、という場面はたくさんあります。そのために、効率のよいモデルを作っていきたいと考えています。

次の目標は、7B(約70億パラメータ)級です。ここまで大きくなると、今の自社の GPU だけで一から学習するのは難しくなります。そこで、公開されている日本語のモデルを土台にして学習を重ねる方法や、外部の計算資源を使う方法も含めて、作り方を検討しています。

一から作ってみて、言語モデルは「誰かが作ったものを使うもの」から「自分たちで育てられるもの」に変わりました。小さく始めて、少しずつ大きく。量子コンピュータと同じように、この分野も、自分の手で触ってみるのがいちばん面白いと感じています。

寄稿は筆者個人の見解です。編集部の見解ではありません。 この媒体はblueqat株式会社が運営しています。

続きはメールでも受け取れます

新着記事のまとめを、毎日・週1回・月1回から選んでお届けします。 対談と教えて先生の続きも読めるようになります。登録も閲覧も無料です。

ログインしてメール配信を設定