AI・機械学習
動画モデルの学習をより良く、より速く行う方法
Getting video models to learn better, faster (linum.ai)
要約
生成系動画モデルの性能向上は、モデルアーキテクチャの進化よりも、データ品質の改善に大きく依存しています。特に、ノイズの多いデータの除去、戦略的なリサンプリング、リッチなアノテーションの収集、そして自然界に少ないデータを補うための合成データ生成が重要です。本稿では、2024年から2025年にかけてLinum.aiがデータフィルタリングスタックを進化させてきた過程を、CPUベースの伝統的なコンピュータビジョンからGPUベースのLLMや強化学習へと移行する形で解説します。
全文翻訳
ここ数年で、画像および動画モデルは著しく向上しましたが、これらのモデルの内部構造はStable Diffusion 3以降、それほど大きく変化していません。もちろん、GPT-Imageが普及させた自己回帰型拡散のような小さなバリアントは存在しました。しかし、大まかに言えば、それらはすべてトランスフォーマーバックボーンとv予測目的関数を用いたフローマッチングです。私たちの経験では、ほとんどの進歩は3つのデータ改善の形態に直接起因しています。
強化学習(RL)はいくつかの改善をもたらしましたが、画像と動画で真に機能し始めたのはここ数ヶ月です。
データフィルタリングとリバランス:ノイズの多いデータを除去し、モデルがより効果的に学習できるようにデータを戦略的にリサンプリングする。
データアノテーション:モデルが視覚的概念をより容易に曖昧化できるように、よりリッチなキャプション、バウンディングボックス、フォントの詳細などの優れたアノテーションを収集する。
LLMは過去12ヶ月で画像キャプション生成において飛躍的に向上しました。動画についてはまだですが、それはまた別の機会の話です。
合成データ生成:自然界にはほとんど存在しないトレーニングデータ(例:Nano-Bananaスタイルのモデルのための画像編集/参照条件付け)を作成するために、既存の生成モデルのアンサンブルをファインチューニングする。
多くの場合、非常に特定のタスクのためにトレーニングされた脆いLoRAのコレクションと、悪い合成データをフィルタリングするためにファインチューニングされたLLMが使用されます。
数年前、すべての生成モデル(テキスト、画像、音声)に共通する一般的な考え方は、事前トレーニングのために可能な限り多くのデータを収集することでした。幸いなことに、この分野ははるかに賢くなりました。低品質なデータ(例:高度に圧縮されたJPEG)を大量に事前トレーニングに投入すると、モデルはそのデータのスライスを模倣することを学ぶために、その容量のかなりの部分を無駄にすることになります。データセットをうまくフィルタリングすれば、モデルは学習したいことを学ぶのがずっと楽になります。
これは明白に聞こえるかもしれませんが、実際に行うのははるかに困難です。とはいえ、良いアドバイスはすべて、後から振り返れば明白に聞こえるはずです。
今日は、2024年以降、私たちのデータフィルタリングへのアプローチがどのように進化してきたかを説明します。そして、うまくいけば、将来的に独自の生成モデルをトレーニングする際に、いくつかの頭痛の種を避けることができるでしょう。
私たちのデータフィルタリングスタックの進化
2024年
旧式のCV(CPU上)
CPU
PySceneDetect
ヒューリスティックによるショット検出
EAST Detector (OCR)
より小さく、精度が低いOCRモデル
H.264モーションベクトル
コーデックのモーションベクトルのL2ノルムを使用して、低モーション動画をフィルタリングする。
Haar cascades
話している顔の動画を特定し、サブサンプリングする。
2025年初頭
ファインチューニングされたLLM(GPU上)
GPU
AutoShot + TransNetV2
より良いショット検出のためのニューラルネットワーク
PaddleOCR
より大きく、より良いOCRモデルをTensorRTでスケールさせて提供。
Qwen-2-VL-2B, SFT
コンテンツのカテゴリカルフィルタリング(例:ウォーターマーク、照明の悪いもの)。
2025年後半
強化学習(GPU上)
GPU
WAFT
オプティカルフロー予測のためのニューラルネットワーク;低モーション動画のロングテールをフィルタリングする。
データセットのリバランス
キャプションをタグとして使用し、データセット内の過剰表現されているカテゴリをサブサンプリングする。
Qwen-2.5-VL-3B, RLVR
きめ細やかな美的フィルタリング(スコア1-4)。
保持されたもの
誤って破棄されたもの
保持されたが破棄されるべきもの
RLルーブリック
[2024] 予算内でのフィルタリング — CPU上の伝統的なCV
最初の段階では、生のデータセットを旧式のコンピュータビジョンアルゴリズムで処理することにしました。これにより、マルチモーダルLLMを実行する膨大な数のGPUではなく、安価なCPUインスタンスのクラスターで済ませることができました。
あるいは、GPT-4トークンで数百万ドルを費やすことになります。
シーン検出
事前トレーニングデータセットを作成するために、数兆もの画像と動画をフィルタリングする必要があります。画像は特別な前処理を必要としませんが、生の動画は必要です。
生成系動画モデルをトレーニングする場合、まず画像生成で事前トレーニングする必要があります。モデルが名詞を動詞よりも先に学習すると、より良く(そしてより速く)収束する傾向があります。
次にテレビ番組や映画を見る際に、カメラのカットがどれくらいの頻度で行われるか追跡してみてください。過去20年間に作られたものを見ているなら、5秒ごとにカットが入る可能性が高いでしょう。いつカットするか、どのようにカットするかは、作者の決定であり、生成系動画モデルが任意に行うべきことではありません。したがって、フィルタリングする前に、ショットの境界で動画をスライスして動画クリップにする必要があります。
安価なCPUのみの計画で、PySceneDetectを採用しました。大まかに言うと、これはKフレームのローリングウィンドウを維持し、K+1フレームが画像統計的に大きく異なれば、そのフレームをカットとして分類します。基盤となる機械学習モデルはありません。非常に高速に動作しますが、フェード、ディゾルブ、ジッターカットのような一般的なトランジションには苦労します(これは実際には大きな問題です)。
データを知る
新しいデータを入手したら、数日間かけてランダムなサンプルを確認し、保持したいものと破棄したいものをリストアップする必要があります。「良い」と「悪い」のカテゴリのオントロジーを作成し、これらのカテゴリの相対的なサイズを追跡する時間を取るのが理想的です。
データフィルタリングプロセスのどこかの時点で、エンジニアの脳が働き始め、ヒューリスティック(またはLLM)のノブを調整するのに多くの時間を費やし、「完璧な」決定境界を追い求めることになります。これらのメモは、後であなた自身を救ってくれるでしょう。
それらは、答えが明らかに「いいえ」であるときに、「もう一つアイデア」を試さないように自分自身に話しかけるために必要な事実を提供してくれます。
さらに、データ分布の形状を理解することは、データセットのリバランスに非常に役立ちます。
自然な動画分布では、特定のカテゴリが過剰に表現されています。この信号をサブサンプリングして抑制する必要があります。そうしないと、トレーニングを支配し、モデルは私たちが生成するために必要な人々/場所/物事/行動のロングテールを学習するのに苦労するでしょう。
キャプション不可能なものをふるいにかける
生成系動画モデルは、主に、言葉で正しく一貫して説明できるものによって制限されます。
より正確には、LLMが安価にアノテーションできるものです。
テキストは視覚世界を理解するためのかなり良い足場を提供しますが、動画生成のすべての側面にとって正しい条件付けメカニズムであるとは限りません。
時空間におけるカメラ軌道や、俳優のパフォーマンスのニュアンスのような詳細は、自然言語では単純に説明不可能です。
参照駆動型動画生成が現在流行しています。
これは、これらの動画の言葉にできない特性に対する最初の制御の表現ですが、それ自体はあまり良い制御ではないと考えています。
自動生成されたコンテンツやミーム、ブレインロットのようなリミックスコンテンツには十分ですが、作者の意図を伝えるために必要なきめ細やかな指示レベルを可能にはしません。
それは、この技術が先駆けるべき説得力のある物語を作成することを可能にしません。
今のところ、動画クリップを興味深くしている主な「もの」がキャプション不可能であるクリップをフィルタリングする必要があります。
明確なテキスト説明なしでは、テキストから動画へのモデルにとって単なるノイズです。
テキストが多いもの
例えば、テキストが多い動画をフィルタリングしたいと考えています。
画面上で絶えず変化するモーショングラフィックスをLLMがキャプションするのは、依然として困難です。
画面を読むことは難しいことではありません。難しいのは、画面上のテキストがいつどのように変化するかを明確に記述することです。
20億パラメータモデルの容量を、代わりにアクション学習に割り当てることができるのに、モーショングラフィックスを学習させるのに無駄にしたくありません。
ズームアウトすると、私たちの目標はアニメーションのためのクリエイティブツールです。
現時点では、テキストとモーショングラフィックスは優先事項ではありません。
これを達成するために、各動画からフレームをサンプリングし、小さなEAST検出器を実行してテキストのバウンディングボックスを抽出しました。
そこから、テキストが含まれるフレームの割合と、各フレームをカバーするテキストの割合に基づいて、テキストが多い動画をフィルタリングしました。
このタスクにCNNを使用するのは良いアイデアでしたが、具体的な選択は間違っていました。
CPU上で数兆ものフレームを実行するために、フレームを積極的にリサイズする必要がありました。
そのため、小さなフォントを持つテキストが多いサンプルは、多くのものが見逃されてしまいました。
EAST画像の前処理後、小さなテキストは検出されません。