大規模言語モデルの次期バージョンPLaMo 3シリーズにおける120B事前学習モデル、31B蒸留モデルの評価
Preferred Networks は NICT と共同で、120B パラメータの国産大規模言語モデル「PLaMo 3」および蒸留版を公開し、日本語生成・知識・コーディング能力において既存の主要モデルと同等以上の性能を示すことを実証した。
キーポイント
120B モデルと蒸留モデルの発表
計算資源投入量が Qwen3-8B や Gemma 3-27B と同等レベルながら、120B の大規模事前学習モデル「plamo-3-nict-2604-120b-base」と、それを蒸留した 31B モデル「plamo-3-nict-2604-31b-base」を開発し公開した。
日本語特化性能の向上
独自のベンチマーク「pfgen-bench」において、120B モデルが 0.83 のスコアを記録し、既存モデル群(Gemma 3, Qwen3 など)を上回る高い日本語生成能力を示した。
長文コンテキストへの対応
120B モデルおよび蒸留モデルともに、長い入力に対応するための継続事前学習(Continual Pre-training)を施し、長文理解能力の強化を図っている。
国産 LLM の安全性と品質
日本の文化や社会に留意した高品質な学習データを用いることで、安全で高性能な国産大規模言語モデルの実現を目指しており、NICT との共同開発による信頼性を強調している。
120B モデルの性能向上と計算量の関係
PLaMo 3 120B はサイズと計算量の増加により、小規模モデルや同等計算量の他社モデルを上回り、特に日本語生成・翻訳ベンチで Qwen3-32B を凌駕する結果を示した。
MMLU-ProX ja と JHumanEval における計算量依存性
これらのベンチマークではスコアが投入計算量に比例する傾向があり、120B モデルは現状で Qwen3-32B に劣るものの、計算量をさらに増やすことで同レベルへの到達が可能と示唆された。
128K トークン超の長文コンテキスト対応
PLaMo 3 は RAG や推論プロセスのための要件に応え、既存の 32K/64K 対応モデルを凌駕する 128K トークンを超えるコンテキスト長のサポートを目指して開発された。
重要な引用
日本の文化や社会等に留意した高品質かつ大量の学習データを用いた安全で高性能な国産 LLM を目指しています
plamo-3-nict-2604-120b-base は Qwen 3 8B、Gemma 3 27B と同レベルの投入計算量で開発したモデルということになります
pfgen-benchはPFNが開発している日本語の文章生成性能評価ベンチマークです
MMLU-ProX ja と JHumanEvalは依然としてQwen3-32Bのほうが高いスコアとなっていました。これは投入計算量の差であると考えられます。
PLaMo 3では、long contextの扱いもPLaMo 2以上に力を入れています。
YaRNはlong contextにおける外挿性能を大きく改善する有効な手法であると言えます。
影響分析・編集コメントを表示
影響分析
この発表は、日本国内における大規模言語モデルの開発競争において、計算資源を効率的に活用し、かつ日本語特有の品質と安全性を両立させた国産モデルの実用性を示す重要なマイルストーンです。特に 120B モデルが小規模な海外モデルと比較して同等以上の性能を発揮したことは、大規模モデル開発における「計算量対性能」のバランスに関する新たな知見を提供し、国内企業の AI 導入や研究開発への自信を高める効果があります。
編集コメント
計算リソースを効率的に使いながら、日本語性能で海外モデルを凌駕した点は非常に注目すべき成果です。国産 LLM の実用化に向けた大きな一歩と言えるでしょう。
はじめに
Preferred Networksでは国立研究開発法人情報通信研究機構(以下: NICT(エヌアイシーティー) )と共同で大規模言語モデル(以下、LLM)の開発を現在行っています。この取り組みの中で、日本の文化や社会等に留意した高品質かつ大量の学習データを用いた安全で高性能な国産LLMを目指しています。
前回のブログ記事 では、PLaMo 3 シリーズのうち、比較的小さい 8B, 31B モデルについての結果を紹介しました。それから開発および学習を進め、より大きい 120B モデル、31B の蒸留モデルの学習が完了しました。また、長い入力 (long context) に対応するための継続事前学習も実施しました。今回は、これらのモデルについての結果を紹介します。
モデルの概要
今回新たに PLaMo 3 シリーズとして、plamo-3-nict-2604-120b-base および plamo-3-nict-2604-31b-base の 2 つのモデルを学習しました。
plamo-3-nict-2604-120b-base の学習では、まず PLaMo 3 31B に weight reusing を適用し重みを初期値として 120B モデルの事前学習を行いました (2025 年 11 月頃)。その上で、後述の通り long context 向けの継続事前学習を行いました。
plamo-3-nict-2604-31b-base の学習では、2025 年 11 月時点での 120B モデルを蒸留して 31B モデルを学習し、その上で long context 向けの継続事前学習を行いました。
Short Contextの評価
PLaMo 3 の120Bの性能を既存の事前学習モデルと比較するため、複数のベンチマークで評価を行いました。比較対象には Gemma 3 PT 27B および Qwen3-8B-Base を採用しました。100B級の公開モデルは限られている一方で、近年は比較的小規模なモデルに多くの計算資源を投入して性能を高める事例も増えているため、これらを投入計算量が近い代表的な事前学習モデルとして選定しています。加えて参考情報として、より大規模な Qwen3-32B の結果も掲載します。ただし、Qwen3-32B は事後学習済みモデルであるため、結果は参考値として扱います。
それぞれの事前学習時点の投入計算量は以下の通りです。なお、投入計算量はChinchilla論文で用いられた近似式(モデルパラメータ数と学習トークン数に基づく総FLOPs)により算出しています。
表1: 各モデルの事前学習における投入計算量
モデル
モデルサイズ
学習トークン数 (Trillion)
投入計算量(log10 FLOPs)
PLaMo 2 8B
8
6
23.5
PLaMo 2 31B
31
2
23.6
PLaMo 3 8B
8
1
22.7
PLaMo 3 31B
31
3
23.7
plamo-3-nict-2604-31b-base
31
1.5
23.8
plamo-3-nict-2604-120b-base
120
3
24.3
Qwen3-8B-Base
8
36
24.2
Qwen3-32B (参考)
32
36
24.8
Gemma 3 PT 27B
27
14
24.4
このため、今回開発した plamo-3-nict-2604-120b-base はQwen 3 8B、Gemma 3 27Bと同レベルの投入計算量で開発したモデルということになります。
また、評価は質問と回答を日本語で行うベンチマークを中心に、以下の複数ジャンルで行いました。
日本語生成
知識
コーディング
翻訳
各ジャンルについて、評価に利用したベンチマークは以下の通りです。
日本語生成
基本的な日本語生成能力を測定するためにpfgen-benchを利用しました。
pfgen-benchはPFNが開発している日本語の文章生成性能評価ベンチマークです。ベンチマークのスコアは0から1の値を取るようになっており、数値が高いほど適切な日本語の文章が生成できていることを示します。
知識
LLMがどの程度知識を有しているかを示すためにJMMLU , MMLU-ProXのja、JamC-QAの 3 つのベンチマークの結果を示します。
JMMLUに関しては、オリジナルのMMLUがよく5-shotで評価されるため、JMMLUの公開されているtestデータからランダムに5つのサンプルを選び、few shotの入力としました。評価はStability AIのLanguage Model Evaluation Harness (以降、lm-evaluation-harness) のMMLUのコードを改良して実施しました。
また、MMLUのような選択問題はpromptで性能が大きく変化することが知られています。今回は選択肢をLLMに入力し、A,B,C,Dの選択肢を答えさせる方法(lm-evaluation-harnessのMMLUにおけるdefaultのprompt)を利用しました。
MMLU-ProXに関してはlm-evaluation-harnessのものを利用して測定しました。
最後にJamC-QAに関してはlm-evaluation-harnessのタスクを作成し、評価しました。タスク設定はplamo-lm-evaluation-harness-extで公開しています。
コーディング
コーディングに関してはJHumanEvalという、日本語でプログラミングの指示をするベンチマークによって評価しました。この評価に利用した実験条件はAppendixに示しています。
翻訳
翻訳性能を測定するために、今回はWMT23とWMT24のうち、日本語が関係するものを測定しました。評価に利用した実験条件はAppendixに示しています。
ここから各ベンチマークの結果をまとめて紹介したのち、結果の考察を述べます。
表2: 日本語生成に関する評価 (pfgen-bench)
モデル
pfgen-bench
PLaMo 2 8B
0.75
PLaMo 2 31B
0.80
PLaMo 3 8B
0.68
PLaMo 3 31B
0.79
plamo-3-nict-2604-31b-base
0.78
plamo-3-nict-2604-120b-base
0.83
Qwen3-8B-Base
0.55
Qwen3-32B (参考)
0.63
Gemma 3 PT 27B
0.68
表3: モデルの有する知識の評価 (JMMLU, MMLU-ProX ja, JamC-QA)
モデル
JMMLU(5 shot, acc)
MMLU-ProX ja (5 shot, acc)
JamC-QA (4 shot, acc)
PLaMo 2 8B
0.57
0.23
0.56
PLaMo 2 31B
0.67
0.34
0.68
PLaMo 3 8B
0.60
0.26
0.46
PLaMo 3 31B
0.73
0.43
0.63
plamo-3-nict-2604-31b-base
0.74
0.45
0.63
plamo-3-nict-2604-120b-base
0.77
0.52
0.69
Qwen3-8B-Base
0.72
0.47
0.39
Qwen3-32B (参考)
0.79
0.64
0.46
Gemma 3 PT 27B
0.77
0.44
0.50
表4: コーディング能力の評価 (JHumanEval)
モデル
JHumanEval (pass@1)
PLaMo 2 8B
0.45
PLaMo 2 31B
0.49
PLaMo 3 8B
0.40
PLaMo 3 31B
0.54
plamo-3-nict-2604-31b-base
0.60
plamo-3-nict-2604-120b-base
0.68
Qwen3-8B-Base
0.62
Qwen3-32B (参考)
0.76
表5: 日本語に関する翻訳性能の評価 (WMT23, WMT24)
モデル
WMT23 (en->ja, 4-shot bleu)
WMT23 (ja->en, 4-shot bleu)
WMT24 (en->ja, 4-shot bleu)
PLaMo 2 8B
23.87
19.71
27.11
PLaMo 2 31B
26.01
22.51
30.43
PLaMo 3 8B
25.24
19.67
28.59
PLaMo 3 31B
26.28
22.30
30.45
plamo-3-nict-2604-31b-base
25.91
22.75
29.46
plamo-3-nict-2604-120b-base
27.01
23.32
31.26
Qwen3-8B-Base
21.62
20.69
24.57
Qwen3-32B (参考)
23.20
22.63
25.83
Gemma 3 PT 27B
26.02
22.79
30.18
plamo-3-nict-2604-120b-base の結果について順番に確認していきます。まず、PLaMo 3 8B/31Bと120B モデルの比較をしてみると、すべてのベンチマークにおいて、plamo-3-nict-2604-120b-base が向上していることがわかります。これはモデルサイズおよび投入計算量が多くなったためであると考えられます。
また、投入計算量が同レベルのQwen3-8B-Base、Gemma 3 PT 27BとPLaMo 3 120Bを比較すると、日本語の生成能力を測定するpfgen-benchや翻訳精度を測定するWMT23、WMT24など学習する日本語の比率が高いと精度が上がりやすいベンチマークだけでなく、JMMLUやJHumanEvalのような日本語が少なくても高いスコアが達成できるベンチマークにおいても同等のスコアが達成できていることがわかります。
最後に plamo-3-nict-2604-120b-base よりも投入計算量が多いQwen3-32Bとの比較です。Qwen3-32Bは事後学習モデルなので、適切な比較が難しく、参考程度の比較になりますが、PLaMo 3 8B/31Bのときと同様に日本語の生成能力を測定するpfgen-benchや翻訳精度を測定するWMT23、WMT24など学習する日本語の比率が高い精度が上がりやすいベンチマークにおいては plamo-3-nict-2604-120b-base のほうが高い精度を達成できています。これに加え、JMMLUに関しては、plamo-3-nict-2604-120b-base とQwen3-32Bを比較すると、同レベルのスコアを達成できていると考えています。
一方、MMLU-ProX jaとJHumanEvalは依然としてQwen3-32Bのほうが高いスコアとなっていました。これは投入計算量の差であると考えられます。この点について説明します。
投入計算量とベンチマークスコアの関係性の評価
MMLU-ProX jaとJHumanEvalに関して、投入計算量とベンチマークスコアの関係のグラフを以下に示します。
image図1: 投入計算量 vs MMLU-ProX jaの散布図
image図2: 投入計算量 vs JHumanEvalの散布図
この結果からわかる通り、これらのベンチマークのスコアが投入計算量に比例することを示唆している可能性があります。本検証で開発した plamo-3-nict-2604-120b-base は2つのベンチマークにおいてQwen 3 32Bに劣るものの、投入計算量を増やすことで、Qwen 3 32Bと同レベルのところまで持っていける可能性があることがわかります。
long context性能を向上させるための取り組み
PLaMo 3では、long contextの扱いもPLaMo 2以上に力を入れています。ここではそのための取り組みについて紹介します。
近年のLLMにおいて、long contextを扱える能力は非常に重要です。例えば、RAGなどにおいてpromptにある様々な情報を適切に処理可能であることは重要ですし、reasoning LLMでは思考過程のために大量のtokenを生成できる必要があります。
こういった理由から、最近のモデルは64K以上のcontextをサポートするのが一般的です。例えば、Olmo 3は64K token、gpt-ossは128K token、Qwen3は32K tokenをサポートし、YaRNなどの導入によって最大で128Kまで対応できるとしています。
PLaMo 2.0では32K tokenへの対応をしましたが、現在主流のモデルに追いつくにはこれでは足りないという状況です。したがって、PLaMo 3では、gpt-ossやQwen3に並ぶ128K tokenを超えるcontext長への対応を目指すことにしました。
PLaMo 2での手法の適用
取り組みの出発点として、PLaMo 2と同じ手法をほぼそのまま適用しました。PLaMo 2では、以下の2つの手法により32K tokenまでの拡張を実現しています。
ABF RoPEの利用
約1B tokenの継続事前学習
しかし、このアプローチでは64K token以上への拡張が難しいという問題がありました。実際に2Bモデルで評価した結果、context長の増加に伴い性能が大きく劣化することが確認されています。
なお、細かい学習設定はAppendixを参照してください。
この評価では RULER を用いました。
RULERに関しては長いcontext評価の際には非常に長い時間がかかります。このため、Language Model Evaluation Harness (lm eval harness) のRULERの実装そのままだと、256k tokenまで評価することが難しいことがわかりました。このためRULERの各タスクの評価サンプル数を100問にして、評価しています。
表6: RULERによる評価結果
context length
性能
8K
0.451
16K
0.402
32K
0.304
64K
0.186
128K
0.067
256K
0.053
特に64K token以降で性能が急激に低下しており、long contextへの一般化が十分にできていないことがわかります。
この問題に対処するための実験・調査を行いました。
実験1: YaRN の導入
他モデルで使われていて有望と思われる解決策として、YaRNの導入を検討しました。
YaRNは、事前学習済みモデルに対してRoPEの計算方法を変更することで、long context性能を向上させる手法です。追加学習なしに適用できる点が特徴であり、Qwenシリーズやgpt-ossシリーズなどでも採用されています。
Appendix に示した設定をベースラインとして、YaRN の有無による性能の差を比較しました。2BモデルにYaRNを適用した結果、以下のように性能が改善しました。
表7: YaRN の有無による RULER スコアの比較
context length
性能 (YaRNなし)
性能 (YaRNあり)
8K
0.451
0.476
16K
0.402
0.414
32K
0.304
0.386
64K
0.186
0.357
128K
0.067
0.243
256K
0.053
0.239
特に64K token以降において、性能低下が大幅に緩和されていることが確認できます。
YaRNはlong contextにおける外挿性能を大きく改善する有効な手法であると言えます。
実験2: 学習token数の増加
さらなる性能向上を目的として、継続事前学習における学習token数を増加させる実験を行いました。実験 1 で YaRN を有効にした設定をベースラインとして、継続事前学習の token 数を 12B/24B としたときの性能の差を比較しました。
表8: 継続事前学習の学習 token 数を変えたときの RULER スコアの比較
context length
性能 (12B token)
性能 (24B token)
8K
0.476
0.605
16K
0.414
0.446
32K
0.386
0.411
64K
0.357
0.198
128K
0.243
0.072
256K
0.239
0.053
短いcontext(32K tokenまで)では性能の向上が見られる一方で、64K token以上では逆に性能が大きく低下する結果となりました。
この結果から、単純に学習token数を増やすだけではlong context性能は改善されないことがわかります。
むしろ、長時間の学習によってYaRNが持つcontext外挿能力が徐々に失われている可能性が考えられます。これは学習率の調整等のハイパーパラメータ最適化で解決できる可能性もありますが、網羅的な実験はできていません。
今回採用した方針
上記の実験結果をもとに、PLaMo 3のlong context性能改善としては、
YaRNを適用する
学習token数は大きく伸ばさない
という方針をとることとしました。
long contextの評価
利用したベンチマークと比較モデル
Phonebook とRULERの小規模なものを利用して評価しました。
また、評価するcontext長の長さですが、最大256kまでPLaMo 3のモデルは評価しました。
比較対象として、SSMなどのhybrid modelではない最新のbaseモデルとしてOLMo 3 32Bを評価しています。ただし、OLMo 3 32Bは最大context長は64kであり、一部のベンチマークでは64kの設定だとcontext長を超えるケースがあるため、測定できるcontext長まで測定しています。
long contextの評価結果
long contextの評価結果を以下に示します。
まずはPhonebookの結果です。
image図3:plamo-3-nict-2604-31b-base (long context学習後)のPhonebookの結果
image図4:plamo-3-nict-2604-120b-base (long context学習後)のPhonebookの結果
image図5:OLMo 3 32B (参考)のPhonebookの結果。OLMo 3 32Bに関しては64kまでのサポートなので、64kまで示しています。
次に、RULERのサブセットの結果です。
表9: RULERのサブセットのcontext長毎の結果
token数
plamo-3-nict-2604-31b-base
plamo-3-nict-2604-120b-base
OLMo 3 32B (参考)
4k
0.910
0.947
0.949
8k
0.860
0.904
0.927
16k
0.804
0.851
0.907
32k
0.718
0.780
0.852
64k
0.672
0.709
– ※
128k
0.600
0.612
– ※
256k
0.597
0.602
– ※
※ 今回利用したRULERの実装では生成tokenを含めると指定したtoken数を超過するケース
PhoneBook、RULERのサブセットに対する plamo-3-nict-2604-31b-base、plamo-3-nict-2604-120b-base の結果を見ると、context 長が32k以上のところでも一定の精度を保てていることがわかります。このため、YaRNの導入と学習token数の調整は一定の効果があったと考えています。一方、比較として最近公開されたOLMo 3 32Bと比べると32kの部分の精度は依然として下回っています。フルスクラッチから学習しているモデルのLong context対応向けの学習に関しては学習データやハイパーパラメータなどの情報が少ないため、今後も継続して開発を進め、さらなる精度向上を目指していくことを考えています。
終わりに
今回はNICTとの取り組みで行っているPLaMo 3シリーズの大規模な事前学習モデルの結果について紹介しました。特に、long context 処理能力の向上を実現しましたが、他社のオープンウェイトモデルと比較すると、まだ改善の余地がある部分もあります。そのため、弊社では引き続きモデル開発を進めていきます。
また、今回開発したモデルはHugging Faceの以下のURLで公開しています。
https://huggingface.co/pfnet/plamo-3-nict-2604-31b-base
ただし、このモデルは事前学習済みのモデルです。このため、他の事前学習済みのLLMと同様、今回のPLaMo 3のモデルの出力内容を事前予測することはできず、場合によっては不正確・偏った内容、あるいはユーザーの指示に対して不適切と判断される応答を生成する可能性があります。したがって、PLaMo 3の今回のモデルを利用したアプリケーションを展開される際には、開発者の方において本モデルの具体的な用途に合わせた安全性テストとチューニングを実施していただく必要があります。
仲間募集中
PFNでは今後もLLMの開発を継続して行っていきます。開発は今回紹介した以外にも多岐にわたります。我々はこれらの課題に情熱をもって挑戦していく仲間を募集しています。
これらの仕事に興味がある方はぜひご応募よろしくお願いします。
https://www.preferred.jp/ja/careers/
Appendix
JHumanEvalの評価方法
promptは https://huggingface.co/datasets/kogi-jwu/jhumaneval のpromptをそのまま利用しました。
例:
from typing import List
def has_close_elements(numbers: List[float], threshold: float) -> bool:
"""リストnumbersの中に、与えられたthresholdより近い2つの数値が存在するか判定する
>> has_close_elements([1.0, 2.0, 3.0], 0.5)
False
>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
True
"""
また、LLMのコードの生成は以下のものでも止まるようにしました。
[ "\nclass", "\ndef", "\n#", "\n@", "\nprint", "\nif", "\n`", "<|plamo:file_separator|>", "\nimport", "\nfrom"]
wmt23、24の評価方法
wmt23, 24の評価はhttps://github.com/Stability-AI/lm-evaluation-harness/tree/jp-stable のものと同じものを利用しました。具体的にはen → jaは以下のようなpromptになります。
English phrase: Ford Motor and Volkswagen have said they will spend billions of dollars to jointly develop electric and self-driving vehicles.
Japanese phrase: フォード・モーターとフォルクスワーゲンは、電気自動車と自動運転車の共同開発に数十億ドルを投資する予定だと発表している。
…
English phrase: Dozens of fundraising coffee mornings are taking place across Scotland on Friday.
Japanese phrase:
long context性能改善の事前実験条件
事前学習
モデルサイズ
2B
学習token数
100B token
学習context length
4K
long context対応の継続学習
モデルサイズ
2B
学習token数
12B token
学習context length
64K
投稿 大規模言語モデルの次期バージョンPLaMo 3シリーズにおける120B事前学習モデル、31B蒸留モデルの評価 は Preferred Networks Tech Blog に最初に表示されました。
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み