zkPyTorch: construyendo el futuro de la IA confiable con zk-SNARKs

Autor original: Jiaheng Zhang

Con el avance de la inteligencia artificial (IA) en campos clave como la medicina, las finanzas y la conducción autónoma, garantizar la fiabilidad, transparencia y seguridad del proceso de inferencia del aprendizaje automático (ML) se vuelve más importante que nunca.

Sin embargo, los servicios de aprendizaje automático tradicionales suelen funcionar como una "caja negra", donde los usuarios solo pueden ver los resultados y es difícil verificar el proceso. Esta falta de transparencia hace que los servicios de modelos sean vulnerables a riesgos:

  • Modelo robado,
  • Los resultados de la inferencia han sido manipulados maliciosamente,
  • Los datos del usuario enfrentan el riesgo de filtración de privacidad.

ZKML (aprendizaje automático de conocimiento cero) ofrece una nueva solución criptográfica para este desafío. Se basa en la tecnología de pruebas de conocimiento cero (ZKPs), lo que otorga a los modelos de aprendizaje automático la capacidad de verificación encriptada: demostrar que un cálculo se ha realizado correctamente sin revelar información sensible.

En otras palabras, los ZKPs permiten a los proveedores de servicios demostrar a los usuarios:

"Los resultados de inferencia que has obtenido son, de hecho, generados por el modelo que he entrenado, pero no revelaré ningún parámetro del modelo."

Esto significa que los usuarios pueden confiar en la veracidad de los resultados de inferencia, mientras que la estructura y los parámetros del modelo (que a menudo son activos de alto valor) se mantienen siempre en privado.

zkPyTorch

Polyhedra Network lanza zkPyTorch, un revolucionario compilador diseñado específicamente para el aprendizaje automático de cero conocimiento (ZKML), con el objetivo de cerrar la última milla entre los marcos de IA convencionales y la tecnología ZK.

zkPyTorch combina las potentes capacidades de aprendizaje automático de PyTorch con un motor de prueba de conocimiento cero de vanguardia, permitiendo a los desarrolladores de IA construir aplicaciones de IA verificables en un entorno familiar, sin necesidad de cambiar sus hábitos de programación ni aprender un nuevo lenguaje ZK.

Este compilador puede traducir automáticamente las operaciones de modelos de alto nivel (como convoluciones, multiplicación de matrices, ReLU, softmax y mecanismos de atención) en circuitos ZKP verificables criptográficamente, y junto con el conjunto de optimización ZKML desarrollado internamente por Polyhedra, realiza una compresión y aceleración inteligente de las rutas de inferencia más utilizadas, asegurando que los circuitos mantengan tanto la corrección como la eficiencia computacional.

Infraestructura clave para construir un ecosistema de IA confiable

El ecosistema actual de aprendizaje automático se enfrenta a múltiples desafíos, como la seguridad de los datos, la verificabilidad computacional y la transparencia de los modelos. Especialmente en industrias clave como la atención médica, las finanzas y la conducción autónoma, los modelos de IA no solo involucran una gran cantidad de información personal confidencial, sino que también contienen propiedad intelectual de alto valor y secretos comerciales básicos.

Nació el aprendizaje automático de conocimiento cero (ZKML), que se ha convertido en un avance importante para resolver este dilema. A través de la tecnología de prueba de conocimiento cero (ZKP), ZKML puede completar la verificación de la integridad de la inferencia del modelo sin revelar los parámetros del modelo o los datos de entrada, tanto en privacidad como en confiabilidad.

Pero en la realidad, el desarrollo de ZKML a menudo tiene un alto umbral, requiriendo un profundo conocimiento en criptografía, lo cual está lejos de ser dominado fácilmente por ingenieros de IA tradicionales.

Esta es precisamente la misión de zkPyTorch. Actúa como un puente entre PyTorch y el motor ZKP, permitiendo a los desarrolladores construir sistemas de IA con protección de privacidad y verificabilidad utilizando un código que ya conocen, sin necesidad de aprender un lenguaje criptográfico complejo.

