日本語特化拡散言語モデル「ELYZA-LLM-Diffusion」の公開
はじめに
こんにちは、ELYZA Lab チームの Trisitichoke Tasavat です。本記事では、日本語性能に特化した拡散言語モデル (Diffusion LLM) ELYZA-Diffusion-Base-1.0-Dream-7B および ELYZA-Diffusion-Instruct-1.0-Dream-7B の2つのモデルを公開するとともに、その設計背景、学習方法、評価結果について紹介します。
拡散言語モデルとは、近年の画像生成AIの技術をテキストに応用したモデルであり、従来手法の構造上生じる「左から右に生成し、途中で言葉を消したり追加したりしない」という制限を取り払うことで、人間が長い文章を考える時に重要なフレーズから書き始めるように、自由なテキスト生成が可能になる事が大きな特徴です。

拡散言語モデルの生成過程 [1]
しかし実際にはまだ学習の難しさや性能面での課題も多い事から、現在の商用・オープンなLLMは共に「自己回帰モデル」と呼ばれる従来型の手法に基づいて作成されたものがほとんどで、拡散言語モデルについては海外では一部の企業・研究グループが取り組んでいるものの、そのサイズ感は自己回帰モデルの数十分の一程度であったり、英語に特化しており日本語性能が低かったりするなど、適用範囲や実応用の例はまだ限定的です。[2]
それでも、大きな成功を収めた画像生成という分野の知見を借りてテキスト生成プロセスそのものを大きく見直す事でこれまでに無い文章生成能力の獲得が期待できる事、加えてその生成プロセスの違いから従来の自己回帰モデルよりも高速・省コストなテキスト生成などが見込める事などから、次世代の有望なアーキテクチャの候補としていち早く研究開発を行い、日本国内で使いやすいモデルを提供する事がELYZAの役割と考え、本テーマに取り組みました。
日本語特化 拡散言語モデルの公開
公開モデルの概要
本記事では、日本語性能に特化した拡散言語モデル ELYZA-Diffusion-Base-1.0-Dream-7B および ELYZA-Diffusion-Instruct-1.0-Dream-7B の 2つのモデルを公開します。
本モデルは、拡散言語モデルである Dream-v0-Instruct-7B[1:1] を初期モデルとして用い、日本語データによる追加事前学習および Instruction Tuning を行うことで、日本語性能の向上を図りました。モデルサイズは約 70 億パラメータ(7B クラス)で、Apache License 2.0 のもとで公開しており、主に研究用途および検証用途での利用を想定しています。
これまで、拡散言語モデルの多くは英語中心で学習されており、日本語データによる事前学習を明示的に行ったオープンな拡散言語モデルは限られていました。本モデルは、そのギャップを埋めることを目的として、日本語データに基づく事前学習を行い、公開しています。
以下の表は、本記事で扱う主要な拡散言語モデルについて、代表的な日本語タスクにおける性能を簡単に比較したものです。本モデル ELYZA-Diffusion-Instruct-1.0-Dream-7B は、日本語理解や対話品質を評価するベンチマークにおいて、拡散言語モデルの中でも高い性能を示しています。
なお、ここでは日本語性能に焦点を当てた一部の結果のみを掲載しており、その他の評価結果や詳細な考察については、後続の節で改めて説明します。

拡散言語モデルの強み
拡散言語モデル(Diffusion Language Model)は、世の中で広く使われている自己回帰モデル(Autoregressive Language Model; AR)とは、テキストの生成プロセスが異なります。
自己回帰モデルが文を左から右へ1トークンずつ生成するのに対し、拡散言語モデルでは denoising プロセスに基づき、文全体を同時に更新しながら段階的に生成を進めます。(本モデルでは、すべてのトークンが MASK の状態から生成を開始します。)
このような生成プロセスの違いにより、拡散言語モデルでは生成ステップ数を明示的に調整することで、推論回数を削減した生成が可能になります。例えば、下図に示すデモでは、自己回帰的な生成(左)と拡散的な生成(中央・右)のいずれも、赤い MASK ブロックが青いトークンへと更新されていくという同一の可視化方式を用いています。違いは、「どのトークンを、どの順序で更新するか」にあります。
自己回帰的な生成(左)では、各ステップで 1 トークンずつ順番に更新されるため、
256 トークンの生成には 256 ステップの推論が必要になります。一方、拡散的な生成では、
各ステップで複数の MASK トークンが同時に更新されます。その結果、拡散モデルでも 256 ステップでの生成は可能ですが(中央)、生成ステップ数を 64 に設定することで、1/8 倍の推論回数で同じ長さのテキストを生成することができます(右)。

