zkPyTorch : Apporter des Zéro Knowledge Proofs à l'Inference PyTorch pour une IA véritablement fiable

Intermédiaire6/11/2025, 3:25:52 AM
Cet article examine comment le compilateur zkPyTorch lancé par Polyhedra Network intègre le framework AI mainstream PyTorch avec la technologie zk-SNARKs, réduisant le seuil de développement pour ZKML et atteignant une vérification crédible et une protection de la vie privée dans le processus d'inférence d'apprentissage automatique. Il couvre ses trois modules clés (prétraitement, quantification, optimisation de circuit), les technologies clés (DAG, tables de recherche, convolution FFT), les stratégies d'optimisation de circuit à plusieurs niveaux, et met en avant des percées dans les performances et l'exactitude de zkPyTorch à travers des données empiriques de VGG-16 et Llama-3.

Alors que l'intelligence artificielle (IA) est de plus en plus mise en œuvre dans des domaines clés tels que la santé, la finance et la conduite autonome, garantir la fiabilité, la transparence et la sécurité du processus d'inférence de l'apprentissage automatique (AA) devient plus important que jamais.

Cependant, les services traditionnels d'apprentissage automatique fonctionnent souvent comme une "boîte noire", où les utilisateurs ne peuvent voir que les résultats et ont du mal à vérifier le processus. Ce manque de transparence rend les services de modèle vulnérables aux risques :

Le modèle a été volé,

Le résultat d'inférence a été malicieusement altéré,

Les données des utilisateurs sont à risque de violations de la vie privée.

ZKML (zk-SNARKs Machine Learning) offre une nouvelle solution cryptographique à ce défi. Il repose sur la technologie zk-SNARKs, permettant aux modèles d'apprentissage automatique d'être vérifiablement chiffrés : prouvant qu'un calcul a été exécuté correctement sans révéler d'informations sensibles.

En d'autres termes, les ZKPs permettent aux prestataires de services de prouver aux utilisateurs que :

« Les résultats d'inférence que vous avez obtenus sont en effet générés par le modèle entraîné que j'ai exécuté — mais je ne divulguerai aucun paramètre du modèle. »

Cela signifie que les utilisateurs peuvent faire confiance à l'authenticité des résultats d'inférence, tandis que la structure et les paramètres du modèle (qui sont souvent des actifs de grande valeur) restent privés.

zkPyTorch:

Polyhedra Network a lancé zkPyTorch, un compilateur révolutionnaire spécialement conçu pour le Zéro Knowledge Proof machine learning (ZKML), visant à combler le dernier kilomètre entre les frameworks d'IA grand public et la technologie ZK.

zkPyTorch intègre profondément les puissantes capacités d'apprentissage automatique de PyTorch avec des moteurs zk-SNARKs à la pointe de la technologie, permettant aux développeurs d'IA de créer des applications d'IA vérifiables dans un environnement familier sans changer leurs habitudes de programmation ou apprendre un tout nouveau langage ZK.

