La Perspectiva de una Pista Prometedora: Mercado de Potencia Computacional Descentralizada (Parte 1)

Avanzado1/4/2024, 6:39:54 PM
Este artículo explora el potencial y los desafíos del mercado de potencia computacional descentralizada, destacando las dificultades que enfrenta e introduciendo dos proyectos típicos - Gensyn y Together.AI.

Prefacio

Desde el nacimiento de GPT-3, la IA generativa ha marcado un punto de inflexión explosivo en el campo de la inteligencia artificial con su asombroso rendimiento y amplios escenarios de aplicación. Esto ha llevado a que los gigantes tecnológicos se abalancen hacia la pista de la IA. Sin embargo, esta oleada ha traído consigo numerosos problemas. Las operaciones de entrenamiento e inferencia de los grandes modelos de lenguaje (LLM) requieren mucha potencia computacional. Con la actualización iterativa de estos modelos, la demanda y el costo de la potencia computacional están aumentando exponencialmente. Tomando como ejemplos a GPT-2 y GPT-3, la diferencia en el número de parámetros entre GPT-2 y GPT-3 es de 1166 veces (GPT-2 tiene 150 millones de parámetros mientras que GPT-3 tiene 175 mil millones). El costo de una sola sesión de entrenamiento de GPT-3 se calculó en base a los modelos de precios de las nubes públicas de GPU en ese momento, alcanzando hasta $12 millones. Esto fue 200 veces más que GPT-2. En el uso práctico, cada consulta de usuario requiere cálculos de inferencia. Basándose en los 13 millones de usuarios independientes a principios de este año, la demanda correspondiente de chips sería de más de 30,000 GPUs A100. El costo inicial de inversión sería entonces asombroso, de $800 millones, con un costo estimado diario de inferencia del modelo de $700,000.

La potencia computacional insuficiente y los altos costos se han convertido en desafíos serios que enfrenta toda la industria de la IA. Sorprendentemente, un problema similar parece estar enfrentando la industria de la blockchain. Por un lado, la cuarta reducción a la mitad de Bitcoin y la aprobación de ETF son inminentes. A medida que los precios futuros aumentan, la demanda de los mineros de hardware informático aumentará inevitablemente de manera significativa. Por otro lado, la tecnología de Prueba de Conocimiento Cero (ZKP) está en auge, y Vitalik ha enfatizado múltiples veces que el impacto de ZK en el campo de la blockchain en los próximos diez años será tan importante como la blockchain misma. Si bien esta tecnología promete para el futuro de la industria de la blockchain, ZK también consume mucha potencia computacional y tiempo en la generación de pruebas debido a su proceso de cálculo complejo, al igual que la IA.

En el futuro previsible, la escasez de potencia computacional se volverá inevitable. Entonces, ¿será el mercado descentralizado de potencia computacional una empresa comercial rentable?

Definición del mercado de potencia computacional descentralizada

El mercado descentralizado de potencia informática es en realidad equivalente a la pista descentralizada de computación en la nube, pero personalmente creo que este término es más apropiado para describir los nuevos proyectos que se discutirán más adelante. El mercado descentralizado de potencia informática debería considerarse un subconjunto de DePIN (Redes de Infraestructura Física Descentralizada), cuyo objetivo es crear un mercado abierto de potencia informática, donde cualquier persona con recursos de potencia informática inactivos puede ofrecer sus recursos incentivados por tokens, sirviendo principalmente a clientes B2B y comunidades de desarrolladores. En términos de proyectos más familiares, redes como Render Network, que se basa en soluciones descentralizadas de renderizado de GPU, y Akash Network, un mercado distribuido de igual a igual para la computación en la nube, pertenecen a esta categoría.

El siguiente texto comenzará con los conceptos básicos y luego discutirá tres mercados emergentes en este ámbito: el mercado de potencia informática AGI, el mercado de potencia informática de Bitcoin y el mercado de potencia informática AGI en el mercado de aceleración de hardware ZK. Estos dos últimos se discutirán en "La perspectiva de una pista prometedora: Mercado de potencia informática descentralizada (Parte 2)".

Resumen de la Potencia computacional

El concepto de potencia computacional se puede remontar a la invención de la computadora. La computadora original utilizaba dispositivos mecánicos para completar tareas de computación, y la potencia computacional se refería a la capacidad de cálculo del dispositivo mecánico. Con el desarrollo de la tecnología informática, el concepto de potencia computacional también ha evolucionado. La potencia computacional de hoy en día suele referirse al trabajo colaborativo del hardware informático (CPU, GPU, FPGA, etc.) y el software (sistemas operativos, compiladores, aplicaciones, etc.).

Definición

La potencia computacional se refiere a la cantidad de datos que una computadora u otro dispositivo informático puede procesar en un cierto período de tiempo o el número de tareas informáticas que puede completar. La potencia computacional generalmente se utiliza para describir el rendimiento de una computadora u otros dispositivos informáticos. Es una métrica importante de las capacidades de procesamiento de un dispositivo informático.

Métricas

La potencia computacional se puede medir de diversas formas, como la velocidad de cálculo, el consumo de energía, la precisión del cálculo y el paralelismo. En el campo de la informática, las métricas de potencia computacional comúnmente utilizadas incluyen FLOPS (operaciones de punto flotante por segundo), IPS (instrucciones por segundo), TPS (transacciones por segundo), etc.

FLOPS mide la capacidad de procesamiento del ordenador para realizar operaciones en punto flotante (operaciones matemáticas con puntos decimales que requieren consideración de problemas de precisión y errores de redondeo). Mide cuántas operaciones en punto flotante puede completar un ordenador por segundo. FLOPS es una medida de las capacidades de computación de alto rendimiento de un ordenador y se utiliza comúnmente para medir las capacidades de computación de superordenadores, servidores de computación de alto rendimiento, unidades de procesamiento gráfico (GPU), etc. Por ejemplo, si un sistema informático tiene 1 TFLOPS (un billón de operaciones en punto flotante por segundo), significa que puede completar 1 billón de operaciones en punto flotante por segundo.

IPS mide la velocidad a la que una computadora procesa instrucciones. Es una medida de cuántas instrucciones puede ejecutar una computadora por segundo y es una medida del rendimiento de una sola instrucción de una computadora, que suele utilizarse para medir el rendimiento de una unidad central de procesamiento (CPU). Por ejemplo, una CPU con una IPS de 3 GHz (3 mil millones de instrucciones por segundo) significa que puede ejecutar 3 mil millones de instrucciones por segundo.

TPS mide la capacidad de una computadora para procesar transacciones. Mide cuántas transacciones puede completar una computadora por segundo, normalmente se utiliza para medir el rendimiento del servidor de base de datos. Por ejemplo, un servidor de base de datos tiene un TPS de 1.000, lo que significa que puede manejar 1.000 transacciones de base de datos por segundo.

Además, hay algunas métricas de potencia computacional para escenarios de aplicación específicos, como la velocidad de inferencia, la velocidad de procesamiento de imágenes y la precisión del reconocimiento de voz.

Tipo de Potencia computacional

La potencia computacional de la GPU se refiere a la capacidad de cálculo de las unidades de procesamiento gráfico (GPU). A diferencia de las unidades de procesamiento centrales (CPU), las GPU son hardware diseñado específicamente para procesar datos gráficos como imágenes y videos. Tienen un gran número de unidades de procesamiento y capacidades eficientes de computación en paralelo, y pueden realizar un gran número de operaciones en punto flotante simultáneamente. Dado que las GPU fueron diseñadas originalmente para el procesamiento gráfico de juegos, suelen tener velocidades de reloj más altas y mayor ancho de banda de memoria que las CPUs para soportar cálculos gráficos complejos.

Diferencia entre CPUs y GPUs

Arquitectura: las CPUs y las GPUs tienen arquitecturas informáticas diferentes. Las CPUs suelen tener uno o más núcleos, cada uno de los cuales es un procesador de propósito general capaz de realizar una variedad de operaciones diferentes. Las GPUs, por otro lado, tienen un gran número de Procesadores de Flujo y Shaders, que se utilizan especialmente para ejecutar cálculos relacionados con el procesamiento de imágenes;

Computación en paralelo: Las GPU generalmente tienen mayores capacidades de computación en paralelo. Una CPU tiene un número limitado de núcleos, y cada núcleo solo puede ejecutar una instrucción, pero una GPU puede tener miles de procesadores de flujo que pueden ejecutar múltiples instrucciones y operaciones simultáneamente. Por lo tanto, las GPU suelen ser más adecuadas que las CPU para realizar tareas de computación en paralelo, como el aprendizaje automático y el aprendizaje profundo, que requieren extensos cálculos en paralelo;

Diseño de programación: Programar para GPUs es relativamente más complejo en comparación con las CPUs. Requiere el uso de lenguajes de programación específicos (como CUDA u OpenCL) y técnicas de programación específicas para aprovechar las capacidades de computación paralela de las GPUs. En contraste, la programación de CPU es más simple y puede utilizar lenguajes de programación y herramientas de propósito general.

La Importancia de la Potencia Computacional

En la era de la Revolución Industrial, el petróleo fue la sangre vital del mundo y se infiltró en todas las industrias. En la próxima era de la IA, la potencia computacional será el "petróleo digital" del mundo. Desde la frenética búsqueda de chips de IA por parte de las principales empresas y la acción de Nvidia que superó el billón de dólares, hasta el reciente bloqueo de Estados Unidos a los chips de alta gama de China, incluida la capacidad de potencia computacional, el tamaño del chip e incluso los planes para prohibir las nubes de GPU, la importancia de la potencia computacional es evidente por sí misma. La potencia computacional será un bien de la próxima era.

Visión general de la inteligencia artificial general

La Inteligencia Artificial (IA) es una nueva ciencia técnica que estudia, desarrolla y aplica teorías, métodos y tecnologías para simular, extender y expandir la inteligencia humana. Surgió en la década de 1950 y 1960 y, tras más de medio siglo de evolución, ha experimentado desarrollos entrelazados a través de tres oleadas: el simbolismo, el conexionismo y los enfoques basados en agentes. Hoy en día, como una tecnología emergente de propósito general, la IA está provocando cambios profundos en la vida social y en todas las industrias. Una definición más específica de la IA generativa en la actualidad es: Inteligencia Artificial General (IAG), un sistema de inteligencia artificial con una amplia gama de capacidades de comprensión que puede realizar tareas y operar en diversos dominios con inteligencia similar o superior a los niveles humanos. La IAG básicamente requiere tres elementos, aprendizaje profundo (DL), big data y una potencia informática sustancial.

