Preferred Networks

Vol.39 高性能になったPLaMo Primeリリース #2/2

ブログ

◆高品質な学習用データセットの構築

1つ目がまずモデルサイズ。先ほど説明したように、小さいモデルでもより高い性能を達成することを実現しています。この実現にあたっては高品質な学習用データセットの構築に、特にGENIACプロジェクトでは一番力を入れて活動をしました。

GENIACプロジェクトの最初の1ヶ月はこのデータセットの構築にフルコミットをして、残りの学習以外の計算資源を全てデータ構築に当てるっていう形で行いました。

作るデータセットの規模というのが、もうとてつもないでかい量になっていまして、例えば1000億トークン規模って言うとWikipedia数十個分とかそういう規模なんですね。なので、ものすごい量になります。

こういったデータを作るためのクラスターとかデータベースとか、そういったものに関しても大変で、且つどういうデータを作ったら性能改善するかっていうのも評価をして、良いデータセットを作ると。

今のLLMは、基本的に事前学習に関してはスケーリング則が成り立っていて、スケーリング則というのは、モデルサイズと投入データセットと、それの掛け算である投入計算量に比例して賢くなるというのがあるんですけども、そこのどれくらい賢くなるかっていうのがデータの質で決まります。

モデルサイズを抑えたまま投入計算量を増やそうと思うと、学習データを増やすっていうアプローチもあるんですけども、この場合だといわゆるオーバートレーニング、モデルサイズは小さいけどたくさんのデータを投入する状態になって、この場合の限界があります。

高品質な学習データ、同じデータ量なんだけどもデータの質自体が良いと、例えばちゃんと重要な情報だけが無駄なくあり、且つそれらのデータが学習しやすいような形式になっているっていうようなデータを作ると。

あとは、特に日本語データは常に足りないので、そういった日本語データを他の、例えば英語とかで良質なデータがあればそれを翻訳して作るといったようなことも行えます。これによってまずモデルサイズを抑えると。

◆トークナイザーの効率化

2つ目に、新トークナイザーの採用です。

トークナイザーって何かって言うと、元の文字列に対して、その文字列をあるルールに従って1つの塊にしてトークンというのにして、そのトークン単位で今のLLMは処理するんですけども、うまいことそのトークンの塊を作ってあげると、1つのトークンでより多くの文字を扱うことができます

特に英語などはすごく発展してるんですけど、日本語はまだまだ伸びしろがあります。今回PLaMo 2.0 Primeで採用したトークナイザーは、これまでの提案されているトークナイザーと比べて1トークンあたりの扱える文字数を増やすことができています。

一方で、ただ増やすと変な塊ができちゃって学習がうまくいかなくなったり、生成の時にうまくいかなかったりするので、ちゃんと意味あるような単位で切れるっていうのが大事になります。

今回、新しくトークナイザーを作ることによって効率を上げることができています。詳しくはこちらのブログに書いてあります。

◆KVキャッシュ削減の試み

3つ目がKVキャッシュの削減です。

今回ですね、私たちが作って使っているモデルは内部がTransformerと呼ばれるモデルを基本ベースにしてるんですけども、Transformerは注意機構と呼ばれる部分と、たくさん記憶しておくMLPブロックと呼ばれる層が交互になっています。

注意機構部分が過去に処理したデータ、つまり記憶を呼び出す部分があります。この過去処理している部分の記憶はKeyとValueで表されて(KVキャッシュとよばれます)というのがずらっと並んでいて、それを毎トークン生成するごとに全部読み出す(KVキャッシュを読み出す)という部分がデータを生成する時にボトルネックになります。

これをどれだけ減らしながら生成品質を落とさないかっていうことが重要になっていて、今回PLaMoについても、一部の層について、アテンションではなくKVキャッシュを使わないMambaとよばれる層を使ってることによって性能維持しながらKVキャッシュを大きく減らせています。

◆ポストトレーニングの進展

4つ目ですが、SFTやアライメントとよばれるモデルの性能を上げるポストトレーニングに関してもかなり進展が前回からありまして、それらの最新の研究成果や新しい公開データセットを利用することによって性能改善ができています。

例えば、ブラウザで数式が表示されるようになっているし、そもそもLLMがこういう数式を直接吐けるようになっているっていうこと自体が前は出せなかったんですけど出せるようになっています。

他にも細かく色々改善してるところがあるので、是非試してみてもらえたらと思います。

PFNは新しい仲間を
募集しています

未掲載事例、プロダクト・ソリューション、研究開発についてお気軽にお問い合わせください