A través de zkPyTorch, Polyhedra Network está reduciendo significativamente las barreras técnicas de ZKML, impulsando aplicaciones de IA escalables y confiables hacia la corriente principal, reconstruyendo un nuevo paradigma de seguridad y privacidad en la IA.

zkPyTorch flujo de trabajo

! zkPyTorch: Construyendo el futuro de la IA confiable con pruebas de conocimiento cero

Figura 1: Vista general de la arquitectura de ZKPyTorch

Como se muestra en la Figura 1, zkPyTorch convierte automáticamente modelos estándar de PyTorch en circuitos compatibles con ZKP (prueba de conocimiento cero) a través de tres módulos diseñados cuidadosamente. Estos tres módulos incluyen: módulo de preprocesamiento, módulo de cuantificación amigable con cero conocimiento, y módulo de optimización de circuitos.

Este proceso no requiere que el desarrollador domine ningún circuito criptográfico o sintaxis especializada: el desarrollador solo necesita escribir el modelo en PyTorch estándar, y zkPyTorch puede convertirlo en un circuito que puede ser reconocido por un motor de prueba de conocimiento cero como Expander para generar la prueba ZK correspondiente. Este diseño altamente modular reduce significativamente la barrera de entrada para el desarrollo de ZKML, lo que facilita a los desarrolladores de IA la creación de aplicaciones de aprendizaje automático eficientes, seguras y verificables sin tener que cambiar de idioma o aprender criptografía.

Módulo uno: Preprocesamiento del modelo

En la primera fase, zkPyTorch convierte el modelo PyTorch en un grafo computacional estructurado mediante el formato de intercambio de redes neuronales abiertas (ONNX). ONNX es el estándar de representación intermedia más ampliamente adoptado de la industria para una representación unificada de operaciones complejas de aprendizaje automático. A través de este paso de preprocesamiento, zkPyTorch puede aclarar la estructura del modelo, desensamblar el proceso de computación central y establecer una base sólida para la generación posterior de circuitos de prueba de conocimiento cero.

Módulo dos: ZKP amigable para cuantificación

El módulo de cuantificación es una parte clave del sistema ZKML. Los modelos de aprendizaje automático tradicionales dependen de cálculos en punto flotante, mientras que el entorno ZKP es más adecuado para cálculos en enteros en un campo finito. zkPyTorch utiliza un esquema de cuantificación entera optimizado para campos finitos, mapeando con precisión los cálculos en punto flotante a cálculos en enteros, al mismo tiempo que convierte las operaciones no lineales desfavorables para ZKP (como ReLU, Softmax) en una forma de tabla de búsqueda eficiente.

Esta estrategia no solo reduce drásticamente la complejidad del circuito, sino que también mejora la verificabilidad y la eficiencia operativa del sistema en su conjunto, garantizando la precisión del modelo.

Módulo tres: Optimización de circuitos por capas

zkPyTorch utiliza una estrategia de múltiples niveles en la optimización de circuitos, que incluye lo siguiente:

  • Optimización por lotes Diseñado especialmente para cálculos de serialización, reduce drásticamente la complejidad computacional y el consumo de recursos al procesar múltiples pasos de inferencia de una sola vez, siendo especialmente adecuado para escenarios de verificación de modelos de lenguaje grandes como Transformer.
  • Aceleración de operaciones en el lenguaje original Combinando la transformada rápida de Fourier (FFT) con la técnica de tabla de búsqueda, se mejora eficazmente la velocidad de ejecución de circuitos en operaciones básicas como la convolución y Softmax, aumentando fundamentalmente la eficiencia computacional general.
  • Ejecución de circuitos en paralelo Aprovechar al máximo las ventajas de potencia de cálculo de la CPU y GPU multinúcleo, dividiendo cálculos de alta carga como la multiplicación de matrices en múltiples subtareas que se ejecutan en paralelo, mejorando significativamente la velocidad y la capacidad de escalado de la generación de pruebas de conocimiento cero.

Discusión técnica en profundidad

Grafo acíclico dirigido (DAG)

