2 puntos por GN⁺ 2023-07-31 | 1 comentarios | Compartir por WhatsApp
  • Varias startups y laboratorios de investigación compran conjuntamente un clúster de GPU para asegurarse en conjunto los recursos de cómputo necesarios para entrenar modelos grandes
  • En lugar de que cada una compre N GPU por separado, K startups se agrupan y compran juntas un clúster de escala N×K
  • Un scheduler de jobs distribuye el cómputo de manera justa en proporción a la participación de propiedad, y si queda cómputo ocioso, lo asigna adicionalmente
  • En vez de mantener ocupadas 128 A100 durante todo un mes, se puede hacer burst con 512 A100 durante una semana para entrenar modelos más rápido
  • Una estructura que ofrece también a startups el modelo de asignación burst que antes solo disfrutaban grandes laboratorios de investigación como OpenAI y Deepmind

Idea central

  • En lugar de que K startups compren cada una un clúster de N GPU, compran juntas un clúster de N×K GPU
  • Se incorpora un scheduler de jobs para distribuir el cómputo de manera justa en proporción a la participación que posee cada startup
  • Si aparece cómputo ocioso, el scheduler lo asigna tal cual, por lo que, con suerte, se puede usar más cómputo que la participación propia
  • En vez de mantener ocupadas 128 A100 de forma continua durante un mes, se puede hacer burst hasta 512 A100 durante una semana para obtener el modelo más rápido
  • Grandes laboratorios de investigación como OpenAI y Deepmind tienen clústeres grandes que admiten asignaciones burst para investigadores
    • En cambio, hasta ahora las startups solo podían asegurarse clústeres muy pequeños con contratos de larguísimo plazo, esperar varios meses y mantenerlos siempre ocupados
  • Objetivo de alrededor de $2.00 por H100, aplicando asignación burst y contratos de corto plazo
  • Las startups interesadas en participar deben completar el formulario de solicitud; consultas por email a evan@roomservice.dev

Incorporación, salida y expansión

  • Como en una hacker house, para dejar el clúster (por ejemplo, para construir un clúster propio) se requiere avisar con uno o dos meses de anticipación para poder cubrir el lugar con otra persona
  • Las nuevas startups se agregan al grupo por lotes (batch), incorporando nuevas H100 al clúster cada algunos meses
  • Lo mismo aplica cuando una organización que ya forma parte del grupo quiere ampliar su cómputo
  • Se considera un ligero overprovisioning: por ejemplo, si un amigo quiere algunos nodos para un experimento pequeño, se le pueden ofrecer de inmediato a buen precio
    • Con 10% de overprovisioning, el precio por hora de una H100 aumenta 10%

Finanzas

  • Ya existe una ruta sólida para poner en operación 512 H100 en 4 a 6 semanas
  • Si hay demanda por encima de eso, se pueden asegurar H100 adicionales en unas 8 semanas
  • Gracias a que se puede distribuir el costo de compra del clúster con buenas condiciones bancarias, es posible lograr un nivel de $2.00 por H100 manteniendo contratos de corto plazo y asignación burst

Infraestructura

  • Se comparte una lista de correo/Slack para depuración de infraestructura; si surgen problemas con InfiniBand u otros, se puede consultar al grupo
  • Si alguien ya ha lidiado con el mismo problema, pueden ayudarse mutuamente