Aprendizaje profundo

El aprendizaje profundo es un subcampo del aprendizaje automático (ML), y los algoritmos de aprendizaje profundo son redes neuronales modeladas según el cerebro humano. Por ejemplo, el cerebro humano contiene millones de neuronas interconectadas que trabajan juntas para aprender y procesar información. Del mismo modo, las redes neuronales de aprendizaje profundo (o redes neuronales artificiales) están compuestas por múltiples capas de neuronas artificiales que trabajan juntas dentro de una computadora. Estas neuronas artificiales, conocidas como nodos, utilizan cálculos matemáticos para procesar datos. Las redes neuronales artificiales son algoritmos de aprendizaje profundo que utilizan estos nodos para resolver problemas complejos.

Las redes neuronales se pueden dividir en la capa de entrada, las capas ocultas y la capa de salida. Las conexiones entre estas diferentes capas están formadas por parámetros.

Capa de entrada: La capa de entrada es la primera capa de la red neuronal y es responsable de recibir datos de entrada externos. Cada neurona en la capa de entrada corresponde a una característica de los datos de entrada. Por ejemplo, en el procesamiento de imágenes, cada neurona puede corresponder al valor de un píxel en la imagen.

Capas ocultas: La capa de entrada procesa los datos y los pasa a capas más profundas dentro de la red. Estas capas ocultas procesan información en diferentes niveles, ajustando su comportamiento al recibir nueva información. Las redes de aprendizaje profundo pueden tener cientos de capas ocultas, lo que les permite analizar problemas desde múltiples perspectivas diferentes. Por ejemplo, si se te da una imagen de un animal desconocido que necesitas clasificar, puedes compararlo con animales que ya conoces. Por ejemplo, puedes decir qué tipo de animal es por la forma de sus orejas, el número de patas y el tamaño de sus pupilas. Las capas ocultas en las redes neuronales profundas funcionan de manera similar. Si un algoritmo de aprendizaje profundo está tratando de clasificar una imagen de un animal, cada capa oculta procesará diferentes características de los animales e intentará clasificarlos con precisión.

Capa de salida: La capa de salida es la última capa de la red neuronal y es responsable de generar la salida de la red. Cada neurona en la capa de salida representa una posible categoría o valor de salida. Por ejemplo, en un problema de clasificación, cada neurona en la capa de salida puede corresponder a una categoría, mientras que en un problema de regresión, la capa de salida puede tener solo una neurona cuyo valor representa el resultado de la predicción;

Parámetros: En las redes neuronales, las conexiones entre diferentes capas se representan mediante pesos y sesgos, que se optimizan durante el proceso de entrenamiento para permitir que la red identifique con precisión patrones en los datos y realice predicciones. El aumento en los parámetros puede mejorar la capacidad del modelo de la red neuronal, es decir, la capacidad del modelo para aprender y representar patrones complejos en los datos. Pero, correspondientemente, el aumento en los parámetros aumentará la demanda de potencia computacional.

Datos grandes

Para ser entrenadas de manera efectiva, las redes neuronales suelen requerir datos grandes, diversos y de alta calidad de múltiples fuentes. Estos datos son la base para el entrenamiento y validación del modelo de aprendizaje automático. Al analizar big data, los modelos de aprendizaje automático pueden aprender patrones y relaciones dentro de los datos, lo que les permite hacer predicciones o clasificaciones.

Potencia computacional masiva

La demanda de potencia computacional sustancial surge de varios aspectos de las redes neuronales: estructuras complejas de múltiples capas, un gran número de parámetros, la necesidad de procesar vastas cantidades de datos y métodos de entrenamiento iterativos (durante la fase de entrenamiento, el modelo debe iterar repetidamente, realizando cálculos de propagación hacia adelante y hacia atrás para cada capa, incluidos cálculos para funciones de activación, funciones de pérdida, gradientes y actualizaciones de pesos), la necesidad de cálculos de alta precisión, capacidades de computación paralela, técnicas de optimización y regularización, y procesos de evaluación y verificación de modelos. A medida que el aprendizaje profundo avanza, el requisito de potencia computacional masiva para la IA general aumenta aproximadamente 10 veces cada año. El modelo más reciente hasta la fecha, GPT-4, contiene 1.8 billones de parámetros, con un costo de entrenamiento único de más de $60 millones y un requisito de potencia computacional de 2.15e25 FLOPS (21.5 quintillones de operaciones de punto flotante). La demanda de potencia computacional para el entrenamiento de modelos futuros sigue expandiéndose, y se están desarrollando nuevos modelos a un ritmo creciente.

Economía de la potencia informática de la IA

Tamaño del mercado futuro

Según las estimaciones más autorizadas, el “Informe de Evaluación del Índice de Potencia Computacional Global 2022-2023” compilado conjuntamente por la Corporación Internacional de Datos (IDC), Inspur Information y el Instituto de Investigación de la Industria Global de la Universidad Tsinghua, se espera que el tamaño del mercado global de computación de inteligencia artificial aumente de $19.5 mil millones en 2022 a $34.66 mil millones en 2026. Se proyecta que el mercado de computación de IA generativa crecerá de $820 millones en 2022 a $10.99 mil millones en 2026. Se espera que la participación de la computación de IA generativa en el mercado general de computación de IA aumente del 4.2% al 31.7%.

Monopolio en la economía de la Potencia computacional

La producción de las GPU de IA ha sido exclusivamente monopolizada por NVIDIA y son extremadamente caras (la última H100 se ha vendido por $40,000 por unidad). Tan pronto como se lanzan las GPU, son adquiridas rápidamente por gigantes tecnológicos en Silicon Valley. Algunos de estos dispositivos se utilizan para entrenar sus propios nuevos modelos. El resto se alquila a desarrolladores de IA a través de plataformas en la nube, como las propiedad de Google, Amazon y Microsoft, que controlan una gran cantidad de recursos informáticos como servidores, GPU y TPU. La potencia computacional se ha convertido en un nuevo recurso monopolizado por estos gigantes. Muchos desarrolladores de IA ni siquiera pueden comprar una GPU dedicada sin un margen de beneficio. Para poder usar el equipo más reciente, los desarrolladores tienen que alquilar servidores en la nube de AWS o Microsoft. Los informes financieros indican que este negocio tiene beneficios extremadamente altos. Con los servicios en la nube de AWS presumiendo un margen de beneficio bruto del 61%, mientras que el margen de beneficio bruto de Microsoft es aún mayor, alcanzando el 72%.

Entonces, ¿debemos aceptar esta autoridad centralizada y control, y pagar un margen de beneficio del 72% por recursos informáticos? ¿Dominarán los gigantes que monopolizaron Web2 también la próxima era?

Desafíos de la Potencia computacional de AGI Descentralizado

Cuando se trata de la ley antimonopolio, la descentralización suele verse como la solución óptima. Al observar los proyectos existentes, ¿podemos lograr la potencia computacional masiva requerida para la IA a través de proyectos de almacenamiento DePIN combinados con protocolos como RDNR para la utilización de la GPU inactiva? La respuesta es no. El camino para matar al dragón no es tan simple. Los proyectos iniciales no fueron diseñados específicamente para la potencia computacional de la IA general y no son factibles. Traer la potencia computacional a la cadena de bloques enfrenta al menos los siguientes cinco desafíos:

  1. Verificación del trabajo: Para construir una red informática verdaderamente descentralizada que ofrezca incentivos económicos a los participantes, la red debe tener una forma de verificar si los cálculos de aprendizaje profundo se realizaron realmente. El problema principal aquí es la dependencia del estado de los modelos de aprendizaje profundo; en estos modelos, la entrada de cada capa depende de la salida de la capa anterior. Esto significa que no se puede validar simplemente una sola capa en un modelo sin tener en cuenta todas las capas anteriores a ella. El cálculo de cada capa se basa en los resultados de todas las capas anteriores. Por lo tanto, para verificar el trabajo completado en un punto específico (como una capa específica), todo el trabajo desde el inicio del modelo hasta ese punto específico debe ser ejecutado;

  2. Mercado: Como un mercado emergente, el mercado de potencia computacional de IA está sujeto a dilemas de oferta y demanda, como el problema de arranque en frío. La liquidez de la oferta y la demanda debe coincidir aproximadamente desde el principio para que el mercado pueda crecer con éxito. Para capturar la posible oferta de potencia computacional, a los participantes se les debe proporcionar incentivos claros a cambio de sus recursos informáticos. El mercado necesita un mecanismo para rastrear cálculos completados y pagar a los proveedores en consecuencia de manera oportuna. En los mercados tradicionales, los intermediarios se encargan de tareas como la gestión y el reclutamiento, al tiempo que reducen los costos operativos al establecer umbrales de pago mínimos. Sin embargo, este enfoque es costoso al expandir el tamaño del mercado. Solo se puede capturar económicamente una pequeña parte de la oferta, lo que lleva a un estado de equilibrio de umbral en el que el mercado solo puede capturar y mantener una oferta limitada sin poder crecer más.

  3. Problema de la parada: El problema de la parada es un problema fundamental en la teoría computacional, que implica determinar si una tarea computacional dada finalizará en una cantidad finita de tiempo o se ejecutará indefinidamente. Este problema es indecidible, lo que significa que no hay un algoritmo universal que pueda predecir si cualquier cálculo dado se detendrá en un tiempo finito. Por ejemplo, la ejecución de contratos inteligentes en Ethereum también se enfrenta a un problema de parada similar. Es imposible determinar de antemano cuántos recursos computacionales requerirá la ejecución de un contrato inteligente, o si se completará en un tiempo razonable.

