0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Helios入門 — H100 1枚でリアルタイム60秒動画生成をPythonで実装する

0
Last updated at Posted at 2026-03-11

Helios — 14Bオープンウェイトリアルタイム動画生成モデル

はじめに

AI動画生成モデルの多くはクローズドAPIか、オープンソースでも低速な推論が課題でした。2026年3月、ByteDance・北京大学(PKU)・Canva・Chengdu Anu Intelligenceが共同開発した Helios が arXiv に公開されました。

Heliosの最大の特徴は、14Bパラメータにもかかわらず H100 1枚で約 19.5 FPS のリアルタイム推論を実現した点です(論文内ベンチマーク表では 19.53 FPS)。KVキャッシュ・スパースアテンション・量子化といった既存の高速化手法を一切使わず、アーキテクチャレベルの革新でこの速度を達成しています。さらに Apache 2.0 ライセンスで公開されており、研究・開発への転用が容易です。

この記事では、Heliosのアーキテクチャ概要・セットアップ手順・Python を使った動画生成の実装方法を、公式ドキュメントとGitHubリポジトリの情報をもとに解説します。

この記事で学べること

  • Heliosのアーキテクチャとリアルタイム推論を実現した技術的なアプローチ
  • T2V(テキスト→動画)・I2V(画像→動画)・V2V(動画→動画)の実装方法
  • 低VRAMモード(約6GB)での動作方法
  • 既存の動画生成モデルとの性能比較

対象読者

  • AI動画生成を Python で実装したいエンジニア
  • オープンウェイトモデルで長尺動画生成を探している方
  • HuggingFace Diffusers に慣れている方

前提環境

  • Python 3.11.x
  • CUDA 12.6 以上
  • NVIDIA GPU(低VRAMモードで 6GB〜、フル速度には H100 80GB 推奨)
  • conda または venv

TL;DR

  • Helios は14B・Apache 2.0のオープンウェイト動画生成モデル(ByteDance×PKU×Canva)
  • H100 1枚で 約19.5 FPS、最大 60秒(1,452フレーム) の動画をリアルタイム生成
  • KVキャッシュ不使用のアーキテクチャで、14B を H100 80GB 内に最大4モデル同時収容
  • T2V・I2V・V2V の3タスクを単一モデルで処理
  • 低VRAMモード(--enable_low_vram_mode)で 6GB の GPU でも動作可能

H100推論速度比較 — Helios-Distilled vs 既存モデル

Heliosとは

開発背景

既存のAI動画生成モデルには2つの課題がありました。

  1. クローズドAPI: Sora 2・Veo 3.1・Kling 3.0 などは高品質だが、サービス経由でしか利用できない
  2. オープンソースの低速: Wan 2.1(14B)は H100 で 0.33 FPS と、60秒動画の生成に数分かかる

Helios はこの両方の課題を解決するアプローチとして設計されています。オープンウェイトでありながらリアルタイム速度を目指した点が研究の核心です。

主な仕様

項目 内容
アーキテクチャ 自己回帰拡散モデル(Autoregressive Diffusion Model)
パラメータ数 14B
ライセンス Apache 2.0
最大解像度 640 × 384 px
最大フレーム数 1,452フレーム(24 FPS で約60秒)
対応タスク T2V・I2V・V2V
推論速度(H100) 約19.5 FPS(Helios-Distilled、論文値: 19.53 FPS)
最小 VRAM 約6GB(低VRAMモード時)

Heliosアーキテクチャ — 自己回帰拡散モデルと階層的メモリ圧縮

アーキテクチャの特徴

Heliosがリアルタイム速度を達成した技術的なポイントを整理します。

1. 階層的メモリ圧縮(KVキャッシュ不使用)

長尺動画の生成では、過去フレームの情報を保持するためのメモリが肥大化するのが一般的な課題です。Helios はこれを「KVキャッシュの改善」ではなく、トークン数そのものを削減することで解決しています。

  • 直近チャンク: 軽圧縮(詳細保持)
  • 古いフレーム: 重圧縮(概要のみ保持)

この階層的圧縮により、トークン数を 1/8 に削減。さらにマルチステージサンプリングで追加の 2.29 倍削減を実現しています。

2. アンチドリフト技術

