AlphaEvolve で動画処理を高速化する方法
Anant Nawalgaria
Group AI Product Manager & Engineer, Google
Sascha Heyer
Principal AI Lead, DoIt
※この投稿は米国時間 2026 年 9 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。
リアルタイム ストリーミングでは、1 ミリ秒の違いが結果を左右します。
たとえば、30 フレーム/秒(fps)の場合、デベロッパーはカメラフレームの取り込み、ニューラル セグメンテーションの実行、シェーダーの適用、出力の合成を、わずか 33.3 ミリ秒(60 fps の場合は 16.6 ミリ秒)という厳格なフレーム バジェット内で行う必要があります。このバジェットを 1 ミリ秒でも超えると、ドロップフレーム(コマ落ち)やスタッタリング(カクつき)が発生します。
これを手動で最適化するのは、フレームグラフの分析や Swift、C++、Metal での低レベルコードの手動調整に何週間もかかるため、非常に面倒な作業になります。標準的な AI コーディング支援を使用すれば、ボイラープレートを生成することは可能です。しかし、ターゲット ハードウェアに合わせた最適化や実際の環境で生じるレイテンシへのベンチマークには対応できず、また最適化後に視覚的な忠実度を完全に維持することもできません。
この状況を打破するには、自律的なクローズドループの進化史的最適化が有効です。AlphaEvolve のようなツールが、クラウド規模のモデル推論をローカル ハードウェアでの実行と組み合わせ、すでに実用環境に効果をもたらしています。DoIt は、Google との提携により、AlphaEvolve を使用して、macOS のライブ ストリーミング アプリにおける本番環境 Swift コードの自律的最適化を実現しました。これにより、手動プロファイリングでは見つけられなかった伸びしろが見出され、パフォーマンスが改善されました(詳しくは完全版の技術レポートをご覧ください)。
この投稿では動画パイプラインに焦点を当てていますが、分割ループパターンは、マイクロサービスのスループットやデータベースのクエリから、ML テンソル パイプラインや組み込みシステムまで、パフォーマンスが重要となるあらゆる場面に適用できます。どのユースケースにおいても仕組みは同じで、クラウドにおける Gemini のコード生成を、ドメイン固有のベンチマーク ハーネスおよび自動品質ゲートと組み合わせます。
ここでは、AlphaEvolve を使用して動画処理を高速化する方法と、ユーザー固有のパフォーマンス ボトルネックに以下の原則をどのように適用できるかについて確認していきましょう。
-
分割ループ アーキテクチャを理解する: AlphaEvolve が、マネージド クラウド生成(Google Cloud 上の Gemini モデル アンサンブル)をローカルでの評価プロセス(ネイティブ Swift / Metal コードのコンパイルと実行時間の計測など)からどのように分離しているのかを理解します。
-
評価ツールの設計と品質ゲートを適用する: 構造的類似性指数(SSIM)などの指標を使用してスコアリング関数を構築し、進化ループがベンチマークの裏をかく(例: 速度を上げるためにレンダリングを完全にスキップする)のを防ぎます。
-
自律的なアルゴリズム検出を活用する: Gemini 主導の進化史的最適化検索により、プロンプトなしでフレームワーク API を自律的に検出し、エンジニアリングのバランス(フレーム キャッシュの制限など)をインテリジェントに調整します。
-
現実的なパフォーマンス境界を設定する: 物理的なハードウェアの限界に対応するコードの最適化を測定します。
1. AlphaEvolve の分割ループ アーキテクチャを理解する
AlphaEvolve は、クローズドループの進化プロセスを実行します。つまり、シードプログラムとカスタム スコアリング関数を使用して、Gemini モデルの混成がコードのバリエーションを提案し、各候補に対してスコアリング関数を実行します。その過程で最もパフォーマンスの高いコードを保持し、複数の世代にわたって反復的に最適ソリューションへと進化していく仕組みです。