(En el contexto del aprendizaje profundo, este problema será más complejo a medida que los modelos y marcos pasen de la construcción de gráficos estáticos a la construcción y ejecución dinámicas.)

  1. Privacidad: El diseño y desarrollo con conciencia de privacidad es fundamental para los equipos de proyecto. Aunque una gran cantidad de investigación en aprendizaje automático se puede llevar a cabo en conjuntos de datos públicos, para mejorar el rendimiento del modelo y adaptarse a aplicaciones específicas, generalmente es necesario ajustar finamente el modelo en datos de usuario propietarios. Este proceso de ajuste fino puede implicar el procesamiento de datos personales, por lo que es necesario considerar los requisitos de protección de la privacidad.

  2. Paralelización: Este es un factor clave en la falta de viabilidad de los proyectos actuales. Los modelos de aprendizaje profundo suelen entrenarse en paralelo en grandes clústeres de hardware con arquitecturas propietarias y una latencia extremadamente baja, y las GPU en redes de computación distribuida incurrirían en latencia debido a intercambios frecuentes de datos y estarían limitadas por el rendimiento de la GPU más lenta. Cuando las fuentes de computación son poco confiables y no fiables, cómo lograr la paralelización heterogénea es un problema que debe resolverse. El método factible actual es lograr la paralelización a través de modelos de transformadores, como los Transformadores de Cambio, que ahora tienen características altamente paralelizadas.

Soluciones: Aunque los intentos actuales de un mercado descentralizado de potencia computacional de AGI todavía se encuentran en sus primeras etapas, hay dos proyectos que han resuelto inicialmente el diseño de consenso de las redes descentralizadas y la implementación de las redes de potencia computacional descentralizadas en el entrenamiento de modelos y la inferencia. A continuación, se utilizará Gensyn y Together como ejemplos para analizar los métodos de diseño y problemas del mercado descentralizado de potencia computacional de AGI.

Gensyn

Gensyn es un mercado de potencia computacional AGI que todavía está en la etapa de construcción, con el objetivo de resolver los diversos desafíos de la informática descentralizada de aprendizaje profundo y reducir los costos asociados con el aprendizaje profundo actual. Gensyn es esencialmente un protocolo de participación en la primera capa basado en la red Polkadot, que recompensa directamente a los resolventes (quienes resuelven tareas computacionales) a través de contratos inteligentes a cambio de sus dispositivos GPU inactivos para computar y realizar tareas de aprendizaje automático.

Volviendo a la pregunta anterior, el núcleo de la construcción de una red informática verdaderamente confiable radica en verificar el trabajo de aprendizaje automático completado. Este es un problema muy complejo que requiere encontrar un equilibrio entre la intersección de la teoría de la complejidad, la teoría de juegos, la criptografía y la optimización.

Gensyn propone una solución simple donde los solucionadores envían los resultados de las tareas de aprendizaje automático que han completado. Para verificar que estos resultados son precisos, otro verificador independiente intenta volver a realizar el mismo trabajo. Este enfoque puede llamarse replicación única porque solo un verificador volvería a ejecutar la tarea. Esto significa que solo hay una pieza adicional de trabajo para verificar la precisión del trabajo original. Sin embargo, si la persona que verifica el trabajo no es el solicitante original, entonces el problema de confianza sigue existiendo. Los verificadores mismos pueden no ser honestos y su trabajo necesita ser verificado. Esto conduce a un problema potencial donde si la persona que verifica el trabajo no es el solicitante original, entonces se necesitará otro verificador para verificar su trabajo. Pero este nuevo verificador también podría no ser de confianza, por lo que se necesita otro verificador para verificar su trabajo, lo que podría continuar indefinidamente, creando una cadena de replicación infinita. Aquí necesitamos introducir tres conceptos clave e interconectarlos para construir un sistema de participantes con cuatro roles para resolver el problema de la cadena infinita.

Pruebas de aprendizaje probabilístico: Construye certificados de trabajo completado utilizando metadatos del proceso de optimización basado en gradientes. Al replicar ciertas etapas, estos certificados se pueden verificar rápidamente para asegurar que el trabajo se ha completado según lo esperado.

Protocolo de posicionamiento preciso basado en gráficos: Utilizando protocolos de posicionamiento preciso basados en gráficos de múltiples granularidades y ejecución consistente de evaluadores cruzados. Esto permite volver a ejecutar y comparar el trabajo de verificación para garantizar la consistencia, que finalmente es confirmada por la propia cadena de bloques.

Juego de incentivos al estilo Truebit: Utilice apuestas y penalizaciones para construir un juego de incentivos que garantice que cada participante económicamente razonable actuará honestamente y realizará sus tareas esperadas.

El sistema de participantes consta de remitentes, solucionadores, verificadores y denunciantes.

Submitters:

Los subidores son los usuarios finales del sistema que proporcionan tareas a ser calculadas y pagan por las unidades de trabajo completadas;

Solucionadores:

Los solucionadores son los trabajadores principales del sistema, realizando el entrenamiento del modelo y generando pruebas que son verificadas por el verificador;

Verificadores:

Los verificadores son clave para vincular el proceso de entrenamiento no determinista con cálculos lineales deterministas, replicando partes de la prueba del solucionador y comparando distancias con umbrales esperados;

Informantes:

Los denunciantes son la última línea de defensa, verificando el trabajo de los verificadores y planteando desafíos con la esperanza de recibir generosos pagos de recompensa.

Operación del sistema

El sistema de juego diseñado por el protocolo opera a través de ocho etapas, cubriendo cuatro roles principales de los participantes, para completar todo el proceso desde la presentación de la tarea hasta la verificación final.

Envío de tarea: las tareas constan de tres piezas específicas de información:

Metadatos que describen la tarea y los hiperparámetros;

Un archivo binario de modelo (o arquitectura básica);

Datos de entrenamiento preprocesados accesibles públicamente.

Para enviar una tarea, el remitente especifica los detalles de la tarea en un formato legible por máquina y la envía a la cadena junto con el archivo binario del modelo (o arquitectura legible por máquina) y una ubicación públicamente accesible de los datos de entrenamiento preprocesados. Los datos públicos pueden almacenarse en un almacenamiento de objetos simple como S3 de AWS, o en un almacenamiento descentralizado como IPFS, Arweave o Subspace.

Perfilado: El proceso de perfilado establece un umbral de distancia base para la verificación del aprendizaje. Los verificadores recuperarán periódicamente tareas de perfilado y generarán umbrales de mutación para la comparación de pruebas de aprendizaje. Para generar el umbral, el verificador ejecutará de manera determinista partes del entrenamiento una y otra vez utilizando diferentes semillas aleatorias, generando y verificando sus propias pruebas. Durante este proceso, el verificador establecerá un umbral de distancia esperado en general para el trabajo no determinista de la solución que puede ser utilizado para la verificación.

Entrenamiento: Después del perfilado, las tareas ingresan al grupo de tareas públicas (similar al Mempool de Ethereum). Seleccione un solver para ejecutar la tarea y elimine la tarea del grupo de tareas. Los solvers realizan la tarea en base a los metadatos enviados por el remitente y el modelo y datos de entrenamiento proporcionados. Al ejecutar tareas de entrenamiento, los solvers también generan pruebas de aprendizaje al verificar regularmente puntos y almacenar metadatos (incluidos parámetros) durante el proceso de entrenamiento, para que los verificadores puedan replicar los siguientes pasos de optimización de la forma más precisa posible.

Generación de pruebas: Los solucionadores almacenan periódicamente los pesos del modelo o las actualizaciones y sus índices correspondientes del conjunto de datos de entrenamiento para identificar las muestras utilizadas para generar las actualizaciones de peso. La frecuencia de los puntos de control se puede ajustar para proporcionar garantías más sólidas o para ahorrar espacio de almacenamiento. Las pruebas pueden estar "apiladas", lo que significa que pueden comenzar desde una distribución aleatoria utilizada para inicializar los pesos, o desde pesos preentrenados generados utilizando sus propias pruebas. Esto permite que el protocolo construya un conjunto de modelos base probados y preentrenados que se pueden ajustar para tareas más específicas.

Verificación de prueba: Después de que se completa la tarea, los solucionadores registran la finalización de la tarea en la cadena y muestran su prueba de aprendizaje en un lugar de acceso público para que los verificadores la consulten. Los verificadores extraen las tareas de verificación del grupo de tareas públicas y realizan trabajos computacionales para volver a ejecutar parte de la prueba y realizar cálculos de distancia. La cadena, junto con el umbral calculado durante la etapa de perfilado, luego utiliza la distancia resultante para determinar si la verificación coincide con la prueba.

Desafío basado en grafos: Después de verificar la prueba de aprendizaje, los denunciantes pueden replicar el trabajo de los verificadores para verificar si el trabajo de verificación en sí se ejecutó correctamente. Si los denunciantes creen que la verificación se realizó de forma incorrecta (maliciosa o no), pueden desafiarla para la arbitraje de contrato por una recompensa. Esta recompensa puede provenir de los depósitos del solucionador y del validador (en caso de un verdadero positivo), o de un bono de la reserva de lotería (en caso de un falso positivo), con la arbitraje realizada utilizando la cadena misma. Los denunciantes (actuando como verificadores en su caso) solo verificarán y desafiarán el trabajo si esperan recibir una compensación adecuada. En la práctica, esto significa que se espera que los denunciantes se unan y abandonen la red según la cantidad de otros denunciantes activos (es decir, con depósitos y desafíos en vivo). Por lo tanto, la estrategia predeterminada esperada para cualquier denunciante es unirse a la red cuando haya menos denunciantes, publicar un depósito, seleccionar aleatoriamente una tarea activa, y comenzar su proceso de verificación. Después de una tarea, tomarán otra tarea activa al azar y repetirán hasta que la cantidad de denunciantes supere su umbral de pago determinado, momento en el cual abandonarán la red (o más probablemente, cambiarán a otro rol en la red - verificador o solucionador - según sus capacidades de hardware) hasta que la situación se revierta nuevamente.

Arbitraje de contrato: Cuando los verificadores son desafiados por denunciantes, entran en un proceso con la cadena para descubrir la ubicación de la operación o entrada en disputa, y en última instancia la cadena realizará la operación básica final y determinará si el desafío está justificado. Para mantener honestos a los denunciantes y superar el dilema del verificador, aquí se introducen errores forzados periódicos y pagos de premios mayores.

Liquidación: Durante el proceso de liquidación, los participantes reciben pagos basados en las conclusiones de las verificaciones probabilísticas y determinísticas. Diferentes escenarios de pago surgen dependiendo de los resultados de las verificaciones y desafíos previos. Si se considera que el trabajo se realizó correctamente y todas las verificaciones han pasado, tanto los proveedores de soluciones como los verificadores reciben recompensas basadas en las operaciones realizadas.