社会的・技術的意義
拡散言語モデルは、その生成プロセスの特性から、理論上は少数の生成ステップで推論できる可能性を持っています。生成ステップ数を抑えられれば、将来的な推論コスト低減につながると考えられます。一方で、本手法は依然として研究段階の側面も強く、現時点では自己回帰モデルが広く用いられている状況です。拡散的な生成を採用した言語モデルも登場しつつありますが、適用範囲や実運用の事例はまだ限定的です。[2:1]
それでも、生成プロセスそのものを見直すという観点では、拡散言語モデルは言語モデル設計における
重要な新しい方向性の一つだと考えています。
拡散言語モデルとは何か
拡散モデルの背景

Denoising diffusion process[3]
本記事で扱う拡散モデルは、denoising(ノイズ除去) の過程を通じてデータ分布を学習する生成モデルの一種であり、Denoising Diffusion Model として定式化されています[3:1]. データを直接生成するのではなく、複数ステップにわたってノイズを加えていく過程を逆向きにたどることで、元のデータを復元するよう学習されます。
生成過程は、拡散過程 と 逆拡散過程 の2つによって定義されます。
拡散過程(Forward Process)

拡散過程。データに段階的にノイズを加えていく様子[3:2]
順方向の過程では、元のデータに対してガウスノイズを段階的に加えていきます。
元データ
この操作を十分なステップ数繰り返すことで、最終的な
逆拡散の過程(Backward Process)

逆拡散過程[3:3]
逆方向の過程では、順方向で加えられたノイズを段階的に取り除くことを目指します。
ニューラルネットワークでパラメータ化されたモデル
という条件付き分布を近似するように学習されます。
これは、ノイズを含んだ状態
このように拡散モデルでは、生成を 「ノイズから意味のある構造を復元する過程」 として捉えることができます。
言語への適用アプローチ
言語データは画像とは異なり、離散的なトークン列として表現されます。そのため、画像生成で用いられるような連続値に対するガウスノイズを、そのまま言語に適用することはできません。この問題に対処するため、言語における拡散過程の定義方法について、これまでにさまざまなアプローチが提案されてきました。既存研究では、いくつかの異なる方向性が提案されています。
本節では、その中でも代表的なアプローチを簡単に整理します。[4].
1. 連続空間での拡散(Continuous-space Diffusion)
1つ目は、言語を 連続空間に写像した上で拡散を行う アプローチです。具体的には、トークン列を埋め込みや潜在表現に変換し、その連続ベクトルに対して拡散・逆拡散を行います。この方法では、画像生成と同様の連続空間で拡散・逆拡散過程を実現できる一方で、最終的に離散的なトークン列へ復元する必要があり、その変換が難しいという課題があります。
2. 離散空間での拡散(Discrete Diffusion)
近年主流となっているのが、離散トークン列を直接扱う拡散モデルです。このカテゴリでは、ノイズを「トークンの破壊」として定義します。
代表的な手法としては、以下が挙げられます。
- トークンを別のトークンに置き換える
- トークンを削除する
- トークンを MASK トークンに置き換える
逆方向の過程では、これらの破壊されたトークンを復元することで生成を行います。Masked Language Model(MLM)と親和性が高く、大規模言語モデルへの適用が比較的容易である点が特徴です。
Discrete Diffusion Masked Language Model

