ディスカッション (60件)
「Orthrus」は、Qwen3-8Bなどの既存モデルの重みを固定したまま、推論を劇的に高速化する画期的な手法です。出力分布を完全に維持しつつ、最大7.8倍のトークン生成速度を実現します。
- Code: https://github.com/chiennv2000/orthrus
- Paper: https://arxiv.org/abs/2605.12825
- HF: https://huggingface.co/chiennv/Orthrus-Qwen3-1.7B ; https://huggingface.co/chiennv/Orthrus-Qwen3-4B ; https://huggingface.co/chiennv/Orthrus-Qwen3-8B
- 開示: 共同著者です。
仕組み
固定された自己回帰型(AR)Transformerの各層に、学習可能な拡散アテンションモジュールを注入します。両方のヘッドでKVキャッシュを共有し、拡散ヘッドがK=32トークンを並列投影。その後、ARヘッドが検証を行い、最長の合致プレフィックスを採用します。これにより、元のモデルと論理的に同一の出力分布を保証します。
主な結果
- 推論効率: MATH-500ベンチマークにてTPF(トークン/フォワード)で最大7.8倍、実効速度で約6倍の高速化。
- 学習効率: パラメータの16%を学習。10億トークン未満、8×H200環境で24時間で完了。
- 既存手法との比較:
- Diffusion系(Dream, Fast-dLLM-v2等): ベース重みを変更するため精度が低下しますが、Orthrusはベースを固定するためQwen3-8Bの精度を完全に維持。
- Speculative Decoding系(EAGLE-3, DFlash等): 外部のドラフター不要、キャッシュの分離不要で、TTFT(初トークン生成時間)のペナルティもゼロ。KVオーバーヘッドはO(1)(約4.5MiB)で、MATH-500でのアクセプタンス長は11.7と圧倒的です。
- 高速化の鍵: 多段階ではなく単一段階のデノイジング、およびKLダイバージェンスを用いた蒸留が効果的でした。
制限事項
ベースモデルの制約(バイアス、ハルシネーション、知識の欠如)をそのまま引き継ぎます。現状の評価はQwen3のみで、貪欲法(Greedy)+リジェクションサンプリングのみ対応しています。
これってQwen 3.5か3.6でもできる?あとMoEモデルでも動くかな?
おっ、ぜひQwen3.5 9bも対応して!VRAM 16GBしかない貧弱な環境だからマジで助かる!
うん、Orthrus-Qwen-3.5-9Bも近いうちに公開するよ。
Carnice-9bの方がいいんじゃないかな。
趣味や学習用としては理想的な量だよね!これまで試してきたトリックや怪しいレポジトリが山ほどあるよ。大抵は失敗に終わるけど、少なくとも何かしらは学べるしね…。
「興味深い時代を生きよ」っていう言葉みたいだ。
まあ、実用性を求めている人にとっては、ある程度までは最悪だろうけどね(笑)
もちろん、Qwen 3.5と3.6のサポートももうすぐ来るよ!MoEモデルやその他のアテンションベースのアーキテクチャとも互換性があるから安心して。
学習用コードも公開する予定はある?
Gemma-4-31B?
!RemindMe 12時間
なんであえて古いモデルを選んだのか少し気になった。
最初はQwen3から始めたんだ。ドキュメントがしっかりしてて標準的なデンスモデルだし、研究のアイデアを検証するのに最適だったからね。他のモデルにも順次対応していく予定だよ!
オッケー、3.5 9bの方をお願い!
了解、Qwen3.5とQwen3.6の追加作業中だから楽しみに待ってて!よかったらレポにスターして最新情報を追ってね!
これってllama.cpp側でもサポートを追加する必要があるの?
そう、カスタムカーネルのサポートが必要になる。今まさにモデル対応を広げているところで、llama.cppもロードマップに入ってるよ。コントリビューションも大歓迎!
llama.cppにPR投げてくれよ。そしたらみんな手伝えるから。
それいいアイデアだね、ありがとう!
8Bのデモは出たけど、これが大規模モデル(400B超)で、モデル全体をVRAMに乗せなくても(つまり適切な量子化を行えば)許容できる推論速度になるのかがすごく気になる。モデルサイズが大きくなると、この高速化はどれくらい効いてくるの?
理論上、モデルサイズが大きくなるほど高速化の恩恵もスケールするはずです。KVオーバーヘッドはモデルサイズに関係なくO(1)なので、VRAMを圧迫することはありません。唯一の追加コストは拡散モデルのパラメータ分だけですが、全体から見ればごくわずかな割合ですよ。
この原則がMistral mediumでも通用するなら、大当たりだね。
頭の弱い自分にいくつか教えて:1. MOEアーキテクチャでも動く? 2. 何かデメリットはあるの? 3. CPU/RAMへのオフロードを併用しても大丈夫?
主な懸念点はこんな感じかな:
- VRAMの使用量が増えること。実質的に2つ目のモデルを並列で動かすことになるわけだし、元のLLMと1:1のオーバーヘッドにはならないとは思うけどね。だからVRAMにかなり余裕がない環境だと、パフォーマンス向上どころか逆に負荷が大きすぎて動作が重くなる可能性がある。
- 必要な計算量も確実に増える。例えば自分はTesla A16(実質的にA2 16GBを4枚積んだ構成)を使ってるんだけど、ハードウェア制限で60Wに抑えられてるんだ。ある程度のサイズのモデルはロードできるけど、大規模なタスクだと計算能力や電力制限に引っかかることが多いから、リアルタイム性を求めない大量のバックグラウンド処理(数百万単位のチャンクを埋め込みモデルに流し込むような作業)用に使ってる。LLMだけで電力と計算リソースをフルに食いつぶすこともあるから、今回の手法だとトータルの時間は変わらないかもしれない。まあ、後でテストしてみるつもりだけどね。
- 投稿にもある通り、拡散モデルの性能は学習データに依存する。だからコーディングタスクだけで学習させたら、クリエイティブな文章作成とかには使い物にならなくなるだろうね。そういうケースだと、拡散モデルに費やす時間と、結果が使えないという無駄を考えると逆に遅くなるはず。だから特定のタスク向けに小さなモデルを使い分けるみたいに、複数の拡散モデルを用意して切り替えるのが現実的かもね。
CPU/RAMオフロードでも動くとは思うけど、研究段階の実装でそこまで最適化されているかは疑問。GPUとシステムRAMの間でデータが行ったり来たりするような変な動きにならないよう、レイヤーを適切に配置する調整は必要だろうけど、それでも速度向上は見込めると思うよ。
Qwen 3.6 27Bでやるなら、コミュニティでお金を出し合って実現させそうな勢いだな。
いやいや、コミュニティの中にはそれだけの計算資源を持ってる人たちもいるっしょ👀
金を持ってる連中が、計算リソースを持ってる連中に金を払うってわけか。
全く別の研究が必要だな。qwen3.6って標準的なTransformerじゃないと思うし。
仮にゲート付きのDeltaNetモデルじゃなかったとしても、27Bを再現するには100GB以上のメモリが必要になるだろうな(論文には8×H200を8Bのために使ったって書いてあるし、笑えるわ)。
たぶん高速化のためじゃないかな
3.6が出ることはすでに確約されてるから、そこは問題なさそうだよ。
8BのdenseモデルでH200×8基を24時間使ったわけだよね。
27Bでもやれるはずだし、コストがかさむだけさ。もし性能向上が本物なら、みんなで出資して実現できるんじゃない?
長文コンテキストへの対応はどう?Dflashは16kまではいい感じだけど、それ以上だとPP(パープレキシティ)がかなり悪化しちゃうんだよね。
64Kコンテキストまでテストしたけど、かなりうまくいってるよ。DFlashで長文時に性能が落ちるのは、KVキャッシュを独自に持つ外部ドラフターを別途維持してるからじゃないかな。コンテキストが伸びると分布のズレが生じるのかも。Orthrusは外部ドラフターを使わずKVキャッシュを共有してるから、その問題は起きないはず。ぜひ試してみて、結果を教えてよ!
了解!ありがとう。
PPってPrompt Processing(プロンプト処理)のこと?それともPerplexity(パープレキシティ)?
パープレキシティだよ
長文コンテキストはどう?Dflashだとその辺りに問題があるんだけど。
64Kのコンテキストまでテストして、うまく動作することを確認しています。DFlashで長文脈の際に精度が落ちるのは、おそらく外部のドラフターを別々に保持していて独自のKVキャッシュを持っているからで、文脈が長くなるにつれて分布のズレが生じるのが原因でしょう。OrthrusはKVキャッシュを外部ドラフターなしで共有しているから、その問題は起きにくいと思います。ぜひ試して、結果を教えてください!
マジですごいな。より大きなモデルを動かせる計算リソースを持ってそうな人たちにこの情報を共有しておくよ (;
ちょっと試してみたんだけど、コンテキスト長40KまでのベンチマークだとDFlashより2倍くらい速いよ(かなり長いコンテキストなら5倍いけるかも)。DFlashは長文コンテキストだとかなり遅いからね。
RAM使用量の違いはどうなの?
それと、macOSのMetalについてはどうなんだろう?
論文には「ピーク時のGPUメモリオーバーヘッドは事実上無視できる(1%未満)」って書いてあるけど、どうやってるのか不思議だな。リンクされている8Bモデルは、オリジナルのQwen3バージョンより18%も大きいんだけど。
ざっと見たけど、素晴らしい第一歩だね。コードは確認したけど、トレーニングパイプラインはGitHubにはないみたいだ。あと、長さ2048でしかやってないように見えるけど、それ以上でテストしたことはある?
はい、フル学習パイプラインもまもなく公開予定です。最大64Kのコンテキスト長までテスト済みで、かなりいい感じに動いていますよ。ぜひ試してみて、エッジケースなどで何かあればフィードバックをいただけると助かります。
素晴らしい成果だね、本当に独創的。論文を読むのが楽しみだよ。
これらのモデルって量子化できるの?
うん
投稿には7.8倍とか6倍の高速化って書いてあるのに、どうしてGithub では平均5.36倍ってなってるの?
共有してくれてありがとう。感謝するよ。
指摘してくれてありがとう。5.36倍という数値は、評価した全タスクや設定の平均スピードアップ値だから、より保守的で集約的なパフォーマンスを表してるんだ。7.8倍というのは特定のタスクや設定におけるピーク時の結果、つまり手法の効果が最大限に発揮された「最大」のスピードアップ数値だよ。
終わった。俺の夢が叶うぞ。彼らに伝えてくれ、最高に愛してるって。トークンを腹いっぱい食らってやる。すごい量のトークンをな。
追記:いや待て、マジかよ、Greedy Samplingだけなのか??なんで?
温度パラメータ0の用途なんてオートコンプリートかリサーチ、それにツール呼び出しぐらいだろ。それにしてもマジかよ、これって回避不可能な制限なのか?
追記2:
パッと見た感じ、ベースモデルと比べてVRAMが全体で8-10%くらい増えるだけでデコード速度が4-5倍になるってことかな。プリフィル速度にはあまり影響なさそう?それでもめちゃくちゃ凄いけど。
ひょっとしてlOathsome AIのGPT Instantもこういう仕組みなのか?って今思ってるw
追記3:
そうそう、プリフィル速度に影響がないことは確認できたよ
フィードバックありがとう、本当に助かるよ。サンプリング(top_p, top_k)とグリーディデコーディングの両方をサポートしてるから、実装の詳細はリポジトリをチェックしてみて。
もっと自然言語寄りのベンチマークを共有してもらえる?Math-500はMTPやSpec Decodingのドラフト受容率には一番都合のいいベンチマークだから、ワーストケースがどんなものか知りたい。
そう、論文ではMATH-500以外にも幅広いベンチマークを評価してるよ。MATH-500は主に図をプロットするためと、他の拡散適応手法(例えばFast-dLLM-v2など)が苦戦し始めるポイントを明確に示すための例として使ったんだ。
確かにね。Math-500は最も好条件だから、最大アクセプタンスを測定するには一番きれいなデータセットが得られるんだろうね。他のデータセットもシェアしてもらえる?
追記:他のテスト手法だと大体2〜3倍増くらいに落ち着くね
やあ、これはすごくワクワクするね。共有してくれてありがとう。学習パイプラインのコードは将来的にリポジトリでオープンソース化する予定はある?この手法を他のモデルで試したり、アーキテクチャをいじってみたりしたいんだ。素晴らしい仕事に感謝するよ。
はい、完全な学習パイプライン(データとコード)を近々オープンソース化する予定です。今はQwen3.5とGemma-4のチェックポイントのリリースを優先していて、それが終わり次第すぐにパイプラインも公開します。関心を持ってくれてありがとう。これを使って何を作ってくれるのか楽しみです。
このコミュニティ、日が経つにつれてどんどん好きになるわ
これめちゃくちゃクールだね。2048トークンを超えるコンテキストでどう動くのか、あと量子化+llama.cpp構成で誰かテストした人がいるのか気になる。
64Kのコンテキスト長までテスト済みで、かなりうまく動作するよ。llama.cppに関しては、カスタムカーネルのサポートが必要になるね。現在より広範なモデルサポートに取り組んでいて、llama.cppとの統合もロードマップに入ってるよ。
見出しの7.8倍っていうのは「1フォワードパスあたりのトークン数」であって、実際の実行時間(ウォールクロック)じゃないね。正直な数値は6倍だし、そのギャップを見ればAR検証パスにかなりのオーバーヘッドがあることがわかる。各サイクルでフルフォワードを2回回してるわけだから。あと、MATH-500は数学のトークン列(数字の羅列、LaTeX演算子、構造化された証明ステップ)が非常に予測しやすいため、どの推測的手法にとってもアクセプタンス長のメトリクスが良く見えすぎてしまうんだ。EAGLE-3が通常強みを発揮するような、多様な散文や混合ドメインのコードでのアクセプタンス長についても「11.7対3.5」という結論を出す前に見てみたいね。
すごい!これ、私の勘違いじゃなければMTPをボコボコにしてるってこと?