Stable Diffusion no Ubuntu 22.10

>

Imagem gerada no Stable Diffusion (O prompt para gerar esta imagem foi: "human-like face for a powerful artificial intelligence". O sistema também entende português.)

Finalmente instalei uma versão funcional do Stable Difusion, o programa open source para geração de imagens que, liberado no meio do ano passado, iniciou o furor atual em torno das tecnologias de criação com IA, alguns meses antes do ChatGPT.

Tinha tentado instalar algumas vezes, sem sucesso.

Tenho uma GPU AMD, mas o Diffusion era voltado para Nvidia. Quando AMD passou a ser compatível, exigia uns 12 GB de VRAM. Depois o problema era o driver proprietário AMD, que ou não oferecia o recurso necessário ROCm ou não aceitava versões mais recentes do Ubuntu.

Agora finalmente tá tudo redondo para rodar com GPU AMD no Ubuntu 22.10.

Usei a implementação InvokeAI, que automatiza a instalação com um único script, além de oferecer interface web e outros extras. Os requerimentos em detalhes estão na página do projeto. Resumidamente, o mínimo é:

  • GPU Nvidia ou AMD, com pelo menos 4 GB de VRAM;
  • 12 GB de RAM principal;
  • 18 GB de armazenamento;
  • Linux, Mac ou Windows.

Antes do InvokeAI, instalei o driver de vídeo proprietário da AMD (no meu caso), com suporte a ROCm. Segui esta página (que também inclui instruções para Nvidia e OpenSuse Tumbleweed), com a diferença de que adicionei também suporte a OpenCL, ao executar o script de instalação:

sudo amdgpu-install --usecase=rocm,hip,mllib,opencl --no-dkms

Instalar manualmente pytorch (e tensorflow, como menciona a página) não é necessário, pois ele será instalado automaticamente pelo script do Invoke.

No caso de vídeo Radeon RX 6x00, antes de executar o script Invoke, é preciso exportar uma variável:

export HSA_OVERRIDE_GFX_VERSION=10.3.0

Do contrário, pode dar este erro (foi aí que pesquei esse ajuste). Depois, para rodar o programa instalado, essa variável também será necessária. Para torná-la permanente, inclua a linha acima no .bashrc, config.fish ou o arquivo de configuração de seu terminal.

A instalação é longa (pelo menos 10 GB de bibliotecas Python + 4 GB do Stable Diffusion).

Imagem do Stable Diffusion (A interface web do InvokeAI, gerando uma imagem para o prompt: "home computer monitor running an AI image generator")

Ao rodar o InvokeAI, há a opção de uma interface web bem útil. Pelos primeiros testes que fiz, uma imagem como a que abre este texto (com 832 x 512 px) é gerada em 30 segundos (com Ryzen 7, 32 GB RAM, Radeon RX 6600 8 GB VRAM). A resolução máxima é de 1280 x 1280.

Percebi também que a qualidade da imagem depende muito da precisão e detalhamento do texto digitado (que pode ser em português). Prompts genéricos ou pouco detalhados costumam resultar em imagens ruins. Ou seja, é preciso estudar um pouco redação de prompt para Stable Diffusion.

diversos guias sobre como afinar isso e obter imagens melhores.


Driver AMD

O atual driver proprietário da AMD parece que está melhor também. Da última vez que tentei instalar com ROCm, isso zuou alguns games; então, voltei para o driver livre amdgpu. Mas, desta vez, pelo menos um jogo agora está rodando muito melhor com o driver proprietário e seus recursos extras (talvez o OpenCL etc): Cyberpunk 2077; dá para jogar no modo Ultra sem nenhum engasgo!


Digressão sobre ameaça IA

Também fico apreensivo com o potencial destrutivo de tecnologias como essas. Na semana que vem, vai sair o ChatGPT 4, que também cria lida com imagens e até vídeos. Imagine o estrago que isso que pode fazer, multiplicando a propagação e eficácia da desinformação, ou a manipulação e vigilância via redes.

No final, a tão repetida história de ficção de uma IA maligna aniquilando humanos é só uma metáfora, que serve para expressar e canalizar o medo subliminar que temos de uma poderosa força artificial, técnica e inumana, nos destruindo. Isso existe, não é ficção, está presente bem aqui e agora. É a destruição provocada pelas grandes corporações, seus multibilionários e toda necropolítica e economia derivadas. Há aí uma qualidade bem inumana e destrutiva.

Li hoje que aquela entidade que participou do documentário Netflix Dilema das Redes agora está focando com tudo nos perigos do abuso de IAs pelas empresas, assim como a AI Objetives, que mencionei em outro texto (→ IA capitalista e consciência ilusóriaIA capitalista e consciência ilusória
(arte: Saul Gravy) Também estou entre quem fica meio impaciente ao escutar de novo sobre ChatGPT, IA e toda essa febre. Mas seguem alguns links interligados, com ângulos menos abordados em todo esse falatório. "Uma vez, humanos entregaram seu pensamento às máquinas…
).

Apesar disso, eu uso busca com ChatGPT (via Perplexity → Alternativa funcional ao ChatGPTAlternativa funcional ao ChatGPT
Pesquisas turbinadas por "aprendizado de máquina" (ou, genericamente, Inteligência Artificial) realmente parecem que vão mudar o jogo. O processo de pesquisar algo na web fica bem mais rápido. Enquanto não chegam serviços amplamente disponíveis, uma boa alternativa ao ChatGPT da…
) e agora o S. Diffusion. Há avanços úteis, mas só veremos depois o preço que pagaremos.