Autor: Jeff Amico
Compilado por: Deep Wave TechFlow
introducción
Folding@home logró un hito importante durante la pandemia de COVID-19. El proyecto de investigación recibió 2,4 exaFLOPS de potencia informática, entregados por 2 millones de dispositivos voluntarios en todo el mundo. Esto representó quince veces la potencia de procesamiento de las supercomputadoras más grandes del mundo en ese momento, lo que permitió a los científicos simular la dinámica de la proteína COVID a escala. Su trabajo avanzó en nuestra comprensión del virus y su patogénesis, especialmente al principio de la epidemia.
Distribución global de usuarios de Folding@home, 2021
Folding@home se basa en una larga historia de informática voluntaria, un proyecto que reúne recursos informáticos para resolver problemas a gran escala. La idea ganó amplia atención en la década de 1990 con SETI@home, un proyecto que reunió a más de cinco millones de ordenadores voluntarios en la búsqueda de vida extraterrestre. Desde entonces, la idea se ha aplicado a diversos campos, incluidos la astrofísica, la biología molecular, las matemáticas, la criptografía y los juegos. En cada caso, la fuerza colectiva mejoró las capacidades de los proyectos individuales mucho más allá de lo que podrían lograr individualmente. Esto impulsa el progreso y permite que la investigación se lleve a cabo de una manera más abierta y colaborativa.
Mucha gente se pregunta si podemos aplicar este modelo de crowdsourcing al aprendizaje profundo. En otras palabras, ¿podemos entrenar una gran red neuronal en las masas? El entrenamiento de modelos de vanguardia es una de las tareas más intensivas desde el punto de vista computacional en la historia de la humanidad. Como ocurre con muchos proyectos @home, los costos actuales están fuera del alcance sólo de los actores más importantes. Esto podría obstaculizar el progreso futuro a medida que dependamos de cada vez menos empresas para encontrar nuevos avances. Esto también concentra el control de nuestros sistemas de IA en manos de unos pocos. No importa cómo se sienta acerca de la tecnología, este es un futuro que vale la pena observar.
La mayoría de los críticos descartan la idea de una formación descentralizada por considerarla incompatible con la tecnología de formación actual. Sin embargo, esta visión está cada vez más obsoleta. Han surgido nuevas tecnologías que reducen la necesidad de comunicación entre nodos, permitiendo un entrenamiento eficiente en dispositivos con mala conectividad de red. Estas tecnologías incluyen DiLoCo, SWARM Parallelism, lo-fi y entrenamiento descentralizado de modelos básicos en entornos heterogéneos. Muchos de ellos son tolerantes a fallos y admiten informática heterogénea. También hay nuevas arquitecturas diseñadas específicamente para redes descentralizadas, incluidas DiPaCo y el modelo experto híbrido descentralizado.
También vemos que varias primitivas criptográficas comienzan a madurar, lo que permite a las redes coordinar recursos a escala global. Estas tecnologías admiten escenarios de aplicación como moneda digital, pagos transfronterizos y mercados de predicción. A diferencia de proyectos voluntarios anteriores, estas redes son capaces de agregar cantidades asombrosas de potencia informática, a menudo de órdenes de magnitud mayores que los mayores grupos de formación en la nube previstos actualmente.
Juntos, estos elementos forman un nuevo modelo de paradigma de formación. Este paradigma aprovecha al máximo los recursos informáticos del mundo, incluida la gran cantidad de dispositivos de vanguardia que se pueden utilizar si se conectan entre sí. Esto reducirá el coste de la mayoría de las cargas de trabajo de formación mediante la introducción de nuevos mecanismos de competencia. También puede desbloquear nuevos formatos de capacitación, haciendo que el desarrollo de modelos sea colaborativo y modular en lugar de aislado y monolítico. Los modelos pueden aprender en tiempo real ingiriendo cálculos y datos del público. Los individuos pueden poseer partes de los modelos que crean. Los investigadores también pueden volver a compartir públicamente hallazgos novedosos sin tener que monetizar sus hallazgos para cubrir altos presupuestos informáticos.
Este informe examina el estado actual de la formación de modelos grandes y los costos asociados. Revisa esfuerzos previos de computación distribuida, desde SETI hasta Folding y BOINC, como inspiración para explorar caminos alternativos. El informe analiza los desafíos históricos de la capacitación descentralizada y analiza los avances recientes que pueden ayudar a superar estos desafíos. Finalmente, resume las oportunidades y desafíos futuros.
Estado actual de la formación de modelos de vanguardia
El costo de entrenar modelos de vanguardia se ha vuelto prohibitivo para los actores que no son grandes. Esta tendencia no es nueva, pero la situación se está volviendo más grave a medida que los laboratorios de vanguardia continúan desafiando los supuestos de escala. Se informa que OpenAI está gastando más de 3 mil millones de dólares en capacitación este año. Anthropic predice que para 2025 comenzaremos a entrenar modelos por valor de 10.000 millones de dólares, y los 100.000 millones de dólares no están muy lejos.
Esta tendencia conduce a la concentración de la industria, ya que sólo unas pocas empresas pueden permitirse el lujo de participar. Esto plantea una cuestión política central para el futuro: ¿podemos aceptar una situación en la que todos los principales sistemas de IA estén controlados por una o dos empresas? Esto también limita el ritmo de progreso, lo cual es evidente en la comunidad investigadora, ya que los laboratorios más pequeños no pueden permitirse los recursos informáticos necesarios para escalar los experimentos. Los líderes de la industria lo han mencionado muchas veces:
Joe Spisak de Meta: Para comprender realmente las capacidades de una arquitectura [modelo], hay que explorarla a escala, y creo que eso es lo que falta en el ecosistema actual. Si nos fijamos en el mundo académico, hay muchas personas brillantes en el mundo académico, pero carecen de acceso a recursos informáticos, y eso se convierte en un problema porque tienen grandes ideas pero realmente no tienen las herramientas para implementarlas al nivel requerido. forma.
Max Ryabinin, Together: La necesidad de hardware costoso ejerce mucha presión sobre la comunidad investigadora. La mayoría de los investigadores no pueden participar en el desarrollo de redes neuronales a gran escala porque les resultaría prohibitivo realizar los experimentos necesarios. Si continuamos aumentando el tamaño del modelo ampliándolo, eventualmente podremos competir.
Francois Chollet, Google: Sabemos que los grandes modelos de lenguaje (LLM) aún no han habilitado la inteligencia artificial general (AGI). Mientras tanto, el progreso hacia el AGI se ha estancado. Las limitaciones que enfrentamos con los grandes modelos de lenguaje son exactamente las mismas limitaciones que enfrentamos hace cinco años. Necesitamos nuevas ideas y avances. Creo que el próximo avance probablemente provenga de equipos externos mientras todos los grandes laboratorios están ocupados entrenando modelos de lenguaje más grandes. Algunos se muestran escépticos ante estas preocupaciones, argumentando que las mejoras de hardware y los gastos de capital en computación en la nube resolverán el problema. Pero esto parece poco realista. Por un lado, para finales de esta década, las nuevas generaciones de chips Nvidia tendrán significativamente más FLOP, quizás 10 veces más que los H100 actuales. Esto reducirá el precio por FLOP entre un 80 y un 90 %. Asimismo, se espera que la oferta total de FLOP aumente aproximadamente 20 veces para finales de la década, junto con mejoras en la red y la infraestructura relacionada. Todo esto aumentará la eficiencia de la capacitación por dólar.
Fuente: Modelo de TCO de la nube de IA de semianálisis
Al mismo tiempo, la demanda total de FLOP también aumentará significativamente a medida que los laboratorios busquen una mayor escala. Si se mantienen las tendencias de diez años en el cálculo del entrenamiento, se espera que los FLOP para el entrenamiento de vanguardia alcancen ~2e29 para 2030. La capacitación a esta escala requeriría aproximadamente 20 millones de GPU equivalentes a H100, según los tiempos de ejecución y la utilización actuales de la capacitación. Suponiendo que todavía haya varios laboratorios de vanguardia en esta área, el número total de FLOPS necesarios será varias veces mayor, ya que el suministro total se dividirá entre ellos. EpochAI predice que para entonces necesitaremos alrededor de 100 millones de GPU equivalentes a H100, aproximadamente 50 veces los envíos de 2024. SemiAnalysis hizo predicciones similares, argumentando que la demanda de capacitación de vanguardia y la oferta de GPU crecerán aproximadamente a la par durante este período.
Las condiciones de capacidad pueden volverse más estresantes por varias razones. Por ejemplo, este suele ser el caso si los cuellos de botella de fabricación retrasan los plazos de entrega estimados de envío. O si no logramos producir suficiente energía para alimentar los centros de datos. O si tenemos problemas para conectar estas fuentes de energía a la red. O si un mayor escrutinio del gasto de capital conduce en última instancia a una reducción del tamaño de la industria, entre otros factores. En el mejor de los casos, nuestros enfoques actuales permiten que sólo unas pocas empresas sigan impulsando la investigación, y eso puede no ser suficiente.
Es evidente que necesitamos un nuevo enfoque. En lugar de expandir constantemente los centros de datos, los gastos de capital y el consumo de energía en busca del próximo avance, este enfoque utiliza eficientemente nuestra infraestructura existente con la flexibilidad de escalar a medida que fluctúa la demanda. Esto permitirá más posibilidades experimentales en la investigación, ya que ya no será necesario que las sesiones de capacitación garanticen el retorno de la inversión para presupuestos informáticos multimillonarios. Una vez libres de esta limitación, podremos ir más allá del paradigma actual del modelo de lenguaje grande (LLM), como muchos creen que es necesario para lograr la inteligencia artificial general (AGI). Para comprender cómo sería esta alternativa, podemos inspirarnos en prácticas pasadas de informática distribuida.
Computación colectiva: una breve historia
SETI@home popularizó el concepto en 1999, permitiendo a millones de participantes analizar señales de radio en busca de inteligencia extraterrestre. SETI recopila datos electromagnéticos del telescopio de Arecibo, los divide en lotes y los envía a los usuarios a través de Internet. Los usuarios analizan datos en sus actividades diarias y envían resultados. No se requiere comunicación entre usuarios y los lotes se pueden revisar de forma independiente, lo que permite un alto grado de procesamiento paralelo. En su apogeo, SETI@home tenía más de 5 millones de participantes y más potencia de procesamiento que las supercomputadoras más grandes de la época. Finalmente cerró en marzo de 2020, pero su éxito inspiró el movimiento informático voluntario que siguió.
Folding@home continuó esta idea en el año 2000, utilizando computación de vanguardia para simular el plegamiento de proteínas en enfermedades como el Alzheimer, el cáncer y la enfermedad de Parkinson. Los voluntarios pasan su tiempo libre en sus PC realizando simulaciones de proteínas, ayudando a los investigadores a estudiar cómo las proteínas se pliegan mal y provocan enfermedades. En varios momentos de su historia, su potencia informática superó la de las supercomputadoras más grandes de la época, incluso a finales de la década de 2000 y durante la COVID, cuando se convirtió en el primer proyecto de computación distribuida en superar un exaFLOPS. Desde sus inicios, los investigadores de Folding han publicado más de 200 artículos revisados por pares, cada uno de los cuales se basa en la potencia informática de los voluntarios.
La Infraestructura Abierta para Computación en Red de Berkeley (BOINC) popularizó esta idea en 2002, proporcionando una plataforma informática colaborativa para una variedad de proyectos de investigación. Apoya varios proyectos como SETI@home y Folding@home, así como nuevos proyectos en áreas como astrofísica, biología molecular, matemáticas y criptografía. Para 2024, BOINC enumera 30 proyectos en curso y casi 1.000 artículos científicos publicados, producidos utilizando su red informática.
Fuera de la investigación científica, la informática voluntaria se utiliza para entrenar motores de juegos como Go (LeelaZero, KataGo) y ajedrez (Stockfish, LeelaChessZero). LeelaZero fue entrenado de 2017 a 2021 a través de computación voluntaria, lo que le permitió jugar más de 10 millones de juegos contra sí mismo, creando uno de los motores Go más potentes disponibles en la actualidad. Del mismo modo, Stockfish ha recibido formación continua a través de una red de voluntarios desde 2013, lo que lo convierte en uno de los motores de ajedrez más populares y potentes.
Sobre los desafíos del aprendizaje profundo
Pero, ¿podemos aplicar este modelo al aprendizaje profundo? ¿Podríamos conectar en red dispositivos periféricos en todo el mundo para crear un grupo de capacitación pública de bajo costo? El hardware de consumo, desde las computadoras portátiles Apple hasta las tarjetas gráficas para juegos Nvidia, está mejorando en el aprendizaje profundo. En muchos casos, el rendimiento de estos dispositivos supera el rendimiento por dólar de las tarjetas gráficas de los centros de datos.
Sin embargo, para utilizar eficazmente estos recursos en un entorno distribuido, debemos superar varios desafíos.
En primer lugar, las técnicas actuales de entrenamiento distribuido suponen una comunicación frecuente entre nodos.
Los modelos actuales de última generación han crecido tanto que la capacitación debe dividirse entre miles de GPU. Esto se logra mediante una variedad de técnicas de paralelización, generalmente dividiendo el modelo, el conjunto de datos o ambos al mismo tiempo entre las GPU disponibles. Por lo general, esto requiere una red de gran ancho de banda y baja latencia; de lo contrario, los nodos permanecerán inactivos, esperando que lleguen los datos.
Por ejemplo, el paralelismo de datos distribuidos (DDP) distribuye un conjunto de datos entre GPU, donde cada GPU entrena un modelo completo en su pieza de datos específica y luego comparte sus actualizaciones de gradiente para generar nuevos pesos de modelo en cada paso. Esto requiere una sobrecarga de comunicación relativamente limitada, ya que los nodos solo comparten actualizaciones de gradiente después de cada retropropagación y las operaciones de comunicación colectiva pueden superponerse parcialmente con el cálculo. Sin embargo, este enfoque solo funciona para modelos más pequeños porque requiere que cada GPU almacene los pesos, las activaciones y el estado del optimizador de todo el modelo en la memoria. Por ejemplo, GPT-4 requiere más de 10 TB de memoria durante el entrenamiento, mientras que un solo H100 solo tiene 80 GB.
Para abordar este problema, también utilizamos varias técnicas para dividir el modelo y distribuirlo entre GPU. Por ejemplo, el paralelismo tensorial divide los pesos individuales dentro de una sola capa, lo que permite que cada GPU realice las operaciones necesarias y pase la salida a las otras GPU. Esto reduce los requisitos de memoria de cada GPU, pero requiere una comunicación constante entre ellas, por lo que requiere una conexión de gran ancho de banda y baja latencia para lograr eficiencia.
El paralelismo de canalización distribuye las capas de un modelo entre GPU, donde cada GPU realiza su trabajo y comparte actualizaciones con la siguiente GPU en proceso. Aunque esto requiere menos comunicación que el paralelismo tensorial, pueden ocurrir "burbujas" (por ejemplo, tiempos de inactividad) cuando una GPU en la parte posterior de la tubería espera información de una GPU en el frente para comenzar su trabajo.
Para abordar estos desafíos, se han desarrollado varias tecnologías. Por ejemplo, ZeRO (Zero Redundancy Optimizer) es una técnica de optimización de la memoria que reduce el uso de la memoria al aumentar la sobrecarga de comunicación, lo que permite entrenar modelos más grandes en dispositivos específicos. ZeRO reduce los requisitos de memoria al dividir los parámetros del modelo, los gradientes y el estado del optimizador entre las GPU, pero depende de una comunicación extensa para que el dispositivo pueda obtener los datos divididos. Es el enfoque subyacente de tecnologías populares como Fully Sharded Data Parallel (FSDP) y DeepSpeed.
Estas técnicas suelen combinarse en el entrenamiento de modelos grandes para maximizar la utilización de recursos, lo que se conoce como paralelismo 3D. En esta configuración, el paralelismo tensorial se utiliza a menudo para distribuir pesos entre GPU dentro de un único servidor debido a la amplia comunicación requerida entre cada capa dividida. Luego, el paralelismo de canalización se utiliza para distribuir niveles entre diferentes servidores (pero dentro de la misma isla en el centro de datos) porque requiere menos comunicación. A continuación, se utiliza el paralelismo de datos o el paralelismo de datos totalmente fragmentados (FSDP) para dividir el conjunto de datos en diferentes islas de servidores, ya que puede acomodar conjuntos de datos más largos al compartir actualizaciones de forma asincrónica y/o comprimir los gradientes de latencia de la red. Meta utiliza este enfoque combinado para entrenar Llama 3.1, como se muestra en el siguiente diagrama.
Estos enfoques plantean desafíos centrales para las redes de capacitación descentralizadas que dependen de dispositivos conectados a través de Internet (más lento y más volátil) para el consumidor. En este entorno, los costos de comunicación pueden superar rápidamente los beneficios de la informática de punta porque los dispositivos a menudo están inactivos, esperando que lleguen los datos. Como ejemplo simple, el entrenamiento paralelo de datos distribuidos de un modelo de media precisión con mil millones de parámetros requiere que cada GPU comparta 2 GB de datos en cada paso de optimización. Tomando como ejemplo un ancho de banda de Internet típico (por ejemplo, 1 gigabit por segundo), y suponiendo que el cálculo y la comunicación no se superponen, la transmisión de actualizaciones de gradiente demora al menos 16 segundos, lo que resulta en una inactividad significativa. Por supuesto, técnicas como el paralelismo tensorial (que requieren más comunicación) funcionarán peor.
En segundo lugar, las técnicas de formación actuales carecen de tolerancia a fallos. Como cualquier sistema distribuido, los grupos de formación se vuelven más propensos a fallar a medida que aumentan de tamaño. Sin embargo, este problema se agrava en el entrenamiento porque nuestra tecnología actual es principalmente sincrónica, lo que significa que las GPU deben trabajar juntas para completar el entrenamiento del modelo. El fallo de una sola GPU entre miles de GPU puede detener todo el proceso de entrenamiento, obligando a otras GPU a comenzar a entrenar desde cero. En algunos casos, una GPU no falla por completo, sino que se vuelve lenta por diversos motivos, lo que ralentiza miles de otras GPU en el clúster. Dado el tamaño de los clusters actuales, esto podría significar entre decenas y cientos de millones de dólares en costos adicionales.
Meta explicó estos problemas durante su entrenamiento con Llama, en el que experimentaron más de 400 interrupciones inesperadas, con un promedio de ocho interrupciones por día. Estas interrupciones se atribuyen principalmente a problemas de hardware, como fallas de GPU o hardware del host. Esto da como resultado que su utilización de GPU sea sólo del 38-43%. OpenAI funciona aún peor durante el entrenamiento en GPT-4, con solo un 32-36%, también debido a frecuentes fallos durante el entrenamiento.
En otras palabras, los laboratorios de vanguardia todavía luchan por lograr una utilización del 40 % cuando entrenan en un entorno totalmente optimizado que incluye hardware, redes, energía y sistemas de refrigeración homogéneos y de última generación. Esto se debe principalmente a fallas de hardware y problemas de red, que se exacerban en entornos de capacitación perimetrales porque los dispositivos tienen desequilibrios en la potencia de procesamiento, el ancho de banda, la latencia y la confiabilidad. Sin mencionar que las redes descentralizadas son vulnerables a actores maliciosos que pueden intentar socavar el proyecto general o engañar a cargas de trabajo específicas por diversas razones. Incluso SETI@home, una red puramente voluntaria, ha sufrido trampas por parte de diferentes participantes.
En tercer lugar, el entrenamiento de modelos de vanguardia requiere potencia informática a gran escala. Si bien proyectos como SETI y Folding han alcanzado una escala impresionante, palidecen en comparación con la potencia informática necesaria para la formación de vanguardia actual. GPT-4 se entrenó en un grupo de 20.000 A100 y logró un rendimiento máximo de 6,28 ExaFLOPS con la mitad de precisión. Eso es tres veces más potencia informática que la que tenía Folding@home en su apogeo. Llama 405b se entrenó utilizando 16.000 H100 y logró un rendimiento máximo de 15,8 ExaFLOPS, 7 veces el pico de plegado. Esta brecha solo se ampliará aún más a medida que varios laboratorios planeen construir clústeres de más de 100.000 H100, cada uno con la asombrosa cantidad de 99 ExaFLOPS de potencia informática.
Esto tiene sentido ya que el proyecto @home está impulsado por voluntarios. Los contribuyentes donan su memoria y ciclos de procesador y asumen los costos asociados. Esto naturalmente limita su tamaño en relación con los proyectos comerciales.
desarrollos recientes
Si bien estos problemas han plagado históricamente los esfuerzos de capacitación descentralizada, ya no parecen insuperables. Han surgido nuevas tecnologías de formación que reducen la necesidad de comunicación entre nodos, permitiendo una formación eficiente en dispositivos conectados a Internet. Muchas de estas tecnologías se originan en grandes laboratorios que desean agregar una mayor escala al entrenamiento de modelos y, por lo tanto, requieren tecnología de comunicación eficiente en todos los centros de datos. También estamos viendo avances en métodos de capacitación tolerantes a fallas y sistemas de incentivos criptográficos que pueden respaldar la capacitación a mayor escala en entornos de borde.
Tecnología de comunicación eficiente
DiLoCo es un esfuerzo reciente de Google que reduce la sobrecarga de comunicación al realizar optimizaciones locales antes de pasar el estado del modelo actualizado entre dispositivos. Su enfoque (basado en investigaciones anteriores sobre aprendizaje federado) mostró resultados comparables a los del entrenamiento sincrónico tradicional, al tiempo que redujo la comunicación entre nodos en un factor de 500. Desde entonces, otros investigadores han replicado el enfoque y lo han ampliado para entrenar modelos más grandes (más de mil millones de parámetros). También se extiende al entrenamiento asincrónico, lo que significa que los nodos pueden compartir actualizaciones de gradiente en diferentes momentos en lugar de compartirlas todas a la vez. Esto se adapta mejor al hardware de vanguardia con diferentes capacidades de procesamiento y velocidades de red.
Otros enfoques paralelos de datos, como lo-fi y DisTrO, tienen como objetivo reducir aún más los costos de comunicación. Lo-fi propone un enfoque de ajuste totalmente local, lo que significa que los nodos se entrenan de forma independiente y solo se pasan los pesos al final. Este enfoque logra un rendimiento comparable al de las líneas de base y, al mismo tiempo, elimina por completo la sobrecarga de comunicación al ajustar los modelos de lenguaje con más de mil millones de parámetros. En un informe preliminar, DisTrO afirma emplear un nuevo optimizador distribuido que creen que puede reducir los requisitos de comunicación entre cuatro y cinco órdenes de magnitud, aunque este enfoque aún no se ha confirmado.
También han surgido nuevos métodos de paralelismo de modelos que permiten alcanzar una mayor escala. DiPaCo (también de Google) divide el modelo en múltiples módulos, cada uno de los cuales contiene diferentes módulos expertos para facilitar la capacitación para tareas específicas. Luego, los datos de entrenamiento se dividen en "rutas", que son secuencias expertas correspondientes a cada muestra de datos. Dado un fragmento, cada trabajador puede entrenar una ruta específica casi de forma independiente, excepto por la comunicación necesaria para compartir módulos, que está a cargo de DiLoCo. Esta arquitectura reduce a más de la mitad el tiempo de entrenamiento de un modelo de mil millones de parámetros.
SWARM Parallelism and Decentralized Training of Base Models in Heterogeneous Environments (DTFMHE) también propone métodos para el paralelismo de modelos para lograr un entrenamiento de modelos grandes en entornos heterogéneos. SWARM descubrió que a medida que aumenta el tamaño del modelo, las limitaciones de comunicación del paralelismo de la tubería disminuyen, lo que permite entrenar de manera eficiente modelos más grandes con un ancho de banda de red menor y una latencia mayor. Para aplicar esta idea en un entorno heterogéneo, utilizan "conexiones de tuberías" temporales entre nodos que se pueden actualizar en tiempo real con cada iteración. Esto permite que el nodo envíe su salida a cualquier par para la siguiente etapa del proceso. Esto significa que si un compañero es más rápido que otros, o si algún participante se desconecta, las salidas se pueden redirigir dinámicamente para garantizar que la capacitación continúe siempre que haya al menos un participante activo en cada fase. Utilizaron este enfoque para entrenar un modelo con más de mil millones de parámetros en GPU heterogéneas de bajo costo con interconexiones lentas (como se muestra en la figura siguiente).
DTFMHE propone de manera similar un algoritmo de programación novedoso, junto con paralelismo de tuberías y paralelismo de datos, para entrenar modelos grandes en dispositivos en tres continentes. Aunque las velocidades de su red son 100 veces más lentas que las del Deepspeed estándar, su enfoque es sólo entre 1,7 y 3,5 veces más lento que el uso del Deepspeed estándar en el centro de datos. Al igual que SWARM, DTFMHE muestra que los costos de comunicación se pueden ocultar de manera efectiva a medida que aumenta el tamaño del modelo, incluso en redes distribuidas geográficamente. Esto nos permite superar las conexiones más débiles entre nodos mediante diversas técnicas, incluido el aumento del tamaño de las capas ocultas y la adición de más capas por etapa de canalización.
tolerancia a fallas
Muchos de los métodos paralelos de datos anteriores son tolerantes a fallas de forma predeterminada porque cada nodo almacena el modelo completo en la memoria. Esta redundancia generalmente significa que los nodos aún pueden funcionar de forma independiente incluso si otros nodos fallan. Esto es importante para la formación descentralizada, ya que los nodos suelen ser poco fiables, heterogéneos e incluso pueden comportarse de forma maliciosa. Sin embargo, como se mencionó anteriormente, los métodos puramente paralelos de datos solo son adecuados para modelos más pequeños, por lo que el tamaño del modelo está limitado por la capacidad de memoria del nodo más pequeño de la red.
Para resolver los problemas anteriores, algunas personas han propuesto técnicas tolerantes a fallas adecuadas para el entrenamiento de modelos paralelos (o híbridos paralelos). SWARM responde a las fallas de los nodos pares priorizando los pares estables con menor latencia y redireccionando tareas en etapas de canalización en caso de una falla. Otros enfoques, como Oobleck, adoptan un enfoque similar al crear múltiples "plantillas de canalización" para proporcionar redundancia en caso de falla parcial del nodo. Aunque probado en centros de datos, el enfoque de Oobleck proporciona sólidas garantías de confiabilidad que se aplican igualmente a entornos descentralizados.
También vimos algunas arquitecturas de modelos nuevos (como la Mezcla Descentralizada de Expertos (DMoE)) para respaldar la capacitación tolerante a fallas en entornos descentralizados. De manera similar a los modelos híbridos expertos tradicionales, DMoE consta de múltiples redes "expertas" independientes distribuidas en un conjunto de nodos trabajadores. DMoE utiliza una tabla hash distribuida para rastrear y consolidar actualizaciones asincrónicas de manera descentralizada. Este mecanismo (también utilizado en SWARM) es muy resistente a las fallas de los nodos, ya que puede excluir a ciertos expertos del cálculo promedio si algunos nodos fallan o no responden a tiempo.
escala
Finalmente, los sistemas de incentivos criptográficos como los empleados por Bitcoin y Ethereum pueden ayudar a alcanzar la escala requerida. Ambas redes colaboran en la computación pagando a los contribuyentes un activo nativo cuyo valor aumenta a medida que crece la adopción. Este diseño incentiva a los primeros contribuyentes ofreciéndoles recompensas generosas, que pueden reducirse gradualmente una vez que la red alcanza un tamaño mínimo viable.
De hecho, este mecanismo presenta varios inconvenientes que es necesario evitar. El principal obstáculo es incentivar demasiado la oferta sin generar la demanda correspondiente. Además, esto podría plantear problemas regulatorios si la red subyacente no está lo suficientemente descentralizada. Sin embargo, cuando se diseñan adecuadamente, los sistemas de incentivos descentralizados pueden alcanzar una escala considerable durante un período prolongado.
Por ejemplo, el consumo anual de electricidad de Bitcoin es de aproximadamente 150 teravatios hora (TWh), que es hasta dos órdenes de magnitud mayor que el consumo de electricidad del mayor grupo de entrenamiento de IA actualmente concebido (100.000 H100 funcionando a plena capacidad durante un año). Como referencia, el GPT-4 de OpenAI se entrenó en 20.000 A100 y el modelo insignia Llama 405B de Meta se entrenó en 16.000 H100. Del mismo modo, en su punto máximo, el consumo de energía de Ethereum fue de aproximadamente 70 TWh, repartidos en millones de GPU. Incluso teniendo en cuenta el rápido crecimiento de los centros de datos de IA en los próximos años, las redes informáticas incentivadas como estas superarán su escala muchas veces.
Por supuesto, no todos los cálculos son fungibles y la capacitación tiene requisitos únicos relacionados con la minería que deben tenerse en cuenta. No obstante, estas redes demuestran la escala que se puede lograr a través de estos mecanismos.
El camino por delante
Al unir estas piezas, podemos ver el comienzo de un nuevo camino a seguir.
Pronto, las nuevas tecnologías de capacitación nos permitirán ir más allá de los límites del centro de datos, ya que ya no será necesario que los dispositivos estén ubicados en el mismo lugar para que sean efectivos. Esto llevará tiempo porque nuestros métodos de capacitación descentralizados actuales todavía son de menor escala, principalmente en el rango de mil millones a 2 mil millones de parámetros, mucho más pequeños que modelos como GPT-4. Se necesitan más avances para aumentar la escala de estos métodos sin sacrificar propiedades clave como la eficiencia de la comunicación y la tolerancia a fallos. O necesitamos nuevas arquitecturas de modelos que sean diferentes de los grandes modelos monolíticos actuales, quizás más pequeñas y más modulares, que se ejecuten en dispositivos periféricos en lugar de en la nube.
En cualquier caso, es razonable esperar mayores avances en esta dirección. Los costos de nuestros métodos actuales son insostenibles, lo que proporciona fuertes incentivos de mercado para la innovación. Ya estamos viendo esta tendencia, con fabricantes como Apple construyendo dispositivos perimetrales más potentes para ejecutar más cargas de trabajo localmente en lugar de depender de la nube. También estamos viendo un creciente apoyo a las soluciones de código abierto, incluso dentro de empresas como Meta, para promover una investigación y un desarrollo más descentralizados. Estas tendencias sólo se acelerarán con el tiempo.
Al mismo tiempo, también necesitamos una nueva infraestructura de red para conectar dispositivos periféricos y poder utilizarlos de esta manera. Estos dispositivos incluyen computadoras portátiles, computadoras de escritorio para juegos y, eventualmente, tal vez incluso teléfonos móviles con tarjetas gráficas de alto rendimiento y grandes cantidades de memoria. Esto nos permitirá construir un "clúster global" de potencia informática siempre activa y de bajo costo que pueda procesar tareas de capacitación en paralelo. También es un problema desafiante que requiere avances en múltiples áreas.
Necesitamos mejores técnicas de programación para la formación en entornos heterogéneos. Actualmente no hay forma de paralelizar automáticamente un modelo para su optimización, especialmente cuando los dispositivos se pueden desconectar o conectar en cualquier momento. Este es el siguiente paso fundamental para optimizar la capacitación y al mismo tiempo conservar las ventajas de escala de las redes basadas en el borde.
También tenemos que lidiar con las complejidades generales de las redes descentralizadas. Para maximizar la escala, las redes deben construirse como protocolos abiertos: un conjunto de estándares e instrucciones que dictan las interacciones entre los participantes, muy parecido a TCP/IP pero para computación de aprendizaje automático. Esto permitirá que cualquier dispositivo que cumpla con especificaciones específicas se conecte a la red, independientemente del propietario y la ubicación. También garantiza que la red permanezca neutral, lo que permite a los usuarios entrenar los modelos que prefieran.
Si bien esto maximiza la escala, también requiere un mecanismo para verificar la exactitud de todas las tareas de capacitación sin depender de una sola entidad. Esto es crucial porque existen incentivos inherentes para hacer trampa; por ejemplo, afirmar haber completado una tarea de capacitación para recibir un pago, pero en realidad no lo hace. Esto es particularmente desafiante dado que diferentes dispositivos a menudo realizan operaciones de aprendizaje automático de manera diferente, lo que dificulta verificar la corrección utilizando técnicas de replicación estándar. Resolver correctamente este problema requiere una investigación profunda en criptografía y otras disciplinas.
Afortunadamente, seguimos viendo avances en todos estos frentes. Estos desafíos ya no parecen insuperables en comparación con años anteriores. También palidecen en comparación con las oportunidades. Google lo resume mejor en su artículo DiPaCo, señalando los mecanismos de retroalimentación negativa que la capacitación descentralizada tiene el potencial de romper:
Los avances en la capacitación distribuida de modelos de aprendizaje automático pueden facilitar la construcción simplificada de infraestructura, lo que en última instancia conducirá a una mayor disponibilidad de recursos informáticos. Actualmente, la infraestructura está diseñada en torno a métodos estándar para entrenar grandes modelos monolíticos, y los modelos de aprendizaje automático están diseñados para aprovechar la infraestructura y los métodos de capacitación actuales. Este circuito de retroalimentación puede atrapar a la comunidad en un mínimo local engañoso, donde los recursos computacionales están más limitados de lo que realmente se necesitan.
Quizás lo más emocionante sea el creciente entusiasmo entre la comunidad investigadora por abordar estas cuestiones. Nuestro equipo en Gensyn está construyendo la infraestructura de red descrita anteriormente. Equipos como Hivemind y BigScience aplican muchas de estas técnicas en la práctica. Proyectos como Petals, sahajBERT y Bloom demuestran las capacidades de estas tecnologías, así como el creciente interés en el aprendizaje automático basado en la comunidad. Muchos otros también están impulsando la investigación, con el objetivo de construir un ecosistema de formación modelo más abierto y colaborativo. Si está interesado en este trabajo, por favor contáctenos para involucrarse.