なぜ画像の解像度によってマルチモーダル・ホームAIの負荷が変わるのか?

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

画像解像度はマルチモーダルAIの負荷を変化させます。一般に、入力が大きいほど、テキスト生成の前に処理する視覚パッチ、クロップ、トークン、アテンション処理が増えるためです。

家庭用AIサーバーは、サイズを変更したスマートフォンの写真には素早く応答できても、フル解像度のスクリーンショット、スキャン画像、パノラマ、複数画像のリクエストでは遅くなることがあります。元の画素数が、そのまま言語モデルに渡されるとは限りません。ビジョンエンコーダーが画像のサイズ変更、クロップ、タイル分割を行い、画像を視覚トークンへ変換します。どの前処理方式を選ぶかによって、細部がどの程度保持されるか、またリクエストが消費する計算量、メモリ、コンテキスト領域、キュー待ち時間が決まります。

Vision Transformerは画素をパッチトークンに変換する

ビジョンエンコーダーは一般に、画像を固定サイズのパッチに分割し、各パッチを埋め込みへ変換したうえで、得られた系列をTransformerレイヤーで処理します。

Vision Transformerの論文では、画像を分割不可能な1つの入力ではなく、パッチ系列として扱います。

パッチサイズが一定の場合、画像の幅と高さを大きくすると、画像の面積に比例してパッチ数が増加します。そのため、幅と高さをそれぞれ2倍にすると、後段でプーリングや圧縮を行う前の生のパッチ数は、およそ4倍になる可能性があります。

前処理では画素を縮小して失うことも、タイル分割で保持することもある

画像をすべて1つの固定エンコーダー解像度にリサイズするパイプラインもあります。この場合、トークン数は安定しますが、ダウンサンプリングによって小さな文字や細かな物体が消えることがあります。

LLaVA-UHDは、ネイティブ解像度のスライスを使用して、大きな画像を可変サイズのセクションに分割し、生成された視覚トークンを整理します。

タイル分割では複数のクロップを処理することで局所的な細部を保持できますが、クロップを追加するたびにビジョンエンコーダーの処理が繰り返され、言語モデルに渡されるトークンまたは圧縮特徴量も増えます。

同じメガピクセル数の2つのファイルでも、アスペクト比やランタイムのグリッド選択ルールによって必要なタイル数が変わるため、クロップの配置が異なる場合があります。

高解像度化により、言語モデル内部の視覚トークンが増加することがある

ビジョンエンコーディングの後、プロジェクターが画像特徴量を言語モデルと互換性のあるトークンへ変換します。これらのトークンは、ユーザーのテキストや生成される回答とともに、コンテキスト内の位置を占有します。

LLaVA-OneVisionは、対応解像度が高くなるにつれて、AnyResの段階で視覚トークン数が増加すると報告しています。

視覚トークンが増えると、プロンプトのプリフィル処理量、KVキャッシュの必要量が増加し、ユーザーの指示や検索された文書ではなく、画像がコンテキスト内で占める割合も大きくなります。

そのため、高解像度画像は、ビジョンエンコーダー自身の処理が完了した後でも、言語モデル側の処理を遅くする可能性があります。

アテンションのコストは、トークン圧縮を行う場所によって変わる

ビジョンエンコーダーがすべてのパッチを完全な自己注意で処理する場合、パッチ数の増加に伴って内部コストが急速に大きくなる可能性があります。言語モデルがすべての視覚トークンを受け取る場合は、マルチモーダルのプリフィル処理量も増加します。

高解像度化の高速化に関する研究では、低解像度処理と比べてAnyResが3~5倍多いトークンを生成する可能性があると指摘されています。

トークンプーリング、リサンプリング、学習済み圧縮、選択的なクロップ再処理によって、言語モデルに到達する前に系列を短縮できます。どれだけ計算量を削減できるかは、高コストな処理段階の前後どちらで圧縮を行うかによって決まります。

解像度の負荷は、家庭用AIが同時に処理できる量を減らす

大きな画像のリクエストは、ビジョンエンコーダーのメモリ、一時的な画像テンソル、言語モデルのKVキャッシュ、アクセラレーターの処理時間を占有し、その間、家庭内の他のチャットが待たされる可能性があります。

LLaVA-Miniは、冗長な画像トークンによってマルチモーダル推論のコストが上昇するため、視覚トークンの圧縮を検討しています。

ZimaSpaceのローカルAIに関する概要では、ローカルAIの処理能力は、AIという名称だけでなく、ワークロードの種類によって決まると説明しています。

複数のテキストチャットに対応できるサーバーでも、同時に処理できる画像リクエストは少なくなる可能性があります。特に、各画像で高詳細のタイル分割モードを使用する場合は顕著です。

タスクで保持すべき証拠に合わせて解像度を選ぶ

シーン分類、重複検出、写真の大まかなタグ付けは、強くリサイズしても機能する場合があります。一方、OCR、図、UIスクリーンショット、レシート、小さな物体の検査では、より多くの細部や対象を絞ったクロップが必要になることがよくあります。

CARESは、適応的な解像度選択によって、すべての画像を利用可能な最高解像度で処理する必要をなくせることを示しています。

同じ画像と質問を使い、複数の解像度をテストしてください。回答の正確性、OCRの完全性、視覚トークン数、ピークメモリ、最初のトークンが生成されるまでの時間、同時実行中の別のチャットへの影響を記録します。

有用な設定とは、ワークフローに必要な証拠を保持できる最低限の解像度またはクロップ方式です。画素数を増やす価値があるのは、モデルがそれをより優れたタスク結果へ変換できる場合に限られます。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.