zkPyTorch usa un grafo acíclico dirigido (DAG) para administrar el flujo computacional del aprendizaje automático. La estructura del DAG captura sistemáticamente dependencias de modelos complejos, como se muestra en la figura 2, donde cada nodo representa una operación específica (como la transposición de matrices, la multiplicación de matrices, la división y softmax) y los bordes representan exactamente dónde fluyen los datos entre estas operaciones.

Esta representación clara y estructurada no solo facilita enormemente el proceso de depuración, sino que también ayuda a la optimización profunda del rendimiento. La característica acíclica del DAG evita las dependencias circulares, asegurando una ejecución eficiente y controlada del orden de cálculo, lo cual es crucial para optimizar la generación de circuitos de prueba de conocimiento cero.

Además, el DAG permite a zkPyTorch manejar de manera eficiente arquitecturas de modelos complejos, como Transformer y Residual Network (ResNet), que a menudo tienen flujos de datos complejos con múltiples rutas y no linealidades, y el DAG está diseñado para satisfacer sus necesidades computacionales para garantizar la precisión y la eficiencia de la inferencia del modelo.

zkPyTorch: Creando un futuro de IA confiable con pruebas de conocimiento cero

Figura 2: Ejemplo de un modelo de aprendizaje automático representado en forma de grafo acíclico dirigido (DAG)

Tecnología de cuantificación avanzada

En zkPyTorch, las técnicas avanzadas de cuantificación son un paso clave para convertir los cálculos en punto flotante en operaciones enteras adecuadas para la aritmética de campo finito eficiente en sistemas de prueba de conocimiento cero (ZKP). zkPyTorch utiliza un método de cuantificación entera estática, meticulosamente diseñado para equilibrar la eficiencia computacional y la precisión del modelo, asegurando que la generación de pruebas sea rápida y precisa.

Este proceso de cuantificación incluye una calibración rigurosa para determinar con precisión la mejor escala de cuantificación, con el fin de representar eficazmente los números de punto flotante y evitar desbordamientos y pérdidas significativas de precisión. Para abordar los desafíos de las operaciones no lineales específicas de ZKP (como Softmax y normalización de capas), zkPyTorch convierte de manera innovadora estas funciones complejas en operaciones de búsqueda eficientes.

Esta estrategia no solo ha mejorado significativamente la eficiencia de la generación de pruebas, sino que también asegura que los resultados de las pruebas sean completamente consistentes con la salida de modelos cuantitativos de alta precisión, equilibrando el rendimiento y la credibilidad, impulsando el proceso de aplicación del aprendizaje automático verificable.

Estrategia de optimización de circuitos multicapa

zkPyTorch adopta un sistema de optimización de circuitos multicapas de alta precisión, asegurando un rendimiento extremo en eficiencia y escalabilidad del razonamiento de conocimiento cero desde múltiples dimensiones:

Optimización de procesamiento por lotes (Batch Processing Optimization)

Al empaquetar varias tareas de inferencia en el procesamiento por lotes, la complejidad computacional general se reduce significativamente, especialmente para escenarios de operación secuencial en modelos de lenguaje como Transformers. Como se muestra en la Figura 3, el proceso de inferencia tradicional del modelo de lenguaje grande (LLM) se ejecuta token por token, mientras que el enfoque innovador de zkPyTorch agrega todos los tokens de entrada y salida en un único proceso de solicitud para la validación. Este proceso confirma que la inferencia general del LLM es correcta de una sola vez, al tiempo que garantiza que cada token de salida sea coherente con la inferencia estándar del LLM.

En la inferencia de LLM, la corrección del mecanismo de caché KV es la clave para garantizar la credibilidad de la salida de la inferencia. Si la lógica de inferencia del modelo es incorrecta, incluso si se utiliza la memoria caché, no será posible restaurar los resultados de acuerdo con el proceso de decodificación estándar. zkPyTorch garantiza la certeza verificable y la integridad de cada salida en una prueba de conocimiento cero al reproducir con precisión este proceso.

zkPyTorch: Creando un futuro confiable para la IA con pruebas de conocimiento cero

