- A Fly.io está construindo uma nuvem pública com hardware próprio e desenvolveu o Fly GPU Machines com o objetivo de oferecer inferência de AI/ML usando GPUs
- O Fly GPU Machines é uma VM que executa contêineres Docker/OCI, projetada para permitir operações rápidas com CUDA por meio do mapeamento direto de GPUs NVIDIA
- A importância de AI/ML foi maior do que o esperado, mas os produtos de GPU parecem não ter refletido adequadamente as necessidades do mercado
Dificuldades técnicas na adoção de GPUs
- O Fly GPU Machines foi projetado para usar o Cloud Hypervisor da Intel em vez do Firecracker, a fim de oferecer suporte a PCI passthrough
- O ecossistema da NVIDIA não oferece suporte a hipervisores de micro-VM, o que dificulta a otimização de segurança e desempenho das GPUs
- As GPUs eram motivo de preocupação para a equipe de segurança, pois permitem transferências DMA (Direct Memory Access) multidirecionais e operações controladas pelo usuário, gerando altos riscos de segurança
- Para separar workloads com GPU e sem GPU, foi necessário usar hardware de servidor separado, criando uma estrutura ineficiente em termos de custo
- Para validação de segurança, foram realizadas avaliações de segurança em larga escala com a Atredis e a Tetrel, consumindo muito tempo e dinheiro
Tentativas e erros técnicos
- Em vez de seguir a abordagem recomendada pela NVIDIA (montar um cluster K8s ou usar QEMU), a empresa tentou manter a rápida velocidade de inicialização do Fly Machines
- Houve uma tentativa fracassada de usar os drivers de GPU virtual (vGPU) da NVIDIA no Intel Cloud Hypervisor
- O ambiente fechado de drivers da NVIDIA dificultou a criação de uma arquitetura que aproveitasse GPUs de forma eficiente
- Era necessário otimizar o carregamento de pesos de modelos usando GPU, mas foi difícil resolver isso preservando a experiência do desenvolvedor (DX)
- Muitas GPUs foram compradas, mas os resultados ficaram abaixo do esperado
Por que o modelo de negócios de GPU falhou
- Desenvolvedores em geral querem LLMs, não GPUs
- Em vez de otimizar modelos de AI/ML, é mais simples usar APIs de LLM como OpenAI e Anthropic, e a diferença de desempenho também não é tão grande
- A maioria dos desenvolvedores valoriza desempenho em "tokens por segundo (tokens per second)", e não tem muito interesse nas otimizações em milissegundos oferecidas por GPUs
- Empresas que executam grandes cargas de trabalho de AI precisam de uma capacidade de computação com GPU enorme, e mesmo uma única GPU A100 não é suficiente
- Grandes laboratórios e empresas de AI querem clusters H100 baseados em SXM
- Pode existir um mercado de GPUs pequenas para workloads leves de ML, mas é difícil usar o NVIDIA MIG em um ambiente totalmente virtualizado
- A GPU L40S tem sido útil, mas não conseguiu se tornar um fator central de crescimento para o negócio principal da Fly.io
Lições aprendidas
- No início (2022), esperava-se o surgimento de vários modelos de AI, mas hoje o mercado convergiu para um pequeno número de modelos de LLM, como OpenAI e Anthropic
- A Fly.io segue o princípio de "projetar recursos para 10.000 desenvolvedores"
- As GPUs eram apenas um recurso para o 10.001º desenvolvedor, o que dificultou sua consolidação como produto principal
- Startups aprendem por meio de várias tentativas, e a adoção de GPUs foi uma aposta que fracassou
- O investimento em GPUs não foi uma perda total, e parte do hardware poderá ser vendida mais tarde
- É possível reduzir o suporte a GPU preservando a segurança e a experiência do desenvolvedor do Fly Machines
- Assim como o produto inicial da Fly.io, um runtime de edge computing em JavaScript, não era o que o mercado queria e acabou migrando para suporte a contêineres, as GPUs também foram uma escolha desalinhada das necessidades do mercado
- Startups frequentemente chegam à resposta certa por meio de hipóteses erradas, e este caso das GPUs foi mais um passo desse processo
1 comentários
Opinião do Hacker News
Os desenvolvedores querem LLMs mais do que GPUs ou modelos de AI/ML. Engenheiros de sistemas se importam com CUDA e GPUs, mas desenvolvedores de software não
git pushe não quer entender coisas como DNS ou LinuxDesde 2012, a Lei de Moore praticamente acabou. A execução em thread única parou nos 2GHz
As máquinas com GPU da fly são muito rápidas e confiáveis, e não são caras em comparação com as alternativas
Comprei uma 4090, mas 24GB de VRAM não são suficientes
Os clientes que escolhem a Fly provavelmente serão os últimos a usar servidores dedicados com GPU por longos períodos
É uma pena não haver GPU slicing. Um custo mensal de US$ 1.000 é difícil de justificar
“Estávamos errados” é uma das frases mais nobres e bonitas da língua inglesa
A Fly.io atrai desenvolvedores parecidos com os da plataforma Workers da Cloudflare
Levou um mês para configurar endpoints serverless no Runpod, e foi caro e pouco confiável