Proponemos OPML (Aprendizaje automático optimista), que puede utilizar métodos optimistas para el razonamiento del modelo de IA y el entrenamiento/ajuste fino de los sistemas de cadena de bloques.
En comparación con ZKML, OPML puede proporcionar servicios de ML de bajo costo y alta eficiencia. Los requisitos de participación para OPML son bajos: ahora podemos ejecutar OPML con modelos de lenguaje grandes como 7B-LLaMA (tamaño del modelo ~26 GB) en una PC común sin GPU.
OPML emplea un juego de verificación (similar a los sistemas Truebit y Optimistic Rollup) para garantizar la descentralización y el consenso verificable de los servicios de ML.
El solicitante primero inicia una tarea de servicio de ML.
Luego, el servidor completa la tarea de servicio de ML y envía el resultado a la cadena.
El verificador verificará el resultado. Suponga que hay un validador que afirma que el resultado es falso. Comienza el juego de verificación con el servidor (acuerdo bipartito) e intenta refutar el reclamo señalando un paso incorrecto específico.
Finalmente, se lleva a cabo un arbitraje de un solo paso en el contrato inteligente.
Juego de verificación monofásico
El protocolo de localización precisa monofásico funciona de manera similar a la delegación de computación (RDoC), donde se supone que dos o más partes (con al menos una parte honesta) ejecutan el mismo procedimiento. Ambas partes pueden entonces interrogarse mutuamente con precisión para identificar los pasos en disputa. Envíe los pasos a un juez menos poderoso desde el punto de vista computacional (contrato inteligente en la cadena de bloques) para el arbitraje.
En OPML de una etapa:
Construimos una máquina virtual (VM) para la ejecución fuera de la cadena y el arbitraje en la cadena. Garantizamos la equivalencia de máquinas virtuales fuera de la cadena y máquinas virtuales en la cadena implementadas en contratos inteligentes.
Para garantizar la eficiencia de la inferencia del modelo de IA en máquinas virtuales, implementamos una biblioteca DNN liviana diseñada específicamente para este propósito, en lugar de depender de marcos de ML populares como Tensorflow o PyTorch. Además, se proporciona un script que convierte los modelos de Tensorflow y PyTorch en esta biblioteca liviana.
Utilice la tecnología de compilación cruzada para compilar el código de razonamiento del modelo de inteligencia artificial en las instrucciones del programa de la máquina virtual.
La imagen de la máquina virtual se administra con un árbol de Merkle y solo la raíz de Merkle se cargará en el contrato inteligente de la cadena. (La raíz de Merkel representa el estado de la máquina virtual)
El acuerdo bipartito ayudará a ubicar el paso de la disputa, que se enviará al contrato de arbitraje en la cadena de bloques
Rendimiento: Probamos un modelo básico de IA (modelo DNN para clasificación MNIST) en PC. Pudimos completar la inferencia de DNN en 2 segundos en la VM, y todo el proceso de desafío se puede completar en 2 minutos en el entorno de prueba local de Ethereum.
Juego de verificación de varias etapas
Limitaciones de los protocolos de localización de una sola fase
El juego de verificación de una sola etapa tiene una seria desventaja: todos los cálculos deben realizarse dentro de una máquina virtual (VM), lo que nos impide explotar todo el potencial de la aceleración GPU/TPU o el procesamiento paralelo. Por lo tanto, esta limitación dificulta gravemente la eficiencia de la inferencia de modelos grandes, lo que también es coherente con la limitación del protocolo RDoC actual.
Transición al protocolo multifase
Para abordar las limitaciones impuestas por el protocolo monofásico y garantizar que OPML pueda alcanzar niveles de rendimiento comparables a los entornos nativos, proponemos una extensión del protocolo multifásico. Con este enfoque, solo necesitamos realizar cálculos en la VM en la etapa final, similar a un protocolo de una sola etapa. Para otras etapas, tenemos la flexibilidad de realizar cálculos para lograr transiciones de estado en un entorno nativo, aprovechando la potencia de las CPU, GPU, TPU e incluso el procesamiento paralelo. Al reducir la dependencia de la VM, reducimos significativamente la sobrecarga y, por lo tanto, mejoramos significativamente el rendimiento de ejecución de OPML, casi similar al entorno nativo.
La siguiente figura muestra un juego de verificación que consta de dos fases (k = 2). En la Fase 1, el proceso se asemeja a un juego de verificación de una sola etapa, donde cada transición de estado corresponde a una sola operación de máquina virtual que cambia el estado de la máquina virtual. En la fase 2, las transiciones de estado corresponden a "grandes instrucciones" que contienen múltiples uops que cambian el contexto computacional.
Los encargados de la confirmación y los verificadores utilizarán primero el acuerdo bipartito para iniciar la segunda fase del juego de verificación para ubicar los pasos en disputa en el "gran pedido". Este paso enviará a la siguiente fase, la fase -1. La primera etapa funciona como un juego de verificación de una sola etapa. El acuerdo bipartito de la Fase 1 ayudará a localizar los pasos en disputa en las operaciones de VM. Este paso se enviará al contrato de arbitraje en la cadena de bloques.
Para garantizar la integridad y la seguridad de la transición a la siguiente fase, confiamos en los árboles de Merkle. Esta operación consiste en extraer subárboles de Merkle de etapas de nivel superior, lo que garantiza una continuación perfecta del proceso de verificación.
OPML multietapa
En esta presentación, proponemos el enfoque OPML de dos etapas utilizado en el modelo LLaMA:
El proceso de cálculo del aprendizaje automático (ML), especialmente la red neuronal profunda (DNN), se puede expresar como un gráfico de cálculo, denominado G. El gráfico consta de varios nodos informáticos capaces de almacenar resultados informáticos intermedios.
El razonamiento del modelo DNN es esencialmente un proceso de cálculo en el gráfico de cálculo anterior. El gráfico completo se puede ver como el estado de inferencia (contexto computacional en la Fase 2). A medida que se calcula cada nodo, el resultado se almacena en ese nodo, lo que hace avanzar el gráfico de cálculo al siguiente estado.
Por lo tanto, primero podemos realizar el juego de verificación en el gráfico computacional (en la fase 2). En la segunda etapa del juego de verificación, el cálculo del nodo del gráfico se puede realizar en el entorno local utilizando una CPU o GPU de subprocesos múltiples. El acuerdo bipartito ayudará a localizar el nodo en disputa cuyo cómputo se enviará a la siguiente fase (fase-1) del acuerdo bipartito.
En la bisección de la primera fase, convertimos el cálculo de un solo nodo en instrucciones de máquina virtual (VM), similar a lo que se hace en el protocolo de una sola fase.
Vale la pena señalar que anticipamos la introducción de métodos OPML de múltiples etapas (que comprenden más de dos etapas) cuando el cálculo de un solo nodo en el gráfico computacional aún es computacionalmente complejo. Esta extensión mejorará aún más la eficiencia y eficacia general del proceso de verificación.
Mejoras de rendimiento
Aquí, proporcionamos una breve discusión y análisis de nuestro marco de verificación de etapas múltiples propuesto.
Suponiendo que hay n nodos en el gráfico de cálculo de DNN, cada nodo necesita obtener m microinstrucciones de VM para completar el cálculo en la VM. Suponga que la tasa de aceleración de la computación para cada nodo que usa GPU o computación paralela es α. Esta relación representa la aceleración lograda por GPU o computación paralela y puede alcanzar valores significativos, a menudo decenas o incluso cientos de veces más rápido que la ejecución de VM.
En base a estas consideraciones, extraemos las siguientes conclusiones:
El OPML de dos etapas es superior al OPML de una sola etapa y realiza el cálculo de tiempos de aceleración α. El uso de la verificación en varias etapas nos permite aprovechar la potencia informática acelerada proporcionada por las GPU o el procesamiento paralelo, lo que mejora significativamente el rendimiento general.
Al comparar el tamaño de los árboles de Merkle, encontramos que en OPML de dos etapas, el tamaño es O(m+n), mientras que en OPML de una etapa, el tamaño es significativamente mayor que O(mn). La reducción del tamaño del árbol de Merkle destaca aún más la eficiencia y la escalabilidad del diseño de varias etapas.
En resumen, el marco de verificación de múltiples etapas proporciona mejoras significativas en el rendimiento, lo que garantiza cálculos más eficientes y rápidos, especialmente cuando se aprovechan las capacidades de aceleración de las GPU o el procesamiento paralelo. Además, el tamaño reducido del árbol de Merkle aumenta la eficacia y la escalabilidad del sistema, lo que convierte a OPML multietapa en la elección para varias aplicaciones.
Coherencia y determinismo
En OPML, es fundamental garantizar la coherencia de los resultados de ML.
Durante la ejecución nativa de los cálculos de DNN, especialmente en diferentes plataformas de hardware, debido a las características de los números de punto flotante, pueden ocurrir diferencias en los resultados de la ejecución. Por ejemplo, los cálculos paralelos que involucran números de coma flotante, como (a+b)+c y a+(b+c), a menudo producen resultados diferentes debido a errores de redondeo. Además, factores como el lenguaje de programación, la versión del compilador y el sistema operativo pueden afectar los resultados del cálculo de los números de punto flotante, lo que genera más inconsistencias en los resultados de ML.
Para abordar estos desafíos y garantizar la consistencia de OPML, adoptamos dos enfoques clave:
Usando un algoritmo de punto fijo, también conocido como tecnología de cuantificación. Esta técnica nos permite representar y realizar cálculos utilizando precisión fija en lugar de números de coma flotante. Al hacer esto, mitigamos los efectos de los errores de redondeo de coma flotante, lo que da como resultado resultados más confiables y consistentes.
Utilizamos bibliotecas de punto flotante basadas en software diseñadas para mantener una funcionalidad consistente en diferentes plataformas. Estas bibliotecas garantizan la coherencia entre plataformas y el determinismo de los resultados de ML, independientemente de la configuración de software o hardware subyacente.
Al combinar la aritmética de punto fijo y las bibliotecas de punto flotante basadas en software, hemos establecido una base sólida para obtener resultados de aprendizaje automático consistentes y confiables dentro del marco OPML. Esta coordinación de técnicas nos permite superar los desafíos inherentes que plantean las variables de punto flotante y las diferencias de plataforma, mejorando en última instancia la integridad y confiabilidad de los cálculos OPML.
OPML frente a ZKML
*: En el marco OPML actual, nuestro enfoque principal está en la inferencia de modelos ML, lo que permite un cálculo de modelos eficiente y seguro. Sin embargo, se debe enfatizar que nuestro marco también admite el proceso de capacitación, lo que lo convierte en una solución general para varias tareas de aprendizaje automático.
Tenga en cuenta que OPML aún está en desarrollo. Si está interesado en ser parte de este emocionante programa y contribuir al proyecto OPML, no dude en contactarnos.
Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
OPML: Machine Learning con Optimistic Rollup System
Fuente: github; Compilación: MarsBit
TL;DR
Proponemos OPML (Aprendizaje automático optimista), que puede utilizar métodos optimistas para el razonamiento del modelo de IA y el entrenamiento/ajuste fino de los sistemas de cadena de bloques.
En comparación con ZKML, OPML puede proporcionar servicios de ML de bajo costo y alta eficiencia. Los requisitos de participación para OPML son bajos: ahora podemos ejecutar OPML con modelos de lenguaje grandes como 7B-LLaMA (tamaño del modelo ~26 GB) en una PC común sin GPU.
OPML emplea un juego de verificación (similar a los sistemas Truebit y Optimistic Rollup) para garantizar la descentralización y el consenso verificable de los servicios de ML.
Juego de verificación monofásico
El protocolo de localización precisa monofásico funciona de manera similar a la delegación de computación (RDoC), donde se supone que dos o más partes (con al menos una parte honesta) ejecutan el mismo procedimiento. Ambas partes pueden entonces interrogarse mutuamente con precisión para identificar los pasos en disputa. Envíe los pasos a un juez menos poderoso desde el punto de vista computacional (contrato inteligente en la cadena de bloques) para el arbitraje.
En OPML de una etapa:
Rendimiento: Probamos un modelo básico de IA (modelo DNN para clasificación MNIST) en PC. Pudimos completar la inferencia de DNN en 2 segundos en la VM, y todo el proceso de desafío se puede completar en 2 minutos en el entorno de prueba local de Ethereum.
Juego de verificación de varias etapas
Limitaciones de los protocolos de localización de una sola fase
El juego de verificación de una sola etapa tiene una seria desventaja: todos los cálculos deben realizarse dentro de una máquina virtual (VM), lo que nos impide explotar todo el potencial de la aceleración GPU/TPU o el procesamiento paralelo. Por lo tanto, esta limitación dificulta gravemente la eficiencia de la inferencia de modelos grandes, lo que también es coherente con la limitación del protocolo RDoC actual.
Transición al protocolo multifase
Para abordar las limitaciones impuestas por el protocolo monofásico y garantizar que OPML pueda alcanzar niveles de rendimiento comparables a los entornos nativos, proponemos una extensión del protocolo multifásico. Con este enfoque, solo necesitamos realizar cálculos en la VM en la etapa final, similar a un protocolo de una sola etapa. Para otras etapas, tenemos la flexibilidad de realizar cálculos para lograr transiciones de estado en un entorno nativo, aprovechando la potencia de las CPU, GPU, TPU e incluso el procesamiento paralelo. Al reducir la dependencia de la VM, reducimos significativamente la sobrecarga y, por lo tanto, mejoramos significativamente el rendimiento de ejecución de OPML, casi similar al entorno nativo.
La siguiente figura muestra un juego de verificación que consta de dos fases (k = 2). En la Fase 1, el proceso se asemeja a un juego de verificación de una sola etapa, donde cada transición de estado corresponde a una sola operación de máquina virtual que cambia el estado de la máquina virtual. En la fase 2, las transiciones de estado corresponden a "grandes instrucciones" que contienen múltiples uops que cambian el contexto computacional.
Los encargados de la confirmación y los verificadores utilizarán primero el acuerdo bipartito para iniciar la segunda fase del juego de verificación para ubicar los pasos en disputa en el "gran pedido". Este paso enviará a la siguiente fase, la fase -1. La primera etapa funciona como un juego de verificación de una sola etapa. El acuerdo bipartito de la Fase 1 ayudará a localizar los pasos en disputa en las operaciones de VM. Este paso se enviará al contrato de arbitraje en la cadena de bloques.
Para garantizar la integridad y la seguridad de la transición a la siguiente fase, confiamos en los árboles de Merkle. Esta operación consiste en extraer subárboles de Merkle de etapas de nivel superior, lo que garantiza una continuación perfecta del proceso de verificación.
OPML multietapa
En esta presentación, proponemos el enfoque OPML de dos etapas utilizado en el modelo LLaMA:
Vale la pena señalar que anticipamos la introducción de métodos OPML de múltiples etapas (que comprenden más de dos etapas) cuando el cálculo de un solo nodo en el gráfico computacional aún es computacionalmente complejo. Esta extensión mejorará aún más la eficiencia y eficacia general del proceso de verificación.
Mejoras de rendimiento
Aquí, proporcionamos una breve discusión y análisis de nuestro marco de verificación de etapas múltiples propuesto.
Suponiendo que hay n nodos en el gráfico de cálculo de DNN, cada nodo necesita obtener m microinstrucciones de VM para completar el cálculo en la VM. Suponga que la tasa de aceleración de la computación para cada nodo que usa GPU o computación paralela es α. Esta relación representa la aceleración lograda por GPU o computación paralela y puede alcanzar valores significativos, a menudo decenas o incluso cientos de veces más rápido que la ejecución de VM.
En base a estas consideraciones, extraemos las siguientes conclusiones:
El OPML de dos etapas es superior al OPML de una sola etapa y realiza el cálculo de tiempos de aceleración α. El uso de la verificación en varias etapas nos permite aprovechar la potencia informática acelerada proporcionada por las GPU o el procesamiento paralelo, lo que mejora significativamente el rendimiento general.
Al comparar el tamaño de los árboles de Merkle, encontramos que en OPML de dos etapas, el tamaño es O(m+n), mientras que en OPML de una etapa, el tamaño es significativamente mayor que O(mn). La reducción del tamaño del árbol de Merkle destaca aún más la eficiencia y la escalabilidad del diseño de varias etapas.
En resumen, el marco de verificación de múltiples etapas proporciona mejoras significativas en el rendimiento, lo que garantiza cálculos más eficientes y rápidos, especialmente cuando se aprovechan las capacidades de aceleración de las GPU o el procesamiento paralelo. Además, el tamaño reducido del árbol de Merkle aumenta la eficacia y la escalabilidad del sistema, lo que convierte a OPML multietapa en la elección para varias aplicaciones.
Coherencia y determinismo
En OPML, es fundamental garantizar la coherencia de los resultados de ML.
Durante la ejecución nativa de los cálculos de DNN, especialmente en diferentes plataformas de hardware, debido a las características de los números de punto flotante, pueden ocurrir diferencias en los resultados de la ejecución. Por ejemplo, los cálculos paralelos que involucran números de coma flotante, como (a+b)+c y a+(b+c), a menudo producen resultados diferentes debido a errores de redondeo. Además, factores como el lenguaje de programación, la versión del compilador y el sistema operativo pueden afectar los resultados del cálculo de los números de punto flotante, lo que genera más inconsistencias en los resultados de ML.
Para abordar estos desafíos y garantizar la consistencia de OPML, adoptamos dos enfoques clave:
Usando un algoritmo de punto fijo, también conocido como tecnología de cuantificación. Esta técnica nos permite representar y realizar cálculos utilizando precisión fija en lugar de números de coma flotante. Al hacer esto, mitigamos los efectos de los errores de redondeo de coma flotante, lo que da como resultado resultados más confiables y consistentes.
Utilizamos bibliotecas de punto flotante basadas en software diseñadas para mantener una funcionalidad consistente en diferentes plataformas. Estas bibliotecas garantizan la coherencia entre plataformas y el determinismo de los resultados de ML, independientemente de la configuración de software o hardware subyacente.
Al combinar la aritmética de punto fijo y las bibliotecas de punto flotante basadas en software, hemos establecido una base sólida para obtener resultados de aprendizaje automático consistentes y confiables dentro del marco OPML. Esta coordinación de técnicas nos permite superar los desafíos inherentes que plantean las variables de punto flotante y las diferencias de plataforma, mejorando en última instancia la integridad y confiabilidad de los cálculos OPML.
OPML frente a ZKML
*: En el marco OPML actual, nuestro enfoque principal está en la inferencia de modelos ML, lo que permite un cálculo de modelos eficiente y seguro. Sin embargo, se debe enfatizar que nuestro marco también admite el proceso de capacitación, lo que lo convierte en una solución general para varias tareas de aprendizaje automático.
Tenga en cuenta que OPML aún está en desarrollo. Si está interesado en ser parte de este emocionante programa y contribuir al proyecto OPML, no dude en contactarnos.