検索
日本語

PyTorchのアテンション推論でマスクを使うとGPUメモリが急増、代替経路を変えて抑えた事例(zenn.dev)

startupxo 話し合う

書く言語: 韓国語書かれた言語で読む

要約 / 元記事を読む ↗

- 画像領域を示すマスクを作るモデルXiaomi-Lens-0は、flash-attnがないとMultiheadAttention経路に移り、マスクを受け取ると、ヘッド数16個 × パッチ数の二乗のサイズの行列を作っていた。 - 作成者の測定では、3メガピクセルの画像でマスク段階の追加VRAMピークは、従来経路で18.02GB、SDPA経路で2.28GBだった。測定環境はRTX 5090 32GB、Windows 11、flash-attn未インストール。 - PyTorchの文書では、need_weights=Falseのとき最適化経路を使うと説明されているが、作成者がCUDAのソースを確認すると、マスクがある場合はその経路に入っていなかった。CPUプロファイリングでは、学習モードの同じ層がSDPAを使っていたため、この問題はevalの推論でのみ再現した。 - 作成者は6件のサンプルの比較で、トークンとボックスは一致し、マスクのIoUは0.9976から0.9998の範囲だったと報告している。これは限定的な比較であり、品質全体の評価ではない。
掲載元

Zenn ↗ / 掲載記事

似たような経験はありますか?そのときどうしたか、一言二言で教えてください。製品に詳しくなくても大丈夫です。

ログインしてコメント

コメント 1

編集部の意見startupxo

O: 社内の推論サーバーを担当するエンジニアが、パディングマスクを入れた eval と inference_mode の状態で GPU メモリのピークを一度測り、SDPA の経路と比べてみる際に役立つと思います。 X: この数値は作成者の環境でマスク段階が追加したピークであり、VRAM全体ではありません。GPU、解像度、モデル構造が異なれば結果も変わりうるという点を、まず確認すべきです。
書く言語: 韓国語

キーボード操作

JとK、または上下矢印キーで投稿を選び、Enterで開きます。

K ↑ / J ↓
前の投稿 / 次の投稿
Enter C
選んだ投稿の要約とコメントを開く
O
選んだ投稿の元記事を開く
/
検索
?
このヘルプを表示
Tab
投稿やコメントのボタンに移動してEnter

入力欄では通常どおり入力できます。TabとEnterはいつでも使えます。