inclusionAI、拡散言語モデルLLaDA2.2-flashを公開 SWE-bench Verified 49.28

スペック

総パラメータ100B(非埋め込み)
コンテキスト長128K tokens
ライセンスapache-2.0
重みの公開Hugging Faceで公開
4bit量子化の目安メモリ約60GB(96GB以上のメモリで実行可能な目安)

メモリの目安はパラメータ数×0.6バイトの概算で、実際はコンテキスト長と実装で変わります

inclusionAIは、エージェント用途向けのMoE拡散言語モデル「LLaDA2.2-flash」をHugging Faceで公開しました。非埋め込み100Bパラメータ・128Kコンテキストで、SWE-bench Verifiedは49.28、同ベンチマークでのスループットは519.0 TPSです。

何が新しいか

LLaDA2.2-flashはLLaDA2シリーズのモデルで、inclusionAIはシリーズとして初めてエージェント用途(長文コンテキストのツール利用、マルチターン対話、エラー訂正)に踏み出すモデルと位置づけています。主な技術は3つです。

  • Levenshtein Editing: DELETEとINSERTの制御トークンにより、拡散デコード中に系列構造を編集し、冗長な内容を削除し、並列生成中に挿入スロットを作ります。
  • Block Routing: MoEのエキスパート活性化を拡散ブロック単位で制限し、128Kの長文コンテキストでのエージェント処理を効率化します。
  • L-EBPO(Levenshtein Editing ELBO-based Block-level Policy Optimization): エージェント環境の報酬を使い、マルチターンのツール利用におけるLevenshtein Editingとエラー訂正を学習します。

モデルは32層、32アテンションヘッド、RoPE、語彙サイズ157,184で、ライセンスはApache-2.0です。

ベンチマークとスループット

inclusionAIはLing-2.6-flashと比較した結果を示しています。

ベンチマーク LLaDA2.2-flash Ling-2.6-flash
SWE-bench Verified 49.28 61.20 †
SWE-bench Pro 30.10 31.88
SWE-bench Multilingual 25.00 33.73
τ²-Bench 80.33 76.36 †
Claw-Eval 64.22 64.56 †
PinchBench 81.66 81.30 †
MCP-Atlas 46.21 41.12
BFCL-V4 60.78 66.81
スループット(TPS) LLaDA2.2-flash Ling-2.6-flash
SWE-bench Verified 519.0 303.2
SWE-bench Pro 485.3 283.4
SWE-bench Multilingual 459.5 200.6
τ²-Bench 592.8 334.9
BFCL-V4 703.82 331.5

LLaDA2.2-flashの評価条件は、全ベンチマークで128Kコンテキスト、temperature=1.0、block_length=32、threshold=0.5、editing_threshold=0.0で、各スコアは5回の実行の平均です。SWE-benchシリーズはClaude Codeのスキャフォールドで評価しています。Claude CodeはAnthropicが提供するコーディングエージェントです。

†印のLing-2.6-flashのスコアはLing and Ring 2.6 Technical Reportからの引用で、SWE-bench VerifiedはOpenHandsスキャフォールドでの値です。Ling-2.6-flashのSWE-bench ProとMultilingualは、inclusionAIがLLaDA2.2-flashと同じClaude Codeスキャフォールドで評価しました。Ling-2.6-flashのスループットは、MTPを4ドラフトトークンで有効にした条件です。

試し方

モデルIDはinclusionAI/LLaDA2.2-flashです。transformersと依存関係をインストールし、次の手順で読み込みます。

  • AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True, device_map="auto")でモデルを読み込む
  • model.to(torch.bfloat16)で変換し、model.eval()で評価モードにする
  • AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)でトークナイザーを読み込む
  • tokenizer.apply_chat_templateで入力を作り、model.generateにeos_early_stop=True、gen_length=512、block_length=32、threshold=0.5、editing_threshold=0.0、temperature=0.0を渡す

inclusionAIは推奨の初期設定としてblock_length=32、temperature=0.0、top_p=None、top_k=Noneを挙げています。threshold、editing_threshold、max_post_stepsは速度と品質のトレードオフに応じて調整し、閾値を下げると推論は速くなる一方で、繰り返しや出力の不安定化が起きる場合があるとしています。

長文コンテキストのツール利用やマルチターンのエージェント用途では、サービングバックエンドにSGLangを使い、128Kコンテキストウィンドウに設定するよう推奨しています。SGLangはLMSYSのもとで公開されている推論フレームワークで、RadixAttentionや連続バッチ処理、OpenAI互換APIを備えます。

この記事の固有名詞

コメント (0)

まだコメントはありません。

コメントを書く

2000文字以内