Diffusion Language Models
反復的なデノイジングを通じて、拡散言語モデルがどのようにテキストを生成および編集するのかを、Transformer、アプリケーション、利点、制限事項についての解説とともに学びます。
拡散言語モデルは、各トークンを厳密に左から右へ生成するのではなく、反復的なノイズ除去を通じてテキストを生成または編集する生成モデルです。マスクされたトークン、置換されたトークン、または不確定なトークンを多く含む破損したシーケンスから開始し、テキストが自然になるまで複数の位置を繰り返し洗練させます。このアプローチは、言語モデリングと拡散モデルのアイデアを組み合わせたもので、従来の次トークン生成に代わる選択肢を提供します。
Link to this section拡散言語モデルの仕組み#
テキストは最初にトークン化によって単語、サブワード、文字、その他の離散的な単位に分割されます。トレーニング中、フォワード破損プロセスによってトークンシーケンスから情報が段階的に削除されます。実装に応じて、トークンはマスクシンボル、サンプリングされた代替候補、または埋め込みと呼ばれるノイズを含む連続表現に置き換えられます。
モデルは、破損したシーケンスのクリーンなバージョンを予測する逆プロセスを学習します。推論時には、大きくマスクされたブロックやノイズのあるブロックから開始し、複数の洗練ステップを実行します。初期のステップでは大まかな意味と構造を確立し、後のステップで語彙、文法、フォーマット、およびローカルな一貫性を修正します。
多くの拡散言語モデルは、シーケンスを処理するためにTransformerを使用します。Transformerはそのアテンション機構によってすべてのトークンを周囲のコンテキストに関連付けることができるため、このタスクに非常に適しています。PyTorch Transformer documentationは、この基礎となるアーキテクチャの有用な概要を提供しています。
固定された穴埋めシステムとは異なり、拡散生成では予測を繰り返し見直すことができます。1つのステップで選択されたトークンが必ずしも永続的であるとは限らず、シーケンスの残りの部分がより良いコンテキストを提供する場合、後の反復でそれが修正されることがあります。Google DeepMindのoverview of text diffusionは、このブロック単位の反復的生成パターンを示しています。
Link to this section拡散モデルと関連概念の比較#
いくつかの密接に関連する用語は、異なる目的やアーキテクチャを表しています。
- **自己回帰型の大規模言語モデル**は、各予測が以前の出力に条件付けられながら、トークンを順番に生成します。この因果プロセスは、TensorFlowのautoregressive text generation tutorialで実証されています。代わりに、拡散モデルは各洗練ステップで多くの位置を更新できます。
- マスク言語モデルは、両側のコンテキストを使用して、意図的に隠されたトークンを予測します。Keras masked language modeling exampleはこのトレーニング目標を示しています。拡散言語モデルは、このアイデアを複数の破損レベルとノイズ除去の反復を伴う完全な生成プロセスへと拡張します。
- **Stable Diffusion**は画像生成システムであり、大規模言語モデルではありません。Stability AIのStable Diffusion image servicesは視覚コンテンツを生成および編集しますが、拡散言語モデルはテキストトークンまたはその表現を操作します。
- **Diffusion Transformers**は、一般的に画像や動画の生成のために、拡散システム内部でTransformerを使用することを指します。拡散言語モデルは、ニューラルネットワークのアーキテクチャ単体ではなく、そのテキスト生成の目的によって定義されます。
Link to this section実社会での応用#
具体的なアプリケーションの1つはドキュメントおよびコードの編集です。カーソルの後ろにテキストを追加する代わりに、拡散言語モデルはドラフト全体または選択された範囲を洗練させることができます。たとえば、ブロック全体にわたって変数名、インポート、コメントを修正しながら、欠落している関数を再構築する場合があります。ある場所での修正が別の場所に影響を与える場合、前方と後方の両方のコンテキストを使用できる能力が価値を持ちます。
2つ目のアプリケーションはマルチモーダル分析です。ビジョンシステムが画像から事実情報を抽出し、その後、拡散言語モデルがそれらの観察結果に基づいたレポート、キャプション、または応答を反復的に構成できます。たとえば、物体検出によって言語コンポーネントがインシデントの要約をドラフトする前に、交通シーン内の車両や人を識別することがあります。
次のワークフローでは、Ultralytics YOLO26を使用して、後続の言語生成に向けた構造化された視覚的コンテキストを作成します。
from ultralytics import YOLO
# Run object detection on a sample image
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Convert detections into compact language-model context
detections = result.summary()
object_names = sorted({item["name"] for item in detections})
visual_context = ", ".join(object_names)
print(visual_context)YOLO prediction workflowは構造化された出力を返し、Results.summary() methodは検出結果を言語パイプラインに渡しやすくディクショナリに変換します。この分離により、ビジョンモデルが根拠のある観察結果を提供し、言語モデルが反復的な構成を処理できるようになります。
Link to this section利点、制限、および実践的なガイダンス#
拡散言語モデルは、複数のトークンを並行して提案し、以前の選択肢を修正し、インフィリングや制約付きの編集を自然にサポートできます。しかし、並行予測がエンドツーエンドの低レイテンシを保証するわけではありません。生成には依然として複数のノイズ除去ステップが必要であり、速度はシーケンス長、モデルサイズ、ハードウェア、およびサンプリング戦略に依存します。
また、テキストは離散的であるため、連続的な画像ピクセルにノイズを追加するよりも、段階的な破損は不自然になりがちです。適切に構成されていないシステムは、重複の発生、必要な詳細の省略、正しいテキストの不要な変更、または出力長の決定における困難を引き起こす可能性があります。
チームは、代表的なプロンプトに基づいてタスクの精度、事実性、編集の安定性、レイテンシ、およびリソース使用量を評価する必要があります。言語品質はコンテキストに依存するため、Google Cloud guidance on generative AI evaluationでは、自動化された指標と人間による評価を組み合わせることを推奨しています。影響度の高いデプロイでは、NIST AI Risk Management Frameworkなどの構造化されたプロセスにも従う必要があります。
視覚的アプリケーション向けに、Ultralytics Platformはデータセットのアノテーション、モデルのトレーニング、デプロイ、およびモニタリングをサポートし、チームが後続の拡散ベースの言語ワークフローの基盤となる知覚コンポーネントを構築するのを支援します。