自己回帰モデル(左)と Discrete Diffusion Masked Language Model(右)の比較
[4:1]
本モデルでは、前節で述べた拡散言語モデルのアプローチの一つである Discrete Diffusion Masked Language Model を採用しています。これは、トークンを MASK に置き換えることをノイズとして扱う 拡散言語モデルです。
順方向の過程では、入力文中のトークンを一定の確率でMASK トークンに置き換えることで、元の文を段階的に破壊していきます。一方、学習時の目的は、この破壊された文から元のトークンを復元することにあります。つまり、Masked Language Model(MLM)と同様の形式で学習を行いながら、それを拡散過程として解釈します。
生成時には、全文が MASK トークンで置き換えられた状態から開始し、denoising を繰り返すことでトークンを徐々に埋めていきます。このとき、自己回帰モデルのように左から右へ順番に生成する必要はなく、文全体を同時に扱いながら生成を進めることができます。
日本語特化拡散言語モデルの設計と学習
前章で述べた Discrete Diffusion Masked Language Model を実際に構築するにあたり、本モデルでは、オープンソースで公開されている拡散言語モデル Dream-v0-7B-Instruct をベースモデルとして採用しました。本章では、その設計の概要と、日本語データによる継続学習、および評価結果について説明します。
Dream-v0-7B の概要
Dream-v0-7B は、自己回帰型言語モデルである Qwen2.5-7B (Base)[5] を初期モデルとして構築された拡散言語モデルです。Qwen2.5-7B は左から右へトークンを生成する自己回帰モデルですが、Dream では学習目標を shifted masked language modeling として定式化することで、
拡散モデルの学習に適合させています。

Dream における自己回帰型モデリングと拡散型モデリングの比較 [1:2]
具体的には、拡散過程に対応した方法で入力系列中のトークンをマスクし、部分的に破壊された入力列を条件として元のトークンを予測します。このとき、自己回帰モデルと同様に、
「位置 i の出力を用いて位置 i+1 のトークンを予測する」という出力・予測対象の対応関係を保つように設計されています。すなわち、位置 i+1 の入力が MASK されている場合には、
位置 i の出力を用いてそのトークンを復元します。
重要な点として、この定式化は自己回帰的な attention 制約を課すものではありません。
実際のモデルアーキテクチャでは full-attention が用いられており、各トークン位置は系列全体を参照した状態表現を持ちます。shifted masked language modeling はあくまで自己回帰モデルからの初期化をうまくするための工夫であり、attention の参照範囲を制限するものではありません。
学習時には、元の入力文に対してトークンをマスクする remasking を行い、マスクされたすべてのトークンを 1 ステップで同時に復元することが求められます。一方、推論時には、全トークンが MASK された状態から複数ステップに分けて復元を行います。
このように、自己回帰モデルを初期化に用いつつも、full-attention 下で同時復元型の denoising 目的を最適化することで、スクラッチから学習する場合と比べて効率良く拡散言語モデルを構築できることが、既存研究において示されています。
日本語データによる継続学習
本モデルでは、Dream-v0-7B-Instruct を初期モデルとして、日本語データを用いた継続学習を行いました。拡散言語モデルとしての生成特性を維持しつつ、日本語表現への適応を目的としています。
継続学習には、約 620 億トークン(62B tokens) 規模の日本語コーパスを用いました。また、Instruction Tuning については、約 1.8 億トークン(0.18B tokens) のデータを用い、100 エポック の学習を行いました。
一般的な自己回帰モデルの Instruction Tuning では、数エポック程度の学習が行われることが多いのに対し、拡散言語モデルでは、より多くの学習回数を重ねることを要する傾向が見られます。今回の設定におけるエポック数の多さは、こうした拡散言語モデル特有の学習挙動に起因するものであり、この点については後続の節で詳しく説明します。
なお、この Instruction Tuning に用いたデータは、ELYZA-Shortcut-1.0-Qwen-32B/7B モデル開発に使用したものと同一です。具体的には、Reasoning Model の学習過程で検索された多数の (問題、思考過程、回答) セットから思考過程を除き、 (問題、解答) ペアを取得した構成データを用います。
評価結果
本モデルが日本語タスクにおいてどのような性能を示すのかを確認するため、日本語タスクを中心に評価を行いました。比較対象として、拡散言語モデルおよび自己回帰モデルを用いています。
本評価で使用したモデルは以下の通りです。
-
ELYZA-Diffusion-Instruct-1.0-Dream-7B(Diffusion)
本記事で公開する拡散言語モデル。 -
Dream-v0-Instruct-7B(Diffusion)
上記モデルのベースとなる拡散言語モデル。 -
WeDLM-7B-Instruct(Diffusion)
Tencent により公開された拡散言語モデル。
Qwen2.5-7B をベースとして構築されている。 -
WeDLM-8B-Instruct(Diffusion)
WeDLM 系列のより大規模なモデルで、Qwen3-8B をベースとしている。 -
ELYZA-Shortcut-1.0-Qwen-7B(Autoregressive)
日本語データによる Instruction Tuning を行った自己回帰モデル。
Qwen2.5-7B-Instruct をベースとしている。 -
Qwen2.5-7B-Instruct(Autoregressive)
比較用の自己回帰型言語モデル。
以下では、これらのモデルを用いた各種日本語ベンチマークの評価結果を示します。
-
ELYZA-Tasks-100
日本語での指示理解や有用な回答を生成できるかを評価するためのベンチマークで、各タスクに対する応答の品質を 1〜5 の 5 段階で評価する。 -
Japanese-MT-Bench
日本語の対話性能を測定するためのベンチマークで、8つのカテゴリーに分類された 80 件の対話について、応答の適切さを 1〜10 の 10 段階で評価する。 -
JMMLU-small
知識理解や日本固有の文化的文脈に基づく選択式問題から構成される JMMLU ベンチマークからサンプリングしたもの。 -
JHumanEval
英語の HumanEval ベンチマークを日本語に翻訳して構築されたデータセットで、日本語で記述されたプログラミング課題を用いてコード生成能力を評価する。 -
MATH-500
数学的な推論能力を評価する英語ベースのベンチマークです。 -
MATH-500(邦訳版)
MATH-500 を日本語に翻訳したデータセットであり、
日本語における数学的推論能力を評価するために使用しています。
なお、各ベンチマークの評価設定や詳細については、ELYZA-Thinking-1.0: MCTS を用いた推論パス探索と模倣学習による Reasoning Model の開発 にまとめています。