長尺動画では、フレームが進むにつれて品質が劣化する「ドリフト問題」が発生します。Heliosは3つの技術でこれを防いでいます。

  • 相対位置符号化: 動作の繰り返しを防止
  • 第1フレームアンカリング: 色の一貫性を維持
  • ターゲットパータベーション学習: エラー耐性の向上

3. 蒸留(50ステップ → 3ステップ)

Helios-Distilled では、ベースモデルの 50 ステップを3ステップに蒸留。品質を維持しつつ、約19.5 FPS というリアルタイム速度を達成しています。

4. 統一入力表現

T2V・I2V・V2V の3タスクを単一の入力表現形式で扱います。タスクごとに別モデルを用意する必要がなく、1つのモデルで柔軟に対応できます。

モデルバリアント

用途に応じて3つのバリアントが提供されています。

バリアント Hugging Face ID 品質 速度 推奨用途
Helios-Base BestWishYsh/Helios-Base 最高 標準 高品質動画生成
Helios-Mid BestWishYsh/Helios-Mid 中間 バランス重視
Helios-Distilled BestWishYsh/Helios-Distilled 効率最大 最速 リアルタイム生成

セットアップ

インストール

git clone --depth=1 https://github.com/PKU-YuanGroup/Helios.git
cd Helios
conda create -n helios python=3.11.2
conda activate helios
bash install.sh

install.sh は CUDA バージョン(12.6 / 12.8 / 13.0)を自動検出し、対応する PyTorch をインストールします。

モデルのダウンロード

Hugging Face CLI でモデルを取得します。

# Helios-Base(最高品質)
huggingface-cli download BestWishYsh/Helios-Base --local-dir BestWishYsh/Helios-Base

# Helios-Distilled(最速)
huggingface-cli download BestWishYsh/Helios-Distilled --local-dir BestWishYsh/Helios-Distilled

注意点

公式ドキュメントによると、Helios は 研究目的のリリースとして位置づけられています。Apache 2.0 ライセンスの範囲内で使用できますが、ByteDance 製品への組み込み予定はないとされています。

T2V(テキスト→動画)の実装

Diffusers パイプライン(推奨)

HuggingFace の Diffusers ライブラリを使用した実装方法です。

import torch
from diffusers import AutoModel, HeliosPyramidPipeline
from diffusers.utils import export_to_video

# モデル読み込み
vae = AutoModel.from_pretrained(
    "BestWishYsh/Helios-Base",
    subfolder="vae",
    torch_dtype=torch.float32
)
pipeline = HeliosPyramidPipeline.from_pretrained(
    "BestWishYsh/Helios-Base",
    vae=vae,
    torch_dtype=torch.bfloat16
)
pipeline.to("cuda")

# 動画生成
output = pipeline(
    prompt="A majestic eagle soaring over snow-capped mountains at sunrise",
    num_frames=264,      # 33の倍数で指定(264フレーム = 約11秒@24fps)
    guidance_scale=5.0,
    num_inference_steps=50,  # Baseは50ステップ推奨
).frames[0]

# 保存
export_to_video(output, "output.mp4", fps=24)

フレーム数と動画長の対応

num_frames33の倍数で指定します。

num_frames 動画長(24 FPS) 動画長(16 FPS)
264 約 11秒 約 17秒
726 約 30秒 約 45秒
1,452 約 60秒 約 90秒

Helios-Distilled でリアルタイム生成

最速の Helios-Distilled を使用する場合は、推論ステップ数を3に設定します。

from diffusers import AutoModel, HeliosPyramidPipeline
from diffusers.utils import export_to_video
import torch

vae = AutoModel.from_pretrained(
    "BestWishYsh/Helios-Distilled",
    subfolder="vae",
    torch_dtype=torch.float32
)
pipeline = HeliosPyramidPipeline.from_pretrained(
    "BestWishYsh/Helios-Distilled",
    vae=vae,
    torch_dtype=torch.bfloat16
)
pipeline.to("cuda")

output = pipeline(
    prompt="A time-lapse of a blooming flower in a garden",
    num_frames=726,      # 約30秒
    num_inference_steps=3,  # Distilledは3ステップで動作
    guidance_scale=1.0,  # Distilledはguidance_scale=1.0推奨
).frames[0]

export_to_video(output, "distilled_output.mp4", fps=24)

I2V(画像→動画)の実装