Reseña breve del proyecto

Gensyn ha diseñado un sistema sofisticado de teoría de juegos en la capa de verificación y capas de incentivos, que permite la rápida identificación y corrección de errores al señalar las divergencias dentro de la red. Sin embargo, aún faltan muchos detalles en el sistema actual. Por ejemplo, ¿cómo establecer parámetros para garantizar que las recompensas y penalizaciones sean razonables sin establecer el umbral demasiado alto? ¿Han considerado escenarios extremos y la diferente potencia informática de los solucionadores en los aspectos de teoría de juegos? No hay una descripción detallada de la ejecución paralela heterogénea en la versión actual del whitepaper. Gensyn todavía tiene un largo camino por recorrer.

Together.ai

Together.ai es una empresa que se enfoca en soluciones computacionales de inteligencia artificial descentralizadas de código abierto para modelos grandes. Su objetivo es lograr que cualquiera pueda acceder a la IA en cualquier lugar. Estrictamente hablando, Together no es un proyecto de blockchain, pero ha resuelto preliminarmente los problemas de latencia dentro de las redes computacionales de AGI descentralizadas. Por lo tanto, el siguiente artículo solo analiza las soluciones de Together y no evalúa el proyecto en sí.

¿Cómo lograr el entrenamiento y la inferencia de modelos grandes cuando las redes descentralizadas son 100 veces más lentas que los centros de datos?

Imaginemos la distribución de las GPUs que participan en una red descentralizada. Estos dispositivos estarán repartidos en diferentes continentes y ciudades, cada uno necesitando conectarse con latencias y anchos de banda variables. Como se muestra en la figura a continuación, un escenario distribuido simulado muestra dispositivos ubicados en América del Norte, Europa y Asia, con diferentes anchos de banda y latencias entre ellos. ¿Qué se necesita hacer para vincularlos eficazmente?

Modelado computacional de entrenamiento distribuido: El diagrama a continuación muestra la situación de entrenamiento de un modelo base en múltiples dispositivos, con tres tipos de comunicación: Activación hacia adelante, Gradiente hacia atrás y Comunicación lateral.

Combinando el ancho de banda de comunicación y la latencia, se deben considerar dos formas de paralelismo: paralelismo de tubería y paralelismo de datos, correspondientes a los tres tipos de comunicación en el escenario de múltiples dispositivos:

En el paralelismo de canalizaciones, todas las capas del modelo se dividen en varias etapas, donde cada dispositivo procesa una etapa, que es una secuencia de capas consecutivas, como varios bloques de Transformador. Durante la propagación hacia adelante, las activaciones se pasan a la siguiente etapa, y durante la propagación hacia atrás, los gradientes de las activaciones se pasan a la etapa anterior.

En el paralelismo de datos, los dispositivos calculan de forma independiente los gradientes para diferentes micro lotes pero necesitan sincronizar estos gradientes a través de la comunicación.

Optimización de la programación:

En un entorno descentralizado, el proceso de formación a menudo está limitado por la comunicación. Los algoritmos de programación generalmente asignan tareas que requieren una comunicación extensa a dispositivos con conexiones más rápidas. Teniendo en cuenta las dependencias entre tareas y la heterogeneidad de la red, primero es necesario modelar el costo de estrategias de programación específicas. Para capturar el complejo costo de comunicación de la formación de modelos base, Together propone una nueva formulación y descompone el modelo de costos en dos niveles utilizando la teoría de grafos:

La teoría de grafos es una rama de las matemáticas que estudia las propiedades y estructuras de los grafos (redes). Un grafo consta de vértices (nodos) y aristas (líneas que conectan nodos). El propósito principal de la teoría de grafos es estudiar varias propiedades de los grafos, como la conectividad, la coloración y la naturaleza de los caminos y ciclos en los grafos.

El primer nivel es un problema de partición de gráficos equilibrados (dividiendo el conjunto de vértices de un gráfico en varios subconjuntos de tamaño igual o casi igual mientras se minimiza el número de bordes entre subconjuntos). En esta partición, cada subconjunto representa una partición, y los costos de comunicación se reducen al minimizar los bordes entre particiones, lo que corresponde a los costos de comunicación del paralelismo de datos.

El segundo nivel implica un problema conjunto de emparejamiento de gráficos y el problema del viajante de comercio (un problema de optimización combinatoria que combina elementos de emparejamiento de gráficos y el problema del viajante de comercio). El problema de emparejamiento de gráficos implica encontrar una coincidencia en el gráfico que minimice o maximice algún costo. El problema del viajante de comercio busca el camino más corto que visite todos los nodos en el gráfico, correspondiente a los costos de comunicación del paralelismo de tuberías.

El diagrama anterior es un esquema del proceso. Debido a los cálculos complejos involucrados en la implementación real, el proceso descrito en el diagrama se simplifica para una comprensión más fácil. Para una implementación detallada, se puede consultar la documentación en el sitio web oficial de Together.

Supongamos que hay un conjunto de dispositivos NN, DD, con retrasos de comunicación inciertos (matriz AA) y anchos de banda (matriz BB), basado en el conjunto de dispositivos DD, primero generamos una partición de gráficos equilibrada. Cada partición o grupo de dispositivos contiene aproximadamente la misma cantidad de dispositivos, y todos manejan la misma etapa de canalización. Esto garantiza que durante el paralelismo de datos, cada grupo de dispositivos realice una cantidad similar de trabajo. Según los retrasos de comunicación y los anchos de banda, una fórmula puede calcular el 'costo' de transferir datos entre grupos de dispositivos. Cada grupo equilibrado se fusiona para crear un gráfico grueso completamente conectado, donde cada nodo representa una etapa de canalización, y los bordes representan el costo de comunicación entre dos etapas. Para minimizar los costos de comunicación, se utiliza un algoritmo de emparejamiento para determinar qué grupos de dispositivos deben trabajar juntos.

Para una mayor optimización, este problema también puede ser modelado como un problema del viajante de comercio de lazo abierto (lazo abierto significa que no es necesario regresar al punto de inicio del camino) para encontrar un camino óptimo para transmitir datos a través de todos los dispositivos. Finalmente, Together utiliza un algoritmo de programación innovador para encontrar la estrategia de asignación óptima para el modelo de costos dado, minimizando así los costos de comunicación y maximizando el rendimiento del entrenamiento. Según las pruebas, incluso si la red es 100 veces más lenta bajo esta optimización de programación, el rendimiento del entrenamiento de extremo a extremo es solo aproximadamente de 1.7 a 2.3 veces más lento.

Optimización de compresión de comunicación:

Para la optimización de la compresión de la comunicación, Together introdujo el algoritmo AQ-SGD (para obtener información detallada sobre el proceso de cálculo, consulte el artículo "Fine-tuning Language Models over Slow Networks using Activation Compression with Guarantees"). El algoritmo AQ-SGD es una novedosa técnica de compresión de activación diseñada para abordar los problemas de eficiencia de la comunicación durante el entrenamiento paralelo de canalizaciones en redes lentas. A diferencia de los métodos anteriores de compresión directa de los valores de activación, AQ-SGD se centra en comprimir los cambios en los valores de activación de la misma muestra de entrenamiento en diferentes períodos. Este método único introduce una interesante dinámica "autoejecutable", en la que se espera que el rendimiento del algoritmo mejore gradualmente a medida que el entrenamiento se estabilice. El algoritmo AQ-SGD ha sido rigurosamente analizado teóricamente y se ha demostrado que tiene buenas tasas de convergencia bajo ciertas condiciones técnicas y funciones de cuantificación de errores acotados. El algoritmo se puede implementar de manera efectiva sin agregar sobrecarga adicional de tiempo de ejecución de extremo a extremo, aunque requiere el uso de más memoria y SSD para almacenar los valores de activación. A través de extensos experimentos en conjuntos de datos de clasificación de secuencias y modelado de lenguaje, se ha demostrado que AQ-SGD comprime los valores de activación a 2-4 bits sin sacrificar el rendimiento de la convergencia. Además, AQ-SGD se puede integrar con algoritmos de compresión de gradiente de última generación para lograr una "compresión de comunicación de extremo a extremo", lo que significa que los intercambios de datos entre todas las máquinas, incluidos los gradientes del modelo, los valores de activación hacia adelante y los gradientes hacia atrás, se comprimen con baja precisión, lo que mejora significativamente la eficiencia de la comunicación del entrenamiento distribuido. En comparación con el rendimiento de entrenamiento de extremo a extremo en una red informática centralizada (como 10 Gbps) sin compresión, actualmente es solo un 31% más lento. Combinado con los datos sobre la optimización de la programación, aunque todavía existe una cierta brecha entre las redes informáticas centralizadas, existe una gran esperanza de ponerse al día en el futuro.

Conclusión

En el período de dividendos traído por la ola de IA, el mercado de potencia computacional AGI es sin duda el mercado con mayor potencial y demanda entre los diversos mercados de potencia computacional. Sin embargo, la mayor dificultad de desarrollo, los requisitos de hardware y las demandas de capital están presentando desafíos para esta industria. Combinando los dos proyectos presentados anteriormente, aún falta algún tiempo antes de que se lance el mercado de potencia computacional AGI. La red descentralizada real es también mucho más complicada que el escenario ideal. Actualmente, no es suficiente para competir con los gigantes de la nube.

En el momento de escribir este artículo, también observé que algunos proyectos a pequeña escala que aún están en pañales (la etapa PPT) han comenzado a explorar algunos nuevos puntos de entrada, como centrarse en la etapa de inferencia AGI menos desafiante en lugar de la etapa de capacitación. Sin embargo, a largo plazo, la importancia de la descentralización y los sistemas sin permisos es profunda. El derecho a acceder y entrenar el poder de cómputo de AGI no debe concentrarse en manos de unos pocos gigantes centralizados. La humanidad no necesita una nueva "teocracia" o un nuevo "papa", ni debe pagar costosas cuotas de membresía.

Descargo de responsabilidad:

  1. Este artículo es reimpreso de [YBB Capital]. Todos los derechos de autor pertenecen al autor original [Zeke]. If there are objections to this reprint, please contact the Gate Learnequipo, y ellos lo resolverán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

