- Fly.io está construyendo una nube pública con hardware propio y desarrolló Fly GPU Machines con el objetivo de ofrecer inferencia de AI/ML usando GPU
- Fly GPU Machines es una VM que ejecuta contenedores Docker/OCI, diseñada para mapear directamente GPU de NVIDIA y permitir operaciones CUDA rápidas
- La importancia de la AI/ML fue mayor de lo esperado, pero parece que los productos de GPU no reflejaron correctamente las necesidades del mercado
Dificultades técnicas para adoptar GPU
- Fly GPU Machines fue diseñado para usar Cloud Hypervisor de Intel en lugar de Firecracker, con soporte para PCI passthrough
- El ecosistema de NVIDIA no da soporte a hipervisores de micro-VM, lo que dificultó optimizar la seguridad y el rendimiento de las GPU
- Las GPU eran motivo de preocupación para el equipo de seguridad, ya que permiten transferencias DMA (Direct Memory Access) multidireccionales y operaciones controladas por el usuario, lo que genera altos riesgos de seguridad
- Para separar las cargas de trabajo con GPU y sin GPU, se usó hardware de servidor independiente, creando una estructura ineficiente en costos
- Para validar la seguridad, realizaron evaluaciones de seguridad a gran escala con Atredis y Tetrel, con alto costo y consumo de tiempo
Prueba y error técnico
- Intentaron mantener la velocidad de arranque rápida de Fly Machines sin seguir el enfoque recomendado por NVIDIA (crear un clúster de K8s o usar QEMU)
- Fracasaron al intentar usar los drivers de GPU virtual (vGPU) de NVIDIA en Intel Cloud Hypervisor
- Debido al entorno cerrado de drivers de NVIDIA, fue difícil crear una arquitectura que aprovechara eficientemente las GPU
- Necesitaban optimizar la carga de pesos de modelos usando GPU, pero fue difícil resolverlo sin sacrificar la experiencia del desarrollador (DX)
- Compraron muchas GPU, pero no lograron los resultados esperados
Por qué falló el modelo de negocio de GPU
- Los desarrolladores comunes quieren LLM, no GPU
- En lugar de optimizar modelos de AI/ML, es más sencillo usar APIs de LLM como OpenAI o Anthropic, y la diferencia de rendimiento tampoco es tan grande
- A la mayoría de los desarrolladores les importa el rendimiento medido en "tokens per second", y no muestran mucho interés por optimizaciones al nivel de milisegundos que ofrecen las GPU
- Las empresas que realizan trabajos de AI a gran escala necesitan una capacidad de cómputo con GPU enorme, y ni siquiera una sola A100 es suficiente
- Los grandes laboratorios y empresas de AI quieren clústeres H100 basados en SXM
- Puede existir un mercado de GPU pequeñas para trabajos ligeros de ML, pero es difícil aprovechar NVIDIA MIG en un entorno totalmente virtualizado
- La GPU L40S se está usando de forma útil, pero no logró convertirse en un factor clave de crecimiento para el negocio principal de Fly.io
Lecciones aprendidas
- Al principio (2022), esperaban que aparecieran muchos modelos distintos de AI, pero hoy el mercado converge en unos pocos modelos LLM como OpenAI y Anthropic
- Fly.io sigue el principio de "diseñar funciones para 10,000 desarrolladores"
- Las GPU eran apenas una función para el desarrollador número 10,001, por lo que era difícil que se convirtieran en un producto principal
- Una startup aprende a través de múltiples intentos, y la adopción de GPU fue una apuesta fallida
- La inversión relacionada con GPU no es una pérdida total, y parte del hardware podrá venderse más adelante
- Es posible ajustar la estrategia para reducir el soporte de GPU mientras se mantiene la seguridad y la experiencia del desarrollador de Fly Machines
- Así como el producto inicial de Fly.io, un runtime de edge computing para JavaScript, no era lo que el mercado quería y finalmente cambiaron a soporte para contenedores, las GPU también fueron una apuesta que no coincidía con las necesidades del mercado
- Las startups a menudo encuentran la respuesta correcta a partir de suposiciones equivocadas, y este caso de las GPU fue parte de ese proceso
1 comentarios
Opinión de Hacker News
Los desarrolladores quieren LLMs más que GPUs o modelos de IA/ML. A los ingenieros de sistemas les importan CUDA y las GPU, pero a los desarrolladores de software no
git pushy no quiere entender cosas como DNS o LinuxDesde 2012, la ley de Moore prácticamente terminó. La ejecución de un solo hilo se estancó en 2 GHz
Las máquinas GPU de fly son muy rápidas y confiables, y no son caras frente a las alternativas
Compré una 4090, pero 24 GB de VRAM no son suficientes
Los clientes que eligen Fly probablemente serán los últimos en usar servidores GPU dedicados a largo plazo
Se extraña que no haya GPU slices. Es difícil justificar un costo de $1,000 al mes
"Nos equivocamos" es una de las frases más nobles y hermosas del idioma inglés
Fly.io atrae a desarrolladores similares a los de la plataforma Workers de Cloudflare
En Runpod tomó un mes configurar un endpoint serverless, y fue caro y poco confiable