Figura 3: Validación por lotes calculada por modelos de lenguaje a gran escala (LLMs), donde L representa la longitud de la secuencia de entrada, N representa la longitud de la secuencia de salida, y H representa la dimensión de la capa oculta del modelo.

Operaciones Primitivas Optimizadas (Optimized Primitive Operations)

zkPyTorch optimiza profundamente las primitivas de aprendizaje automático subyacentes, lo que mejora en gran medida la eficiencia del circuito. Por ejemplo, las operaciones de convolución siempre han sido computacionalmente intensivas, y zkPyTorch utiliza un método de optimización basado en la transformada rápida de Fourier (FFT) para convertir las convoluciones originalmente realizadas en el dominio espacial en operaciones de multiplicación en el dominio de la frecuencia, lo que reduce significativamente el costo computacional. Al mismo tiempo, para funciones no lineales como ReLU y softmax, el sistema adopta el método de tabla de búsqueda precalculada, que evita el cálculo no lineal poco amigable de ZKP y mejora en gran medida la eficiencia operativa del circuito de inferencia.

Ejecución de Circuito Paralelo (Parallel Circuit Execution)

zkPyTorch compila automáticamente operaciones complejas de ML en circuitos paralelos, aprovechando al máximo el potencial del hardware de múltiples núcleos de CPU/GPU para generar pruebas de manera masiva en paralelo. Por ejemplo, al ejecutar la multiplicación de tensores, zkPyTorch divide automáticamente la tarea de cálculo en múltiples subtareas independientes, distribuyéndolas en paralelo a múltiples unidades de procesamiento para su ejecución concurrente. Esta estrategia de paralelización no solo mejora significativamente el rendimiento del circuito, sino que también hace posible la verificación eficiente de modelos grandes, abriendo una nueva dimensión para ZKML escalable.

Prueba de rendimiento completo: Un doble avance en rendimiento y precisión

zkPyTorch ha demostrado un rendimiento excepcional y una utilidad práctica en múltiples modelos de aprendizaje automático a través de rigurosas pruebas de referencia:

Prueba del modelo VGG-16

En el conjunto de datos CIFAR-10, zkPyTorch puede generar pruebas VGG-16 de una sola imagen en solo 6,3 segundos, casi sin diferencia de precisión en comparación con los cálculos tradicionales de punto flotante. Esto significa que zkML tiene capacidades del mundo real en tareas clásicas como el reconocimiento de imágenes.

Prueba del modelo Llama-3

Para el modelo de lenguaje Llama-3, que cuenta con hasta 80 mil millones de parámetros, zkPyTorch ha logrado una generación de pruebas eficiente de aproximadamente 150 segundos por token. Lo más notable es que su resultado mantiene un 99.32% de similitud coseno en comparación con el modelo original, garantizando una alta credibilidad mientras se conserva la coherencia semántica de la salida del modelo.

zkPyTorch: Construyendo un futuro de IA confiable con pruebas de conocimiento cero

! zkPyTorch: Construyendo el futuro de la IA confiable con pruebas de conocimiento cero

Tabla 1: Rendimiento de los diferentes esquemas ZKP en redes neuronales convolucionales y redes transformadoras.

Amplias aplicaciones en el mundo real

Aprendizaje automático verificable como servicio (Verifiable MLaaS)

A medida que el valor de los modelos de aprendizaje automático sigue aumentando, cada vez más desarrolladores de IA eligen implementar sus propios modelos en la nube, ofreciendo servicios de MLaaS (Machine-Learning-as-a-Service). Sin embargo, en la realidad, los usuarios a menudo tienen dificultades para verificar si los resultados de inferencia son verdaderos y confiables; mientras que los proveedores de modelos también desean proteger activos clave como la estructura y los parámetros del modelo, evitando su robo o abuso.

zkPyTorch nace precisamente para resolver esta contradicción: permite que los servicios de IA en la nube cuenten con capacidades nativas de "prueba de conocimiento cero", logrando que los resultados de inferencia sean verificables a nivel de cifrado.