La Perspectiva de una Pista Prometedora: Mercado de Potencia Computacional Descentralizada (Parte 1)

Avanzado1/4/2024, 6:39:54 PM
Este artículo explora el potencial y los desafíos del mercado de potencia computacional descentralizada, destacando las dificultades que enfrenta e introduciendo dos proyectos típicos - Gensyn y Together.AI.

Prefacio

Desde el nacimiento de GPT-3, la IA generativa ha marcado un punto de inflexión explosivo en el campo de la inteligencia artificial con su asombroso rendimiento y amplios escenarios de aplicación. Esto ha llevado a que los gigantes tecnológicos se abalancen hacia la pista de la IA. Sin embargo, esta oleada ha traído consigo numerosos problemas. Las operaciones de entrenamiento e inferencia de los grandes modelos de lenguaje (LLM) requieren mucha potencia computacional. Con la actualización iterativa de estos modelos, la demanda y el costo de la potencia computacional están aumentando exponencialmente. Tomando como ejemplos a GPT-2 y GPT-3, la diferencia en el número de parámetros entre GPT-2 y GPT-3 es de 1166 veces (GPT-2 tiene 150 millones de parámetros mientras que GPT-3 tiene 175 mil millones). El costo de una sola sesión de entrenamiento de GPT-3 se calculó en base a los modelos de precios de las nubes públicas de GPU en ese momento, alcanzando hasta $12 millones. Esto fue 200 veces más que GPT-2. En el uso práctico, cada consulta de usuario requiere cálculos de inferencia. Basándose en los 13 millones de usuarios independientes a principios de este año, la demanda correspondiente de chips sería de más de 30,000 GPUs A100. El costo inicial de inversión sería entonces asombroso, de $800 millones, con un costo estimado diario de inferencia del modelo de $700,000.

La potencia computacional insuficiente y los altos costos se han convertido en desafíos serios que enfrenta toda la industria de la IA. Sorprendentemente, un problema similar parece estar enfrentando la industria de la blockchain. Por un lado, la cuarta reducción a la mitad de Bitcoin y la aprobación de ETF son inminentes. A medida que los precios futuros aumentan, la demanda de los mineros de hardware informático aumentará inevitablemente de manera significativa. Por otro lado, la tecnología de Prueba de Conocimiento Cero (ZKP) está en auge, y Vitalik ha enfatizado múltiples veces que el impacto de ZK en el campo de la blockchain en los próximos diez años será tan importante como la blockchain misma. Si bien esta tecnología promete para el futuro de la industria de la blockchain, ZK también consume mucha potencia computacional y tiempo en la generación de pruebas debido a su proceso de cálculo complejo, al igual que la IA.

En el futuro previsible, la escasez de potencia computacional se volverá inevitable. Entonces, ¿será el mercado descentralizado de potencia computacional una empresa comercial rentable?

Definición del mercado de potencia computacional descentralizada

El mercado descentralizado de potencia informática es en realidad equivalente a la pista descentralizada de computación en la nube, pero personalmente creo que este término es más apropiado para describir los nuevos proyectos que se discutirán más adelante. El mercado descentralizado de potencia informática debería considerarse un subconjunto de DePIN (Redes de Infraestructura Física Descentralizada), cuyo objetivo es crear un mercado abierto de potencia informática, donde cualquier persona con recursos de potencia informática inactivos puede ofrecer sus recursos incentivados por tokens, sirviendo principalmente a clientes B2B y comunidades de desarrolladores. En términos de proyectos más familiares, redes como Render Network, que se basa en soluciones descentralizadas de renderizado de GPU, y Akash Network, un mercado distribuido de igual a igual para la computación en la nube, pertenecen a esta categoría.

El siguiente texto comenzará con los conceptos básicos y luego discutirá tres mercados emergentes en este ámbito: el mercado de potencia informática AGI, el mercado de potencia informática de Bitcoin y el mercado de potencia informática AGI en el mercado de aceleración de hardware ZK. Estos dos últimos se discutirán en "La perspectiva de una pista prometedora: Mercado de potencia informática descentralizada (Parte 2)".

Resumen de la Potencia computacional

El concepto de potencia computacional se puede remontar a la invención de la computadora. La computadora original utilizaba dispositivos mecánicos para completar tareas de computación, y la potencia computacional se refería a la capacidad de cálculo del dispositivo mecánico. Con el desarrollo de la tecnología informática, el concepto de potencia computacional también ha evolucionado. La potencia computacional de hoy en día suele referirse al trabajo colaborativo del hardware informático (CPU, GPU, FPGA, etc.) y el software (sistemas operativos, compiladores, aplicaciones, etc.).

Definición

La potencia computacional se refiere a la cantidad de datos que una computadora u otro dispositivo informático puede procesar en un cierto período de tiempo o el número de tareas informáticas que puede completar. La potencia computacional generalmente se utiliza para describir el rendimiento de una computadora u otros dispositivos informáticos. Es una métrica importante de las capacidades de procesamiento de un dispositivo informático.

Métricas

La potencia computacional se puede medir de diversas formas, como la velocidad de cálculo, el consumo de energía, la precisión del cálculo y el paralelismo. En el campo de la informática, las métricas de potencia computacional comúnmente utilizadas incluyen FLOPS (operaciones de punto flotante por segundo), IPS (instrucciones por segundo), TPS (transacciones por segundo), etc.

FLOPS mide la capacidad de procesamiento del ordenador para realizar operaciones en punto flotante (operaciones matemáticas con puntos decimales que requieren consideración de problemas de precisión y errores de redondeo). Mide cuántas operaciones en punto flotante puede completar un ordenador por segundo. FLOPS es una medida de las capacidades de computación de alto rendimiento de un ordenador y se utiliza comúnmente para medir las capacidades de computación de superordenadores, servidores de computación de alto rendimiento, unidades de procesamiento gráfico (GPU), etc. Por ejemplo, si un sistema informático tiene 1 TFLOPS (un billón de operaciones en punto flotante por segundo), significa que puede completar 1 billón de operaciones en punto flotante por segundo.

IPS mide la velocidad a la que una computadora procesa instrucciones. Es una medida de cuántas instrucciones puede ejecutar una computadora por segundo y es una medida del rendimiento de una sola instrucción de una computadora, que suele utilizarse para medir el rendimiento de una unidad central de procesamiento (CPU). Por ejemplo, una CPU con una IPS de 3 GHz (3 mil millones de instrucciones por segundo) significa que puede ejecutar 3 mil millones de instrucciones por segundo.

TPS mide la capacidad de una computadora para procesar transacciones. Mide cuántas transacciones puede completar una computadora por segundo, normalmente se utiliza para medir el rendimiento del servidor de base de datos. Por ejemplo, un servidor de base de datos tiene un TPS de 1.000, lo que significa que puede manejar 1.000 transacciones de base de datos por segundo.

Además, hay algunas métricas de potencia computacional para escenarios de aplicación específicos, como la velocidad de inferencia, la velocidad de procesamiento de imágenes y la precisión del reconocimiento de voz.

Tipo de Potencia computacional

La potencia computacional de la GPU se refiere a la capacidad de cálculo de las unidades de procesamiento gráfico (GPU). A diferencia de las unidades de procesamiento centrales (CPU), las GPU son hardware diseñado específicamente para procesar datos gráficos como imágenes y videos. Tienen un gran número de unidades de procesamiento y capacidades eficientes de computación en paralelo, y pueden realizar un gran número de operaciones en punto flotante simultáneamente. Dado que las GPU fueron diseñadas originalmente para el procesamiento gráfico de juegos, suelen tener velocidades de reloj más altas y mayor ancho de banda de memoria que las CPUs para soportar cálculos gráficos complejos.

Diferencia entre CPUs y GPUs

Arquitectura: las CPUs y las GPUs tienen arquitecturas informáticas diferentes. Las CPUs suelen tener uno o más núcleos, cada uno de los cuales es un procesador de propósito general capaz de realizar una variedad de operaciones diferentes. Las GPUs, por otro lado, tienen un gran número de Procesadores de Flujo y Shaders, que se utilizan especialmente para ejecutar cálculos relacionados con el procesamiento de imágenes;

Computación en paralelo: Las GPU generalmente tienen mayores capacidades de computación en paralelo. Una CPU tiene un número limitado de núcleos, y cada núcleo solo puede ejecutar una instrucción, pero una GPU puede tener miles de procesadores de flujo que pueden ejecutar múltiples instrucciones y operaciones simultáneamente. Por lo tanto, las GPU suelen ser más adecuadas que las CPU para realizar tareas de computación en paralelo, como el aprendizaje automático y el aprendizaje profundo, que requieren extensos cálculos en paralelo;

Diseño de programación: Programar para GPUs es relativamente más complejo en comparación con las CPUs. Requiere el uso de lenguajes de programación específicos (como CUDA u OpenCL) y técnicas de programación específicas para aprovechar las capacidades de computación paralela de las GPUs. En contraste, la programación de CPU es más simple y puede utilizar lenguajes de programación y herramientas de propósito general.

La Importancia de la Potencia Computacional

En la era de la Revolución Industrial, el petróleo fue la sangre vital del mundo y se infiltró en todas las industrias. En la próxima era de la IA, la potencia computacional será el "petróleo digital" del mundo. Desde la frenética búsqueda de chips de IA por parte de las principales empresas y la acción de Nvidia que superó el billón de dólares, hasta el reciente bloqueo de Estados Unidos a los chips de alta gama de China, incluida la capacidad de potencia computacional, el tamaño del chip e incluso los planes para prohibir las nubes de GPU, la importancia de la potencia computacional es evidente por sí misma. La potencia computacional será un bien de la próxima era.

Visión general de la inteligencia artificial general

La Inteligencia Artificial (IA) es una nueva ciencia técnica que estudia, desarrolla y aplica teorías, métodos y tecnologías para simular, extender y expandir la inteligencia humana. Surgió en la década de 1950 y 1960 y, tras más de medio siglo de evolución, ha experimentado desarrollos entrelazados a través de tres oleadas: el simbolismo, el conexionismo y los enfoques basados en agentes. Hoy en día, como una tecnología emergente de propósito general, la IA está provocando cambios profundos en la vida social y en todas las industrias. Una definición más específica de la IA generativa en la actualidad es: Inteligencia Artificial General (IAG), un sistema de inteligencia artificial con una amplia gama de capacidades de comprensión que puede realizar tareas y operar en diversos dominios con inteligencia similar o superior a los niveles humanos. La IAG básicamente requiere tres elementos, aprendizaje profundo (DL), big data y una potencia informática sustancial.