まず、ベースモデルである Dream-v0-Instruct-7B と比較すると、日本語データによる追加事前学習および Instruction Tuning を行ったELYZA-Diffusion-Instruct-1.0-Dream-7B は、日本語理解や対話性能を評価するベンチマークにおいて一貫した性能向上を示しています。一方で、コーディングや英語ベースの数学的推論タスクでは大きな変化は見られず概ね横ばいの結果となっていますが、日本語版の MATH-500 では明確な改善が確認されました。
次に、最近公開された拡散言語モデルである WeDLM 系列[6]と比較すると、ELYZA-Diffusion-Instruct-1.0-Dream-7B は、ELYZA-Tasks-100 及び Japanese-MT-Bench の日本語タスクにおいて高い性能を示しています。一方で、プログラミングや数学など一部のタスクにおいては WeDLM 系列が優位となるケースも確認されました。この点については、各モデルが重視している学習データの違いに加えて、WeDLM-8B-Instruct が、より性能の高いモデルである Qwen3-8B をベースモデルとして採用していることが一定程度影響していると考えられます。
また、同じく日本語特化を行った自己回帰モデルである ELYZA-Shortcut-1.0-Qwen-7B と比較すると、本モデルは一部のベンチマークでやや性能が低い結果となっています。この点についても、モデル構造の違いに加えてベースモデルの性能差が影響している可能性が高いと考えられます。
具体的には、ELYZA-Shortcut-1.0-Qwen-7B は Qwen2.5-7B-Instruct をベースとしている一方で、ELYZA-Diffusion-Instruct-1.0-Dream-7B は Qwen2.5-7B(Base)を起点として構築された Dream-v0-Instruct-7B をベースとしています。ベースモデル単体で比較した場合、Qwen2.5-7B-Instruct の方が高い性能を示しており、今回の結果は単純に「拡散モデル化による性能低下」を表すものではなく、初期モデルの性能差による影響が大きいと解釈するのが妥当です。
それでも、自由回答型の日本語タスクに着目すると、ELYZA-Diffusion-Instruct-1.0-Dream-7B は自己回帰モデルに近い水準の性能を示しており、拡散言語モデルに対しても、日本語コーパスによる追加事前学習および Instruction Tuning が有効に働くことを確認しました。
学習コストに関する追加検証
前節では、日本語データによる継続学習として Instruction Tuning を100 エポック行いましたが、
この設定は事前に必要な学習量が明確に分かっていたものではなく、拡散言語モデルにおける継続学習や Instruction Tuning において、自己回帰モデルと比べてどの程度の学習が必要になるのかを把握するため実験的に設定したものです。
その過程で、拡散言語モデルでは自己回帰モデルよりも性能向上に必要とする学習の期間がやや長期となる傾向が観察されました。本節では、この傾向をより具体的に確認するために行った追加の検証実験について紹介します。
本検証では、数学的推論タスクである MATH-500(邦訳版) を評価対象に、約 5,000 万トークン(50M tokens) 規模の MATH データセットの train split を用いて、50 エポック の supervised fine-tuning を実施しました。比較対象として、拡散言語モデルである Dream-v0-7B(Base) と、自己回帰モデルである Qwen2.5-7B(Base) を用い、同一条件下で学習を行っています。

