图片

El clon e4eeb3 aprobado por la comunidad en la propuesta 13094 completa el hito de Cyclotron en la hoja de ruta del ICP.

El objetivo de este hito es permitir la inferencia en cadena de modelos de IA con millones de parámetros, que es el primer paso hacia el objetivo más ambicioso de entrenamiento e inferencia en cadena de modelos de IA a gran escala.

Como todos sabemos, las cargas de trabajo de IA son computacionalmente intensivas, y la inferencia en modelos de IA con millones de parámetros requiere miles de millones de operaciones aritméticas, como la multiplicación y la suma, lo que significa que, para soportar la inferencia en cadena, blockchain necesita la capacidad de Procesar miles de millones de operaciones por segundo.

El hito del Ciclotrón aumenta la potencia informática de ICP en un orden de magnitud (~10x), lo que la convierte en la única cadena de bloques que tiene un ejemplo funcional de un contrato inteligente que realiza el reconocimiento facial completamente en la cadena, así como otros casos de uso como la clasificación de imágenes. y ejecución GPT2 (desarrollado por DecideAI).

Vea el vídeo de demostración de reconocimiento facial de Dominic Williams al principio de este artículo.

图片

La base de la informática con inteligencia artificial en cadena

La máquina virtual es parte de la cadena de bloques y es crucial para los cálculos de IA porque puede ejecutar el código de contratos inteligentes. Las funciones y el rendimiento de la máquina virtual afectan directamente la cantidad de cálculos de IA que puede realizar el contrato inteligente.

Por ejemplo, EVM es la máquina virtual de Ethereum, que está hecha a medida para contratos inteligentes DeFi y carece de funciones como las operaciones de punto flotante necesarias para los cálculos de IA. Por el contrario, ICP utiliza WebAssembly como máquina virtual y WebAssembly admite números de punto flotante. Y diseñado desde cero para un rendimiento casi nativo.

La idea detrás del hito Cyclotron es exprimir el mayor rendimiento posible de punto flotante de la máquina virtual ICP.

Optimización 1: operaciones deterministas de punto flotante

La mayoría de las bibliotecas y marcos de IA se basan en operaciones de punto flotante y, en el contexto de ICP, las operaciones de punto flotante deben ser deterministas, lo que significa que deben producir los mismos resultados predecibles utilizando los mismos operandos de entrada.

Esta propiedad determinista es importante porque ICP ejecuta el mismo código en varios nodos y luego ejecuta su algoritmo de consenso para establecer el resultado correcto. Si la operación de punto flotante no es determinista, los nodos pueden no estar de acuerdo, lo que impide que la cadena de bloques progrese.

Los ingenieros de DFINITY encontraron una manera de acelerar las operaciones deterministas de punto flotante en una implementación de máquina virtual WebAssembly llamada Wasmtime, una optimización del compilador de bajo nivel que produce código más rápido que beneficia más que solo ICP, beneficiando también a otras plataformas y blockchains que utilizan Wasmtime.

Optimización 2: instrucción única, datos múltiples (SIMD)

SIMD es una tecnología compatible con todas las CPU modernas que permite a la CPU realizar múltiples operaciones aritméticas usando una sola instrucción. Por ejemplo, WebAssembly puede realizar cuatro adiciones de punto flotante paralelas usando una sola instrucción, como se muestra en la siguiente figura.

图片

WebAssembly SIMD también puede manejar números enteros; por ejemplo, puede realizar 16 operaciones aritméticas paralelas en pequeños enteros de 8 bits, lo que potencialmente mejora el rendimiento entre 4 y 16 veces según el tipo de números y operaciones.

Los contratos inteligentes que se ejecutan en ICP ahora pueden usar instrucciones SIMD deterministas y beneficiarse de la computación paralela. Aprenda a compilar contratos inteligentes usando SIMD:

  • github.com/dfinity/examples/tree/master/rust/simd

Optimización 3: compatibilidad con SIMD en el motor de inferencia de IA

La última pieza del rompecabezas de Cyclotron es agregar compatibilidad con WebAssembly SIMD a la biblioteca de IA, con los ingenieros de DFINITY contribuyendo con una implementación de WebAssembly SIMD al motor de inferencia de código abierto Sonos Tract.

El nuevo código utiliza instrucciones SIMD para implementar la multiplicación de matrices y otros algoritmos numéricos, similares a las primeras optimizaciones en Wasmtime, una contribución que beneficia no solo a ICP sino a la comunidad de desarrolladores en general.

resultado

En conjunto, estas optimizaciones mejoran las pruebas numéricas de microbenchmarks en 28 veces, con mejoras observadas que van de 5x a 19x según el modelo en cargas de trabajo de inferencia de IA de un extremo a otro, como se muestra en la siguiente figura.

图片

El código fuente de los contratos inteligentes que contienen estos modelos de IA está disponible en GitHub, por lo que cualquiera puede reproducir y verificar los resultados:

  • Clasificación de imágenes: este es un modelo de MobileNet que clasifica una imagen de entrada y devuelve la etiqueta más probable entre 1000 etiquetas conocidas, lo que reduce la cantidad de instrucciones Wasm necesarias para ejecutar una única inferencia de 24,7 mil millones a 3,7 mil millones.

  • Detección de rostros: este es un modelo Ultraface que puede encontrar el cuadro delimitador de un rostro en una imagen de entrada, lo que reduce la cantidad de instrucciones Wasm necesarias para ejecutar una sola inferencia de 6,1 mil millones a 1,2 mil millones.

  • Reconocimiento facial: este es un modelo que calcula incrustaciones vectoriales de imágenes de entrada de rostros. La cantidad de instrucciones Wasm necesarias para ejecutar una sola inferencia se reduce de 77 mil millones a 9 mil millones. El límite de ejecución en la red principal es de 40 mil millones de instrucciones. significa que el reconocimiento facial anterior no puede ejecutarse en la red principal y solo puede ejecutarse localmente en réplicas parcheadas.

  • GPT2: este es un modelo GPT2 que DecideAI convirtió en contratos inteligentes utilizando su marco Rust-connect-py-ai-to-ic, y los detalles del punto de referencia se describen en GitHub.

Los puntos de referencia se ejecutaron en dfx versión 0.20.1 (Baseline) y versión 0.22.0-beta.0 (Cyclotron).

en conclusión

El hito de Cyclotron acerca el rendimiento informático de IA en ICP al rendimiento de la CPU nativa al optimizar las operaciones de punto flotante y permitir instrucciones SIMD de WebAssembly. Admite el procesamiento en cadena de modelos con millones de parámetros, como clasificación de imágenes, reconocimiento facial y GPT2. Razonamiento de la IA.

Este es el primer paso hacia la ejecución completa de modelos de IA a gran escala en la cadena para resolver el problema de confianza de la IA. El próximo hito de la IA en la hoja de ruta de ICP tiene como objetivo trascender las limitaciones de la CPU para realizar inferencias de IA y modelos a gran escala. Para entrenar en la cadena, los contratos inteligentes requieren un método para ejecutar cálculos computacionales y que requieren mucha memoria en hardware especializado, como GPU.

Estén atentos a los hitos de Gyrotron.

图片

#AI模型 #DEAI🤖🤖🤖 #gpt4 $BTC $ETH $ICP


Contenido IC que te interesa

Progreso tecnológico | Información del proyecto | Eventos globales

Recopile y siga el canal IC Binance

Manténgase actualizado con la información más reciente