メインコンテンツへスキップ
見出し画像

【MiniMax H3】Jevを使ってAttention保持率を層ごとに切り替えて動画生成を高速化してみた(41%高速化)

    こんにちは、かみもとです!

    MiniMax H3の初期の盛り上がりが落ち着いてきて、高速化よりも応用アプリケーションへ興味がシフトしていますが、ここに来て新しい判断モデルである「Jev」がめちゃくちゃ盛り上がっています!

    Xでは、マリオをプレイさせたり、応募書類を高速仕分けしたり、色々なユースケースが考えられ、実際にデモとして公開されています。

    私もこのビッグウェーブに乗るべくJevの応用例を考えましたが、Jevの特徴として、

    • クラウドを介しても高速なレスポンス(リアルタイム処理に向く)

    • LLM由来のインテリジェンスな判断能力(高性能 if 文)

    という特性を活かせるものが適していると思いました。なので単なる分類問題とかは不向きで、高速性能、かつ高性能判断能力が必要なものが良いと考えました。

    そこで思いついたのが、MiniMax H3動画を作るAIの内部計算を、別のAIに調整させたらどうなるかということ。つまりAttention機能をスパース(荒く計算)するのにJevを使ったら高速に動画生成できるんじゃないか?というアイディアです。

    今回は、判断用モデルのJevをMiniMax H3の推論処理に接続し、「どの層のAttentionを、どの程度残すか」を生成中に決める仕組みを作りました!プロンプトを考えてもらうのでも、完成動画を採点してもらうのでもなく、生成モデルの計算配分そのものをリアルタイムで判断対象にする試みです。しかも動画生成中にクラウドアクセスするという無謀さ!

    この記事では、通常の高速化紹介より少し踏み込み、背景、提案手法、実験、結果、考察の順に整理します。なので、いつもより論文調になってしまいますのでご了承ください。

    なお、「仕組みはどうでも良いから結果だけ見せて!」という方向けにXポストを貼っておきますね!これだけ見ればOKです。

    流行のJevをMiniMax H3に組み込んで、動画生成を高速化してみた!Attention処理のスパース化にJevを使用。

    ・層ごとにJevが重要度を判定(4step 49層が対象)
    ・Jevがスパース率1%, 3%, 5%, 10%を選択

    RTX4070で6分7秒→3分34秒で41.7%短縮!動画生成中にJevクラウドに問合せしているのに速い! pic.twitter.com/lB1zafaEFt

    — Kamimoto(かみもと) (@sep_is_heim) September 20, 2026

    要旨

    MiniMax H3のTurbo 4ステップ生成に対し、外部の判断モデルJevを用いて、Transformerの各層・各ステップのSparse Attention保持率を選ぶ制御機構を実装しました。

    本手法を、暫定的にJ-GAS(Jev-Guided Adaptive Sparsity)と名付けます。呼びやすくするためですね。

    RTX 4070 12GBで、同一条件の約5秒動画を各方式1回ずつ生成したところ、通常のmatlow fused 4step+FastVAEは366.720秒、本手法は213.890秒となり、全生成時間が41.7%短縮しました。

    この比較が示すのはNative Sparse Attention(SLA)とJ-GASを組み合わせた方式全体の効果です。固定Sparse Attentionに対するJev単独の優位性や、画音質の同等性を証明した実験ではありません。実際、保持率固定10%でも十分に高速になると思われます。

    ただし、外部の判断AIが生成途中の内部状態を受け取り、次の計算量を層単位で制御する仕組みが、実際の音声付き動画生成で実現できた点は、J-GASのPoCとしての成果として十分と思います。「クラウドLLMに問い合わせしながら動画生成する」ことができたという点が大事です。

    1. 背景と問い

    1.1 「どこまで削るか」を固定値で決める難しさ

    Attentionは、トークン同士がどの情報を参照するかを計算する仕組みです。動画では空間と時間にまたがる多くのトークンを扱うため、その計算を減らすSparse Attentionが高速化の選択肢になります。

    ただし、全層・全ステップを同じ割合で削ると、重要な処理まで一律に減らすことになります。必要な情報量は、生成の段階や層、音声と映像の間で異なるかもしれません。

    そこで今回の問いを、次のように設定しました。

    生成中の内部状態を判断AIに渡せば、一律の保持率ではなく、層とステップに応じて計算を残す場所を動的に賢く選べるのではないか。

    開発途中では、固定1%・5%、ステップ数の変更、層の省略なども試しましたが、ここでは最終的に採用したものだけを中心に説明します。

    1.2 Jevを使う理由

    Jevは、用意した選択肢などの型付きの判断を返すことを目的としたモデルです。TypeSafeは、文章を生成してから解釈する用途とは異なり、ソフトウェアがそのまま使う判断への応用を示しています。TypeSafeの紹介記事

    今回必要なのも、長い説明文ではありません。「この層は1%、こちらは10%」という有限個の選択です。そこで、保持率の候補を1・3・5・10%に限定し、複数層の判断を1回のAPIリクエストにまとめました。

    2. 関連研究と今回の位置付け

    動画生成のAttentionを疎にする発想や、入力に応じて疎な計算を選ぶ発想には、すでに先行研究があります。

    • Sparse VideoGenは、動画Diffusion Transformerの空間・時間方向の疎性を利用する高速化を扱っています。論文

    • SpargeAttentionは、追加学習なしのSparse Attentionによる推論高速化を扱っています。論文

    • AdaSpaは、動画生成に対する適応的なSparse Attentionと、オンラインでの疎なパターン探索を扱っています。論文

    本手法のJ-GASの特徴は、Sparse Attentionカーネルそのものを新しく作った点ではありません。既存のAttention実装に対して、外部の汎用的な判断モデルを接続し、プロンプトと実行時統計を根拠に層別の保持率を選ばせる点にあります。

    調べた先行研究は、この構成のすべてと同一ではありません。本記事では、Jevを生成モデル内部の制御に使う実装・応用事例として位置付けます。

    3. 提案手法:J-GAS(Jev-Guided Adaptive Sparsity)

    3.1 Jevが決めるもの、SLAが決めるもの

    本手法のJ-GASでは、ComfyUIのMiniMax H3用Native SLA経路を使います。Jevが選ぶのは、各層に設定するAttentionの保持率(keep率)です。実際にどのAttention接続を計算するかは、SLA側が選びます。

    たとえばkeep 5%は、Sparse Attentionに渡す保持率設定が5%という意味です。モデルのパラメータを95%削除するわけでも、全演算量が5%になるわけでもありません。保護される音声・条件部分や、Attention以外の計算が残るためです。

    4ステップすべてで、全50個のTransformer blockを実行します。層自体を飛ばす方式ではありません。 これまで掲載したマップの49層は、block 0を除くblock 1〜49の表示です。

    画像
    図1. 処理の流れ

    図1のように、Jevは層別の保持率を選ぶ判断役、SLAは選ばれた保持率でAttentionを計算する実行役です。

    3.2 最初のステップは、生成プロンプトと過去の層統計から判断

    初回の判断では、動画生成に使うプロンプト全文をJevにも渡しています。 人物、服装、背景、動作、カメラワーク、セリフ、音の指定まで含めて、何を生成しようとしているかを伝えます。

    ただし、生成を始める前なので、今回の動画について各層がどう働くかを測ったデータはまだありません。そこで参考情報として、過去の生成で取得した「各層を通る前後で、音声・映像の内部特徴がどれくらい変化したか」という統計を添えます。これは今回の実測値ではなく、あくまで判断の手掛かりとして渡すものです。

    3.3 2〜4ステップ目は、直前の内部状態を使う

    各層の入力と出力から、音声と映像を分けて最大64トークン×16チャネルを抽出します。参照画像の行は、この観測対象から除きます。

    ここで測るのは、単なるAttentionの出力ではなく、Transformer block全体を通った前後の変化です。主な入力は次の3種類です。

    1. 相対的な残差の大きさ:出力と入力の差のL2ノルムを、入力のL2ノルムで割った値。その層で表現がどれほど変化したかを見る指標です。

    2. 層間での順位:音声同士、映像同士で比べたとき、その変化が50層の中でどれくらい大きいか。

    3. ステップ間の変化:今回の残差と前回の残差がどれほど違うか。履歴のない最初の観測では、値を作らず欠測として渡します。

    音声・映像の両方で変化が小さい場合は1%や3%、通常または判断が分かれる場合は5%、どちらかで影響が大きい場合や変化が大きい場合は10%を検討するよう指示しています。これは人が与えた判断方針であり、Jevがゼロから評価基準を発見したわけではありません。

    また、残差が小さいことは「削って安全」という証明ではありません。音声の聞きやすさ、指の本数、文字の正しさを直接測っているわけでもありません。この限界も入力に含めています。

    2ステップ目以降はblock 1〜49の49層をJevが判断し、block 0は5%固定です。直前のステップの観測で、次のステップの設定を決めます。

    3.4 出力と適用ルール

    Jevの回答からは、層ごとの選択値、confidence、候補ごとのprobabilitiesを受け取ります。実行側は選択値とconfidenceを確認して、実際の保持率を設定します。

    ここには、Jev以外の固定ルールもあります。

    • confidenceが0.3未満なら、初回は10%、後続は5%へ置き換えます。

    • API失敗や不正な回答があれば、その判断の全層を初回10%/後続5%へ戻し、それ以降のAPI呼び出しを止めます。

    • APIは初回と各ステップの境界で最大4回。49回を毎ステップ直列に呼ぶ構成ではありません。

    • 最終ステップ後には、次の計算がないため判断APIを呼びません。

    したがって、掲載する配分図はJevの回答に保護・confidenceルールを適用した、実際の設定値です。最終方式では、以前試した平均予算への再配分は行っていません。

    APIへ送るのはテキストと集約統計で、映像・音声の生データやモデル重みではありません。一方、プロンプトの内容は外部APIへ渡ります。ローカルPCで動作するJevが提供されれば、全てをPC内で完結させることもできます。

    4. 実験設定

    比較対象は、matlow fused 4step+FastVAEを使う通常方式と、それにJev制御のNative SLAを加えたJ-GASです。

    主な共通条件は以下です。

    • GPU:RTX 4070 12GB

    • 生成:参照画像3枚を使うRef2VA、1024×1792、124フレーム、24fps、約5.17秒。

    • サンプリング:4ステップ、res_multistep/simple、seed 2026

    • 共通の高速化:ChunkFFN 4、FastVAE batch 2

    • モデル:minimax_h3_fused_refdelta_r1024_turbo8_mystic07_int8_convrot.safetensors

    • 制御モデル:jev-1.13.0。SDK 0.7.0、SDK timeout 20秒、retry 0

    シーンは、黒髪をまとめたアニメ調の女性が夏の公園で軽くうなずき、「Let's create something amazing!」と話すものです。服装は黒い肩の開いたクロップドトップス、グレーのカーゴミニスカート、黒いアンクルブーツ。カメラは腰上から上半身へゆっくり寄り、音声は女性の声と小さな環境音、BGMなしとしました。

    測定対象は、モデル読み込み、サンプリング、Jevの判断待ち、VAE、保存を含む全生成時間です。採用条件では各方式1回ずつで、複数回平均ではありません。

    5. 結果

    5.1 全生成時間

    画像
    図2. 測定結果
    • 通常方式:366.720秒、約6分7秒

    • 009jev:213.890秒、約3分34秒

    • 短縮:152.830秒、41.7%。速度比では約1.71倍

    Jevの判断処理は4回で合計5.56秒でした。これは外部APIの応答時間だけでなく、ローカルのワーカー起動などを含むコード上の判断区間です。今回の条件では、判断の待ち時間を含めても方式全体として時間が短縮しています。

    ただし、この図の左は固定10%のSLAではなく、今回比較した通常のAttention経路です。41.7%を「Jevが固定Sparse Attentionから追加で短縮した割合」と読むことはできません。言い換えると、固定10%や5%のSLAだけでも、このレベルで高速化できる可能性があるということです。

    しかしながら、ここで述べたいことは、

    • 固定スパースではなく、重要性に応じて動的にスパース率を変更可能

    • 外部の判断LLMを組み込んでも実時間で生成可能

    という2点です。J-GASのPoCとしてはここが最重要です。

    5.2 どの層にどれだけ残したか

    画像
    図3. J-GASによる層ごとのスパース率

    横がblock 1〜49、縦が生成の4ステップです。色は適用keep率を示します。block 0は図から外していますが、計算は実行しています。

    初回は、Jevが全50層で10%を選びました。初回を一律10%に固定した結果ではありません。また、初回の回答にはconfidenceによる置き換えもありませんでした。推測ですが、初回は前回stateが存在しないためJevの判断が固定化されてしまったか、あるいは「初回=最重要=10%上限」と正しく判断したかの二択です。

    以後は層ごとに値が分かれ、全50層の単純平均は順に10.00 → 6.34 → 7.06 → 8.18%となりました。生成が進むほど一律に削るのではなく、採用例では後半に保持率を増やしています。

    興味深いのは、人間の直感と合っている点です。49層の処理のうち、前半と後半は重要=Jevも10%を選択、中間の処理はそこまで重要ではない=Jevも1,3,5%を選択している点です。

    なお、図のマークは、confidenceが低いため5%へ置き換えた位置です。2〜4ステップ目でそれぞれ5、5、4件ありました。配分はJevだけの出力でも、人が指定した予算に収まるよう加工した結果でもなく、回答と明示的な保護ルールの組み合わせです。平たく言えば、どの選択肢も確率があまり変わらないため、中間の5%を強制したという意味です。

    これらは設定値の平均であり、実測FLOPsやAttention接続数の平均ではありません。「平均keepが半分なら全生成時間も半分」とはなりません。

    5.3 生成動画

    流行のJevをMiniMax H3に組み込んで、動画生成を高速化してみた!Attention処理のスパース化にJevを使用。

    ・層ごとにJevが重要度を判定(4step 49層が対象)
    ・Jevがスパース率1%, 3%, 5%, 10%を選択

    RTX4070で6分7秒→3分34秒で41.7%短縮!動画生成中にJevクラウドに問合せしているのに速い! pic.twitter.com/lB1zafaEFt

    — Kamimoto(かみもと) (@sep_is_heim) September 20, 2026

    動画の前半は同条件の左右比較、後半はJ-GASの映像と層別設定の説明です。音声は前半が通常方式、後半がJ-GASなので、セリフの聞こえ方も順番に比較できます。マップの切り替えは説明用で、実際の推論時刻と映像再生を同期させたものではありません。

    今回の主な成果は、層別の判断を組み込んだまま、音声付き動画の生成が完了し、全生成時間を短縮できたことです。画質や音質に関しては主観的にほぼ同等と判断しています。ウェーブレット変換など定量化すれば差異が見えてくる可能性はあります。

    また、保持率固定10%と比べると、J-GASのみの速度向上寄与率も測定していません。固定10%スパースだけでも同レベルの高速化は見込める可能性がありますが、重要度に応じて保持率を動的可変しているJ-GASの方が品質は良いと推測されます。ただし実際に評価したわけではないため推測の域です。

    6. 考察

    6.1 AIの出力を、次のAI計算の設定にする

    今回の構成で面白いと感じたのは、Jevの回答が説明文で終わらず、次のステップの計算設定として使われるところです。

    生成モデルから少量の状態を取り出し、外部の判断モデルへ渡し、その結果を生成モデルへ戻す。この流れにより、人が層ごとの表を固定で書かなくても、生成状態に応じて配分が変化します。

    重いAttentionカーネルの内部で毎回APIを呼ぶのではなく、ステップ境界で複数層をまとめて判断する構成にしたことで、外部APIとの接続を少数回に抑えています。そのため、動画生成中にクラウドに接続しているのに、オーバーヘッドが高々5秒程度に抑えられています。もちろん、Jev自体の高速性があってこその結果です。

    6.2 「判断が動いた」と「判断が最適」は別の検証

    層ごとの値が変化したことは確認できました。しかし、それだけで各選択が正しいとは言えません。

    たとえば、残差の大きい層が本当に高い保持率を必要とするかを確かめるには、同じ条件でその層だけを変えた比較が必要です。また、confidenceが高いことも、画質が保たれる確率を直接意味するわけではありません。

    固定5%、固定10%、単純な層別ルール、ランダムな配分などと、実測時間や予算を合わせて比較すれば、「Jevに判断させる意味」をさらに切り分けられます。これらは今後の評価案であり、今回の41.7%短縮から結論を出せる範囲ではありません。

    6.3 保持率を下げても、生成全体が比例して速くならない

    全生成時間には、Attention以外の線形層、FFN、メモリ転送、VAE、読み込み、保存が含まれます。Sparse Attention自体にも接続の選択や保護領域の処理があり、Jev側にも観測・判断の時間があります。

    そのため、保持率だけを極端に下げても、削れる部分が小さくなれば全体の改善は頭打ちになります。判断モデルに求めたいのは、数値上の保持率を最低にすることよりも、時間に効く削減と品質に必要な計算を両立させる選択です。

    今回の観測量は、その目的に対する出発点です。将来は疎化前後の誤差を少量だけ測る方法や、音声・動きに対応した指標を検討できますが、追加観測そのもののコストも評価する必要があります。

    7. 限界と公開実装

    本検証は、単一GPU、1つのプロンプト、1組のseed比較による実装検証です。実行順を入れ替えた反復測定はなく、初回判断には別条件の過去統計を使っています。JevのAPI応答やソフトウェア環境に依存するため、同じseedだけで同じ配分・時間になるとも限りません。

    Native SLAでは条件KVや音声query行を保護しますが、それは最終音声の一致を保証するものではありません。後段で音声と映像の情報が影響し合うため、画質と音質を両方評価する必要があります。

    実装はGitHubのexp/jev-adaptive-vsaブランチに公開しました。対応コミットはfa29225です。mainへの統合は行っていません。

    リポジトリ名にはW4A4/VSAが含まれますが、J-GASは通常ロード+Native SLAの別経路です。J-GASの説明に、導入条件、APIへ渡す内容、フォールバック、再現用のAPIワークフローをまとめています。

    8. 結論

    JevをMiniMax H3の推論に接続し、4ステップの生成中に層別のAttention保持率を判断させるJ-GASを実装しました。全50層を実行しながら、SLAへ渡す保持率を段階的に変更できます。

    採用した同条件比較では、方式全体として全生成時間を41.7%短縮しました。Jev単独の上乗せ効果と品質の一般性は今後の課題ですが、判断AIを生成AIの内部計算の制御役に使うという応用は、実際に動く形にできました。

    AIに「何を作るか」だけでなく、「作る途中で、どこに計算を使うか」も判断させる。こうした接続の仕方には、まだ試せる余地があると感じています!

    参考文献

    1. TypeSafe, Introducing System One Models & Jev.

    2. Xi et al., Sparse VideoGen: Accelerating Video Diffusion Transformers with Spatial-Temporal Sparsity, 2025.

    3. Zhang et al., SpargeAttention: Accurate and Training-free Sparse Attention Accelerating Any Model Inference, 2025.

    4. Xia et al., Training-free and Adaptive Sparse Attention for Efficient Long Video Generation, 2025.

    5. 本検証の測定記録と採用条件、制御実装、Jevへの質問定義。


    長い記事を最後まで読んでいただき、ありがとうございました!

    もしこの記事が「面白かった」「参考になった」と思っていただけたら、ぜひ画面下の【スキ(ハートマーク)】を押していただけると嬉しいです!

    これからもローカルAIの面白い検証や実践ノウハウをお届けしていきますので、ぜひフォローもよろしくお願いいたします!


     
     
    かみもと ひろた(神下紘汰)。ソフトウェアエンジニア+R&Dエンジニア。Codex + Claude使い(Geminiはオマケ)。コスパの良いRTX4070のローカル環境で画像生成・音声生成・LLMを実行させたり、アプリ開発したり、最新技術のフォローアップをしたりします。

    あなたへのおすすめ