MATH-500(邦訳版)タスクにおける pass@1スコア (max tokens は 1024 に固定)
その結果、自己回帰モデルである Qwen2.5-7B(Base) は大凡 5 エポック目で性能がピークに達したのに対し、Dream-v0-7B(Base) は学習の後半にかけても性能が継続的に向上し、
最終的には同程度の水準に到達することが確認されました。拡散言語モデルではノイズ付加と復元を繰り返す denoising タスクを学習対象とするため、自己回帰モデルに比べて学習の難易度が高くなることに起因している可能性があると考えられます。
拡散言語モデルの性質と可能性
ここまでで、本モデルの学習方法と評価結果について紹介しました。本章では、それらを踏まえたうえで、拡散言語モデルが持つ性質や特徴、そして今後の可能性について整理します。
生成の制御性(Controllability)

文末文を正確に指定した Dream-7B-Instruct によるインフィリング例 [1:3]
拡散言語モデルの「単語の生成順序が自由で、文全体を段階的に更新する」という特徴が大きく活きる場面に、文構造や出力フォーマットが明示的に定まった状況での生成が挙げられます。
例えば、JSON やフォームのように「この部分は必ずこの形式で出力する」といった構造を最初に明示した上で、その枠組みを保ったまま中身を埋めていくことができます。このため、出力フォーマットを固定した生成と相性が良いと考えられます。
同じく、文の一部を固定したまま残りのみを生成・修正することも可能です。
例えば、既存の文章やコードの一部を保持したまま、不足している箇所だけを補完したり、特定の段落のみを書き換えたりといった操作を自然に行えます。このように生成順序に強く依存しない点から、拡散言語モデルは構造化出力や編集的な生成タスクに適した性質を持っています。
生成速度と品質のトレードオフ

Countdown タスクにおける Dream-7B と Qwen2.5-7B の品質と生成速度の比較 [1:4]
拡散言語モデルでは、生成ステップ数が明示的なハイパーパラメータとして存在します。
生成ステップ数を減らすことで、推論回数を抑えた高速な生成が可能になります。実際に、拡散的な生成を採用した一部の商用モデルでは、同等精度の自己回帰モデルと比較して、5〜10 倍程度のスループットが報告されています。[7]
一方で、生成ステップ数を減らすほど生成品質は低下する傾向があり、
生成速度と品質の間には明確なトレードオフが存在します。
用途や要求される品質に応じて、生成ステップ数を調整することが重要になります。
データ効率と学習コスト

