4 ポイント 投稿者 GN⁺ 2023-10-04 | 1件のコメント | WhatsAppで共有
  • この記事は、512MBのRAMを搭載したマイクロコンピュータ Raspberry Pi Zero 2 で Stable Diffusion XL 1.0 を実行する試みを扱っています。
  • 課題は、スワップ領域を増やしたり中間結果をディスクにオフロードしたりせずに、約10億個のパラメータを持つ大規模トランスフォーマーモデル Stable Diffusion 1.5 を動かすことです。
  • 著者は、メモリ消費の最小化に重点を置いた、小さくハックしやすい推論ライブラリ OnnxStream を作成しました。
  • OnnxStream は、推論エンジンとモデル重みを提供するコンポーネントを分離することで、モデルパラメータのさまざまな種類の読み込み、キャッシュ、プリフェッチを可能にします。
  • OnnxStream は OnnxRuntime よりメモリ消費が55分の1でありながら、速度低下は 0.5~2 倍にとどまります。
  • この記事には、OnnxStream を使って VAE デコーダのさまざまな精度で Stable Diffusion のサンプル実装が生成した画像が含まれています。
  • OnnxStream の Stable Diffusion サンプル実装は現在 SDXL 1.0 をサポートしており、これは SD 1.5 より計算コストが高いものの、より大きな画像を生成できます。
  • OnnxStream は SDXL 1.0 を 300MB 未満のRAMで実行できるため、Raspberry Pi Zero 2 に適しています。
  • この記事では、メモリ消費を 4.4GB から 298MB に削減するためのタイルデコードの使用を含む、SDXL 1.0 向けの特定の最適化について議論しています。
  • OnnxStream の機能には、推論エンジンと WeightsProvider の分離、attention slicing、動的および静的量子化、FP16 サポートなどがあります。
  • この記事では、さまざまなオペレーティングシステムで Stable Diffusion のサンプルをビルドする方法について、詳しい手順を提供しています。
  • sd.cpp の Stable Diffusion 実装は別の2つのプロジェクトをベースにしており、NCNN の代わりに OnnxStream を使うよう修正されています。

1件のコメント

 
GN⁺ 2023-10-04
Hacker Newsの意見
  • OnnxStreamの使用に関する記事で、OnnxRuntimeよりメモリ消費が55分の1である一方、速度は0.5〜2倍遅いことが示されている。
  • メモリ使用量と推論時間のトレードオフは、一部のシナリオでは有利に働く可能性があり、同じRAMでより大きなバッチサイズを許容できる。
  • 一部のユーザーはMacBook Proでinvoke.aiを通じてStable Diffusionを使用しているが、より良いパラメータ設定の推奨を探している。
  • この記事では、この方法で画像を生成するには長い時間がかかると述べられており、Readmeには11時間かかると明記されている。
  • メモリ使用量と推論時間のトレードオフは、レイテンシが重要な要素であるリアルタイムまたは準リアルタイムのアプリケーションの妨げになる可能性がある。
  • 「0.5〜2倍遅い」という表現に混乱があり、コミュニティ内でのコミュニケーションにおいて明確さが不足している可能性を示している。
  • 一部のユーザーは、主要なオープンソースモデルを実行して生成するための最小要件の要約を探している。
  • この分野の急速な進展が注目されており、特に過去6〜18か月の速度向上は印象的である。
  • Stable Diffusion系の技術を規制しようとする試みは無駄になる可能性があり、こうしたモデルとその推論インフラはPS2で動作可能なサイズまで縮小できることが示唆されている。
  • 生成時間は長いものの、一部のユーザーはStable DiffusionがPi Zeroのようなハードウェアで動作し得るという事実に感嘆している。