Como se muestra en la figura 4, los desarrolladores pueden conectar directamente modelos grandes como Llama-3 a zkPyTorch para crear un sistema MLaaS de confianza con capacidades de prueba de conocimiento cero. Al integrarse a la perfección con el motor ZKP subyacente, zkPyTorch puede generar automáticamente pruebas sin exponer los detalles del modelo, verificando si cada inferencia se ejecutó correctamente, estableciendo así una base de confianza interactiva verdaderamente creíble para los proveedores de modelos y los consumidores.

zkPyTorch: Construyendo un futuro de IA confiable con pruebas de conocimiento cero

Figura 4: Escenarios de aplicación de zkPyTorch en el servicio de aprendizaje automático verificable (Verifiable MLaaS).

Seguridad en la valoración del modelo

zkPyTorch proporciona un mecanismo de evaluación de modelos de IA seguro y verificable, permitiendo a las partes interesadas evaluar cuidadosamente sus indicadores clave de rendimiento sin revelar los detalles del modelo. Este enfoque de valoración "cero filtraciones" establece un nuevo estándar de confianza para los modelos de IA, mejorando la eficiencia de las transacciones comerciales mientras se protege la propiedad intelectual de los desarrolladores. No solo aumenta la visibilidad del valor del modelo, sino que también aporta mayor transparencia y equidad a toda la industria de la IA.

con una profunda integración de la blockchain EXPchain

zkPyTorch integra de forma nativa la red blockchain EXPchain desarrollada de forma independiente por Polyhedra Network para construir conjuntamente una infraestructura de IA descentralizada de confianza. Esta integración proporciona una ruta altamente optimizada para las llamadas de contratos inteligentes y la verificación en la cadena, lo que permite que los resultados de la inferencia de IA se verifiquen criptográficamente y persistan en la cadena de bloques.

Con la colaboración entre zkPyTorch y EXPchain, los desarrolladores pueden crear aplicaciones de IA verificables de extremo a extremo, desde la implementación de modelos, la inferencia y la computación hasta la verificación en la cadena, realizar realmente un proceso de computación de IA transparente, confiable y auditable, y proporcionar soporte subyacente para la próxima generación de aplicaciones de blockchain + IA.

Hoja de ruta futura e innovación continua

Polyhedra continuará promoviendo la evolución de zkPyTorch, centrándose en las siguientes direcciones:

Construcción conjunta con código abierto y la comunidad

Liberar gradualmente los componentes centrales de zkPyTorch, inspirar la participación de desarrolladores de todo el mundo y promover la innovación colaborativa y la prosperidad del ecosistema en el campo del aprendizaje automático de conocimiento cero.

compatibilidad de modelos y marcos de expansión

Ampliar el alcance de soporte para modelos y marcos de aprendizaje automático de vanguardia, mejorando aún más la capacidad de adaptación y versatilidad de zkPyTorch, para que se pueda integrar de manera flexible en diversos flujos de trabajo de IA.

herramientas de desarrollo y construcción de SDK

Lanzar una cadena de herramientas de desarrollo integral y un kit de desarrollo de software (SDK) que simplifique el proceso de integración y acelere el despliegue y la aplicación de zkPyTorch en escenarios de negocio reales.

Conclusión

zkPyTorch es un hito importante hacia un futuro de IA confiable. Al integrar profundamente el maduro marco de PyTorch con la tecnología de prueba de conocimiento cero de vanguardia, zkPyTorch no solo mejora significativamente la seguridad y la verificabilidad del aprendizaje automático, sino que también redefine la forma de desplegar aplicaciones de IA y los límites de confianza.

Polyhedra continuará innovando en el campo de la "IA segura" para impulsar el aprendizaje automático a estándares más altos en términos de protección de la privacidad, resultados verificables y cumplimiento de modelos, ayudando a construir sistemas inteligentes transparentes, confiables y escalables.

Por favor, manténgase atento a nuestros últimos avances, y sea testigo de cómo zkPyTorch está remodelando el futuro de la era de la inteligencia segura.

Enlace original

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.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)