AlphaEvolve アーキテクチャの主な利点は、次の 2 つの要素に明確に分けられていることです。
-
生成サイド(Google Cloud マネージド サービス): プロンプト サンプラー、Gemini モデル アンサンブル、プログラム データベースが含まれます。スケーリング、プロンプト オーケストレーション、生成メカニズムが Google Cloud で処理されます。
-
評価サイド(ユーザー管理のコンピューティング): コード品質のスコアリングが、厳密にドメイン限定で実行されます。評価モジュールは完全にユーザーが所有し、独自のハードウェアまたはターゲット アーキテクチャ(この場合はネイティブ Swift コードを実行する macOS)で実行されます。
AlphaEvolve は、クラウド生成サイドでは Python ファーストですが、評価サイドは任意の言語で記述できます。カスタム評価ツールでは、Swift コードの各候補を Swift を使用してコンパイルし、標準の参照ウェブカメラ クリップに照らして評価を実行します。
2. 評価ツールの機能と品質ゲートを適用する
AlphaEvolve のような自動最適化ループは、実際には動画ストリームを「見る」ことはありません。評価ツールが返す数値の適合度スコアを確認するだけです。評価指標に盲点がある場合、進化史的最適化によるコード生成はそれを積極的に利用してしまいます。
たとえば、初期の実行では、未熟な適合度スコアが元のレイテンシを重視するあまりに、処理が異常に高速化されました。モデルはぼかしレンダリングを完全にバイパスし、未修正のフレームを 0 ミリ秒で返したのです。
構造的類似性指数(SSIM):
モデルがベンチマークの裏をかく行為を防ぐには、以下のように、スループットと構造的類似性指数(SSIM)などの構造的忠実度指標を組み合わせた 2 段階のスコアリング関数を記述します。
これにより、以下のことが可能になります。
-
極めてハードルの高いクリップでテスト可能に: 静止フレームや空白のカメラ映像をベンチマークにすることは絶対に避けるべきです。コードの各候補は、静的な背景のフレームでは平均 SSIM ゲートを簡単に通過できてしまいますが、人がさっと振り向くような映像では必ず不適格になります。
-
平均だけでなく最小値も追跡可能に: 平均しきい値とフレームごとの最小値の両方を適用して、ドロップフレームやマスク更新の遅延を検出できます。
自律的なアルゴリズム検出を活用する
一般的に、デベロッパーは生成 AI を使用して、ローカルのマイクロ最適化(ヘルパー関数のインライン化、ループの展開、メモリプールの調整など)を行っています。しかし、アーキテクチャの余地を与えれば、進化ループがシステム的な最適化手段を自律的に発見することができます。
エンジニアリングのヒント:
-
分離されたループではなく、フレームワークのコンテキストを提供する: 公開 SDK ヘッダー、インターフェース定義、API リファレンス識別子をプロンプトまたは検索ハーネスに含めます。LLM のコンテキスト ウィンドウに、分離されたフレーム処理コールバックのみが含まれている場合、LLM はシーケンス対応サブシステムを使用できません。
-
マルチフレーム ライフサイクル フックを利用可能にする: 純粋なステートレス関数を適用するのではなく、コードの候補が前の実行から次の実行に制限付きの状態データ(マスクの履歴やキャッシュのタイムスタンプなど)を引き継げるようにします。
-
品質ゲートで動画の質と処理速度のバランスを管理する: AlphaEvolve に一時的なマスク キャッシュを導入した際、当初はマスクのキャッシュが過剰に行われ、動画にゴーストなどが残ってしまいました。そこで、SSIM ゲートによって動きのブレを規制し、パラメータを手動調整することなく、本番環境に対応したキャッシュ ウィンドウに検索を収束させました。
現実的なパフォーマンス境界を設定する
パフォーマンス エンジニアリングでよくある落とし穴は、闇雲に最適化を行うことです。2 倍の高速化を達成した場合、それで満足すべきでしょうか。それとも、さらに 3 倍を目指す余地があったのでしょうか。
リアルタイムのメディアにおいて、合計フレーム時間は次の 2 つのカテゴリに分けることができます。
-
変更可能なソフトウェアのオーバーヘッド: メモリ割り当て、バッファ形式の変換、スレッド コンテキストの切り替え、API ディスパッチの摩擦などがこれに相当します。
-
変更不可のハードウェア ベースライン: 未処理のニューラル エンジン推論レイテンシ、GPU シェーダー コンピューティング時間、ハードウェア ディスプレイ同期などがこれに相当します。
AlphaEvolve を最大限に活用するには、理論上の最大ヘッドルームを基準に測定する必要があります。
最適化ループを実行する際は、次の原則を考慮しましょう。
-
NoOps パイプラインを構築する: Swift / C++ オーケストレーション、データ マーシャリング、フレーム変換は排除し、ウォームアップ済みの ML モデルと未加工 GPU のレンダリング パスのみをダミーバッファにディスパッチします。結果として得られる時間が、物理ハードウェアの下限となります。
-
対応可能な上限を計算する: 最適化可能な最大値は次の式で計算できます。


3. ハードウェアの制約を考慮して測定する: 任意の高速化倍率ではなく、最適化効率を測定します。


実際に使ってみる
すべてのベンチマーク コード、テストクリップ、評価スクリプト、未加工の候補ログはオープンソースです。
-
GitHub リポジトリ: AlphaEvolve Camera Background Blur Example
-
DoIt の事例紹介に関する詳細な技術レポート: Running AlphaEvolve on Your Own Code
- Google、グループ AI プロダクト マネージャー兼エンジニア、Anant Nawalgaria
- DoIt、プリンシパル AI リード、Sascha Heyer 氏