Aprendizaje profundo

El aprendizaje profundo es un subcampo del aprendizaje automático (ML), y los algoritmos de aprendizaje profundo son redes neuronales modeladas según el cerebro humano. Por ejemplo, el cerebro humano contiene millones de neuronas interconectadas que trabajan juntas para aprender y procesar información. Del mismo modo, las redes neuronales de aprendizaje profundo (o redes neuronales artificiales) están compuestas por múltiples capas de neuronas artificiales que trabajan juntas dentro de una computadora. Estas neuronas artificiales, conocidas como nodos, utilizan cálculos matemáticos para procesar datos. Las redes neuronales artificiales son algoritmos de aprendizaje profundo que utilizan estos nodos para resolver problemas complejos.

Las redes neuronales se pueden dividir en la capa de entrada, las capas ocultas y la capa de salida. Las conexiones entre estas diferentes capas están formadas por parámetros.

Capa de entrada: La capa de entrada es la primera capa de la red neuronal y es responsable de recibir datos de entrada externos. Cada neurona en la capa de entrada corresponde a una característica de los datos de entrada. Por ejemplo, en el procesamiento de imágenes, cada neurona puede corresponder al valor de un píxel en la imagen.

Capas ocultas: La capa de entrada procesa los datos y los pasa a capas más profundas dentro de la red. Estas capas ocultas procesan información en diferentes niveles, ajustando su comportamiento al recibir nueva información. Las redes de aprendizaje profundo pueden tener cientos de capas ocultas, lo que les permite analizar problemas desde múltiples perspectivas diferentes. Por ejemplo, si se te da una imagen de un animal desconocido que necesitas clasificar, puedes compararlo con animales que ya conoces. Por ejemplo, puedes decir qué tipo de animal es por la forma de sus orejas, el número de patas y el tamaño de sus pupilas. Las capas ocultas en las redes neuronales profundas funcionan de manera similar. Si un algoritmo de aprendizaje profundo está tratando de clasificar una imagen de un animal, cada capa oculta procesará diferentes características de los animales e intentará clasificarlos con precisión.

Capa de salida: La capa de salida es la última capa de la red neuronal y es responsable de generar la salida de la red. Cada neurona en la capa de salida representa una posible categoría o valor de salida. Por ejemplo, en un problema de clasificación, cada neurona en la capa de salida puede corresponder a una categoría, mientras que en un problema de regresión, la capa de salida puede tener solo una neurona cuyo valor representa el resultado de la predicción;

Parámetros: En las redes neuronales, las conexiones entre diferentes capas se representan mediante pesos y sesgos, que se optimizan durante el proceso de entrenamiento para permitir que la red identifique con precisión patrones en los datos y realice predicciones. El aumento en los parámetros puede mejorar la capacidad del modelo de la red neuronal, es decir, la capacidad del modelo para aprender y representar patrones complejos en los datos. Pero, correspondientemente, el aumento en los parámetros aumentará la demanda de potencia computacional.

Datos grandes

Para ser entrenadas de manera efectiva, las redes neuronales suelen requerir datos grandes, diversos y de alta calidad de múltiples fuentes. Estos datos son la base para el entrenamiento y validación del modelo de aprendizaje automático. Al analizar big data, los modelos de aprendizaje automático pueden aprender patrones y relaciones dentro de los datos, lo que les permite hacer predicciones o clasificaciones.

Potencia computacional masiva

La demanda de potencia computacional sustancial surge de varios aspectos de las redes neuronales: estructuras complejas de múltiples capas, un gran número de parámetros, la necesidad de procesar vastas cantidades de datos y métodos de entrenamiento iterativos (durante la fase de entrenamiento, el modelo debe iterar repetidamente, realizando cálculos de propagación hacia adelante y hacia atrás para cada capa, incluidos cálculos para funciones de activación, funciones de pérdida, gradientes y actualizaciones de pesos), la necesidad de cálculos de alta precisión, capacidades de computación paralela, técnicas de optimización y regularización, y procesos de evaluación y verificación de modelos. A medida que el aprendizaje profundo avanza, el requisito de potencia computacional masiva para la IA general aumenta aproximadamente 10 veces cada año. El modelo más reciente hasta la fecha, GPT-4, contiene 1.8 billones de parámetros, con un costo de entrenamiento único de más de $60 millones y un requisito de potencia computacional de 2.15e25 FLOPS (21.5 quintillones de operaciones de punto flotante). La demanda de potencia computacional para el entrenamiento de modelos futuros sigue expandiéndose, y se están desarrollando nuevos modelos a un ritmo creciente.

Economía de la potencia informática de la IA

Tamaño del mercado futuro

Según las estimaciones más autorizadas, el “Informe de Evaluación del Índice de Potencia Computacional Global 2022-2023” compilado conjuntamente por la Corporación Internacional de Datos (IDC), Inspur Information y el Instituto de Investigación de la Industria Global de la Universidad Tsinghua, se espera que el tamaño del mercado global de computación de inteligencia artificial aumente de $19.5 mil millones en 2022 a $34.66 mil millones en 2026. Se proyecta que el mercado de computación de IA generativa crecerá de $820 millones en 2022 a $10.99 mil millones en 2026. Se espera que la participación de la computación de IA generativa en el mercado general de computación de IA aumente del 4.2% al 31.7%.

Monopolio en la economía de la Potencia computacional

La producción de las GPU de IA ha sido exclusivamente monopolizada por NVIDIA y son extremadamente caras (la última H100 se ha vendido por $40,000 por unidad). Tan pronto como se lanzan las GPU, son adquiridas rápidamente por gigantes tecnológicos en Silicon Valley. Algunos de estos dispositivos se utilizan para entrenar sus propios nuevos modelos. El resto se alquila a desarrolladores de IA a través de plataformas en la nube, como las propiedad de Google, Amazon y Microsoft, que controlan una gran cantidad de recursos informáticos como servidores, GPU y TPU. La potencia computacional se ha convertido en un nuevo recurso monopolizado por estos gigantes. Muchos desarrolladores de IA ni siquiera pueden comprar una GPU dedicada sin un margen de beneficio. Para poder usar el equipo más reciente, los desarrolladores tienen que alquilar servidores en la nube de AWS o Microsoft. Los informes financieros indican que este negocio tiene beneficios extremadamente altos. Con los servicios en la nube de AWS presumiendo un margen de beneficio bruto del 61%, mientras que el margen de beneficio bruto de Microsoft es aún mayor, alcanzando el 72%.

Entonces, ¿debemos aceptar esta autoridad centralizada y control, y pagar un margen de beneficio del 72% por recursos informáticos? ¿Dominarán los gigantes que monopolizaron Web2 también la próxima era?

Desafíos de la Potencia computacional de AGI Descentralizado

Cuando se trata de la ley antimonopolio, la descentralización suele verse como la solución óptima. Al observar los proyectos existentes, ¿podemos lograr la potencia computacional masiva requerida para la IA a través de proyectos de almacenamiento DePIN combinados con protocolos como RDNR para la utilización de la GPU inactiva? La respuesta es no. El camino para matar al dragón no es tan simple. Los proyectos iniciales no fueron diseñados específicamente para la potencia computacional de la IA general y no son factibles. Traer la potencia computacional a la cadena de bloques enfrenta al menos los siguientes cinco desafíos:

  1. Verificación del trabajo: Para construir una red informática verdaderamente descentralizada que ofrezca incentivos económicos a los participantes, la red debe tener una forma de verificar si los cálculos de aprendizaje profundo se realizaron realmente. El problema principal aquí es la dependencia del estado de los modelos de aprendizaje profundo; en estos modelos, la entrada de cada capa depende de la salida de la capa anterior. Esto significa que no se puede validar simplemente una sola capa en un modelo sin tener en cuenta todas las capas anteriores a ella. El cálculo de cada capa se basa en los resultados de todas las capas anteriores. Por lo tanto, para verificar el trabajo completado en un punto específico (como una capa específica), todo el trabajo desde el inicio del modelo hasta ese punto específico debe ser ejecutado;

  2. Mercado: Como un mercado emergente, el mercado de potencia computacional de IA está sujeto a dilemas de oferta y demanda, como el problema de arranque en frío. La liquidez de la oferta y la demanda debe coincidir aproximadamente desde el principio para que el mercado pueda crecer con éxito. Para capturar la posible oferta de potencia computacional, a los participantes se les debe proporcionar incentivos claros a cambio de sus recursos informáticos. El mercado necesita un mecanismo para rastrear cálculos completados y pagar a los proveedores en consecuencia de manera oportuna. En los mercados tradicionales, los intermediarios se encargan de tareas como la gestión y el reclutamiento, al tiempo que reducen los costos operativos al establecer umbrales de pago mínimos. Sin embargo, este enfoque es costoso al expandir el tamaño del mercado. Solo se puede capturar económicamente una pequeña parte de la oferta, lo que lleva a un estado de equilibrio de umbral en el que el mercado solo puede capturar y mantener una oferta limitada sin poder crecer más.

  3. Problema de la parada: El problema de la parada es un problema fundamental en la teoría computacional, que implica determinar si una tarea computacional dada finalizará en una cantidad finita de tiempo o se ejecutará indefinidamente. Este problema es indecidible, lo que significa que no hay un algoritmo universal que pueda predecir si cualquier cálculo dado se detendrá en un tiempo finito. Por ejemplo, la ejecución de contratos inteligentes en Ethereum también se enfrenta a un problema de parada similar. Es imposible determinar de antemano cuántos recursos computacionales requerirá la ejecución de un contrato inteligente, o si se completará en un tiempo razonable.

