Raspberry PiでStable Diffusionを実行
(github.com/vitoplantamura)- 512MBのRAMを搭載したRaspberry Pi Zero 2でStable Diffusionを実行するためのライブラリ。
- メモリ消費の最適化に焦点を当てたOnnxStreamライブラリを開発。
- モデルに重みを提供するコンポーネントを分離し、メモリ使用量を最適化。
- 理論上はHTTPサーバーから重みを直接渡すことで、ディスクに何も書き込まずにモデルを実行可能。
- その結果、OnnxRuntimeより最大55倍少ないメモリで動作するが、速度は0.5〜2倍遅い。
- ただし、Stable Diffusionに含まれるVAEモデルは、このライブラリを使っても約1GBのRAMを使用。
- VAEモデルを8ビット静的量子化(W8A8)によってさらにメモリ最適化。
- 最終的に実機のRPI Zero 2で3時間での画像生成に成功。
- 最終的なRAM使用量は約260MB。
3件のコメント
あの小さな子をどれだけいじめるつもりなんだろう……
人間こそが最も猟奇的なクリーチャーのようです。
本当に驚きですね。数GBもあるモデルを260MBのRAMで動かすなんて……
3時間もかかったのはラズベリーパイだからであって、高性能CPUでは当然もっと速いようです。
RAMの消費もずっと少ないですし。
このままいくと、ServerlessでEdge上で実行できる方法が出てくるのではないかと……
おお、興味深いプロジェクトですね。ありがとうございます!
CPU - RAM 間のボトルネックを減らすための試みも、たくさん行われそうですね +_+