Ollama agora suporta placas gráficas AMD

Significado do suporte da AMD e impacto na Nvidia

  • Muitos veem o suporte da AMD no Ollama como enfraquecendo o fosso da CUDA da Nvidia, pelo menos no lado da inferência.
  • O treinamento ainda é visto como dominado pela Nvidia, mas a inferência tem mais a ver com custo por token e VRAM, onde a AMD pode competir.
  • O entusiasmo por LLMs locais está impulsionando a demanda por opções que não sejam Nvidia devido a preço e disponibilidade.

Desempenho, custo e trade-offs de VRAM

  • Vários comentários observam que as placas AMD geralmente ficam atrás da RTX 4090 em desempenho bruto, mas são mais baratas por GB de VRAM.
  • Para muitos usuários, poder executar modelos maiores/melhores com uma taxa de tokens por segundo ligeiramente menor é preferível a placas Nvidia mais rápidas, mas limitadas por VRAM.
  • Alguns relatam números concretos (por exemplo, ~35 tokens/s no Mistral 7B Q6 em uma GPU AMD de médio porte), mas benchmarks sistemáticos são em grande parte “pouco claros”.

Detalhes de implementação: ROCm, Vulkan, OpenCL, HIP

  • O suporte da AMD no Ollama é construído em cima do llama.cpp, usando ROCm; um commit vinculado confirma a integração com ROCm.
  • Backends Vulkan e OpenCL existem no llama.cpp para GPUs AMD mais antigas; o desempenho é descrito como pior que CUDA/ROCm, mas utilizável.
  • HIP é mencionado como uma camada de portabilidade semelhante à CUDA para AMD, embora confiabilidade e estabilidade sejam debatidas.
  • OpenCL é amplamente descrito como “vivo, mas de segunda classe” e menos agradável de usar do que stacks específicos do fornecedor.

Compatibilidade de hardware e contornos

  • As listas oficiais de suporte se concentram nas GPUs RDNA2/3 mais recentes; muitos usuários relatam sucesso “não oficial” em mais placas por meio de variáveis de ambiente (por exemplo, HSA_OVERRIDE_GFX_VERSION=10.3.0).
  • Algumas placas (notavelmente a 5700XT) não têm suporte ROCm, frustrando usuários que atualizaram a partir de placas Nvidia mais antigas.
  • O suporte a Radeon/APU integrado ainda não está disponível; links de issues indicam que essa é uma limitação conhecida.

Ollama vs. llama.cpp e outras ferramentas

  • Há amplo consenso de que o Ollama é essencialmente um wrapper amigável ao usuário em torno do llama.cpp, adicionando um registry, uma CLI simples e configuração automática baseada em VRAM.
  • Vários usuários dizem que tiveram dificuldade para compilar o llama.cpp (especialmente com CUDA/ROCm), mas acharam o Ollama fácil em “um comando”.
  • Outros preferem o llama.cpp direto, koboldcpp ou outras UIs para ter mais controle, ajuste de desempenho, concorrência ou múltiplos modelos.

Debate entre produção e experimentação

  • Alguns argumentam que o Ollama é principalmente para experimentação local e uso pessoal, sem concorrência e sem serviço multi-modelo, portanto não é ideal para uso empresarial/de produção.
  • Outros relatam usar o Ollama em fluxos de trabalho pessoais ou de pequena escala “semelhantes a produção” (RAG, extração local de conhecimento, ferramentas on-prem) e valorizam sua simplicidade.
  • Há preocupação de que o llama.cpp faça a maior parte do trabalho pesado de otimização enquanto o Ollama captura muito mais atenção, e discussão sobre se o Ollama credita suficientemente sua dependência e cumpre o licenciamento.