Ce compilateur peut traduire automatiquement des opérations de modèle de haut niveau (telles que la convolution, la multiplication de matrices, ReLU, softmax et les mécanismes d'attention) en circuits ZKP vérifiables cryptographiquement. Il combine la suite d'optimisation ZKML développée par Polyhedra pour compresser et accélérer intelligemment les chemins d'inférence principaux, garantissant à la fois l'exactitude et l'efficacité computationnelle des circuits.

Infrastructures clés pour construire un écosystème d'IA de confiance

L'écosystème actuel de l'apprentissage automatique fait face à de multiples défis tels que la sécurité des données, la vérifiabilité computationnelle et la transparence des modèles. Surtout dans des industries critiques comme la santé, la finance et la conduite autonome, les modèles d'IA impliquent non seulement une grande quantité d'informations personnelles sensibles, mais portent également des propriétés intellectuelles de grande valeur et des secrets commerciaux essentiels.

L'apprentissage automatique à connaissance nulle (ZKML) a émergé comme une avancée importante pour résoudre ce dilemme. Grâce à la technologie de la preuve à connaissance nulle (ZKP), le ZKML peut compléter la vérification de l'intégrité de l'inférence du modèle sans divulguer les paramètres du modèle ou les données d'entrée, protégeant ainsi la vie privée tout en garantissant la confiance.

Mais en réalité, le développement de ZKML a souvent un seuil élevé, nécessitant un solide bagage en cryptographie, ce qui est loin d'être facilement gérable par les ingénieurs en IA traditionnels.

C'est précisément la mission de zkPyTorch. Il établit un pont entre PyTorch et le moteur ZKP, permettant aux développeurs de construire des systèmes d'IA avec protection de la vie privée et vérifiabilité en utilisant un code familier, sans avoir besoin de réapprendre des langages cryptographiques complexes.

Grâce à zkPyTorch, Polyhedra Network abaisse considérablement les barrières techniques du ZKML, propulsant des applications IA évolutives et fiables dans le courant principal, et reconstruisant un nouveau paradigme de sécurité et de confidentialité de l'IA.

flux de travail zkPyTorch


Figure 1 : Vue d'ensemble de l'architecture globale de ZKPyTorch

Comme le montre la Figure 1, zkPyTorch convertit automatiquement les modèles PyTorch standards en circuits compatibles avec ZKP (zk-SNARKs) grâce à trois modules soigneusement conçus. Ces trois modules comprennent : le module de prétraitement, le module de quantification compatible avec le zéro-knowledge et le module d'optimisation de circuit.

Ce processus ne nécessite pas que les développeurs maîtrisent des circuits cryptographiques ou une syntaxe spécialisée : les développeurs n'ont qu'à écrire des modèles en utilisant PyTorch standard, et zkPyTorch peut les convertir en circuits pouvant être reconnus par des moteurs de preuve à divulgation nulle de connaissance tels qu'Expander, générant la preuve ZK correspondante.

Ce design hautement modulaire abaisse considérablement le seuil de développement de ZKML, permettant aux développeurs d'IA de créer facilement des applications d'apprentissage automatique efficaces, sécurisées et vérifiables sans avoir besoin de changer de langage ou d'apprendre la cryptographie.

Bloc Un : Prétraitement du Modèle

Dans la première phase, zkPyTorch va convertir le modèle PyTorch en un graphe de calcul structuré en utilisant le format Open Neural Network Exchange (ONNX). ONNX est une norme de représentation intermédiaire adoptée dans l'industrie qui peut représenter uniformément diverses opérations complexes d'apprentissage automatique. Grâce à cette étape de prétraitement, zkPyTorch est capable de clarifier la structure du modèle et de décomposer le processus de calcul central, posant ainsi une base solide pour générer des circuits zk-SNARKs dans les étapes suivantes.

Module 2 : Quantification Amie des ZKP

Le module de quantification est un composant clé du système ZKML. Les modèles d'apprentissage automatique traditionnels reposent sur des opérations à virgule flottante, tandis que l'environnement ZKP est plus adapté aux opérations entières dans des champs finis. zkPyTorch adopte un schéma de quantification entière optimisé pour les champs finis, mappant avec précision les calculs à virgule flottante sur des calculs entiers, tout en transformant les opérations non linéaires qui sont défavorables pour le ZKP (telles que ReLU et Softmax) en formes de table de consultation efficaces.

Cette stratégie réduit non seulement de manière significative la complexité des circuits, mais améliore également la vérifiabilité globale du système et l'efficacité opérationnelle tout en garantissant l'exactitude du modèle.

Module 3 : Optimisation des Circuits Hiérarchiques

zkPyTorch adopte une stratégie multi-niveaux pour l'optimisation des circuits, incluant spécifiquement :

Optimisation par lots
Conçu spécifiquement pour le calcul sérialisé, il réduit considérablement la complexité computationnelle et la consommation de ressources en traitant plusieurs étapes d'inférence à la fois, ce qui le rend particulièrement adapté aux scénarios de vérification de grands modèles de langage tels que les Transformers.

Accélération de l'opération de langue d'origine
En combinant la convolution par Transformée de Fourier Rapide (FFT) avec la technologie des tables de recherche, la vitesse d'exécution des opérations de base telles que la convolution et Softmax est efficacement améliorée, améliorant fondamentalement l'efficacité computationnelle globale.

Exécution de circuit parallèle
Tirez pleinement parti des avantages de la puissance de calcul des CPU multi-cœurs et des GPU en divisant les calculs lourds tels que la multiplication de matrices en plusieurs sous-tâches pour une exécution parallèle, améliorant ainsi considérablement la vitesse et l'évolutivité de la génération de Zéro Knowledge Proof.

Discussion Technique Approfondie

Graphe acyclique dirigé (DAG)

zkPyTorch utilise un Graphe Orienté Acyclique (DAG) pour gérer le flux de calcul de l'apprentissage automatique. La structure du DAG capture systématiquement les dépendances complexes des modèles, comme le montre la Figure 2, où chaque nœud représente une opération spécifique (telle que la transposition de matrice, la multiplication de matrices, la division et Softmax), et les arêtes décrivent précisément le flux de données entre ces opérations.

Cette représentation claire et structurée facilite non seulement grandement le processus de débogage, mais aide également à l'optimisation approfondie des performances. La nature acyclique du DAG évite les dépendances circulaires, garantissant une exécution efficace et contrôlable de l'ordre de calcul, ce qui est crucial pour l'optimisation de la génération de circuits zk-SNARKs.

De plus, DAG permet à zkPyTorch de gérer efficacement des architectures de modèles complexes telles que les Transformateurs et les Réseaux Résiduels (ResNet), qui ont souvent des flux de données complexes, non linéaires et multi-chemins. La conception de DAG s'aligne parfaitement avec leurs besoins computationnels, garantissant l'exactitude et l'efficacité de l'inférence des modèles.


Figure 2 : Un exemple de modèle d'apprentissage machine représenté sous la forme d'un graphe acyclique dirigé (DAG)

Techniques Quantitatives Avancées

Dans zkPyTorch, les techniques de quantification avancées sont une étape clé pour convertir les calculs en virgule flottante en opérations entières adaptées à une arithmétique de champ fini efficace dans les systèmes de preuve à connaissance nulle (ZKP). zkPyTorch utilise une méthode de quantification entière statique, soigneusement conçue pour équilibrer l'efficacité computationnelle et la précision du modèle, garantissant que la génération de preuves est à la fois rapide et précise.

Ce processus de quantification implique un étalonnage rigoureux pour déterminer avec précision l'échelle de quantification optimale afin de représenter efficacement les nombres à virgule flottante, évitant ainsi les débordements et les pertes de précision significatives. Pour relever les défis uniques des opérations non linéaires du Zéro Knowledge Proof (tels que Softmax et la normalisation des couches), zkPyTorch transforme de manière innovante ces fonctions complexes en opérations efficaces de recherche dans des tables.

Cette stratégie améliore non seulement considérablement l'efficacité de la génération de preuves, mais elle garantit également que les résultats de preuve générés sont complètement cohérents avec les sorties des modèles quantitatifs à haute précision, équilibrant performance et crédibilité, et faisant progresser l'application pratique de l'apprentissage automatique vérifiable.

Stratégie d'optimisation de circuit multi-niveaux

zkPyTorch adopte un système d'optimisation de circuit multi-couches hautement sophistiqué, garantissant des performances ultimes de raisonnement à zéro connaissance en termes d'efficacité et d'évolutivité sous plusieurs dimensions :

Optimisation du traitement par lots

En regroupant plusieurs tâches d'inférence dans un traitement par lots, la complexité computationnelle globale est considérablement réduite, particulièrement adaptée aux opérations séquentielles dans des modèles de langage comme les Transformers. Comme le montre la Figure 3, le processus d'inférence traditionnel des grands modèles de langage (LLM) fonctionne de manière générationnelle, token par token, tandis que l'approche innovante de zkPyTorch agrège tous les tokens d'entrée et de sortie en un seul processus de prompt pour validation. Cette méthode de traitement peut confirmer la correction globale de l'inférence du LLM en une seule fois, tout en s'assurant que chaque token de sortie est cohérent avec l'inférence standard du LLM.

Dans l'inférence LLM, la justesse du mécanisme de cache KV (cache clé-valeur) est essentielle pour garantir la fiabilité des résultats d'inférence. Si la logique d'inférence du modèle est incorrecte, même avec la mise en cache, elle ne peut pas reproduire des résultats conformes au processus de décodage standard. zkPyTorch garantit que chaque sortie dans les zk-SNARKs a une déterminisme et une complétude vérifiables en répliquant précisément ce processus.


Figure 3 : Vérification par lots des modèles de langage à grande échelle (LLMs), où L représente la longueur de la séquence d'entrée, N représente la longueur de la séquence de sortie et H représente la dimension de la couche cachée du modèle.

Opérations primitives optimisées

zkPyTorch a profondément optimisé les primitives d'apprentissage automatique sous-jacentes, améliorant considérablement l'efficacité des circuits. Par exemple, les opérations de convolution ont toujours été des tâches intensives en calcul ; zkPyTorch utilise une méthode d'optimisation basée sur la Transformée de Fourier Rapide (FFT) pour convertir les convolutions initialement exécutées dans le domaine spatial en opérations de multiplication dans le domaine fréquentiel, réduisant considérablement les coûts de calcul. En même temps, pour des fonctions non linéaires telles que ReLU et softmax, le système utilise une approche de table de consultation pré-calculée, évitant ainsi des calculs non linéaires qui ne sont pas adaptés au ZKP, améliorant considérablement l'efficacité opérationnelle des circuits d'inférence.

Exécution de circuit parallèle

zkPyTorch compile automatiquement des opérations ML complexes en circuits parallèles, utilisant pleinement le potentiel matériel des CPU/GPUs multi-cœurs pour réaliser une génération de preuves parallèles à grande échelle. Par exemple, lors de la multiplication de tenseurs, zkPyTorch divise automatiquement la tâche de calcul en plusieurs sous-tâches indépendantes, qui sont ensuite distribuées à plusieurs unités de traitement pour une exécution concurrente. Cette stratégie de parallélisation améliore non seulement considérablement le débit de l'exécution des circuits, mais rend également la vérification efficace de grands modèles une réalité, ouvrant de nouvelles dimensions pour le ZKML évolutif.

Tests de performance complets : une double percée en performance et en précision

zkPyTorch démontre des performances exceptionnelles et une utilité pratique à travers plusieurs modèles de machine learning grand public grâce à un benchmarking rigoureux :

Test du modèle VGG-16
Sur le jeu de données CIFAR-10, zkPyTorch ne prend que 6,3 secondes pour générer une preuve VGG-16 pour une seule image, et la précision est presque indiscernable de celle du calcul traditionnel en virgule flottante. Cela marque les capacités pratiques de zkML dans des tâches classiques telles que la reconnaissance d'images.

Test du modèle Llama-3
Pour le modèle de langage Llama-3 de grande taille avec jusqu'à 8 milliards de paramètres, zkPyTorch permet une génération de preuves efficace d'environ 150 secondes par jeton. Encore plus impressionnant, sa sortie maintient une similarité cosinus de 99,32 % par rapport au modèle original, garantissant une grande crédibilité tout en préservant la cohérence sémantique de la sortie du modèle.


Tableau 1 : Performance de divers schémas Zéro Knowledge Proof dans les réseaux de neurones convolutionnels et les réseaux de transformateurs

Une large gamme de scénarios d'application dans le monde réel

MLaaS vérifiable

Alors que la valeur des modèles d'apprentissage automatique continue d'augmenter, de plus en plus de développeurs d'IA choisissent de déployer leurs modèles auto-développés dans le cloud, offrant des services de MLaaS (Machine-Learning-as-a-Service). Cependant, en réalité, les utilisateurs trouvent souvent difficile de vérifier si les résultats d'inférence sont authentiques et fiables ; pendant ce temps, les fournisseurs de modèles souhaitent également protéger des actifs essentiels tels que la structure et les paramètres du modèle pour éviter le vol ou l'utilisation abusive.

zkPyTorch est né pour résoudre cette contradiction : il permet aux services d'IA cloud d'avoir des « capacités de vérification zéro-knowledge » natives, atteignant des résultats d'inférence au niveau du chiffrement vérifiable.

Comme le montre la Figure 4, les développeurs peuvent directement intégrer de grands modèles tels que Llama-3 dans zkPyTorch pour construire un système MLaaS digne de confiance avec des capacités de Zéro Knowledge Proof. En s'intégrant de manière transparente avec le moteur ZKP sous-jacent, zkPyTorch peut générer automatiquement des preuves sans exposer les détails du modèle, vérifiant si chaque inférence est exécutée correctement, établissant ainsi une véritable fondation de confiance interactive pour les fournisseurs de modèles et les utilisateurs.


Figure 4 : Les scénarios d'application de zkPyTorch dans le MLaaS vérifiable.

L'escorte sécurisée de l'évaluation des modèles

zkPyTorch fournit un mécanisme d'évaluation de modèle d'IA sécurisé et vérifiable, permettant aux parties prenantes d'évaluer prudemment les indicateurs de performance clés sans exposer les détails du modèle. Cette méthode d'évaluation "zero leakage" établit une nouvelle norme de confiance pour les modèles d'IA, améliorant l'efficacité des transactions commerciales tout en protégeant les droits de propriété intellectuelle des développeurs. Elle augmente non seulement la visibilité de la valeur du modèle, mais apporte également une plus grande transparence et équité à l'ensemble de l'industrie de l'IA.

Intégration profonde avec la blockchain EXPchain

zkPyTorch s'intègre nativement au réseau blockchain EXPchain développé indépendamment par Polyhedra Network, construisant ensemble une infrastructure d'IA décentralisée digne de confiance. Cette intégration offre un chemin hautement optimisé pour les appels de contrats intelligents et la vérification sur chaîne, permettant aux résultats d'inférence de l'IA d'être vérifiés cryptographiquement et stockés de manière permanente sur la blockchain.

Avec la collaboration de zkPyTorch et d'EXPchain, les développeurs peuvent créer des applications d'IA vérifiables de bout en bout, depuis le déploiement des modèles, le calcul d'inférence jusqu'à la vérification sur la chaîne, réalisant ainsi un processus de calcul d'IA transparent, fiable et auditable, fournissant un soutien sous-jacent pour la prochaine génération d'applications blockchain + IA.

Feuille de route future et innovation continue

Polyhedra continuera à faire avancer l'évolution de zkPyTorch, en se concentrant sur les aspects suivants :

Open source et co-construction communautaire

Ouvrir progressivement le code source des composants clés de zkPyTorch, inspirant les développeurs du monde entier à participer et à promouvoir l'innovation collaborative et la prospérité écologique dans le domaine du Zéro Knowledge Proof en apprentissage automatique.

Étendre la compatibilité des modèles et des cadres

Élargir la gamme de support pour les modèles et frameworks d'apprentissage automatique mainstream, renforcer l'adaptabilité et la polyvalence de zkPyTorch, le rendant flexible pour s'intégrer dans divers flux de travail d'IA.

Outils de développement et construction de SDK

Lancez une chaîne d'outils de développement complète et un kit de développement logiciel (SDK) pour simplifier le processus d'intégration et accélérer le déploiement et l'application de zkPyTorch dans des scénarios commerciaux pratiques.

Conclusion

zkPyTorch est une étape importante vers un avenir de l'IA digne de confiance. En intégrant profondément le cadre mature PyTorch avec la technologie de pointe zk-SNARKs, zkPyTorch améliore non seulement considérablement la sécurité et la vérifiabilité de l'apprentissage automatique, mais redéfinit également les méthodes de déploiement et les frontières de confiance des applications d'IA.

Polyhedra continuera d'innover dans le domaine de l'"IA sécurisée", faisant progresser l'apprentissage automatique vers des normes plus élevées en matière de protection de la vie privée, de vérifiabilité des résultats et de conformité des modèles, contribuant à construire des systèmes intelligents transparents, dignes de confiance et évolutifs.

Restez à l'écoute pour nos dernières mises à jour et témoignez de la manière dont zkPyTorch transforme l'avenir de l'ère intelligente et sécurisée.

Déclaration:

  1. Cet article est reproduit à partir de [BLOCKBEATS] Le droit d'auteur appartient à l'auteur original [Jiaheng Zhang] Si vous avez des objections à la republication, veuillez contacter Équipe Gate LearnL'équipe le traitera aussi rapidement que possible selon les procédures pertinentes.
  2. Avertissement : Les vues et opinions exprimées dans cet article ne sont que celles de l'auteur et ne constituent pas des conseils d'investissement.
  3. Les autres versions linguistiques de l'article sont traduites par l'équipe de Gate Learn, sauf mention contraire.GateDans de telles circonstances, la copie, la distribution ou le plagiat d'articles traduits n'est pas autorisé.

zkPyTorch : Apporter des Zéro Knowledge Proofs à l'Inference PyTorch pour une IA véritablement fiable

Intermédiaire6/11/2025, 3:25:52 AM
Cet article examine comment le compilateur zkPyTorch lancé par Polyhedra Network intègre le framework AI mainstream PyTorch avec la technologie zk-SNARKs, réduisant le seuil de développement pour ZKML et atteignant une vérification crédible et une protection de la vie privée dans le processus d'inférence d'apprentissage automatique. Il couvre ses trois modules clés (prétraitement, quantification, optimisation de circuit), les technologies clés (DAG, tables de recherche, convolution FFT), les stratégies d'optimisation de circuit à plusieurs niveaux, et met en avant des percées dans les performances et l'exactitude de zkPyTorch à travers des données empiriques de VGG-16 et Llama-3.

Alors que l'intelligence artificielle (IA) est de plus en plus mise en œuvre dans des domaines clés tels que la santé, la finance et la conduite autonome, garantir la fiabilité, la transparence et la sécurité du processus d'inférence de l'apprentissage automatique (AA) devient plus important que jamais.

Cependant, les services traditionnels d'apprentissage automatique fonctionnent souvent comme une "boîte noire", où les utilisateurs ne peuvent voir que les résultats et ont du mal à vérifier le processus. Ce manque de transparence rend les services de modèle vulnérables aux risques :

Le modèle a été volé,

Le résultat d'inférence a été malicieusement altéré,

Les données des utilisateurs sont à risque de violations de la vie privée.

ZKML (zk-SNARKs Machine Learning) offre une nouvelle solution cryptographique à ce défi. Il repose sur la technologie zk-SNARKs, permettant aux modèles d'apprentissage automatique d'être vérifiablement chiffrés : prouvant qu'un calcul a été exécuté correctement sans révéler d'informations sensibles.

En d'autres termes, les ZKPs permettent aux prestataires de services de prouver aux utilisateurs que :

« Les résultats d'inférence que vous avez obtenus sont en effet générés par le modèle entraîné que j'ai exécuté — mais je ne divulguerai aucun paramètre du modèle. »

Cela signifie que les utilisateurs peuvent faire confiance à l'authenticité des résultats d'inférence, tandis que la structure et les paramètres du modèle (qui sont souvent des actifs de grande valeur) restent privés.

zkPyTorch:

Polyhedra Network a lancé zkPyTorch, un compilateur révolutionnaire spécialement conçu pour le Zéro Knowledge Proof machine learning (ZKML), visant à combler le dernier kilomètre entre les frameworks d'IA grand public et la technologie ZK.

zkPyTorch intègre profondément les puissantes capacités d'apprentissage automatique de PyTorch avec des moteurs zk-SNARKs à la pointe de la technologie, permettant aux développeurs d'IA de créer des applications d'IA vérifiables dans un environnement familier sans changer leurs habitudes de programmation ou apprendre un tout nouveau langage ZK.

Ce compilateur peut traduire automatiquement des opérations de modèle de haut niveau (telles que la convolution, la multiplication de matrices, ReLU, softmax et les mécanismes d'attention) en circuits ZKP vérifiables cryptographiquement. Il combine la suite d'optimisation ZKML développée par Polyhedra pour compresser et accélérer intelligemment les chemins d'inférence principaux, garantissant à la fois l'exactitude et l'efficacité computationnelle des circuits.

Infrastructures clés pour construire un écosystème d'IA de confiance

L'écosystème actuel de l'apprentissage automatique fait face à de multiples défis tels que la sécurité des données, la vérifiabilité computationnelle et la transparence des modèles. Surtout dans des industries critiques comme la santé, la finance et la conduite autonome, les modèles d'IA impliquent non seulement une grande quantité d'informations personnelles sensibles, mais portent également des propriétés intellectuelles de grande valeur et des secrets commerciaux essentiels.

L'apprentissage automatique à connaissance nulle (ZKML) a émergé comme une avancée importante pour résoudre ce dilemme. Grâce à la technologie de la preuve à connaissance nulle (ZKP), le ZKML peut compléter la vérification de l'intégrité de l'inférence du modèle sans divulguer les paramètres du modèle ou les données d'entrée, protégeant ainsi la vie privée tout en garantissant la confiance.

Mais en réalité, le développement de ZKML a souvent un seuil élevé, nécessitant un solide bagage en cryptographie, ce qui est loin d'être facilement gérable par les ingénieurs en IA traditionnels.

C'est précisément la mission de zkPyTorch. Il établit un pont entre PyTorch et le moteur ZKP, permettant aux développeurs de construire des systèmes d'IA avec protection de la vie privée et vérifiabilité en utilisant un code familier, sans avoir besoin de réapprendre des langages cryptographiques complexes.

Grâce à zkPyTorch, Polyhedra Network abaisse considérablement les barrières techniques du ZKML, propulsant des applications IA évolutives et fiables dans le courant principal, et reconstruisant un nouveau paradigme de sécurité et de confidentialité de l'IA.

flux de travail zkPyTorch


Figure 1 : Vue d'ensemble de l'architecture globale de ZKPyTorch

Comme le montre la Figure 1, zkPyTorch convertit automatiquement les modèles PyTorch standards en circuits compatibles avec ZKP (zk-SNARKs) grâce à trois modules soigneusement conçus. Ces trois modules comprennent : le module de prétraitement, le module de quantification compatible avec le zéro-knowledge et le module d'optimisation de circuit.

Ce processus ne nécessite pas que les développeurs maîtrisent des circuits cryptographiques ou une syntaxe spécialisée : les développeurs n'ont qu'à écrire des modèles en utilisant PyTorch standard, et zkPyTorch peut les convertir en circuits pouvant être reconnus par des moteurs de preuve à divulgation nulle de connaissance tels qu'Expander, générant la preuve ZK correspondante.

Ce design hautement modulaire abaisse considérablement le seuil de développement de ZKML, permettant aux développeurs d'IA de créer facilement des applications d'apprentissage automatique efficaces, sécurisées et vérifiables sans avoir besoin de changer de langage ou d'apprendre la cryptographie.

Bloc Un : Prétraitement du Modèle

Dans la première phase, zkPyTorch va convertir le modèle PyTorch en un graphe de calcul structuré en utilisant le format Open Neural Network Exchange (ONNX). ONNX est une norme de représentation intermédiaire adoptée dans l'industrie qui peut représenter uniformément diverses opérations complexes d'apprentissage automatique. Grâce à cette étape de prétraitement, zkPyTorch est capable de clarifier la structure du modèle et de décomposer le processus de calcul central, posant ainsi une base solide pour générer des circuits zk-SNARKs dans les étapes suivantes.

Module 2 : Quantification Amie des ZKP

Le module de quantification est un composant clé du système ZKML. Les modèles d'apprentissage automatique traditionnels reposent sur des opérations à virgule flottante, tandis que l'environnement ZKP est plus adapté aux opérations entières dans des champs finis. zkPyTorch adopte un schéma de quantification entière optimisé pour les champs finis, mappant avec précision les calculs à virgule flottante sur des calculs entiers, tout en transformant les opérations non linéaires qui sont défavorables pour le ZKP (telles que ReLU et Softmax) en formes de table de consultation efficaces.

Cette stratégie réduit non seulement de manière significative la complexité des circuits, mais améliore également la vérifiabilité globale du système et l'efficacité opérationnelle tout en garantissant l'exactitude du modèle.

Module 3 : Optimisation des Circuits Hiérarchiques

zkPyTorch adopte une stratégie multi-niveaux pour l'optimisation des circuits, incluant spécifiquement :

Optimisation par lots
Conçu spécifiquement pour le calcul sérialisé, il réduit considérablement la complexité computationnelle et la consommation de ressources en traitant plusieurs étapes d'inférence à la fois, ce qui le rend particulièrement adapté aux scénarios de vérification de grands modèles de langage tels que les Transformers.

Accélération de l'opération de langue d'origine
En combinant la convolution par Transformée de Fourier Rapide (FFT) avec la technologie des tables de recherche, la vitesse d'exécution des opérations de base telles que la convolution et Softmax est efficacement améliorée, améliorant fondamentalement l'efficacité computationnelle globale.

Exécution de circuit parallèle
Tirez pleinement parti des avantages de la puissance de calcul des CPU multi-cœurs et des GPU en divisant les calculs lourds tels que la multiplication de matrices en plusieurs sous-tâches pour une exécution parallèle, améliorant ainsi considérablement la vitesse et l'évolutivité de la génération de Zéro Knowledge Proof.

Discussion Technique Approfondie

Graphe acyclique dirigé (DAG)

zkPyTorch utilise un Graphe Orienté Acyclique (DAG) pour gérer le flux de calcul de l'apprentissage automatique. La structure du DAG capture systématiquement les dépendances complexes des modèles, comme le montre la Figure 2, où chaque nœud représente une opération spécifique (telle que la transposition de matrice, la multiplication de matrices, la division et Softmax), et les arêtes décrivent précisément le flux de données entre ces opérations.

Cette représentation claire et structurée facilite non seulement grandement le processus de débogage, mais aide également à l'optimisation approfondie des performances. La nature acyclique du DAG évite les dépendances circulaires, garantissant une exécution efficace et contrôlable de l'ordre de calcul, ce qui est crucial pour l'optimisation de la génération de circuits zk-SNARKs.

De plus, DAG permet à zkPyTorch de gérer efficacement des architectures de modèles complexes telles que les Transformateurs et les Réseaux Résiduels (ResNet), qui ont souvent des flux de données complexes, non linéaires et multi-chemins. La conception de DAG s'aligne parfaitement avec leurs besoins computationnels, garantissant l'exactitude et l'efficacité de l'inférence des modèles.


Figure 2 : Un exemple de modèle d'apprentissage machine représenté sous la forme d'un graphe acyclique dirigé (DAG)

Techniques Quantitatives Avancées

Dans zkPyTorch, les techniques de quantification avancées sont une étape clé pour convertir les calculs en virgule flottante en opérations entières adaptées à une arithmétique de champ fini efficace dans les systèmes de preuve à connaissance nulle (ZKP). zkPyTorch utilise une méthode de quantification entière statique, soigneusement conçue pour équilibrer l'efficacité computationnelle et la précision du modèle, garantissant que la génération de preuves est à la fois rapide et précise.

Ce processus de quantification implique un étalonnage rigoureux pour déterminer avec précision l'échelle de quantification optimale afin de représenter efficacement les nombres à virgule flottante, évitant ainsi les débordements et les pertes de précision significatives. Pour relever les défis uniques des opérations non linéaires du Zéro Knowledge Proof (tels que Softmax et la normalisation des couches), zkPyTorch transforme de manière innovante ces fonctions complexes en opérations efficaces de recherche dans des tables.

Cette stratégie améliore non seulement considérablement l'efficacité de la génération de preuves, mais elle garantit également que les résultats de preuve générés sont complètement cohérents avec les sorties des modèles quantitatifs à haute précision, équilibrant performance et crédibilité, et faisant progresser l'application pratique de l'apprentissage automatique vérifiable.

Stratégie d'optimisation de circuit multi-niveaux

zkPyTorch adopte un système d'optimisation de circuit multi-couches hautement sophistiqué, garantissant des performances ultimes de raisonnement à zéro connaissance en termes d'efficacité et d'évolutivité sous plusieurs dimensions :

Optimisation du traitement par lots

En regroupant plusieurs tâches d'inférence dans un traitement par lots, la complexité computationnelle globale est considérablement réduite, particulièrement adaptée aux opérations séquentielles dans des modèles de langage comme les Transformers. Comme le montre la Figure 3, le processus d'inférence traditionnel des grands modèles de langage (LLM) fonctionne de manière générationnelle, token par token, tandis que l'approche innovante de zkPyTorch agrège tous les tokens d'entrée et de sortie en un seul processus de prompt pour validation. Cette méthode de traitement peut confirmer la correction globale de l'inférence du LLM en une seule fois, tout en s'assurant que chaque token de sortie est cohérent avec l'inférence standard du LLM.

Dans l'inférence LLM, la justesse du mécanisme de cache KV (cache clé-valeur) est essentielle pour garantir la fiabilité des résultats d'inférence. Si la logique d'inférence du modèle est incorrecte, même avec la mise en cache, elle ne peut pas reproduire des résultats conformes au processus de décodage standard. zkPyTorch garantit que chaque sortie dans les zk-SNARKs a une déterminisme et une complétude vérifiables en répliquant précisément ce processus.


Figure 3 : Vérification par lots des modèles de langage à grande échelle (LLMs), où L représente la longueur de la séquence d'entrée, N représente la longueur de la séquence de sortie et H représente la dimension de la couche cachée du modèle.

Opérations primitives optimisées

zkPyTorch a profondément optimisé les primitives d'apprentissage automatique sous-jacentes, améliorant considérablement l'efficacité des circuits. Par exemple, les opérations de convolution ont toujours été des tâches intensives en calcul ; zkPyTorch utilise une méthode d'optimisation basée sur la Transformée de Fourier Rapide (FFT) pour convertir les convolutions initialement exécutées dans le domaine spatial en opérations de multiplication dans le domaine fréquentiel, réduisant considérablement les coûts de calcul. En même temps, pour des fonctions non linéaires telles que ReLU et softmax, le système utilise une approche de table de consultation pré-calculée, évitant ainsi des calculs non linéaires qui ne sont pas adaptés au ZKP, améliorant considérablement l'efficacité opérationnelle des circuits d'inférence.

Exécution de circuit parallèle

zkPyTorch compile automatiquement des opérations ML complexes en circuits parallèles, utilisant pleinement le potentiel matériel des CPU/GPUs multi-cœurs pour réaliser une génération de preuves parallèles à grande échelle. Par exemple, lors de la multiplication de tenseurs, zkPyTorch divise automatiquement la tâche de calcul en plusieurs sous-tâches indépendantes, qui sont ensuite distribuées à plusieurs unités de traitement pour une exécution concurrente. Cette stratégie de parallélisation améliore non seulement considérablement le débit de l'exécution des circuits, mais rend également la vérification efficace de grands modèles une réalité, ouvrant de nouvelles dimensions pour le ZKML évolutif.

Tests de performance complets : une double percée en performance et en précision

zkPyTorch démontre des performances exceptionnelles et une utilité pratique à travers plusieurs modèles de machine learning grand public grâce à un benchmarking rigoureux :

Test du modèle VGG-16
Sur le jeu de données CIFAR-10, zkPyTorch ne prend que 6,3 secondes pour générer une preuve VGG-16 pour une seule image, et la précision est presque indiscernable de celle du calcul traditionnel en virgule flottante. Cela marque les capacités pratiques de zkML dans des tâches classiques telles que la reconnaissance d'images.

Test du modèle Llama-3
Pour le modèle de langage Llama-3 de grande taille avec jusqu'à 8 milliards de paramètres, zkPyTorch permet une génération de preuves efficace d'environ 150 secondes par jeton. Encore plus impressionnant, sa sortie maintient une similarité cosinus de 99,32 % par rapport au modèle original, garantissant une grande crédibilité tout en préservant la cohérence sémantique de la sortie du modèle.


Tableau 1 : Performance de divers schémas Zéro Knowledge Proof dans les réseaux de neurones convolutionnels et les réseaux de transformateurs

Une large gamme de scénarios d'application dans le monde réel

MLaaS vérifiable

Alors que la valeur des modèles d'apprentissage automatique continue d'augmenter, de plus en plus de développeurs d'IA choisissent de déployer leurs modèles auto-développés dans le cloud, offrant des services de MLaaS (Machine-Learning-as-a-Service). Cependant, en réalité, les utilisateurs trouvent souvent difficile de vérifier si les résultats d'inférence sont authentiques et fiables ; pendant ce temps, les fournisseurs de modèles souhaitent également protéger des actifs essentiels tels que la structure et les paramètres du modèle pour éviter le vol ou l'utilisation abusive.

zkPyTorch est né pour résoudre cette contradiction : il permet aux services d'IA cloud d'avoir des « capacités de vérification zéro-knowledge » natives, atteignant des résultats d'inférence au niveau du chiffrement vérifiable.

Comme le montre la Figure 4, les développeurs peuvent directement intégrer de grands modèles tels que Llama-3 dans zkPyTorch pour construire un système MLaaS digne de confiance avec des capacités de Zéro Knowledge Proof. En s'intégrant de manière transparente avec le moteur ZKP sous-jacent, zkPyTorch peut générer automatiquement des preuves sans exposer les détails du modèle, vérifiant si chaque inférence est exécutée correctement, établissant ainsi une véritable fondation de confiance interactive pour les fournisseurs de modèles et les utilisateurs.


Figure 4 : Les scénarios d'application de zkPyTorch dans le MLaaS vérifiable.

L'escorte sécurisée de l'évaluation des modèles

zkPyTorch fournit un mécanisme d'évaluation de modèle d'IA sécurisé et vérifiable, permettant aux parties prenantes d'évaluer prudemment les indicateurs de performance clés sans exposer les détails du modèle. Cette méthode d'évaluation "zero leakage" établit une nouvelle norme de confiance pour les modèles d'IA, améliorant l'efficacité des transactions commerciales tout en protégeant les droits de propriété intellectuelle des développeurs. Elle augmente non seulement la visibilité de la valeur du modèle, mais apporte également une plus grande transparence et équité à l'ensemble de l'industrie de l'IA.

Intégration profonde avec la blockchain EXPchain

zkPyTorch s'intègre nativement au réseau blockchain EXPchain développé indépendamment par Polyhedra Network, construisant ensemble une infrastructure d'IA décentralisée digne de confiance. Cette intégration offre un chemin hautement optimisé pour les appels de contrats intelligents et la vérification sur chaîne, permettant aux résultats d'inférence de l'IA d'être vérifiés cryptographiquement et stockés de manière permanente sur la blockchain.

Avec la collaboration de zkPyTorch et d'EXPchain, les développeurs peuvent créer des applications d'IA vérifiables de bout en bout, depuis le déploiement des modèles, le calcul d'inférence jusqu'à la vérification sur la chaîne, réalisant ainsi un processus de calcul d'IA transparent, fiable et auditable, fournissant un soutien sous-jacent pour la prochaine génération d'applications blockchain + IA.

Feuille de route future et innovation continue

Polyhedra continuera à faire avancer l'évolution de zkPyTorch, en se concentrant sur les aspects suivants :

Open source et co-construction communautaire

Ouvrir progressivement le code source des composants clés de zkPyTorch, inspirant les développeurs du monde entier à participer et à promouvoir l'innovation collaborative et la prospérité écologique dans le domaine du Zéro Knowledge Proof en apprentissage automatique.

Étendre la compatibilité des modèles et des cadres

Élargir la gamme de support pour les modèles et frameworks d'apprentissage automatique mainstream, renforcer l'adaptabilité et la polyvalence de zkPyTorch, le rendant flexible pour s'intégrer dans divers flux de travail d'IA.

Outils de développement et construction de SDK

Lancez une chaîne d'outils de développement complète et un kit de développement logiciel (SDK) pour simplifier le processus d'intégration et accélérer le déploiement et l'application de zkPyTorch dans des scénarios commerciaux pratiques.

Conclusion

zkPyTorch est une étape importante vers un avenir de l'IA digne de confiance. En intégrant profondément le cadre mature PyTorch avec la technologie de pointe zk-SNARKs, zkPyTorch améliore non seulement considérablement la sécurité et la vérifiabilité de l'apprentissage automatique, mais redéfinit également les méthodes de déploiement et les frontières de confiance des applications d'IA.

Polyhedra continuera d'innover dans le domaine de l'"IA sécurisée", faisant progresser l'apprentissage automatique vers des normes plus élevées en matière de protection de la vie privée, de vérifiabilité des résultats et de conformité des modèles, contribuant à construire des systèmes intelligents transparents, dignes de confiance et évolutifs.

Restez à l'écoute pour nos dernières mises à jour et témoignez de la manière dont zkPyTorch transforme l'avenir de l'ère intelligente et sécurisée.

Déclaration:

  1. Cet article est reproduit à partir de [BLOCKBEATS] Le droit d'auteur appartient à l'auteur original [Jiaheng Zhang] Si vous avez des objections à la republication, veuillez contacter Équipe Gate LearnL'équipe le traitera aussi rapidement que possible selon les procédures pertinentes.
  2. Avertissement : Les vues et opinions exprimées dans cet article ne sont que celles de l'auteur et ne constituent pas des conseils d'investissement.
  3. Les autres versions linguistiques de l'article sont traduites par l'équipe de Gate Learn, sauf mention contraire.GateDans de telles circonstances, la copie, la distribution ou le plagiat d'articles traduits n'est pas autorisé.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!