1 comentarios

 
GN⁺ 2023-07-31
Opiniones de Hacker News
  • Espero que tenga éxito. TPU Research Cloud (TRC) intentó algo así en 2019, y fue lo que me permitió empezar.
    En 2023 es difícil conseguir una sola TPU por más de una hora, pero en aquel entonces literalmente podías recibir cientos. Creí en TRC y pensé que si escalaban y creaban un continente de TPUs, se solucionaría, pero al final el tiempo de TPU terminó priorizándose para investigadores internos y se redujo. El mundo cambió tanto que hoy, si propones enseñar ajedrez a GPT con H100, se reirían de ti.
    Este proyecto tiene un optimismo juvenil que espero que no pierdan, y a largo plazo quizá esa sea la forma de ganar. Espero que acepten a alguien que llegue pidiendo una minúscula porción de una H100 para una idea disparatada. Esa fue la única razón por la que yo pude llegar a ser algo.

    • “El proyecto tiene optimismo juvenil” es de las mejores cosas que he escuchado hasta ahora. Tanto que quisiera enmarcarlo y colgarlo en la pared.
      Por supuesto que pensamos aceptar solicitudes disparatadas de una pequeña porción de H100.
    • De hecho, el programa TPU Research Cloud todavía funciona bien. Ampliamos mucho el pool de cómputo para incluir también Cloud TPU v4 Pod slice, y los proyectos grandes siguen usando cientos de chips a la vez. La capacidad de TRC no se recuperó para uso interno.
      La lista reciente de artículos apoyados por TRC se puede ver en https://sites.research.google/trc/publications/.
      La demanda de Cloud TPU es muy fuerte, así que si usas capacidad preemptible puede que veas interrupciones con más frecuencia, pero también hay capacidad reservada disponible. Sería bueno contactar al equipo de soporte de TRC.
    • Sorprendentemente, siento que recién ahora vi esa luz. En publicaciones anteriores solo veía elogios para TRC, pero como alguien que empezó más tarde, logré mucho más con una GPU gamer propia.
      La comparación no es exactamente equivalente, pero TRC era muy difícil de manejar, solo tuve acceso a TPUv3 una vez y ni siquiera fue suficiente tiempo para aprender lo básico. Entendí que la situación cambia mucho según qué dirección de correo uses y qué tan famosa sea tu cuenta de Twitter.
    • Mi experiencia fue distinta. Considerando que la solicitud es relativamente fácil, me parece que sigue siendo bastante generosa. En los últimos 6 meses, para varios proyectos me ofrecieron v3-8, v3-32 por 30 días y v3-64 preemptible por 28 días.
      Me da curiosidad si perteneces al ámbito académico. Si no, no sé por qué fueron más generosos conmigo; mis proyectos, como mucho, eran apenas algo interesantes. Eso sí, es cierto que ahora son mucho más tacaños con los Pods grandes que antes.
    • Shawn tiene toda la razón. Ahora la competencia está demasiado intensa como para tener ese margen. Un solo cliente puede llevarse 512 GPUs durante 3 años.
  • “En vez de que cada startup K compre por separado un clúster de N GPUs, juntas compran un clúster de NK GPUs y distribuyen el cómputo con un scheduler de trabajos” suena, en teoría, casi igual al modelo de proveedores de nube como AWS y Azure.
    La estructura es: “en vez de que todos compren hardware fijo por separado, nosotros compramos un enorme pool de hardware y hacemos que lo compartan por tiempo”. Más allá de que los proveedores de nube tengan que subir precios para sostener sus márgenes netos, me pregunto si hay algo más que se les esté escapando y que haga necesario un proyecto así.

    • Principalmente por precio y disponibilidad.
      Primero, los inversionistas de nubes públicas esperan cierta estructura de márgenes, así que es difícil competir con los márgenes de Lambda o Fluidstack. Segundo, las grandes nubes también están algo en desventaja en networking para entrenar modelos de lenguaje grandes. Según entiendo, solo Azure tiene InfiniBand; Oracle tiene 3200 Gbps, pero no es InfiniBand, y creo que AWS es similar. No estoy seguro de GCP, pero recuerdo que la velocidad de networking de A100 era de 100 Gbps, no 1600 Gbps. En cambio, Lambda, Fluidstack y CoreWeave tienen InfiniBand. Tercero, Nvidia no asigna a las grandes nubes tanto volumen como ellas quisieran.
    • Las nubes principales también están haciendo esto. Todas las grandes nubes están preparando funciones de solicitudes/reservas de corto plazo. Antes de la IA generativa no era una función muy útil. ¿Con qué frecuencia alguien necesitaba pedir 1000 nodos CPU durante 48 horas en una zona de disponibilidad?
      En segundo lugar, aquí existe el problema fundamental de compartir recursos. Incluso en este proyecto de Evan y AI Grant surge la pregunta: si un equipo tiene dinero para ocupar todo el clúster de forma continua, ¿por qué impedírselo? El problema es cuál es el criterio exacto de uso justo. En redes existen algoritmos de reparto de ancho de banda como la equidad TCP, pero no encajan bien con trabajos de este tipo, que son en bloques.
      En los próximos meses, AWS y otros probablemente intenten lanzar servicios de cola para asignar temporalmente bloques de cómputo, y es probable que vengan con pago por adelantado y costos altos. Incluso podrían ser más caros que las tarifas on-demand.
    • AWS y Azure preferirían cortarse el cuello antes que crear una forma para que los clientes agrupen instancias y ahorren costos.
      Ellos hacen ese pooling directamente y no quieren ceder la relación con el cliente ni las ganancias a un intermediario o al propio cliente.
  • Como alguien que ha operado infraestructura en varios colocations de CA, si es posible, conviene ponerla en otro lugar. Los costos de electricidad en California y otros costos de infraestructura son mucho más altos que en AZ o NV.

    • Viendo la electricidad barata y la ventaja del tipo de cambio CAD-USD, Montreal parece una buena opción.
    • En el costo de cómputo con GPU, la electricidad parece ser una proporción muy pequeña.
  • Vi la frase “ningún proveedor de nube del mundo te dará 100 mil dólares de cómputo por solo unas semanas”; nunca he comprado cómputo muy grande, pero pensaba que ese era el punto central de la nube.

  • Me da curiosidad en qué se diferencia de https://lambdalabs.com/

    • Nosotros operamos cómputo de escala media con margen cero. No se trata de venderle a Fortune 500, sino de permitir que un estudiante de posgrado pueda usar un presupuesto de investigación de 50.000 dólares.
      Hoy es bastante fácil conseguir algunas A100/H100, y Lambda también es excelente para ese uso. Pero conseguir 24 o más a un precio razonable, alrededor de 2 dólares por hora, es muy difícil. Incluso si solo quieres correr un entrenamiento de 8 horas en H100, muchas veces te exigen un compromiso de más de 6 meses.
      Que los intermediarios de GPU prefieran reservas a largo plazo tiene sentido como decisión de negocio, y si estuviéramos en su lugar probablemente haríamos lo mismo. Pero nuestro objetivo es distinto. Se trata de armar a los rebeldes. Queremos que alguien que no sea BigCorp también pueda entrenar modelos.
    • El precio es muy parecido, pero el modelo parece bastante distinto. La diferencia importante puede estar en los casos en que se corren entrenamientos cortos con frecuencia en varias GPU. Puede que Lambdalabs no pueda darte 256 instancias ahora mismo.
      El enfoque del post original se parece más a comprar el derecho de poner trabajos en la cola de un clúster de 512 GPU, así que un trabajo que necesite 256 GPU no sería un problema. Eso sí, podrías tener que esperar detrás de alguien que esté corriendo un trabajo con 512 GPU.
      No sé cuál es la capacidad real de Lambdalabs. Me da curiosidad si alguien sabe qué tan fácil es levantar más de 2 o 3 instancias ahí.
    • Normalmente, si no te comprometes con instancias reservadas a largo plazo, solo puedes obtener unas pocas H100 a la vez.
    • No hay una forma práctica de conseguir bloques grandes sin compromiso. Si mal no recuerdo, el compromiso mínimo de H100 era de 64 GPU por 3 años, unos 3 millones de dólares.
    • A 2 dólares por hora por H100 parece más flexible, pero nunca he conseguido 10.000 GPU-horas en un servicio así. Tal vez ese sea el cuello de botella.
  • Personalmente me interesa mucho la IA y he estado involucrado en esto durante años, pero nunca había visto una escasez de GPU como la actual. Para quienes quieran experimentar con aprendizaje automático como hobby, recomiendo mucho vast.ai.

    • Como nubes adicionales, para H100 y A100 están Lambda, Fluidstack, RunPod, CoreWeave, Crusoe, Oblivus y Latitude.
      Para GPU que no son A100/H100, están vast, TensorDock y también RunPod.
    • Depende de cómo definas la categoría de hobby, pero para ejecutar una T4 durante unos minutos mientras aprendes herramientas y conceptos, modal.com me pareció bastante bueno.
      Actualmente revenden AWS y GCP, y también tienen A100, pero por ahora una T4 es suficiente.
    • vast.ai es más bien un marketplace estilo gig economy para GPU. Acabo de usar mi primera máquina y funcionó bien; tenía 512 GB de RAM, 256 CPU AMD y una GPU A100, y usé unos 4 minutos por 0,05 dólares. Incluso ese monto me lo dieron gratis.
  • Entiendo que AWS/GCP/Azure tienen overhead, y también por qué muchas empresas eligen bare metal para operación. Personalmente creo que rara vez vale la pena el tiempo y el esfuerzo, pero acepto que a gran escala el ahorro puede ser considerable.
    Pero si incluso en entrenamiento de IA la nube pública no es competitiva para demanda en ráfagas, entonces sus márgenes son mucho más altos de lo esperado. Me pregunto contra qué se compara el ahorro de 10 a 20 veces del post original. ¿Contra AWS?

    • La p5.48xlarge de AWS cuesta 98,32 dólares por hora por 8 H100, así que son 12,29 dólares por hora por cada H100. Aproximadamente 6 veces más caro.
  • Como alguien a quien le gusta SF, me da curiosidad si hay algo interesante sobre el nombre. También me pregunto si el hardware estará físicamente en SF, y si tienen planes de organizar meetups o reunir a clientes para que interactúen.
    Todavía no hemos desaparecido como la mariposa Xerces blue; seguimos existiendo.
    https://en.wikipedia.org/wiki/Xerces_blue

    • No planeamos poner el hardware en SF. No es precisamente el espacio de data center más barato.
      Pero creo que muchos de los clientes estarán por aquí. SF probablemente sigue siendo el mejor lugar para hacer una startup. Hay muchísima gente resolviendo problemas técnicos difíciles. En todos los lugares donde viví en SF había otra startup en el piso de arriba o de abajo.
      Organizar eventos presenciales también es una buena idea.
  • Me gusta la idea de un activo comunitario. ¿Podría ser el comienzo de una cooperativa de GPU?

    • Para tarjetas de consumo, eso ya existe en cierta forma. Con vast.AI puedes ganar dinero con tu propia GPU.
      https://cloud.vast.ai/host/setup
    • No conozco para nada la infraestructura interna de Twitter, pero viendo la caída de ingresos publicitarios, la menor participación de usuarios y la llegada de Threads, me pregunto si Twitter podría usar parte de su infraestructura para apoyar startups de este tipo.
      Espacio en racks, VM, contenedores, conectividad, lo que sea. Básicamente, Twitter estaría involucionando hasta convertirse en un proveedor de colocation de fines de los 90.
      Para quienes no se dieron cuenta: es broma.
  • Me da curiosidad cómo consiguieron el dinero para comprar 512 H100.

    • Como dice claramente la primera frase del artículo, son inversionistas VC que hacen esto para las startups en las que acaban de invertir, y también están buscando otros participantes.