ユニークなデータ量の違いによる拡散モデルと自己回帰モデルの比較 [8]
既存研究では、拡散言語モデルは、ノイズ付加から復元までの一連の denoising 過程全体を学習対象とするため、自己回帰モデルと比べて学習設定が複雑になることが指摘されています。自己回帰モデルが、各トークンを一度ずつ観測しながら次トークン予測を行うのに対し、拡散言語モデルでは、同一の文に対して異なるノイズレベルやマスク状態を与え、それらを復元するタスクを繰り返し学習します。このため、同じ学習データであっても、異なる条件下で何度もモデルに提示されることになります。
上図は、総学習トークン数を 96B に固定したまま、ユニークな学習データ量を 0.5B から 96B まで変化させた場合の自己回帰モデルと拡散言語モデルの性能比較を示したものです [8:1]。ユニークデータ量が小さい(すなわち同一データを高エポックで学習する)条件では、拡散言語モデルが自己回帰モデルを上回る性能を示しており、限られたデータから効率的に学習できていることが分かります。
一方で、ユニークデータ量が増加するにつれて、自己回帰モデルの性能が相対的に有利になる傾向も確認されます。これは、拡散言語モデルでは 1 ステップあたりの学習が複雑であるため、大規模データ条件下では学習期間や最適化設定によってはデータを十分に活用しきれない可能性があることを示唆しています。このように、拡散言語モデルは「データが少ない条件で強い一方、大規模データでは学習コストが課題となる」という特性を持つと整理できます。
おわりに
本記事では、日本語性能に特化した拡散言語モデル ELYZA-Diffusion-Base-1.0-Dream-7B および ELYZA-Diffusion-Instruct-1.0-Dream-7B の公開と、その設計背景、学習方法、評価結果について紹介しました。
拡散言語モデルは、自己回帰モデルとは異なる生成プロセスを持ち、生成の制御性や推論速度の調整といった点で、新たな可能性を示すアプローチです。本モデルでは、日本語データによる事前学習を通じて、拡散言語モデルとして実用的な性能水準に到達できることを示しました。
一方で、学習コストや推論基盤の成熟といった課題として残っていますが、しかし近年では、モデルスケーリングに関する検証が進みつつあり [9]、また推論フレームワーク側でも拡散言語モデルへの対応が始まるなど、実運用に向けた環境整備も着実に進んでいます。[10]
拡散言語モデルは、生成プロセスそのものを再設計するアプローチであり、今後の研究開発次第では、言語モデルの新たな標準となる可能性を秘めています。
-
HKU NLP, Dream: Discrete Diffusion Language Models, 2025.
https://hkunlp.github.io/blog/2025/dream/ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ -
近年では、Mercury や Gemini Diffusion など、
拡散的な生成を採用した商用言語モデルもすでに登場している。 ↩︎ ↩︎ -
Chieh-Hsin Lai, Yang Song, Dongjun Kim, Yuki Mitsufuji, Stefano Ermon,
The Principles of Diffusion Models, arXiv:2510.21890, 2025.
https://arxiv.org/abs/2510.21890 ↩︎ ↩︎ ↩︎ ↩︎ -
言語における拡散モデルの適用については、
複数のアプローチが提案されている。詳細は Diffusion Models for Language: A Survey を参照。
https://arxiv.org/abs/2506.13759 ↩︎ ↩︎ -
Qwen Team, Qwen2.5: A Party of Foundation Models, September 2024.
https://qwenlm.github.io/blog/qwen2.5/ ↩︎ -
Aiwei Liu, Minghua He, Shaoxun Zeng, Linhao Zhang, Chuhan Wu, Wei Jia, Yuan Liu, Yang Yu, Xiao Zhou, Jie Zhou,
"WeDLM: Reconciling Diffusion Language Models with Standard Causal Attention for Fast Inference",
arXiv:2512.22737, 2025.
https://arxiv.org/abs/2512.22737 ↩︎ -
Inception Labs, Introducing Mercury, 2024.
https://www.inceptionlabs.ai/blog/introducing-mercury ↩︎ -
拡散言語モデルの学習特性や学習コストについては、
複数の研究で議論されている。
https://arxiv.org/abs/2511.03276
https://arxiv.org/abs/2507.15857 ↩︎ ↩︎ -
Scaling Diffusion Language Models (arXiv:2512.15745). https://www.arxiv.org/abs/2512.15745 ↩︎
-
推論フレームワークの進展として、SGLang が拡散言語モデルをサポートし始めています。 ↩︎
Discussion