Demostrar la inferencia del modelo de aprendizaje automático (ML) a través de zkSNARK promete ser uno de los avances más importantes en los contratos inteligentes de esta década. Este desarrollo abre un espacio de diseño emocionantemente grande, lo que permite que las aplicaciones y la infraestructura evolucionen hacia sistemas más complejos e inteligentes.
Al agregar capacidades de ML, los contratos inteligentes pueden volverse más autónomos y dinámicos, lo que les permite tomar decisiones basadas en datos en cadena en tiempo real en lugar de reglas estáticas. Los contratos inteligentes serán flexibles y pueden adaptarse a una variedad de escenarios, incluidos aquellos que pueden no haberse previsto cuando se creó originalmente el contrato. En resumen, las capacidades de ML amplificarán la automatización, la precisión, la eficiencia y la flexibilidad de cualquier contrato inteligente que pongamos en cadena.
ML se usa ampliamente en la mayoría de las aplicaciones fuera de web3, y su aplicación en contratos inteligentes es casi nula. Esto se debe principalmente al alto costo computacional de ejecutar estos modelos en cadena. Por ejemplo, FastBERT es un modelo de lenguaje computacionalmente optimizado que utiliza alrededor de 1800 MFLOPS (millones de operaciones de coma flotante), que no se pueden ejecutar directamente en la EVM.
La aplicación del modelo ML en la cadena se centra principalmente en la etapa de razonamiento: aplicar el modelo para predecir datos del mundo real. Para tener contratos inteligentes a escala de ML, los contratos deben poder ingerir tales predicciones, pero como mencionamos antes, no es factible ejecutar modelos directamente en el EVM. zkSNARKs nos brinda una solución: cualquiera puede ejecutar un modelo fuera de la cadena y generar una prueba sucinta y verificable de que el modelo esperado produjo un resultado específico. Esta prueba se puede publicar en cadena e ingerir mediante contratos inteligentes para mejorar su inteligencia.
En este artículo, haremos lo siguiente:
Ver aplicaciones potenciales y casos de uso para ML en cadena
Explore proyectos e infraestructura emergentes en el núcleo de zkML
Discutir algunos de los desafíos de las implementaciones existentes y cómo podría ser el futuro de zkML
Introducción al aprendizaje automático (ML)
El aprendizaje automático (ML) es un subcampo de la inteligencia artificial (IA) que se centra en el desarrollo de algoritmos y modelos estadísticos que permiten a las computadoras aprender de los datos y hacer predicciones o decisiones. Los modelos de ML suelen tener tres componentes principales:
Datos de entrenamiento: un conjunto de datos de entrada utilizados para entrenar un algoritmo de aprendizaje automático para hacer predicciones o clasificar nuevos datos. Los datos de entrenamiento pueden adoptar muchas formas, como imágenes, texto, audio, datos numéricos o combinaciones de los mismos.
Arquitectura del modelo: la estructura general o el diseño de un modelo de aprendizaje automático. Define la jerarquía, las funciones de activación y el tipo y número de conexiones entre nodos o neuronas. La elección de la arquitectura depende del problema específico y de los datos utilizados.
Parámetros del modelo: Valores o pesos que el modelo aprende durante el entrenamiento para realizar predicciones. Estos valores se ajustan iterativamente mediante un algoritmo de optimización para minimizar el error entre los resultados previstos y los reales.
La generación y despliegue del modelo se divide en dos fases:
Fase de entrenamiento: en la fase de entrenamiento, el modelo se expone a un conjunto de datos etiquetado y ajusta sus parámetros para minimizar el error entre los resultados previstos y los resultados reales. El proceso de entrenamiento generalmente involucra múltiples iteraciones o ciclos, y la precisión del modelo se evalúa en un conjunto de validación separado.
Fase de inferencia: la fase de inferencia es la fase en la que el modelo de aprendizaje automático entrenado se usa para hacer predicciones sobre nuevos datos no vistos. Un modelo toma datos de entrada y aplica parámetros aprendidos para generar una salida, como una clasificación o una predicción de regresión.
Actualmente, zkML se enfoca principalmente en la fase de inferencia de los modelos de aprendizaje automático, más que en la fase de entrenamiento, principalmente debido a la complejidad computacional del entrenamiento en circuitos de verificación. Sin embargo, el enfoque de zkML en la inferencia no es una limitación: anticipamos algunos casos de uso y aplicaciones muy interesantes.
Escenarios de inferencia verificados
Hay cuatro escenarios posibles para validar el razonamiento:
Entrada privada, modelo público. Los Consumidores de Modelos (MC) pueden desear mantener su información confidencial de los Proveedores de Modelos (MP). Por ejemplo, un MC puede desear certificar a los prestamistas los resultados de un modelo de calificación crediticia sin revelar su información financiera personal. Esto se puede hacer usando un esquema de compromiso previo y ejecutando el modelo localmente.
Entrada pública, modelo privado. Un problema común con ML-as-a-Service es que un MP puede querer ocultar sus parámetros o pesos para proteger su IP, mientras que un MC quiere verificar que las inferencias generadas son realmente del modelo especificado en un entorno adversario. de ello de esta manera: al proporcionar inferencias al MC Cuando , MP tiene un incentivo para ejecutar un modelo más ligero para ahorrar dinero. Usando la promesa de pesos de modelo en cadena, los MC pueden auditar modelos privados en cualquier momento.
Entrada privada, modelo privado. Esto ocurre cuando los datos utilizados para la inferencia son muy sensibles o confidenciales, y el propio modelo está oculto para proteger la propiedad intelectual. Un ejemplo de esto podría incluir la auditoría de modelos de atención médica utilizando información privada del paciente. Las técnicas de composición en zk o variantes que usan computación de múltiples partes (MPC) o FHE se pueden usar para servir en este escenario.
Entrada pública, modelo público. Si bien todos los aspectos del modelo pueden hacerse públicos, zkML aborda un caso de uso diferente: comprimir y validar cálculos fuera de la cadena en entornos dentro de la cadena. Para modelos más grandes, es más rentable verificar el zk sucinto de la inferencia que volver a ejecutar el modelo usted mismo.
El razonamiento de ML verificado abre nuevos espacios de diseño para contratos inteligentes. Algunas aplicaciones cripto-nativas incluyen:
1, DeFi
Oráculos de aprendizaje automático fuera de cadena verificables. La adopción continua de IA generativa puede impulsar a la industria a implementar esquemas de firma para su contenido (por ejemplo, publicaciones de noticias que firman artículos o imágenes). Los datos firmados están listos para pruebas de conocimiento cero, lo que hace que los datos sean componibles y confiables. Los modelos ML pueden procesar estos datos firmados fuera de la cadena para hacer predicciones y clasificaciones (por ejemplo, clasificar resultados electorales o eventos meteorológicos). Estos oráculos de ML fuera de la cadena pueden resolver sin confianza los mercados de predicción del mundo real, los contratos de protocolo de seguros, etc. mediante la verificación del razonamiento y la publicación de pruebas en la cadena.
Aplicaciones DeFi basadas en parámetros ML. Muchos aspectos de DeFi pueden automatizarse más. Por ejemplo, los protocolos de préstamo pueden usar modelos ML para actualizar parámetros en tiempo real. Actualmente, los protocolos de préstamo se basan principalmente en modelos fuera de la cadena administrados por organizaciones para determinar los factores colaterales, la relación préstamo-valor, los umbrales de liquidación, etc., pero una mejor opción podría ser un modelo de código abierto capacitado por la comunidad que cualquiera pueda ejecutar. y verificar.
Estrategias comerciales automatizadas. Una forma común de demostrar las características de rendimiento de una estrategia de modelo financiero es que los parlamentarios proporcionen a los inversores varios datos de pruebas retrospectivas. Sin embargo, no hay forma de verificar que el estratega esté siguiendo el modelo al ejecutar una operación: el inversor debe confiar en que el estratega realmente está siguiendo el modelo. zkML proporciona una solución en la que MP puede proporcionar pruebas del razonamiento del modelo financiero cuando se implementa en puestos específicos. Esto podría ser especialmente útil para las bóvedas gestionadas por DeFi.
2. Seguridad
Monitoreo de fraude para contratos inteligentes. En lugar de permitir que la gobernanza humana lenta o los actores centralizados controlen la capacidad de suspender contratos, los modelos ML se pueden usar para detectar posibles comportamientos maliciosos y suspender contratos.
3. Aprendizaje automático tradicional
Una implementación descentralizada y sin confianza de Kaggle. Se podría crear un protocolo o mercado que permita a los MC u otras partes interesadas verificar la precisión de los modelos sin requerir que los MP revelen los pesos de los modelos. Esto es útil para vender modelos, realizar concursos en torno a la precisión del modelo, etc.
Un mercado rápido descentralizado para IA generativa. La creación de solicitudes para la IA generativa se ha convertido en un oficio complejo, y las solicitudes de generación de resultados óptimos a menudo tienen múltiples modificadores. Las partes externas pueden estar dispuestas a comprar estas sugerencias complejas de los creadores. zkML se puede usar de dos maneras aquí: 1) para validar la salida de la sugerencia, para asegurar a los compradores potenciales que la sugerencia realmente crea la imagen deseada;
Permitir que el propietario de la propina mantenga la propiedad de la propina después de la compra, mientras permanece oculto para el comprador, pero aún genera imágenes verificadas para él.
4. Identidad
Reemplace las claves privadas con autenticación biométrica que preserva la privacidad. La gestión de claves privadas sigue siendo uno de los mayores obstáculos en la experiencia del usuario web3. La abstracción de claves privadas a través del reconocimiento facial u otros factores únicos es una posible solución para zkML.
Lanzamientos aéreos justos y recompensas de contribuyentes. Los modelos ML se pueden usar para crear personas detalladas de usuarios para determinar las asignaciones de airdrop o las recompensas de contribución en función de múltiples factores. Esto puede ser especialmente útil cuando se combina con soluciones de identidad. En este caso, una posibilidad es hacer que los usuarios ejecuten un modelo de código abierto que evalúe su participación en la aplicación, así como la participación de nivel superior, como publicaciones en foros de gobierno, para razonar sobre sus tareas. Esta prueba se proporciona luego al contrato para la asignación del token correspondiente.
5. Redes Sociales Web3
Filtrado para redes sociales web3. La naturaleza descentralizada de las aplicaciones sociales web3 dará lugar a un aumento del spam y el contenido malicioso. Idealmente, una plataforma de redes sociales podría usar un modelo ML de código abierto de consenso comunitario y publicar pruebas del razonamiento del modelo cuando elige filtrar publicaciones. Caso en cuestión: análisis zkML en el algoritmo de Twitter.
Publicidad/Recomendación. Como usuario de redes sociales, puedo estar dispuesto a ver publicidad personalizada, pero deseo mantener mis preferencias e intereses privados de los anunciantes. Puedo elegir ejecutar un modelo localmente sobre mis intereses, introducirlo en una aplicación de medios para que me proporcione contenido. En este caso, los anunciantes pueden estar dispuestos a pagar a los usuarios finales para que esto suceda, sin embargo, estos modelos pueden ser mucho menos sofisticados que los modelos de publicidad dirigida que se encuentran actualmente en producción.
6. Economía del creador/Juegos
Reequilibrio de la economía en el juego. La emisión de tokens, el suministro, la quema, los umbrales de votación, etc. se pueden ajustar dinámicamente utilizando modelos ML. Un modelo posible es un contrato de incentivo que reequilibra la economía del juego si se alcanza un cierto umbral de reequilibrio y se verifica una prueba de razonamiento.
Nuevos tipos de juegos en cadena. Se pueden crear juegos cooperativos de humanos versus IA y otros juegos innovadores en cadena donde el modelo de IA sin confianza actúa como un personaje no jugable. Cada acción realizada por el NPC se publica en la cadena junto con una prueba que cualquiera puede verificar que se está ejecutando el modelo correcto. En Leela vs. the World de Modulus Labs, el verificador quiere asegurarse de que la IA de 1900 ELO declarada elija el movimiento, no Magnus Carlson. Otro ejemplo es AI Arena, un juego de lucha de IA similar a Super Smash Brothers. En un entorno competitivo de alto riesgo, los jugadores quieren asegurarse de que los modelos que entrenan no interfieran ni hagan trampa.
Proyectos e infraestructuras emergentes
El ecosistema zkML se puede dividir en términos generales en cuatro categorías principales:
Compilador de modelo a prueba: Infraestructura para compilar modelos en formatos existentes (por ejemplo, Pytorch, ONNX, etc.) en circuitos computacionales verificables.
Sistema de prueba generalizado: construya un sistema de prueba para verificar trayectorias computacionales arbitrarias.
Sistema de prueba específico de zkML: un sistema de prueba especialmente construido para verificar la trayectoria computacional de los modelos ML.
Aplicaciones: Proyectos que trabajan en casos de uso únicos de zkML.
01 Compiladores de modelo a prueba
En el ecosistema zkML, la mayor parte de la atención se ha centrado en la creación de compiladores de modelo a prueba. Por lo general, estos compiladores convertirán modelos ML avanzados en circuitos zk usando Pytorch, Tensorflow, etc.
EZKL es una biblioteca y una herramienta de línea de comandos para la inferencia de modelos de aprendizaje profundo en zk-SNARK. Con EZKL, puede definir un gráfico computacional en Pytorch o TensorFlow, exportarlo como un archivo ONNX con algunas entradas de ejemplo en archivos JSON y luego apuntar EZKL a estos archivos para generar circuitos zkSNARK. Con la última ronda de mejoras de rendimiento, EZKL ahora puede probar un modelo del tamaño de MNIST en ~6 segundos y 1,1 GB de RAM. Hasta la fecha, EZKL ha visto una adopción temprana notable, siendo utilizado como infraestructura para varios proyectos de hackathon.
La biblioteca circomlib-ml de Cathie So contiene varias plantillas de circuitos ML para Circom. Circuits incluye algunas de las funciones de ML más comunes. Keras 2c ircom, desarrollado por Cathie, es una herramienta de Python que convierte los modelos Keras en circuitos Circom utilizando la biblioteca subyacente circomlib-ml.
LinearA ha desarrollado dos marcos para zkML: Tachikoma y Uchikoma. Tachikoma se utiliza para convertir la red neuronal en una forma de solo números enteros y generar trayectorias computacionales. Uchikoma es una herramienta que convierte la representación intermedia de TVM a lenguajes de programación que no soportan operaciones de coma flotante. LinearA planea admitir Circom con aritmética de dominio y Solidity con aritmética de enteros con signo y sin signo.
El zkml de Daniel Kang es un marco para las pruebas de ejecución de los modelos de ML creados a partir de su trabajo en el documento "Ampliar la inferencia de DNN sin confianza con pruebas de conocimiento cero". Al momento de escribir, pudo probar un circuito MNIST en aproximadamente 5 GB de memoria y en aproximadamente 16 segundos de tiempo de ejecución.
En términos de compiladores de modelo a prueba más generalizados, están Nil Foundation y Risc Zero. El zkLLVM de Nil Foundation es un compilador de circuitos basado en LLVM capaz de validar modelos computacionales escritos en lenguajes de programación populares como C++, Rust y Java/Type. En comparación con los otros compiladores de modelo a prueba mencionados aquí, es una infraestructura de uso general, pero sigue siendo adecuada para cálculos complejos como zkML. Esto puede ser especialmente poderoso cuando se combina con su mercado de prueba.
Risc Zero construye un zkVM de propósito general dirigido al conjunto de instrucciones RISC-V de código abierto, por lo que admite lenguajes maduros existentes como C ++ y Rust, así como la cadena de herramientas LLVM. Esto permite una integración perfecta entre el código zkVM del anfitrión y el invitado, similar a la cadena de herramientas CUDA C++ de Nvidia, pero usando el motor ZKP en lugar de la GPU. Similar a Nil, use Risc Zero para verificar la trayectoria computacional de un modelo ML.
02 Sistema de prueba generalizado
Las mejoras en el sistema de prueba fueron la principal fuerza impulsora detrás de la realización de zkML, en particular, la introducción de puertas personalizadas y tablas de búsqueda. Esto se debe principalmente a la dependencia de ML en la no linealidad. En resumen, la no linealidad se introduce a través de funciones de activación (como ReLU, sigmoid y tanh) que se aplican a la salida de una transformación lineal en una red neuronal. Estas no linealidades son difíciles de implementar en circuitos zk debido a las restricciones de las puertas de operaciones matemáticas. La factorización bit a bit y las tablas de búsqueda pueden ayudar con esto precalculando los posibles resultados no lineales en la tabla de búsqueda, que es interesantemente más eficiente desde el punto de vista computacional en zk.
Por esta razón, el sistema de prueba Plonkish tiende a ser el backend más popular para zkML. Halo 2 y Plonky 2 y sus esquemas aritméticos de tablas manejan bien las no linealidades de las redes neuronales con los parámetros de búsqueda. Además, el primero tiene un ecosistema vibrante de herramientas para desarrolladores y flexibilidad, lo que lo convierte en un backend de facto para muchos proyectos, incluido EZKL.
Otros sistemas de prueba también tienen sus ventajas. Los sistemas de prueba basados en R 1 CS incluyen Groth 16, conocido por su pequeño tamaño de prueba, y Gemini, conocido por su manejo de circuitos extremadamente grandes y verificadores de tiempo lineal. Los sistemas basados en STARK, como la biblioteca de probadores/verificadores de Winterfell, son especialmente útiles cuando se toman como entradas los rastros de los programas de Cairo a través de las herramientas de Giza y se usa Winterfell para generar pruebas de STARK para verificar la corrección de la salida.
03 sistema de prueba específico de zkML
Se han logrado algunos avances en el diseño de sistemas de prueba eficientes que pueden manejar operaciones complejas y poco amigables con los circuitos de modelos avanzados de aprendizaje automático. Los sistemas como zkCNN basados en el sistema de prueba de GKR y Zator basado en técnicas combinatorias tienden a superar a los sistemas de prueba universales, como se refleja en los informes de referencia de Modulus Labs.
zkCNN es un método para probar la corrección de las redes neuronales convolucionales utilizando pruebas de conocimiento cero. Utiliza el protocolo sumcheck para probar convoluciones y transformadas de Fourier rápidas, con tiempo de prueba lineal, más rápido que los resultados de cálculo asintótico. Se han introducido varias pruebas interactivas de mejora y generalización, incluidas las capas convolucionales de validación, las funciones de activación de ReLU y la agrupación máxima. Según el informe de evaluación comparativa de Modulus Labs, zkCNN es particularmente interesante porque supera a otros sistemas de prueba de propósito general en términos de velocidad de generación de prueba y consumo de RAM.
Zator es un proyecto que tiene como objetivo explorar el uso de SNARK recursivos para verificar redes neuronales profundas. Una limitación actual en la validación de modelos más profundos es ajustar trayectorias computacionales completas en un solo circuito. Zator propuso usar SNARK recursivo para verificar capa por capa, lo que puede verificar gradualmente cálculos repetidos de N pasos. Usaron Nova para reducir N instancias de cómputo a una instancia que pudiera verificarse en un solo paso. Con este enfoque, Zator pudo SNARK en una red con 512 capas, que es tan profunda como la mayoría de los modelos de IA de producción actuales. Los tiempos de generación y verificación de pruebas de Zator aún son demasiado largos para los casos de uso convencionales, pero sus técnicas combinadas siguen siendo muy interesantes.
Aplicaciones
Teniendo en cuenta los primeros días de zkML, su enfoque se ha centrado en gran medida en la infraestructura antes mencionada. Sin embargo, actualmente hay varios proyectos dedicados al desarrollo de aplicaciones.
Modulus Labs es uno de los proyectos más diversos en el espacio zkML, que trabaja tanto en aplicaciones de ejemplo como en investigaciones relacionadas. En el lado aplicado, Modulus Labs demostró casos de uso para zkML con RockyBot, un bot comercial en cadena, y Leela vs. the World, un juego de mesa en el que los humanos juegan contra un motor de ajedrez Leela en cadena probado. El equipo también realizó una investigación y escribió The Cost of Intelligence, que compara la velocidad y la eficiencia de varios sistemas de prueba en diferentes tamaños de modelo.
Worldcoin está tratando de aplicar zkML para crear un protocolo de prueba de identidad humana que preserve la privacidad. Worldcoin maneja el escaneo de iris de alta resolución utilizando hardware personalizado y lo conecta a una implementación de Semaphore. Este sistema se puede utilizar para realizar operaciones útiles como prueba de membresía y votación. Actualmente usan un entorno de tiempo de ejecución confiable y un enclave seguro para verificar los escaneos de iris firmados por la cámara, pero su objetivo final es usar pruebas de conocimiento cero para verificar el razonamiento correcto de las redes neuronales para proporcionar garantía de seguridad de nivel criptográfico.
Giza es un protocolo que adopta un enfoque completamente libre de confianza para implementar modelos de IA en la cadena. Utiliza el formato ONNX para representar modelos de aprendizaje automático, Giza Transpiler para convertir estos modelos al formato de programa Cairo, ONNX Cairo Runtime para ejecutar modelos de manera verificable y determinista, y el contrato inteligente Giza Model para implementación en cadena y pila de tecnología para ejecutar el modelo. Aunque Giza también puede clasificarse como un compilador de modelo a prueba, su posicionamiento como mercado de modelos ML es una de las aplicaciones más interesantes en este momento.
Gensyn es una red distribuida de proveedores de hardware para entrenar modelos ML. Específicamente, están desarrollando un sistema de auditoría probabilística basado en el descenso de gradientes y utilizando puntos de control de modelos para permitir que las redes de GPU distribuidas sirvan de entrenamiento para modelos a gran escala. Aunque su aplicación de zkML aquí es muy específica para su caso de uso (quieren asegurarse de que cuando un nodo descargue y entrene una parte del modelo, sean honestos acerca de las actualizaciones del modelo), demuestra el poder de combinar la fuerza de zk y ML.
ZKaptcha se centra en el problema de los bots en web3 y proporciona servicios de código de verificación para contratos inteligentes. Su implementación actual hace que los usuarios finales generen pruebas de trabajo humano completando captchas, que son verificados por sus validadores en cadena y se accede a ellos mediante contratos inteligentes con unas pocas líneas de código. Hoy en día, solo confían principalmente en zk, pero tienen la intención de implementar zkML en el futuro, similar a los servicios captcha web2 existentes, analizando comportamientos como el movimiento del mouse para determinar si el usuario es humano o no.
Dados los primeros días del mercado zkML, ya se han experimentado muchas aplicaciones a nivel de hackathon. Los proyectos incluyen AI Coliseum, una competencia de IA en cadena que usa pruebas ZK para verificar la salida del aprendizaje automático, Hunter z Hunter, una búsqueda del tesoro de fotos usando la biblioteca EZKL para verificar la salida de un modelo de clasificación de imágenes con circuitos halo 2 y zk Sección 9 , Convierte modelos de generación de imágenes de IA en circuitos para emitir y validar arte de IA.
Desafíos zkML
A pesar del rápido progreso en la mejora y optimización, el campo de zkML aún enfrenta algunos desafíos fundamentales. Estos desafíos involucran aspectos técnicos y prácticos, que incluyen:
Cuantización con mínima pérdida de precisión
Tamaño del circuito, especialmente cuando la red consta de múltiples capas
Prueba eficiente de la multiplicación de matrices
Contra ataque
La cuantificación es el proceso de representar números de punto flotante como números de punto fijo. La mayoría de los modelos de aprendizaje automático usan números de punto flotante para representar los parámetros del modelo y las funciones de activación. Cuando se trata de aritmética de dominio para circuitos zk, se requieren números de punto fijo. El impacto de la cuantificación en la precisión de un modelo de aprendizaje automático depende del nivel de precisión utilizado. En general, el uso de una precisión más baja (es decir, menos bits) puede dar como resultado una menor precisión, ya que esto puede introducir errores de redondeo y aproximación. Sin embargo, existen varias técnicas que se pueden usar para minimizar el impacto de la cuantificación en la precisión, como el ajuste fino del modelo después de la cuantificación y el uso de técnicas como el entrenamiento consciente de la cuantificación. Además, Zero Gravity, un proyecto de hackathon en zkSummit 9, demostró que las arquitecturas de redes neuronales alternativas desarrolladas para dispositivos de borde, como las redes neuronales ingrávidas, se pueden usar para evitar problemas de cuantificación en los circuitos.
Además de la cuantificación, el hardware es otro desafío clave. Una vez que un modelo de aprendizaje automático se representa correctamente mediante un circuito, las pruebas para verificar su razonamiento se vuelven económicas y rápidas debido a la simplicidad de zk. El desafío aquí no es con el verificador, sino con el probador, ya que el consumo de RAM y el tiempo de generación de pruebas aumentan rápidamente a medida que crece el tamaño del modelo. Ciertos sistemas de prueba (como los sistemas basados en GKR que usan el protocolo sumcheck y circuitos aritméticos jerárquicos) o técnicas combinadas (como combinar Plonky 2 con Groth 16, Plonky 2 es eficiente en términos de tiempo de prueba pero eficiente para modelos grandes Pobre y Groth 16 no conduce a un crecimiento del tamaño de la prueba en la complejidad de los modelos complejos) es más adecuado para manejar estos problemas, pero administrar las compensaciones es un desafío central en los proyectos zkML.
En cuanto a la lucha contra los ataques, todavía queda trabajo por hacer. Primero, si un protocolo sin confianza o DAO elige implementar un modelo, aún existe el riesgo de ataques adversarios durante la fase de entrenamiento (por ejemplo, entrenar un modelo para exhibir un comportamiento determinado cuando ve una entrada determinada, que podría usarse para manipular posteriores razonamiento). Las técnicas de aprendizaje federado y zkML en la fase de entrenamiento pueden ser una forma de minimizar esta superficie de ataque.
Otro desafío central es el riesgo de ataques de robo de modelos cuando el modelo preserva la privacidad. Si bien es posible ofuscar los pesos de un modelo, dados suficientes pares de entrada-salida, todavía es teóricamente posible inferir los pesos hacia atrás. Esto es principalmente un riesgo para los modelos a pequeña escala, pero aún existen riesgos.
Extensibilidad de contratos inteligentes
Si bien existen algunos desafíos en la optimización de estos modelos para que se ejecuten dentro de las limitaciones de zk, las mejoras se están realizando a un ritmo exponencial y algunos esperan que con una mayor aceleración de hardware pronto podamos trabajar con el campo más amplio del aprendizaje automático. mismo nivel. Para enfatizar la velocidad de estas mejoras, zkML pasó de la demostración de 0x PARC de cómo realizar un modelo de clasificación de imágenes MNIST a pequeña escala en un circuito verificable en 2021, a Daniel Kang haciendo lo mismo para un modelo a escala ImageNet menos de un año después. documentos. En abril de 2022, la precisión de este modelo a escala de ImageNet mejoró del 79 % al 92 %, y se espera que los modelos grandes como GPT-2 sean posibles en un futuro cercano, aunque el tiempo de prueba actual es más largo.
Vemos a zkML como un ecosistema rico y en crecimiento diseñado para ampliar las capacidades de las cadenas de bloques y los contratos inteligentes, haciéndolos más flexibles, adaptables e inteligentes.
Aunque zkML aún se encuentra en las primeras etapas de desarrollo, ya ha comenzado a mostrar resultados prometedores. A medida que la tecnología se desarrolle y madure, podemos esperar ver casos de uso de zkML más innovadores en la cadena.
Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
Análisis en profundidad del track ZKML: el siguiente paso en la inteligencia de los contratos inteligentes
Demostrar la inferencia del modelo de aprendizaje automático (ML) a través de zkSNARK promete ser uno de los avances más importantes en los contratos inteligentes de esta década. Este desarrollo abre un espacio de diseño emocionantemente grande, lo que permite que las aplicaciones y la infraestructura evolucionen hacia sistemas más complejos e inteligentes.
Al agregar capacidades de ML, los contratos inteligentes pueden volverse más autónomos y dinámicos, lo que les permite tomar decisiones basadas en datos en cadena en tiempo real en lugar de reglas estáticas. Los contratos inteligentes serán flexibles y pueden adaptarse a una variedad de escenarios, incluidos aquellos que pueden no haberse previsto cuando se creó originalmente el contrato. En resumen, las capacidades de ML amplificarán la automatización, la precisión, la eficiencia y la flexibilidad de cualquier contrato inteligente que pongamos en cadena.
ML se usa ampliamente en la mayoría de las aplicaciones fuera de web3, y su aplicación en contratos inteligentes es casi nula. Esto se debe principalmente al alto costo computacional de ejecutar estos modelos en cadena. Por ejemplo, FastBERT es un modelo de lenguaje computacionalmente optimizado que utiliza alrededor de 1800 MFLOPS (millones de operaciones de coma flotante), que no se pueden ejecutar directamente en la EVM.
La aplicación del modelo ML en la cadena se centra principalmente en la etapa de razonamiento: aplicar el modelo para predecir datos del mundo real. Para tener contratos inteligentes a escala de ML, los contratos deben poder ingerir tales predicciones, pero como mencionamos antes, no es factible ejecutar modelos directamente en el EVM. zkSNARKs nos brinda una solución: cualquiera puede ejecutar un modelo fuera de la cadena y generar una prueba sucinta y verificable de que el modelo esperado produjo un resultado específico. Esta prueba se puede publicar en cadena e ingerir mediante contratos inteligentes para mejorar su inteligencia.
En este artículo, haremos lo siguiente:
Introducción al aprendizaje automático (ML)
El aprendizaje automático (ML) es un subcampo de la inteligencia artificial (IA) que se centra en el desarrollo de algoritmos y modelos estadísticos que permiten a las computadoras aprender de los datos y hacer predicciones o decisiones. Los modelos de ML suelen tener tres componentes principales:
La generación y despliegue del modelo se divide en dos fases:
Actualmente, zkML se enfoca principalmente en la fase de inferencia de los modelos de aprendizaje automático, más que en la fase de entrenamiento, principalmente debido a la complejidad computacional del entrenamiento en circuitos de verificación. Sin embargo, el enfoque de zkML en la inferencia no es una limitación: anticipamos algunos casos de uso y aplicaciones muy interesantes.
Escenarios de inferencia verificados
Hay cuatro escenarios posibles para validar el razonamiento:
El razonamiento de ML verificado abre nuevos espacios de diseño para contratos inteligentes. Algunas aplicaciones cripto-nativas incluyen:
1, DeFi
Oráculos de aprendizaje automático fuera de cadena verificables. La adopción continua de IA generativa puede impulsar a la industria a implementar esquemas de firma para su contenido (por ejemplo, publicaciones de noticias que firman artículos o imágenes). Los datos firmados están listos para pruebas de conocimiento cero, lo que hace que los datos sean componibles y confiables. Los modelos ML pueden procesar estos datos firmados fuera de la cadena para hacer predicciones y clasificaciones (por ejemplo, clasificar resultados electorales o eventos meteorológicos). Estos oráculos de ML fuera de la cadena pueden resolver sin confianza los mercados de predicción del mundo real, los contratos de protocolo de seguros, etc. mediante la verificación del razonamiento y la publicación de pruebas en la cadena.
Aplicaciones DeFi basadas en parámetros ML. Muchos aspectos de DeFi pueden automatizarse más. Por ejemplo, los protocolos de préstamo pueden usar modelos ML para actualizar parámetros en tiempo real. Actualmente, los protocolos de préstamo se basan principalmente en modelos fuera de la cadena administrados por organizaciones para determinar los factores colaterales, la relación préstamo-valor, los umbrales de liquidación, etc., pero una mejor opción podría ser un modelo de código abierto capacitado por la comunidad que cualquiera pueda ejecutar. y verificar.
Estrategias comerciales automatizadas. Una forma común de demostrar las características de rendimiento de una estrategia de modelo financiero es que los parlamentarios proporcionen a los inversores varios datos de pruebas retrospectivas. Sin embargo, no hay forma de verificar que el estratega esté siguiendo el modelo al ejecutar una operación: el inversor debe confiar en que el estratega realmente está siguiendo el modelo. zkML proporciona una solución en la que MP puede proporcionar pruebas del razonamiento del modelo financiero cuando se implementa en puestos específicos. Esto podría ser especialmente útil para las bóvedas gestionadas por DeFi.
2. Seguridad
Monitoreo de fraude para contratos inteligentes. En lugar de permitir que la gobernanza humana lenta o los actores centralizados controlen la capacidad de suspender contratos, los modelos ML se pueden usar para detectar posibles comportamientos maliciosos y suspender contratos.
3. Aprendizaje automático tradicional
Una implementación descentralizada y sin confianza de Kaggle. Se podría crear un protocolo o mercado que permita a los MC u otras partes interesadas verificar la precisión de los modelos sin requerir que los MP revelen los pesos de los modelos. Esto es útil para vender modelos, realizar concursos en torno a la precisión del modelo, etc.
Un mercado rápido descentralizado para IA generativa. La creación de solicitudes para la IA generativa se ha convertido en un oficio complejo, y las solicitudes de generación de resultados óptimos a menudo tienen múltiples modificadores. Las partes externas pueden estar dispuestas a comprar estas sugerencias complejas de los creadores. zkML se puede usar de dos maneras aquí: 1) para validar la salida de la sugerencia, para asegurar a los compradores potenciales que la sugerencia realmente crea la imagen deseada;
4. Identidad
Reemplace las claves privadas con autenticación biométrica que preserva la privacidad. La gestión de claves privadas sigue siendo uno de los mayores obstáculos en la experiencia del usuario web3. La abstracción de claves privadas a través del reconocimiento facial u otros factores únicos es una posible solución para zkML.
Lanzamientos aéreos justos y recompensas de contribuyentes. Los modelos ML se pueden usar para crear personas detalladas de usuarios para determinar las asignaciones de airdrop o las recompensas de contribución en función de múltiples factores. Esto puede ser especialmente útil cuando se combina con soluciones de identidad. En este caso, una posibilidad es hacer que los usuarios ejecuten un modelo de código abierto que evalúe su participación en la aplicación, así como la participación de nivel superior, como publicaciones en foros de gobierno, para razonar sobre sus tareas. Esta prueba se proporciona luego al contrato para la asignación del token correspondiente.
5. Redes Sociales Web3
Filtrado para redes sociales web3. La naturaleza descentralizada de las aplicaciones sociales web3 dará lugar a un aumento del spam y el contenido malicioso. Idealmente, una plataforma de redes sociales podría usar un modelo ML de código abierto de consenso comunitario y publicar pruebas del razonamiento del modelo cuando elige filtrar publicaciones. Caso en cuestión: análisis zkML en el algoritmo de Twitter.
Publicidad/Recomendación. Como usuario de redes sociales, puedo estar dispuesto a ver publicidad personalizada, pero deseo mantener mis preferencias e intereses privados de los anunciantes. Puedo elegir ejecutar un modelo localmente sobre mis intereses, introducirlo en una aplicación de medios para que me proporcione contenido. En este caso, los anunciantes pueden estar dispuestos a pagar a los usuarios finales para que esto suceda, sin embargo, estos modelos pueden ser mucho menos sofisticados que los modelos de publicidad dirigida que se encuentran actualmente en producción.
6. Economía del creador/Juegos
Reequilibrio de la economía en el juego. La emisión de tokens, el suministro, la quema, los umbrales de votación, etc. se pueden ajustar dinámicamente utilizando modelos ML. Un modelo posible es un contrato de incentivo que reequilibra la economía del juego si se alcanza un cierto umbral de reequilibrio y se verifica una prueba de razonamiento.
Nuevos tipos de juegos en cadena. Se pueden crear juegos cooperativos de humanos versus IA y otros juegos innovadores en cadena donde el modelo de IA sin confianza actúa como un personaje no jugable. Cada acción realizada por el NPC se publica en la cadena junto con una prueba que cualquiera puede verificar que se está ejecutando el modelo correcto. En Leela vs. the World de Modulus Labs, el verificador quiere asegurarse de que la IA de 1900 ELO declarada elija el movimiento, no Magnus Carlson. Otro ejemplo es AI Arena, un juego de lucha de IA similar a Super Smash Brothers. En un entorno competitivo de alto riesgo, los jugadores quieren asegurarse de que los modelos que entrenan no interfieran ni hagan trampa.
Proyectos e infraestructuras emergentes
El ecosistema zkML se puede dividir en términos generales en cuatro categorías principales:
01 Compiladores de modelo a prueba
En el ecosistema zkML, la mayor parte de la atención se ha centrado en la creación de compiladores de modelo a prueba. Por lo general, estos compiladores convertirán modelos ML avanzados en circuitos zk usando Pytorch, Tensorflow, etc.
EZKL es una biblioteca y una herramienta de línea de comandos para la inferencia de modelos de aprendizaje profundo en zk-SNARK. Con EZKL, puede definir un gráfico computacional en Pytorch o TensorFlow, exportarlo como un archivo ONNX con algunas entradas de ejemplo en archivos JSON y luego apuntar EZKL a estos archivos para generar circuitos zkSNARK. Con la última ronda de mejoras de rendimiento, EZKL ahora puede probar un modelo del tamaño de MNIST en ~6 segundos y 1,1 GB de RAM. Hasta la fecha, EZKL ha visto una adopción temprana notable, siendo utilizado como infraestructura para varios proyectos de hackathon.
La biblioteca circomlib-ml de Cathie So contiene varias plantillas de circuitos ML para Circom. Circuits incluye algunas de las funciones de ML más comunes. Keras 2c ircom, desarrollado por Cathie, es una herramienta de Python que convierte los modelos Keras en circuitos Circom utilizando la biblioteca subyacente circomlib-ml.
LinearA ha desarrollado dos marcos para zkML: Tachikoma y Uchikoma. Tachikoma se utiliza para convertir la red neuronal en una forma de solo números enteros y generar trayectorias computacionales. Uchikoma es una herramienta que convierte la representación intermedia de TVM a lenguajes de programación que no soportan operaciones de coma flotante. LinearA planea admitir Circom con aritmética de dominio y Solidity con aritmética de enteros con signo y sin signo.
El zkml de Daniel Kang es un marco para las pruebas de ejecución de los modelos de ML creados a partir de su trabajo en el documento "Ampliar la inferencia de DNN sin confianza con pruebas de conocimiento cero". Al momento de escribir, pudo probar un circuito MNIST en aproximadamente 5 GB de memoria y en aproximadamente 16 segundos de tiempo de ejecución.
En términos de compiladores de modelo a prueba más generalizados, están Nil Foundation y Risc Zero. El zkLLVM de Nil Foundation es un compilador de circuitos basado en LLVM capaz de validar modelos computacionales escritos en lenguajes de programación populares como C++, Rust y Java/Type. En comparación con los otros compiladores de modelo a prueba mencionados aquí, es una infraestructura de uso general, pero sigue siendo adecuada para cálculos complejos como zkML. Esto puede ser especialmente poderoso cuando se combina con su mercado de prueba.
Risc Zero construye un zkVM de propósito general dirigido al conjunto de instrucciones RISC-V de código abierto, por lo que admite lenguajes maduros existentes como C ++ y Rust, así como la cadena de herramientas LLVM. Esto permite una integración perfecta entre el código zkVM del anfitrión y el invitado, similar a la cadena de herramientas CUDA C++ de Nvidia, pero usando el motor ZKP en lugar de la GPU. Similar a Nil, use Risc Zero para verificar la trayectoria computacional de un modelo ML.
02 Sistema de prueba generalizado
Las mejoras en el sistema de prueba fueron la principal fuerza impulsora detrás de la realización de zkML, en particular, la introducción de puertas personalizadas y tablas de búsqueda. Esto se debe principalmente a la dependencia de ML en la no linealidad. En resumen, la no linealidad se introduce a través de funciones de activación (como ReLU, sigmoid y tanh) que se aplican a la salida de una transformación lineal en una red neuronal. Estas no linealidades son difíciles de implementar en circuitos zk debido a las restricciones de las puertas de operaciones matemáticas. La factorización bit a bit y las tablas de búsqueda pueden ayudar con esto precalculando los posibles resultados no lineales en la tabla de búsqueda, que es interesantemente más eficiente desde el punto de vista computacional en zk.
Por esta razón, el sistema de prueba Plonkish tiende a ser el backend más popular para zkML. Halo 2 y Plonky 2 y sus esquemas aritméticos de tablas manejan bien las no linealidades de las redes neuronales con los parámetros de búsqueda. Además, el primero tiene un ecosistema vibrante de herramientas para desarrolladores y flexibilidad, lo que lo convierte en un backend de facto para muchos proyectos, incluido EZKL.
Otros sistemas de prueba también tienen sus ventajas. Los sistemas de prueba basados en R 1 CS incluyen Groth 16, conocido por su pequeño tamaño de prueba, y Gemini, conocido por su manejo de circuitos extremadamente grandes y verificadores de tiempo lineal. Los sistemas basados en STARK, como la biblioteca de probadores/verificadores de Winterfell, son especialmente útiles cuando se toman como entradas los rastros de los programas de Cairo a través de las herramientas de Giza y se usa Winterfell para generar pruebas de STARK para verificar la corrección de la salida.
03 sistema de prueba específico de zkML
Se han logrado algunos avances en el diseño de sistemas de prueba eficientes que pueden manejar operaciones complejas y poco amigables con los circuitos de modelos avanzados de aprendizaje automático. Los sistemas como zkCNN basados en el sistema de prueba de GKR y Zator basado en técnicas combinatorias tienden a superar a los sistemas de prueba universales, como se refleja en los informes de referencia de Modulus Labs.
zkCNN es un método para probar la corrección de las redes neuronales convolucionales utilizando pruebas de conocimiento cero. Utiliza el protocolo sumcheck para probar convoluciones y transformadas de Fourier rápidas, con tiempo de prueba lineal, más rápido que los resultados de cálculo asintótico. Se han introducido varias pruebas interactivas de mejora y generalización, incluidas las capas convolucionales de validación, las funciones de activación de ReLU y la agrupación máxima. Según el informe de evaluación comparativa de Modulus Labs, zkCNN es particularmente interesante porque supera a otros sistemas de prueba de propósito general en términos de velocidad de generación de prueba y consumo de RAM.
Zator es un proyecto que tiene como objetivo explorar el uso de SNARK recursivos para verificar redes neuronales profundas. Una limitación actual en la validación de modelos más profundos es ajustar trayectorias computacionales completas en un solo circuito. Zator propuso usar SNARK recursivo para verificar capa por capa, lo que puede verificar gradualmente cálculos repetidos de N pasos. Usaron Nova para reducir N instancias de cómputo a una instancia que pudiera verificarse en un solo paso. Con este enfoque, Zator pudo SNARK en una red con 512 capas, que es tan profunda como la mayoría de los modelos de IA de producción actuales. Los tiempos de generación y verificación de pruebas de Zator aún son demasiado largos para los casos de uso convencionales, pero sus técnicas combinadas siguen siendo muy interesantes.
Aplicaciones
Teniendo en cuenta los primeros días de zkML, su enfoque se ha centrado en gran medida en la infraestructura antes mencionada. Sin embargo, actualmente hay varios proyectos dedicados al desarrollo de aplicaciones.
Modulus Labs es uno de los proyectos más diversos en el espacio zkML, que trabaja tanto en aplicaciones de ejemplo como en investigaciones relacionadas. En el lado aplicado, Modulus Labs demostró casos de uso para zkML con RockyBot, un bot comercial en cadena, y Leela vs. the World, un juego de mesa en el que los humanos juegan contra un motor de ajedrez Leela en cadena probado. El equipo también realizó una investigación y escribió The Cost of Intelligence, que compara la velocidad y la eficiencia de varios sistemas de prueba en diferentes tamaños de modelo.
Worldcoin está tratando de aplicar zkML para crear un protocolo de prueba de identidad humana que preserve la privacidad. Worldcoin maneja el escaneo de iris de alta resolución utilizando hardware personalizado y lo conecta a una implementación de Semaphore. Este sistema se puede utilizar para realizar operaciones útiles como prueba de membresía y votación. Actualmente usan un entorno de tiempo de ejecución confiable y un enclave seguro para verificar los escaneos de iris firmados por la cámara, pero su objetivo final es usar pruebas de conocimiento cero para verificar el razonamiento correcto de las redes neuronales para proporcionar garantía de seguridad de nivel criptográfico.
Giza es un protocolo que adopta un enfoque completamente libre de confianza para implementar modelos de IA en la cadena. Utiliza el formato ONNX para representar modelos de aprendizaje automático, Giza Transpiler para convertir estos modelos al formato de programa Cairo, ONNX Cairo Runtime para ejecutar modelos de manera verificable y determinista, y el contrato inteligente Giza Model para implementación en cadena y pila de tecnología para ejecutar el modelo. Aunque Giza también puede clasificarse como un compilador de modelo a prueba, su posicionamiento como mercado de modelos ML es una de las aplicaciones más interesantes en este momento.
Gensyn es una red distribuida de proveedores de hardware para entrenar modelos ML. Específicamente, están desarrollando un sistema de auditoría probabilística basado en el descenso de gradientes y utilizando puntos de control de modelos para permitir que las redes de GPU distribuidas sirvan de entrenamiento para modelos a gran escala. Aunque su aplicación de zkML aquí es muy específica para su caso de uso (quieren asegurarse de que cuando un nodo descargue y entrene una parte del modelo, sean honestos acerca de las actualizaciones del modelo), demuestra el poder de combinar la fuerza de zk y ML.
ZKaptcha se centra en el problema de los bots en web3 y proporciona servicios de código de verificación para contratos inteligentes. Su implementación actual hace que los usuarios finales generen pruebas de trabajo humano completando captchas, que son verificados por sus validadores en cadena y se accede a ellos mediante contratos inteligentes con unas pocas líneas de código. Hoy en día, solo confían principalmente en zk, pero tienen la intención de implementar zkML en el futuro, similar a los servicios captcha web2 existentes, analizando comportamientos como el movimiento del mouse para determinar si el usuario es humano o no.
Dados los primeros días del mercado zkML, ya se han experimentado muchas aplicaciones a nivel de hackathon. Los proyectos incluyen AI Coliseum, una competencia de IA en cadena que usa pruebas ZK para verificar la salida del aprendizaje automático, Hunter z Hunter, una búsqueda del tesoro de fotos usando la biblioteca EZKL para verificar la salida de un modelo de clasificación de imágenes con circuitos halo 2 y zk Sección 9 , Convierte modelos de generación de imágenes de IA en circuitos para emitir y validar arte de IA.
Desafíos zkML
A pesar del rápido progreso en la mejora y optimización, el campo de zkML aún enfrenta algunos desafíos fundamentales. Estos desafíos involucran aspectos técnicos y prácticos, que incluyen:
La cuantificación es el proceso de representar números de punto flotante como números de punto fijo. La mayoría de los modelos de aprendizaje automático usan números de punto flotante para representar los parámetros del modelo y las funciones de activación. Cuando se trata de aritmética de dominio para circuitos zk, se requieren números de punto fijo. El impacto de la cuantificación en la precisión de un modelo de aprendizaje automático depende del nivel de precisión utilizado. En general, el uso de una precisión más baja (es decir, menos bits) puede dar como resultado una menor precisión, ya que esto puede introducir errores de redondeo y aproximación. Sin embargo, existen varias técnicas que se pueden usar para minimizar el impacto de la cuantificación en la precisión, como el ajuste fino del modelo después de la cuantificación y el uso de técnicas como el entrenamiento consciente de la cuantificación. Además, Zero Gravity, un proyecto de hackathon en zkSummit 9, demostró que las arquitecturas de redes neuronales alternativas desarrolladas para dispositivos de borde, como las redes neuronales ingrávidas, se pueden usar para evitar problemas de cuantificación en los circuitos.
Además de la cuantificación, el hardware es otro desafío clave. Una vez que un modelo de aprendizaje automático se representa correctamente mediante un circuito, las pruebas para verificar su razonamiento se vuelven económicas y rápidas debido a la simplicidad de zk. El desafío aquí no es con el verificador, sino con el probador, ya que el consumo de RAM y el tiempo de generación de pruebas aumentan rápidamente a medida que crece el tamaño del modelo. Ciertos sistemas de prueba (como los sistemas basados en GKR que usan el protocolo sumcheck y circuitos aritméticos jerárquicos) o técnicas combinadas (como combinar Plonky 2 con Groth 16, Plonky 2 es eficiente en términos de tiempo de prueba pero eficiente para modelos grandes Pobre y Groth 16 no conduce a un crecimiento del tamaño de la prueba en la complejidad de los modelos complejos) es más adecuado para manejar estos problemas, pero administrar las compensaciones es un desafío central en los proyectos zkML.
En cuanto a la lucha contra los ataques, todavía queda trabajo por hacer. Primero, si un protocolo sin confianza o DAO elige implementar un modelo, aún existe el riesgo de ataques adversarios durante la fase de entrenamiento (por ejemplo, entrenar un modelo para exhibir un comportamiento determinado cuando ve una entrada determinada, que podría usarse para manipular posteriores razonamiento). Las técnicas de aprendizaje federado y zkML en la fase de entrenamiento pueden ser una forma de minimizar esta superficie de ataque.
Otro desafío central es el riesgo de ataques de robo de modelos cuando el modelo preserva la privacidad. Si bien es posible ofuscar los pesos de un modelo, dados suficientes pares de entrada-salida, todavía es teóricamente posible inferir los pesos hacia atrás. Esto es principalmente un riesgo para los modelos a pequeña escala, pero aún existen riesgos.
Extensibilidad de contratos inteligentes
Si bien existen algunos desafíos en la optimización de estos modelos para que se ejecuten dentro de las limitaciones de zk, las mejoras se están realizando a un ritmo exponencial y algunos esperan que con una mayor aceleración de hardware pronto podamos trabajar con el campo más amplio del aprendizaje automático. mismo nivel. Para enfatizar la velocidad de estas mejoras, zkML pasó de la demostración de 0x PARC de cómo realizar un modelo de clasificación de imágenes MNIST a pequeña escala en un circuito verificable en 2021, a Daniel Kang haciendo lo mismo para un modelo a escala ImageNet menos de un año después. documentos. En abril de 2022, la precisión de este modelo a escala de ImageNet mejoró del 79 % al 92 %, y se espera que los modelos grandes como GPT-2 sean posibles en un futuro cercano, aunque el tiempo de prueba actual es más largo.
Vemos a zkML como un ecosistema rico y en crecimiento diseñado para ampliar las capacidades de las cadenas de bloques y los contratos inteligentes, haciéndolos más flexibles, adaptables e inteligentes.
Aunque zkML aún se encuentra en las primeras etapas de desarrollo, ya ha comenzado a mostrar resultados prometedores. A medida que la tecnología se desarrolle y madure, podemos esperar ver casos de uso de zkML más innovadores en la cadena.