(En el contexto del aprendizaje profundo, este problema será más complejo a medida que los modelos y marcos pasen de la construcción de gráficos estáticos a la construcción y ejecución dinámicas.)

  1. Privacidad: El diseño y desarrollo con conciencia de privacidad es fundamental para los equipos de proyecto. Aunque una gran cantidad de investigación en aprendizaje automático se puede llevar a cabo en conjuntos de datos públicos, para mejorar el rendimiento del modelo y adaptarse a aplicaciones específicas, generalmente es necesario ajustar finamente el modelo en datos de usuario propietarios. Este proceso de ajuste fino puede implicar el procesamiento de datos personales, por lo que es necesario considerar los requisitos de protección de la privacidad.

  2. Paralelización: Este es un factor clave en la falta de viabilidad de los proyectos actuales. Los modelos de aprendizaje profundo suelen entrenarse en paralelo en grandes clústeres de hardware con arquitecturas propietarias y una latencia extremadamente baja, y las GPU en redes de computación distribuida incurrirían en latencia debido a intercambios frecuentes de datos y estarían limitadas por el rendimiento de la GPU más lenta. Cuando las fuentes de computación son poco confiables y no fiables, cómo lograr la paralelización heterogénea es un problema que debe resolverse. El método factible actual es lograr la paralelización a través de modelos de transformadores, como los Transformadores de Cambio, que ahora tienen características altamente paralelizadas.

Soluciones: Aunque los intentos actuales de un mercado descentralizado de potencia computacional de AGI todavía se encuentran en sus primeras etapas, hay dos proyectos que han resuelto inicialmente el diseño de consenso de las redes descentralizadas y la implementación de las redes de potencia computacional descentralizadas en el entrenamiento de modelos y la inferencia. A continuación, se utilizará Gensyn y Together como ejemplos para analizar los métodos de diseño y problemas del mercado descentralizado de potencia computacional de AGI.

Gensyn

Gensyn es un mercado de potencia computacional AGI que todavía está en la etapa de construcción, con el objetivo de resolver los diversos desafíos de la informática descentralizada de aprendizaje profundo y reducir los costos asociados con el aprendizaje profundo actual. Gensyn es esencialmente un protocolo de participación en la primera capa basado en la red Polkadot, que recompensa directamente a los resolventes (quienes resuelven tareas computacionales) a través de contratos inteligentes a cambio de sus dispositivos GPU inactivos para computar y realizar tareas de aprendizaje automático.

Volviendo a la pregunta anterior, el núcleo de la construcción de una red informática verdaderamente confiable radica en verificar el trabajo de aprendizaje automático completado. Este es un problema muy complejo que requiere encontrar un equilibrio entre la intersección de la teoría de la complejidad, la teoría de juegos, la criptografía y la optimización.

Gensyn propone una solución simple donde los solucionadores envían los resultados de las tareas de aprendizaje automático que han completado. Para verificar que estos resultados son precisos, otro verificador independiente intenta volver a realizar el mismo trabajo. Este enfoque puede llamarse replicación única porque solo un verificador volvería a ejecutar la tarea. Esto significa que solo hay una pieza adicional de trabajo para verificar la precisión del trabajo original. Sin embargo, si la persona que verifica el trabajo no es el solicitante original, entonces el problema de confianza sigue existiendo. Los verificadores mismos pueden no ser honestos y su trabajo necesita ser verificado. Esto conduce a un problema potencial donde si la persona que verifica el trabajo no es el solicitante original, entonces se necesitará otro verificador para verificar su trabajo. Pero este nuevo verificador también podría no ser de confianza, por lo que se necesita otro verificador para verificar su trabajo, lo que podría continuar indefinidamente, creando una cadena de replicación infinita. Aquí necesitamos introducir tres conceptos clave e interconectarlos para construir un sistema de participantes con cuatro roles para resolver el problema de la cadena infinita.

Pruebas de aprendizaje probabilístico: Construye certificados de trabajo completado utilizando metadatos del proceso de optimización basado en gradientes. Al replicar ciertas etapas, estos certificados se pueden verificar rápidamente para asegurar que el trabajo se ha completado según lo esperado.

Protocolo de posicionamiento preciso basado en gráficos: Utilizando protocolos de posicionamiento preciso basados en gráficos de múltiples granularidades y ejecución consistente de evaluadores cruzados. Esto permite volver a ejecutar y comparar el trabajo de verificación para garantizar la consistencia, que finalmente es confirmada por la propia cadena de bloques.

Juego de incentivos al estilo Truebit: Utilice apuestas y penalizaciones para construir un juego de incentivos que garantice que cada participante económicamente razonable actuará honestamente y realizará sus tareas esperadas.

El sistema de participantes consta de remitentes, solucionadores, verificadores y denunciantes.

Submitters:

Los subidores son los usuarios finales del sistema que proporcionan tareas a ser calculadas y pagan por las unidades de trabajo completadas;

Solucionadores:

Los solucionadores son los trabajadores principales del sistema, realizando el entrenamiento del modelo y generando pruebas que son verificadas por el verificador;

Verificadores:

Los verificadores son clave para vincular el proceso de entrenamiento no determinista con cálculos lineales deterministas, replicando partes de la prueba del solucionador y comparando distancias con umbrales esperados;

Informantes:

Los denunciantes son la última línea de defensa, verificando el trabajo de los verificadores y planteando desafíos con la esperanza de recibir generosos pagos de recompensa.

Operación del sistema

El sistema de juego diseñado por el protocolo opera a través de ocho etapas, cubriendo cuatro roles principales de los participantes, para completar todo el proceso desde la presentación de la tarea hasta la verificación final.

Envío de tarea: las tareas constan de tres piezas específicas de información:

Metadatos que describen la tarea y los hiperparámetros;

Un archivo binario de modelo (o arquitectura básica);

Datos de entrenamiento preprocesados accesibles públicamente.

Para enviar una tarea, el remitente especifica los detalles de la tarea en un formato legible por máquina y la envía a la cadena junto con el archivo binario del modelo (o arquitectura legible por máquina) y una ubicación públicamente accesible de los datos de entrenamiento preprocesados. Los datos públicos pueden almacenarse en un almacenamiento de objetos simple como S3 de AWS, o en un almacenamiento descentralizado como IPFS, Arweave o Subspace.

Perfilado: El proceso de perfilado establece un umbral de distancia base para la verificación del aprendizaje. Los verificadores recuperarán periódicamente tareas de perfilado y generarán umbrales de mutación para la comparación de pruebas de aprendizaje. Para generar el umbral, el verificador ejecutará de manera determinista partes del entrenamiento una y otra vez utilizando diferentes semillas aleatorias, generando y verificando sus propias pruebas. Durante este proceso, el verificador establecerá un umbral de distancia esperado en general para el trabajo no determinista de la solución que puede ser utilizado para la verificación.

Entrenamiento: Después del perfilado, las tareas ingresan al grupo de tareas públicas (similar al Mempool de Ethereum). Seleccione un solver para ejecutar la tarea y elimine la tarea del grupo de tareas. Los solvers realizan la tarea en base a los metadatos enviados por el remitente y el modelo y datos de entrenamiento proporcionados. Al ejecutar tareas de entrenamiento, los solvers también generan pruebas de aprendizaje al verificar regularmente puntos y almacenar metadatos (incluidos parámetros) durante el proceso de entrenamiento, para que los verificadores puedan replicar los siguientes pasos de optimización de la forma más precisa posible.

Generación de pruebas: Los solucionadores almacenan periódicamente los pesos del modelo o las actualizaciones y sus índices correspondientes del conjunto de datos de entrenamiento para identificar las muestras utilizadas para generar las actualizaciones de peso. La frecuencia de los puntos de control se puede ajustar para proporcionar garantías más sólidas o para ahorrar espacio de almacenamiento. Las pruebas pueden estar "apiladas", lo que significa que pueden comenzar desde una distribución aleatoria utilizada para inicializar los pesos, o desde pesos preentrenados generados utilizando sus propias pruebas. Esto permite que el protocolo construya un conjunto de modelos base probados y preentrenados que se pueden ajustar para tareas más específicas.

Verificación de prueba: Después de que se completa la tarea, los solucionadores registran la finalización de la tarea en la cadena y muestran su prueba de aprendizaje en un lugar de acceso público para que los verificadores la consulten. Los verificadores extraen las tareas de verificación del grupo de tareas públicas y realizan trabajos computacionales para volver a ejecutar parte de la prueba y realizar cálculos de distancia. La cadena, junto con el umbral calculado durante la etapa de perfilado, luego utiliza la distancia resultante para determinar si la verificación coincide con la prueba.

Desafío basado en grafos: Después de verificar la prueba de aprendizaje, los denunciantes pueden replicar el trabajo de los verificadores para verificar si el trabajo de verificación en sí se ejecutó correctamente. Si los denunciantes creen que la verificación se realizó de forma incorrecta (maliciosa o no), pueden desafiarla para la arbitraje de contrato por una recompensa. Esta recompensa puede provenir de los depósitos del solucionador y del validador (en caso de un verdadero positivo), o de un bono de la reserva de lotería (en caso de un falso positivo), con la arbitraje realizada utilizando la cadena misma. Los denunciantes (actuando como verificadores en su caso) solo verificarán y desafiarán el trabajo si esperan recibir una compensación adecuada. En la práctica, esto significa que se espera que los denunciantes se unan y abandonen la red según la cantidad de otros denunciantes activos (es decir, con depósitos y desafíos en vivo). Por lo tanto, la estrategia predeterminada esperada para cualquier denunciante es unirse a la red cuando haya menos denunciantes, publicar un depósito, seleccionar aleatoriamente una tarea activa, y comenzar su proceso de verificación. Después de una tarea, tomarán otra tarea activa al azar y repetirán hasta que la cantidad de denunciantes supere su umbral de pago determinado, momento en el cual abandonarán la red (o más probablemente, cambiarán a otro rol en la red - verificador o solucionador - según sus capacidades de hardware) hasta que la situación se revierta nuevamente.

Arbitraje de contrato: Cuando los verificadores son desafiados por denunciantes, entran en un proceso con la cadena para descubrir la ubicación de la operación o entrada en disputa, y en última instancia la cadena realizará la operación básica final y determinará si el desafío está justificado. Para mantener honestos a los denunciantes y superar el dilema del verificador, aquí se introducen errores forzados periódicos y pagos de premios mayores.

Liquidación: Durante el proceso de liquidación, los participantes reciben pagos basados en las conclusiones de las verificaciones probabilísticas y determinísticas. Diferentes escenarios de pago surgen dependiendo de los resultados de las verificaciones y desafíos previos. Si se considera que el trabajo se realizó correctamente y todas las verificaciones han pasado, tanto los proveedores de soluciones como los verificadores reciben recompensas basadas en las operaciones realizadas.

