17 poin oleh kuroneko 2023-07-21 | 3 komentar | Bagikan ke WhatsApp
  • Library untuk menjalankan Stable Diffusion di Raspberry Pi Zero 2 dengan RAM 512MB.
  • Mengembangkan library OnnxStream yang berfokus pada optimasi konsumsi memori.
  • Mengoptimalkan penggunaan memori dengan memisahkan komponen yang menyediakan bobot ke model.
    • Secara teori, bobot bisa dikirim langsung dari server HTTP sehingga model dapat dijalankan tanpa menulis apa pun ke disk.
  • Hasilnya, penggunaan memori hingga 55 kali lebih kecil dibandingkan OnnxRuntime, tetapi 0,5~2 kali lebih lambat.
  • Namun, model VAE yang disertakan dalam Stable Diffusion tetap menggunakan sekitar 1GB RAM meski memakai library ini.
    • Penggunaan memori VAE kemudian dioptimalkan lebih lanjut melalui kuantisasi statis 8-bit (W8A8).
    • Pada akhirnya, berhasil menghasilkan gambar dalam 3 jam di RPI Zero 2 yang sebenarnya.
    • Pada tahap akhir, hanya menggunakan sekitar 260MB RAM.

3 komentar

 
wkang586 2023-07-31

Mau disiksa seberapa jauh lagi si kecil itu.....
Sepertinya manusia adalah makhluk paling nyeleneh.

 
kuroneko 2023-07-21

Benar-benar menakjubkan. Menjalankan model berukuran beberapa GB hanya dengan RAM 260MB...

Kalau sampai butuh 3 jam juga karena ini Raspberry Pi; di CPU berperforma tinggi tentu akan jauh lebih cepat.
Penggunaan RAM-nya juga jauh lebih sedikit.

Jangan-jangan lama-lama akan muncul cara untuk menjalankannya di edge secara serverless....

 
ninebow 2023-07-21

Oh, proyek yang menarik. Terima kasih!
Sepertinya juga akan ada banyak upaya untuk mengurangi bottleneck antara CPU dan RAM +_+