入力画像から動画を生成するI2Vタスクでは、image パラメータに PIL 画像を渡します。

from PIL import Image
from diffusers import AutoModel, HeliosPyramidPipeline
from diffusers.utils import export_to_video
import torch

vae = AutoModel.from_pretrained(
    "BestWishYsh/Helios-Base",
    subfolder="vae",
    torch_dtype=torch.float32
)
pipeline = HeliosPyramidPipeline.from_pretrained(
    "BestWishYsh/Helios-Base",
    vae=vae,
    torch_dtype=torch.bfloat16
)
pipeline.to("cuda")

# 入力画像を読み込み(640x384 px に合わせることを推奨)
image = Image.open("input.jpg").convert("RGB")
image = image.resize((640, 384))

output = pipeline(
    prompt="The scene gradually transitions to a misty morning",
    image=image,
    num_frames=264,
    guidance_scale=5.0,
    num_inference_steps=50,
).frames[0]

export_to_video(output, "i2v_output.mp4", fps=24)

低VRAMモードでの動作

高性能な GPU を用意できない場合でも、Group Offloading 機能を使うことで 約6GB の VRAM で動作させられます。

python inference.py \
  --model_path BestWishYsh/Helios-Base \
  --prompt "A serene lake at sunset with reflections on water" \
  --num_frames 264 \
  --enable_low_vram_mode

公式ドキュメントによると、低VRAMモードでは推論速度は低下しますが、動画品質は維持されるとされています。具体的な速度の数値は公開されていません。

マルチGPU対応

複数の GPU を持つ場合、以下のアテンション並列化バックエンドを選択できます。

# Ulysses Attention(デフォルト推奨)
python inference.py --model_path BestWishYsh/Helios-Base \
  --num_frames 1452 \
  --parallel_mode ulysses

# Ring Attention(長尺動画に有効)
python inference.py --model_path BestWishYsh/Helios-Base \
  --num_frames 1452 \
  --parallel_mode ring

公式ドキュメントによると、80GB の H100 4枚構成では 14B モデルを最大4つ同時に収容できるとされています。

ベンチマーク・性能比較

推論速度の比較(H100 単体)

モデル FPS パラメータ規模
Helios-Distilled 約19.5(論文値: 19.53) 14B
Krea-RealTime-14B 6.7 14B
Wan 2.1 0.33 ※ 14B
Reward Forcing(参考) 22.13 1.3B

※ Wan 2.1 の値は Helios 論文の比較表より引用。

Helios-Distilled は、同じ 14B 規模のモデルと比較して約3倍の速度を達成しています。1.3B の Reward Forcing には及ばないものの、品質と速度のバランスでは優位に立つとされています。

動画品質スコア

Helios が公開している内部ベンチマークによると:

  • 短編動画品質(81フレーム): 6.00(同サイズの蒸留モデル中最高)
  • 長編動画品質: 6.94(Reward Forcing の 6.88 を上回り首位)

なお、Sora 2・Veo 3.1 との直接比較スコアは論文・公式ドキュメントに記載されていません。Seedance(最大15秒対応)との比較については「Heliosは60秒対応」という長さの優位性のみ言及されています。

現状の制限事項

Heliosはリサーチプレビュー段階であり、以下の制限があります。

  • 解像度の上限: 現状 640 × 384 px(商用グレードの1080p には未達)
  • 民生 GPU での速度: H100 以外の GPU での推論速度は未公表
  • 研究目的限定: Apache 2.0 ライセンスだが、プロジェクト方針として商用製品への組み込みは非推奨
  • VBench の詳細スコア: 次元別の内訳スコアは現時点で未公開

まとめ

Heliosは、オープンウェイトの動画生成モデルとして以下の点で注目に値します。

  • リアルタイム速度の実現: KVキャッシュ不使用で14B・約19.5 FPS は同規模モデル中最速クラス
  • 長尺対応: 最大60秒(1,452フレーム)の動画生成に対応
  • 低VRAM: Group Offloading で 6GB から動作可能
  • Apache 2.0: 研究・開発用途での自由な利用が可能

現時点では解像度が 640×384 px に限定されており、商用品質には届かない部分もありますが、オープンウェイトモデルとしてのリアルタイム動画生成という方向性は、今後の動画AIエコシステムに大きな影響を与えると考えられます。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?