Reseña breve del proyecto

Gensyn ha diseñado un sistema sofisticado de teoría de juegos en la capa de verificación y capas de incentivos, que permite la rápida identificación y corrección de errores al señalar las divergencias dentro de la red. Sin embargo, aún faltan muchos detalles en el sistema actual. Por ejemplo, ¿cómo establecer parámetros para garantizar que las recompensas y penalizaciones sean razonables sin establecer el umbral demasiado alto? ¿Han considerado escenarios extremos y la diferente potencia informática de los solucionadores en los aspectos de teoría de juegos? No hay una descripción detallada de la ejecución paralela heterogénea en la versión actual del whitepaper. Gensyn todavía tiene un largo camino por recorrer.

Together.ai

Together.ai es una empresa que se enfoca en soluciones computacionales de inteligencia artificial descentralizadas de código abierto para modelos grandes. Su objetivo es lograr que cualquiera pueda acceder a la IA en cualquier lugar. Estrictamente hablando, Together no es un proyecto de blockchain, pero ha resuelto preliminarmente los problemas de latencia dentro de las redes computacionales de AGI descentralizadas. Por lo tanto, el siguiente artículo solo analiza las soluciones de Together y no evalúa el proyecto en sí.

¿Cómo lograr el entrenamiento y la inferencia de modelos grandes cuando las redes descentralizadas son 100 veces más lentas que los centros de datos?

Imaginemos la distribución de las GPUs que participan en una red descentralizada. Estos dispositivos estarán repartidos en diferentes continentes y ciudades, cada uno necesitando conectarse con latencias y anchos de banda variables. Como se muestra en la figura a continuación, un escenario distribuido simulado muestra dispositivos ubicados en América del Norte, Europa y Asia, con diferentes anchos de banda y latencias entre ellos. ¿Qué se necesita hacer para vincularlos eficazmente?

Modelado computacional de entrenamiento distribuido: El diagrama a continuación muestra la situación de entrenamiento de un modelo base en múltiples dispositivos, con tres tipos de comunicación: Activación hacia adelante, Gradiente hacia atrás y Comunicación lateral.

Combinando el ancho de banda de comunicación y la latencia, se deben considerar dos formas de paralelismo: paralelismo de tubería y paralelismo de datos, correspondientes a los tres tipos de comunicación en el escenario de múltiples dispositivos:

En el paralelismo de canalizaciones, todas las capas del modelo se dividen en varias etapas, donde cada dispositivo procesa una etapa, que es una secuencia de capas consecutivas, como varios bloques de Transformador. Durante la propagación hacia adelante, las activaciones se pasan a la siguiente etapa, y durante la propagación hacia atrás, los gradientes de las activaciones se pasan a la etapa anterior.

En el paralelismo de datos, los dispositivos calculan de forma independiente los gradientes para diferentes micro lotes pero necesitan sincronizar estos gradientes a través de la comunicación.

Optimización de la programación:

En un entorno descentralizado, el proceso de formación a menudo está limitado por la comunicación. Los algoritmos de programación generalmente asignan tareas que requieren una comunicación extensa a dispositivos con conexiones más rápidas. Teniendo en cuenta las dependencias entre tareas y la heterogeneidad de la red, primero es necesario modelar el costo de estrategias de programación específicas. Para capturar el complejo costo de comunicación de la formación de modelos base, Together propone una nueva formulación y descompone el modelo de costos en dos niveles utilizando la teoría de grafos:

La teoría de grafos es una rama de las matemáticas que estudia las propiedades y estructuras de los grafos (redes). Un grafo consta de vértices (nodos) y aristas (líneas que conectan nodos). El propósito principal de la teoría de grafos es estudiar varias propiedades de los grafos, como la conectividad, la coloración y la naturaleza de los caminos y ciclos en los grafos.

El primer nivel es un problema de partición de gráficos equilibrados (dividiendo el conjunto de vértices de un gráfico en varios subconjuntos de tamaño igual o casi igual mientras se minimiza el número de bordes entre subconjuntos). En esta partición, cada subconjunto representa una partición, y los costos de comunicación se reducen al minimizar los bordes entre particiones, lo que corresponde a los costos de comunicación del paralelismo de datos.

El segundo nivel implica un problema conjunto de emparejamiento de gráficos y el problema del viajante de comercio (un problema de optimización combinatoria que combina elementos de emparejamiento de gráficos y el problema del viajante de comercio). El problema de emparejamiento de gráficos implica encontrar una coincidencia en el gráfico que minimice o maximice algún costo. El problema del viajante de comercio busca el camino más corto que visite todos los nodos en el gráfico, correspondiente a los costos de comunicación del paralelismo de tuberías.

El diagrama anterior es un esquema del proceso. Debido a los cálculos complejos involucrados en la implementación real, el proceso descrito en el diagrama se simplifica para una comprensión más fácil. Para una implementación detallada, se puede consultar la documentación en el sitio web oficial de Together.

Supongamos que hay un conjunto de dispositivos NN, DD, con retrasos de comunicación inciertos (matriz AA) y anchos de banda (matriz BB), basado en el conjunto de dispositivos DD, primero generamos una partición de gráficos equilibrada. Cada partición o grupo de dispositivos contiene aproximadamente la misma cantidad de dispositivos, y todos manejan la misma etapa de canalización. Esto garantiza que durante el paralelismo de datos, cada grupo de dispositivos realice una cantidad similar de trabajo. Según los retrasos de comunicación y los anchos de banda, una fórmula puede calcular el 'costo' de transferir datos entre grupos de dispositivos. Cada grupo equilibrado se fusiona para crear un gráfico grueso completamente conectado, donde cada nodo representa una etapa de canalización, y los bordes representan el costo de comunicación entre dos etapas. Para minimizar los costos de comunicación, se utiliza un algoritmo de emparejamiento para determinar qué grupos de dispositivos deben trabajar juntos.

Para una mayor optimización, este problema también puede ser modelado como un problema del viajante de comercio de lazo abierto (lazo abierto significa que no es necesario regresar al punto de inicio del camino) para encontrar un camino óptimo para transmitir datos a través de todos los dispositivos. Finalmente, Together utiliza un algoritmo de programación innovador para encontrar la estrategia de asignación óptima para el modelo de costos dado, minimizando así los costos de comunicación y maximizando el rendimiento del entrenamiento. Según las pruebas, incluso si la red es 100 veces más lenta bajo esta optimización de programación, el rendimiento del entrenamiento de extremo a extremo es solo aproximadamente de 1.7 a 2.3 veces más lento.

Optimización de compresión de comunicación:

Para la optimización de la compresión de la comunicación, Together introdujo el algoritmo AQ-SGD (para obtener información detallada sobre el proceso de cálculo, consulte el artículo "Fine-tuning Language Models over Slow Networks using Activation Compression with Guarantees"). El algoritmo AQ-SGD es una novedosa técnica de compresión de activación diseñada para abordar los problemas de eficiencia de la comunicación durante el entrenamiento paralelo de canalizaciones en redes lentas. A diferencia de los métodos anteriores de compresión directa de los valores de activación, AQ-SGD se centra en comprimir los cambios en los valores de activación de la misma muestra de entrenamiento en diferentes períodos. Este método único introduce una interesante dinámica "autoejecutable", en la que se espera que el rendimiento del algoritmo mejore gradualmente a medida que el entrenamiento se estabilice. El algoritmo AQ-SGD ha sido rigurosamente analizado teóricamente y se ha demostrado que tiene buenas tasas de convergencia bajo ciertas condiciones técnicas y funciones de cuantificación de errores acotados. El algoritmo se puede implementar de manera efectiva sin agregar sobrecarga adicional de tiempo de ejecución de extremo a extremo, aunque requiere el uso de más memoria y SSD para almacenar los valores de activación. A través de extensos experimentos en conjuntos de datos de clasificación de secuencias y modelado de lenguaje, se ha demostrado que AQ-SGD comprime los valores de activación a 2-4 bits sin sacrificar el rendimiento de la convergencia. Además, AQ-SGD se puede integrar con algoritmos de compresión de gradiente de última generación para lograr una "compresión de comunicación de extremo a extremo", lo que significa que los intercambios de datos entre todas las máquinas, incluidos los gradientes del modelo, los valores de activación hacia adelante y los gradientes hacia atrás, se comprimen con baja precisión, lo que mejora significativamente la eficiencia de la comunicación del entrenamiento distribuido. En comparación con el rendimiento de entrenamiento de extremo a extremo en una red informática centralizada (como 10 Gbps) sin compresión, actualmente es solo un 31% más lento. Combinado con los datos sobre la optimización de la programación, aunque todavía existe una cierta brecha entre las redes informáticas centralizadas, existe una gran esperanza de ponerse al día en el futuro.

Conclusión

En el período de dividendos traído por la ola de IA, el mercado de potencia computacional AGI es sin duda el mercado con mayor potencial y demanda entre los diversos mercados de potencia computacional. Sin embargo, la mayor dificultad de desarrollo, los requisitos de hardware y las demandas de capital están presentando desafíos para esta industria. Combinando los dos proyectos presentados anteriormente, aún falta algún tiempo antes de que se lance el mercado de potencia computacional AGI. La red descentralizada real es también mucho más complicada que el escenario ideal. Actualmente, no es suficiente para competir con los gigantes de la nube.

En el momento de escribir este artículo, también observé que algunos proyectos a pequeña escala que aún están en pañales (la etapa PPT) han comenzado a explorar algunos nuevos puntos de entrada, como centrarse en la etapa de inferencia AGI menos desafiante en lugar de la etapa de capacitación. Sin embargo, a largo plazo, la importancia de la descentralización y los sistemas sin permisos es profunda. El derecho a acceder y entrenar el poder de cómputo de AGI no debe concentrarse en manos de unos pocos gigantes centralizados. La humanidad no necesita una nueva "teocracia" o un nuevo "papa", ni debe pagar costosas cuotas de membresía.

Descargo de responsabilidad:

  1. Este artículo es reimpreso de [YBB Capital]. Todos los derechos de autor pertenecen al autor original [Zeke]. If there are objections to this reprint, please contact the Gate Learnequipo, y ellos lo resolverán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!