AI News HubLIVE
サイト内リライト2 分で読了

Amazon SageMaker AI に SeedVR2 をデプロイして超解像を実現

この投稿では、SeedVR2 を Amazon SageMaker AI 上で使用して動画をアップスケーリングする方法を紹介します。ソリューションのアーキテクチャ、デプロイ手順、品質向上と処理効率を示すパフォーマンス比較について説明します。最後まで読めば、この超解像ソリューションを実装するための実践的な知識が得られます。

ソースAWS Machine Learning Blog著者: Nick Biso

ディスプレイ技術が高解像度化するにつれ、多くの組織は低解像度のコンテンツが現代の高精細ディスプレイでぼやけて見えるという課題に直面しています。従来の動画アップスケーリング手法は、計算量の限界、品質の不均一性、大規模な動画コレクションの処理におけるスケーラビリティの問題にしばしば直面します。SeedVR2 は、ByteDance の Seed チームが開発したオープンソースの動画復元モデルで、フレームごとに視覚情報を分析して詳細を復元し、動画品質を向上させます。これを Amazon SageMaker AI にデプロイすることで、超解像処理のためのスケーラブルなソリューションを提供できます。

このソリューションは、歴史的映像の復元、ストリーミングサービスの古い番組の4Kアップスケーリング、AI 生成動画の後処理など多岐にわたるユースケースに適用できます。AI 生成動画では、生成モデルの計算コストを抑えるため低解像度でプロトタイプを作成し、後でアップスケーリングすることで効率的に高品質な最終成果物を得られます。

アーキテクチャは3層構造で、AWS Cloud Development Kit (AWS CDK) を使用してインフラストラクチャをコードとして定義します。SecurityStack は VPC、IAM、KMS でセキュリティ境界を確立し、DataStack は S3 バケットで入出力動画を暗号化保存します。コア処理パイプラインは AWS Lambda 関数が SageMaker 処理ジョブを起動し、ml.g5.4xlarge インスタンス上で SeedVR2 モデルを含むカスタム Docker コンテナを実行します。処理フローは、動画を入力 S3 バケットにアップロード → Lambda が処理ジョブを作成 → GPU インスタンスが起動しコンテナをプル → 動画を読み込みアップスケーリング → 結果を出力バケットに書き込み → インスタンスを終了します。

デプロイ手順は、前提条件(Python 3.13+、AWS CLI、Docker、CDK v2、ml.g5.4xlarge のサービス割り当て)を満たした後、リポジトリをクローンして環境設定、依存関係インストール、CDK ブートストラップ、ECR 認証を行い、最後に cdk deploy --all を実行します(約15~20分)。テスト動画をアップロードして Lambda を呼び出すことで処理を開始できます。パフォーマンスは config/config.yaml でインスタンスタイプ、解像度、バッチサイズなどを調整できます。コストは ml.g5.4xlarge インスタンスの稼働時間のみで、1時間あたり約1.20ドルです。

SeedVR2 は、拡散モデルと GAN を組み合わせた拡散対抗後訓練(APT)を採用しています。160億パラメータの GAN アーキテクチャ上で、2段階の APT プロセス(64ステップを1に圧縮する漸進的蒸留、実高解像度動画による学習)を実行します。Swin Transformer による適応的ウィンドウアテンション、RpGAN 損失、R1/R2 正則化、特徴マッチング損失などを用いて安定性と品質を両立しています。サンプル結果では、元の240p映像と比較して、SeedVR2 による540pアップスケーリングでは細部の再現が大幅に向上しています。

使用後は、コスト回避のために S3 バケットを空にして CDK スタックを削除する必要があります。