- Biblioteca para executar Stable Diffusion no Raspberry Pi Zero 2 com 512 MB de RAM.
- Foi desenvolvida a biblioteca OnnxStream com foco na otimização do consumo de memória.
- O uso de memória foi otimizado separando os componentes que fornecem os pesos ao modelo.
- Em teoria, é possível executar o modelo recebendo os pesos diretamente de um servidor HTTP, sem gravar nada em disco.
- Como resultado, ela usa até 55 vezes menos memória do que o OnnxRuntime, mas é de 0,5 a 2 vezes mais lenta.
- Porém, o modelo VAE incluído no Stable Diffusion ainda usa cerca de 1 GB de RAM mesmo com essa biblioteca.
- O uso de memória do modelo VAE foi ainda mais otimizado com quantização estática de 8 bits (W8A8).
- No fim, foi possível gerar uma imagem em um RPI Zero 2 real em 3 horas.
- No resultado final, foram usados apenas cerca de 260 MB de RAM.
3 comentários
Quanto mais vocês querem atormentar aquele coisinha minúscula.....
Acho que os humanos são as criaturas mais bizarras que existem.
É realmente impressionante. Rodar um modelo de vários GB com 260 MB de RAM...
O fato de ter levado 3 horas também é por ser um Raspberry Pi; em uma CPU de alto desempenho, obviamente parece ser mais rápido.
E consome bem menos RAM também.
Desse jeito, será que não vai surgir um método que permita rodar isso na Edge com Serverless....
Ah, que projeto interessante. Obrigado!
Acho que também veremos muitas tentativas de reduzir o gargalo entre CPU e RAM +_+