Avec la mise en œuvre approfondie de l’intelligence artificielle (IA) dans des domaines clés tels que la santé, la finance et la conduite autonome, il est plus important que jamais d’assurer la fiabilité, la transparence et la sécurité des processus d’inférence d’apprentissage automatique (ML).
Cependant, les services d'apprentissage automatique traditionnels fonctionnent souvent comme une "boîte noire", les utilisateurs ne voyant que les résultats, rendant difficile la vérification du processus. Cette opacité rend les services de modèle vulnérables aux risques :
Modèle volé,
Les résultats de l'inférence ont été falsifiés de manière malveillante,
Les données des utilisateurs sont exposées à un risque de violation de la vie privée.
ZKML (apprentissage automatique à connaissance nulle) offre une nouvelle solution cryptographique à ce défi. Il repose sur la technologie des preuves à connaissance nulle (ZKPs), conférant aux modèles d'apprentissage automatique la capacité de validation cryptée : prouver qu'un calcul a été correctement exécuté sans révéler d'informations sensibles.
En d'autres termes, les ZKPs permettent aux fournisseurs de services de prouver aux utilisateurs :
« Les résultats d’inférence que vous obtenez sont bien ceux que j’ai exécutés avec le modèle entraîné, mais je ne révélerai aucun paramètre du modèle. »
Cela signifie que les utilisateurs peuvent faire confiance à l'authenticité des résultats de raisonnement, tandis que la structure et les paramètres du modèle (souvent des actifs de grande valeur) restent toujours privés.
zkPyTorch
Polyhedra Network lance zkPyTorch - un compilateur révolutionnaire conçu pour l'apprentissage automatique à connaissance nulle (ZKML), visant à combler le dernier kilomètre entre les cadres d'IA mainstream et la technologie ZK.
zkPyTorch intègre profondément les puissantes capacités d’apprentissage automatique de PyTorch avec un moteur de preuve à divulgation nulle de connaissance de pointe, permettant aux développeurs d’IA de créer des applications d’IA vérifiables dans un environnement familier sans changer les habitudes de programmation ou apprendre un nouveau langage ZK.
Ce compilateur peut traduire automatiquement les opérations de modèle de haut niveau (telles que la convolution, la multiplication matricielle, ReLU, softmax et les mécanismes d’attention) en circuits ZKP qui peuvent être vérifiés cryptographiquement, et se combiner avec la suite d’optimisation ZKML développée par Polyhedra pour compresser et accélérer intelligemment les chemins d’inférence principaux afin de garantir à la fois l’exactitude des circuits et l’efficacité de calcul.
Infrastructures clés pour construire un écosystème IA de confiance
L’écosystème actuel du machine learning est confronté à de multiples défis tels que la sécurité des données, la vérifiabilité computationnelle et la transparence des modèles. En particulier dans les secteurs clés tels que la santé, la finance et la conduite autonome, les modèles d’IA impliquent non seulement une grande quantité d’informations personnelles sensibles, mais contiennent également une propriété intellectuelle de grande valeur et des secrets commerciaux fondamentaux.
L’apprentissage automatique à connaissance zéro (ZKML) a vu le jour, ce qui est devenu une percée importante pour résoudre ce dilemme. Grâce à la technologie ZKP (Zero-Knowledge Proof), ZKML peut effectuer la vérification de l’intégrité de l’inférence du modèle sans révéler les paramètres du modèle ou les données d’entrée, à la fois confidentialité et fiabilité.
Mais dans la réalité, le développement de ZKML est souvent très difficile, nécessitant une solide formation en cryptographie, ce qui est loin d'être facilement maîtrisé par les ingénieurs en IA traditionnels.
C'est exactement la mission de zkPyTorch. Il crée 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 à réapprendre un langage cryptographique complexe.
Grâce à zkPyTorch, Polyhedra Network réduit significativement les barrières techniques du ZKML, propulsant les applications IA évolutives et de confiance vers le grand public, et redéfinissant un nouveau paradigme de sécurité et de confidentialité en matière d'IA.
Flux de travail zkPyTorch
Figure 1 : Vue d'ensemble de l'architecture de ZKPyTorch
Comme montré dans la figure 1, zkPyTorch convertit automatiquement les modèles standard de PyTorch en circuits compatibles avec ZKP (preuve à divulgation nulle de connaissance) grâce à trois modules soigneusement conçus. Ces trois modules comprennent : le module de prétraitement, le module de quantification amical avec ZKP, et le module d'optimisation des circuits.
Ce processus ne nécessite pas que le développeur maîtrise des circuits cryptographiques ou une syntaxe spécialisée : le développeur n’a qu’à écrire le modèle en PyTorch standard, et zkPyTorch peut le convertir en un circuit qui peut être reconnu par un moteur de preuve à divulgation nulle de connaissance tel que Expander pour générer la preuve ZK correspondante. Cette conception hautement modulaire réduit considérablement la barrière à l’entrée pour le développement de ZKML, ce qui permet aux développeurs d’IA de créer facilement des applications d’apprentissage automatique efficaces, sécurisées et vérifiables sans avoir à changer de langue ou à apprendre la cryptographie.
Module 1 : Prétraitement du modèle
Dans la première phase, zkPyTorch convertit le modèle PyTorch en un graphe de calcul structuré à l’aide du format ONNX (Open Neural Network Exchange Format). ONNX est la norme de représentation intermédiaire la plus largement adoptée par l’industrie pour une représentation unifiée d’opérations complexes de machine learning. Grâce à cette étape de prétraitement, zkPyTorch peut clarifier la structure du modèle, désassembler le processus de calcul de base et poser une base solide pour la génération ultérieure de circuits à divulgation nulle de connaissance.
Module 2 : Quantification amicale ZKP
Le module de quantification est un élément clé du système ZKML. Les modèles traditionnels d’apprentissage automatique reposent sur des opérations en virgule flottante, tandis que l’environnement ZKP est plus adapté aux opérations en nombres entiers dans des corps finis. zkPyTorch utilise un schéma de quantification d’entiers optimisé pour les corps finis afin de mapper avec précision les calculs en virgule flottante aux calculs d’entiers, et en même temps convertir les opérations non linéaires qui ne sont pas propices à ZKP (telles que ReLU et Softmax) en tables de correspondance efficaces.
Cette stratégie a non seulement considérablement réduit la complexité des circuits, mais a également amélioré la vérifiabilité et l'efficacité du système tout en garantissant la précision du modèle.
Module 3 : Optimisation de circuits en couches
zkPyTorch utilise une stratégie multi-niveaux pour l'optimisation des circuits, qui comprend notamment :
Optimisation par lots
Conçu spécialement pour le calcul de sérialisation, il permet de traiter plusieurs étapes d'inférence en une seule fois, réduisant ainsi considérablement la complexité de calcul et la consommation de ressources, particulièrement adapté aux scénarios de validation des grands modèles de langage tels que Transformer.
Accélération des opérations de langage source
En combinant la transformation de Fourier rapide (FFT) avec la technique de table de recherche, on améliore efficacement la vitesse d'exécution des circuits pour des opérations de base telles que la convolution et Softmax, renforçant ainsi fondamentalement l'efficacité globale du calcul.
Exécution de circuits parallèles
Exploitez pleinement les avantages de la puissance de calcul des processeurs multicœurs et des GPU, et divisez les calculs à forte charge tels que la multiplication matricielle en plusieurs sous-tâches à exécuter en parallèle, améliorant ainsi considérablement la vitesse et l’évolutivité de la génération de preuves à divulgation nulle de connaissance.
Discussion technique approfondie
un graphe acyclique orienté (DAG)
zkPyTorch utilise un graphe acyclique dirigé (DAG) pour gérer le flux de calcul de l’apprentissage automatique. La structure DAG capture systématiquement les dépendances complexes du modèle, 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 matrice, la division et softmax), et les arêtes décrivent exactement où les données circulent entre ces opérations.
Cette représentation claire et structurée facilite non seulement le processus de débogage, mais aide également à l'optimisation approfondie des performances. La propriété acyclique du DAG évite les dépendances circulaires, garantissant une exécution efficace et contrôlée de l'ordre de calcul, ce qui est crucial pour l'optimisation de la génération des circuits de preuve à connaissance nulle.
De plus, le DAG permet à zkPyTorch de traiter efficacement des architectures de modèles complexes telles que les Transformateurs et les réseaux résiduels (ResNet), qui présentent souvent des flux de données complexes, multi-chemins et non linéaires. La conception du DAG correspond parfaitement à leurs besoins de calcul, garantissant l'exactitude et l'efficacité de l'inférence du modèle.
Figure 2 : Exemple de modèle d’apprentissage automatique représenté sous la forme d’un graphe acyclique dirigé (DAG).
Technologie de quantification avancée
Dans zkPyTorch, les techniques avancées de quantification sont une étape clé pour transformer les calculs en virgule flottante en opérations entières adaptées à l'arithmétique des corps finis efficaces dans les systèmes de preuve à connaissance nulle (ZKP). zkPyTorch adopte une méthode de quantification entière statique, soigneusement conçue pour équilibrer l'efficacité de calcul et la précision du modèle, garantissant rapidité et précision lors de la génération de preuves.
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. Face aux défis des opérations non linéaires propres aux ZKP (comme Softmax et la normalisation de couche), zkPyTorch transforme de manière innovante ces fonctions complexes en opérations de recherche efficaces.
Cette stratégie améliore non seulement considérablement l’efficacité de la génération de preuves, mais garantit également que les résultats de preuve générés sont totalement cohérents avec le résultat du modèle de quantification de haute précision, en tenant compte des performances et de la crédibilité, et en favorisant l’application pratique de l’apprentissage automatique vérifiable.
Stratégies d'optimisation des circuits multicouches
zkPyTorch adopte un système d’optimisation de circuit à plusieurs niveaux hautement sophistiqué pour garantir les performances ultimes de l’inférence à connaissance zéro en termes d’efficacité et d’évolutivité à partir de plusieurs dimensions :
Optimisation du traitement par lots (Batch Processing Optimization)
En regroupant plusieurs tâches d'inférence en traitement par lots, on réduit considérablement la complexité de calcul globale, ce qui est particulièrement adapté aux scénarios d'opérations séquentielles dans des modèles de langage tels que les Transformers. Comme le montre la figure 3, le processus d'inférence traditionnel des grands modèles de langage (LLM) fonctionne par génération token par token, tandis que la méthode innovante de zkPyTorch agrège tous les tokens d'entrée et de sortie en un seul processus de prompt pour validation. Cette approche permet de vérifier d'un seul coup si l'inférence globale du LLM est correcte, tout en s'assurant que chaque token de sortie est conforme à l'inférence standard du LLM.
Dans l’inférence LLM, l’exactitude du mécanisme de cache KV est la clé pour garantir la crédibilité de la sortie de l’inférence. Si la logique d’inférence du modèle est incorrecte, même si le cache est utilisé, il ne sera pas possible de restituer les résultats cohérents avec le processus de décodage standard. zkPyTorch garantit la certitude vérifiable et l’exhaustivité de chaque sortie dans une preuve à divulgation nulle de connaissance en reproduisant avec précision ce processus.
Figure 3 : Validation par lot du calcul 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.
Optimisation des opérations primitives (Optimized Primitive Operations)
zkPyTorch optimise en profondeur les primitives d’apprentissage automatique sous-jacentes, ce qui améliore considérablement l’efficacité du circuit. Par exemple, les opérations de convolution ont toujours été intensives en calcul, et zkPyTorch utilise une méthode d’optimisation basée sur la transformée de Fourier rapide (FFT) pour convertir les circonvolutions initialement effectuées dans le domaine spatial en opérations de multiplication dans le domaine fréquentiel, ce qui réduit considérablement le coût de calcul. Dans le même temps, pour les fonctions non linéaires telles que ReLU et softmax, le système adopte la méthode de la table de correspondance précalculée, ce qui évite le calcul non linéaire hostile de ZKP et améliore considérablement l’efficacité de fonctionnement du circuit d’inférence.
Exécution de circuit parallèle (Parallel Circuit Execution)
zkPyTorch compile automatiquement des opérations ML complexes dans des circuits parallèles, libérant ainsi tout le potentiel matériel des CPU/GPU multicœurs pour la génération massivement parallèle de preuves. Par exemple, lors de l’exécution d’une multiplication tensorielle, zkPyTorch divisera automatiquement la tâche de calcul en plusieurs sous-tâches indépendantes, qui seront distribuées à plusieurs unités de traitement en parallèle. Cette stratégie de parallélisation améliore non seulement considérablement le débit d’exécution des circuits, mais permet également une vérification efficace de grands modèles, ouvrant ainsi une nouvelle dimension pour ZKML évolutif.
Test complet de performance : une double percée en performance et en précision
zkPyTorch a démontré des performances et une utilité pratique exceptionnelles à travers des tests rigoureux sur plusieurs modèles d'apprentissage machine populaires :
Test du modèle VGG-16
Sur le jeu de données CIFAR-10, zkPyTorch ne nécessite que 6,3 secondes pour générer une preuve VGG-16 pour une seule image, et en termes de précision, il n'y a presque pas de différence par rapport au calcul flottant traditionnel. Cela marque une étape où zkML possède déjà des capacités opérationnelles sur des tâches classiques telles que la reconnaissance d'images.
Test du modèle Llama-3
Pour le modèle de langage Llama-3, qui compte jusqu'à 8 milliards de paramètres, zkPyTorch a réalisé une génération de preuves efficace d'environ 150 secondes par token. Plus remarquable encore, ses résultats de sortie conservent une similarité cosinus de 99,32 % par rapport au modèle original, garantissant à la fois une haute crédibilité et la cohérence sémantique des sorties du modèle.
Tableau 1 : Performance des différentes solutions ZKP dans les réseaux de neurones convolutifs et les réseaux de transformateurs
Scénarios d'application étendus dans le monde réel
Machine Learning vérifiable en tant que service (Verifiable MLaaS)
Alors que la valeur des modèles d’apprentissage automatique ne cesse d’augmenter, de plus en plus de développeurs d’IA choisissent de déployer leurs propres modèles dans le cloud et de fournir des services d’apprentissage automatique en tant que service (MLaaS). Cependant, en réalité, il est souvent difficile pour les utilisateurs de vérifier si les résultats de l’inférence sont vrais et crédibles. Les fournisseurs de modèles souhaitent également protéger les actifs de base, tels que les structures et les paramètres du modèle, contre le vol ou l’utilisation abusive.
zkPyTorch est conçu pour résoudre cette contradiction : il permet aux services d’IA basés sur le cloud d’avoir des « capacités de vérification à connaissance zéro » natives pour rendre les résultats d’inférence vérifiables de manière cryptographique.
Comme indiqué sur la figure 4, les développeurs peuvent connecter directement de grands modèles tels que Llama-3 à zkPyTorch pour construire un système MLaaS fiable avec des capacités de preuve à connaissance nulle. Grâce à une intégration 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 ainsi si chaque inférence a été correctement exécutée, établissant ainsi une véritable base de confiance interactive pour les fournisseurs et les utilisateurs de modèles.
Figure 4 : Scénarios d'application de zkPyTorch dans le service de machine learning vérifiable (Verifiable MLaaS).
Sécurisation de l'évaluation du modèle
zkPyTorch fournit un mécanisme d'évaluation des modèles d'IA sécurisé et vérifiable, permettant aux parties prenantes d'évaluer prudemment leurs indicateurs de performance clés sans exposer les détails du modèle. Ce mode d'évaluation "zéro fuite" établit de nouvelles normes de confiance pour les modèles d'IA, améliorant l'efficacité des transactions commerciales tout en protégeant la propriété intellectuelle des développeurs. Il 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.
avec une intégration approfondie de la blockchain EXPchain
zkPyTorch intègre nativement le réseau blockchain EXPchain développé indépendamment par Polyhedra Network pour construire conjointement une infrastructure d’IA décentralisée de confiance. Cette intégration fournit un chemin hautement optimisé pour les appels de contrats intelligents et la vérification on-chain, ce qui permet de vérifier cryptographiquement les résultats d’inférence de l’IA et de les conserver sur la blockchain.
Grâce à la synergie entre zkPyTorch et EXPchain, les développeurs peuvent construire des applications d'IA vérifiables de bout en bout, depuis le déploiement du modèle, 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 de base pour la prochaine génération d'applications blockchain + IA.
Feuille de route future et innovation continue
Polyhedra continuera de faire progresser l'évolution de zkPyTorch, en se concentrant sur les directions suivantes :
Open source et co-construction communautaire
Ouvrir progressivement les composants clés de zkPyTorch, susciter la participation des développeurs du monde entier et promouvoir l'innovation collaborative et la prospérité de l'écosystème dans le domaine de l'apprentissage automatique à connaissance nulle.
compatibilité du modèle et du cadre d'expansion
Élargir le champ de soutien aux modèles et cadres d'apprentissage automatique mainstream, améliorer davantage la capacité d'adaptation et l'universalité de zkPyTorch, afin qu'il puisse être intégré de manière flexible dans divers flux de travail AI.
Outils de développement et construction SDK
Lancer une chaîne d'outils de développement complète et un kit de développement logiciel (SDK), simplifier le processus d'intégration et accélérer le déploiement et l'application de zkPyTorch dans des scénarios commerciaux réels.
Conclusion
zkPyTorch est une étape importante vers un avenir de l'IA de confiance. En intégrant profondément le cadre mature de PyTorch avec des technologies de preuve à zéro connaissance à la pointe, zkPyTorch améliore non seulement la sécurité et la vérifiabilité de l'apprentissage automatique, mais redéfinit également la manière de déployer des applications d'IA et les frontières de la confiance.
Polyhedra continuera d’innover dans le domaine de « l’IA sécurisée » pour pousser l’apprentissage automatique à des normes plus élevées en termes de protection de la vie privée, de résultats vérifiables et de conformité des modèles, contribuant ainsi à construire des systèmes intelligents transparents, fiables et évolutifs.
Veuillez suivre nos dernières avancées, et témoigner de la façon dont zkPyTorch transforme l'avenir de l'ère de l'intelligence sécurisée.
Lien original
Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
zkPyTorch : construire un avenir de l'IA de confiance avec zk-SNARKs
Auteur original : Jiaheng Zhang
Avec la mise en œuvre approfondie de l’intelligence artificielle (IA) dans des domaines clés tels que la santé, la finance et la conduite autonome, il est plus important que jamais d’assurer la fiabilité, la transparence et la sécurité des processus d’inférence d’apprentissage automatique (ML).
Cependant, les services d'apprentissage automatique traditionnels fonctionnent souvent comme une "boîte noire", les utilisateurs ne voyant que les résultats, rendant difficile la vérification du processus. Cette opacité rend les services de modèle vulnérables aux risques :
ZKML (apprentissage automatique à connaissance nulle) offre une nouvelle solution cryptographique à ce défi. Il repose sur la technologie des preuves à connaissance nulle (ZKPs), conférant aux modèles d'apprentissage automatique la capacité de validation cryptée : prouver qu'un calcul a été correctement exécuté sans révéler d'informations sensibles.
En d'autres termes, les ZKPs permettent aux fournisseurs de services de prouver aux utilisateurs :
« Les résultats d’inférence que vous obtenez sont bien ceux que j’ai exécutés avec le modèle entraîné, mais je ne révélerai aucun paramètre du modèle. »
Cela signifie que les utilisateurs peuvent faire confiance à l'authenticité des résultats de raisonnement, tandis que la structure et les paramètres du modèle (souvent des actifs de grande valeur) restent toujours privés.
zkPyTorch
Polyhedra Network lance zkPyTorch - un compilateur révolutionnaire conçu pour l'apprentissage automatique à connaissance nulle (ZKML), visant à combler le dernier kilomètre entre les cadres d'IA mainstream et la technologie ZK.
zkPyTorch intègre profondément les puissantes capacités d’apprentissage automatique de PyTorch avec un moteur de preuve à divulgation nulle de connaissance de pointe, permettant aux développeurs d’IA de créer des applications d’IA vérifiables dans un environnement familier sans changer les habitudes de programmation ou apprendre un nouveau langage ZK.
Ce compilateur peut traduire automatiquement les opérations de modèle de haut niveau (telles que la convolution, la multiplication matricielle, ReLU, softmax et les mécanismes d’attention) en circuits ZKP qui peuvent être vérifiés cryptographiquement, et se combiner avec la suite d’optimisation ZKML développée par Polyhedra pour compresser et accélérer intelligemment les chemins d’inférence principaux afin de garantir à la fois l’exactitude des circuits et l’efficacité de calcul.
Infrastructures clés pour construire un écosystème IA de confiance
L’écosystème actuel du machine learning est confronté à de multiples défis tels que la sécurité des données, la vérifiabilité computationnelle et la transparence des modèles. En particulier dans les secteurs clés tels que la santé, la finance et la conduite autonome, les modèles d’IA impliquent non seulement une grande quantité d’informations personnelles sensibles, mais contiennent également une propriété intellectuelle de grande valeur et des secrets commerciaux fondamentaux.
L’apprentissage automatique à connaissance zéro (ZKML) a vu le jour, ce qui est devenu une percée importante pour résoudre ce dilemme. Grâce à la technologie ZKP (Zero-Knowledge Proof), ZKML peut effectuer la vérification de l’intégrité de l’inférence du modèle sans révéler les paramètres du modèle ou les données d’entrée, à la fois confidentialité et fiabilité.
Mais dans la réalité, le développement de ZKML est souvent très difficile, nécessitant une solide formation en cryptographie, ce qui est loin d'être facilement maîtrisé par les ingénieurs en IA traditionnels.
C'est exactement la mission de zkPyTorch. Il crée 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 à réapprendre un langage cryptographique complexe.
Grâce à zkPyTorch, Polyhedra Network réduit significativement les barrières techniques du ZKML, propulsant les applications IA évolutives et de confiance vers le grand public, et redéfinissant un nouveau paradigme de sécurité et de confidentialité en matière d'IA.
Flux de travail zkPyTorch
Figure 1 : Vue d'ensemble de l'architecture de ZKPyTorch
Comme montré dans la figure 1, zkPyTorch convertit automatiquement les modèles standard de PyTorch en circuits compatibles avec ZKP (preuve à divulgation nulle de connaissance) grâce à trois modules soigneusement conçus. Ces trois modules comprennent : le module de prétraitement, le module de quantification amical avec ZKP, et le module d'optimisation des circuits.
Ce processus ne nécessite pas que le développeur maîtrise des circuits cryptographiques ou une syntaxe spécialisée : le développeur n’a qu’à écrire le modèle en PyTorch standard, et zkPyTorch peut le convertir en un circuit qui peut être reconnu par un moteur de preuve à divulgation nulle de connaissance tel que Expander pour générer la preuve ZK correspondante. Cette conception hautement modulaire réduit considérablement la barrière à l’entrée pour le développement de ZKML, ce qui permet aux développeurs d’IA de créer facilement des applications d’apprentissage automatique efficaces, sécurisées et vérifiables sans avoir à changer de langue ou à apprendre la cryptographie.
Module 1 : Prétraitement du modèle
Dans la première phase, zkPyTorch convertit le modèle PyTorch en un graphe de calcul structuré à l’aide du format ONNX (Open Neural Network Exchange Format). ONNX est la norme de représentation intermédiaire la plus largement adoptée par l’industrie pour une représentation unifiée d’opérations complexes de machine learning. Grâce à cette étape de prétraitement, zkPyTorch peut clarifier la structure du modèle, désassembler le processus de calcul de base et poser une base solide pour la génération ultérieure de circuits à divulgation nulle de connaissance.
Module 2 : Quantification amicale ZKP
Le module de quantification est un élément clé du système ZKML. Les modèles traditionnels d’apprentissage automatique reposent sur des opérations en virgule flottante, tandis que l’environnement ZKP est plus adapté aux opérations en nombres entiers dans des corps finis. zkPyTorch utilise un schéma de quantification d’entiers optimisé pour les corps finis afin de mapper avec précision les calculs en virgule flottante aux calculs d’entiers, et en même temps convertir les opérations non linéaires qui ne sont pas propices à ZKP (telles que ReLU et Softmax) en tables de correspondance efficaces.
Cette stratégie a non seulement considérablement réduit la complexité des circuits, mais a également amélioré la vérifiabilité et l'efficacité du système tout en garantissant la précision du modèle.
Module 3 : Optimisation de circuits en couches
zkPyTorch utilise une stratégie multi-niveaux pour l'optimisation des circuits, qui comprend notamment :
Discussion technique approfondie
un graphe acyclique orienté (DAG)
zkPyTorch utilise un graphe acyclique dirigé (DAG) pour gérer le flux de calcul de l’apprentissage automatique. La structure DAG capture systématiquement les dépendances complexes du modèle, 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 matrice, la division et softmax), et les arêtes décrivent exactement où les données circulent entre ces opérations.
Cette représentation claire et structurée facilite non seulement le processus de débogage, mais aide également à l'optimisation approfondie des performances. La propriété acyclique du DAG évite les dépendances circulaires, garantissant une exécution efficace et contrôlée de l'ordre de calcul, ce qui est crucial pour l'optimisation de la génération des circuits de preuve à connaissance nulle.
De plus, le DAG permet à zkPyTorch de traiter efficacement des architectures de modèles complexes telles que les Transformateurs et les réseaux résiduels (ResNet), qui présentent souvent des flux de données complexes, multi-chemins et non linéaires. La conception du DAG correspond parfaitement à leurs besoins de calcul, garantissant l'exactitude et l'efficacité de l'inférence du modèle.
Figure 2 : Exemple de modèle d’apprentissage automatique représenté sous la forme d’un graphe acyclique dirigé (DAG).
Technologie de quantification avancée
Dans zkPyTorch, les techniques avancées de quantification sont une étape clé pour transformer les calculs en virgule flottante en opérations entières adaptées à l'arithmétique des corps finis efficaces dans les systèmes de preuve à connaissance nulle (ZKP). zkPyTorch adopte une méthode de quantification entière statique, soigneusement conçue pour équilibrer l'efficacité de calcul et la précision du modèle, garantissant rapidité et précision lors de la génération de preuves.
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. Face aux défis des opérations non linéaires propres aux ZKP (comme Softmax et la normalisation de couche), zkPyTorch transforme de manière innovante ces fonctions complexes en opérations de recherche efficaces.
Cette stratégie améliore non seulement considérablement l’efficacité de la génération de preuves, mais garantit également que les résultats de preuve générés sont totalement cohérents avec le résultat du modèle de quantification de haute précision, en tenant compte des performances et de la crédibilité, et en favorisant l’application pratique de l’apprentissage automatique vérifiable.
Stratégies d'optimisation des circuits multicouches
zkPyTorch adopte un système d’optimisation de circuit à plusieurs niveaux hautement sophistiqué pour garantir les performances ultimes de l’inférence à connaissance zéro en termes d’efficacité et d’évolutivité à partir de plusieurs dimensions :
Optimisation du traitement par lots (Batch Processing Optimization)
En regroupant plusieurs tâches d'inférence en traitement par lots, on réduit considérablement la complexité de calcul globale, ce qui est particulièrement adapté aux scénarios d'opérations séquentielles dans des modèles de langage tels que les Transformers. Comme le montre la figure 3, le processus d'inférence traditionnel des grands modèles de langage (LLM) fonctionne par génération token par token, tandis que la méthode innovante de zkPyTorch agrège tous les tokens d'entrée et de sortie en un seul processus de prompt pour validation. Cette approche permet de vérifier d'un seul coup si l'inférence globale du LLM est correcte, tout en s'assurant que chaque token de sortie est conforme à l'inférence standard du LLM.
Dans l’inférence LLM, l’exactitude du mécanisme de cache KV est la clé pour garantir la crédibilité de la sortie de l’inférence. Si la logique d’inférence du modèle est incorrecte, même si le cache est utilisé, il ne sera pas possible de restituer les résultats cohérents avec le processus de décodage standard. zkPyTorch garantit la certitude vérifiable et l’exhaustivité de chaque sortie dans une preuve à divulgation nulle de connaissance en reproduisant avec précision ce processus.
Figure 3 : Validation par lot du calcul 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.
Optimisation des opérations primitives (Optimized Primitive Operations)
zkPyTorch optimise en profondeur les primitives d’apprentissage automatique sous-jacentes, ce qui améliore considérablement l’efficacité du circuit. Par exemple, les opérations de convolution ont toujours été intensives en calcul, et zkPyTorch utilise une méthode d’optimisation basée sur la transformée de Fourier rapide (FFT) pour convertir les circonvolutions initialement effectuées dans le domaine spatial en opérations de multiplication dans le domaine fréquentiel, ce qui réduit considérablement le coût de calcul. Dans le même temps, pour les fonctions non linéaires telles que ReLU et softmax, le système adopte la méthode de la table de correspondance précalculée, ce qui évite le calcul non linéaire hostile de ZKP et améliore considérablement l’efficacité de fonctionnement du circuit d’inférence.
Exécution de circuit parallèle (Parallel Circuit Execution)
zkPyTorch compile automatiquement des opérations ML complexes dans des circuits parallèles, libérant ainsi tout le potentiel matériel des CPU/GPU multicœurs pour la génération massivement parallèle de preuves. Par exemple, lors de l’exécution d’une multiplication tensorielle, zkPyTorch divisera automatiquement la tâche de calcul en plusieurs sous-tâches indépendantes, qui seront distribuées à plusieurs unités de traitement en parallèle. Cette stratégie de parallélisation améliore non seulement considérablement le débit d’exécution des circuits, mais permet également une vérification efficace de grands modèles, ouvrant ainsi une nouvelle dimension pour ZKML évolutif.
Test complet de performance : une double percée en performance et en précision
zkPyTorch a démontré des performances et une utilité pratique exceptionnelles à travers des tests rigoureux sur plusieurs modèles d'apprentissage machine populaires :
Test du modèle VGG-16
Sur le jeu de données CIFAR-10, zkPyTorch ne nécessite que 6,3 secondes pour générer une preuve VGG-16 pour une seule image, et en termes de précision, il n'y a presque pas de différence par rapport au calcul flottant traditionnel. Cela marque une étape où zkML possède déjà des capacités opérationnelles sur des tâches classiques telles que la reconnaissance d'images.
Test du modèle Llama-3
Pour le modèle de langage Llama-3, qui compte jusqu'à 8 milliards de paramètres, zkPyTorch a réalisé une génération de preuves efficace d'environ 150 secondes par token. Plus remarquable encore, ses résultats de sortie conservent une similarité cosinus de 99,32 % par rapport au modèle original, garantissant à la fois une haute crédibilité et la cohérence sémantique des sorties du modèle.
Tableau 1 : Performance des différentes solutions ZKP dans les réseaux de neurones convolutifs et les réseaux de transformateurs
Scénarios d'application étendus dans le monde réel
Machine Learning vérifiable en tant que service (Verifiable MLaaS)
Alors que la valeur des modèles d’apprentissage automatique ne cesse d’augmenter, de plus en plus de développeurs d’IA choisissent de déployer leurs propres modèles dans le cloud et de fournir des services d’apprentissage automatique en tant que service (MLaaS). Cependant, en réalité, il est souvent difficile pour les utilisateurs de vérifier si les résultats de l’inférence sont vrais et crédibles. Les fournisseurs de modèles souhaitent également protéger les actifs de base, tels que les structures et les paramètres du modèle, contre le vol ou l’utilisation abusive.
zkPyTorch est conçu pour résoudre cette contradiction : il permet aux services d’IA basés sur le cloud d’avoir des « capacités de vérification à connaissance zéro » natives pour rendre les résultats d’inférence vérifiables de manière cryptographique.
Comme indiqué sur la figure 4, les développeurs peuvent connecter directement de grands modèles tels que Llama-3 à zkPyTorch pour construire un système MLaaS fiable avec des capacités de preuve à connaissance nulle. Grâce à une intégration 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 ainsi si chaque inférence a été correctement exécutée, établissant ainsi une véritable base de confiance interactive pour les fournisseurs et les utilisateurs de modèles.
Figure 4 : Scénarios d'application de zkPyTorch dans le service de machine learning vérifiable (Verifiable MLaaS).
Sécurisation de l'évaluation du modèle
zkPyTorch fournit un mécanisme d'évaluation des modèles d'IA sécurisé et vérifiable, permettant aux parties prenantes d'évaluer prudemment leurs indicateurs de performance clés sans exposer les détails du modèle. Ce mode d'évaluation "zéro fuite" établit de nouvelles normes de confiance pour les modèles d'IA, améliorant l'efficacité des transactions commerciales tout en protégeant la propriété intellectuelle des développeurs. Il 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.
avec une intégration approfondie de la blockchain EXPchain
zkPyTorch intègre nativement le réseau blockchain EXPchain développé indépendamment par Polyhedra Network pour construire conjointement une infrastructure d’IA décentralisée de confiance. Cette intégration fournit un chemin hautement optimisé pour les appels de contrats intelligents et la vérification on-chain, ce qui permet de vérifier cryptographiquement les résultats d’inférence de l’IA et de les conserver sur la blockchain.
Grâce à la synergie entre zkPyTorch et EXPchain, les développeurs peuvent construire des applications d'IA vérifiables de bout en bout, depuis le déploiement du modèle, 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 de base pour la prochaine génération d'applications blockchain + IA.
Feuille de route future et innovation continue
Polyhedra continuera de faire progresser l'évolution de zkPyTorch, en se concentrant sur les directions suivantes :
Open source et co-construction communautaire
Ouvrir progressivement les composants clés de zkPyTorch, susciter la participation des développeurs du monde entier et promouvoir l'innovation collaborative et la prospérité de l'écosystème dans le domaine de l'apprentissage automatique à connaissance nulle.
compatibilité du modèle et du cadre d'expansion
Élargir le champ de soutien aux modèles et cadres d'apprentissage automatique mainstream, améliorer davantage la capacité d'adaptation et l'universalité de zkPyTorch, afin qu'il puisse être intégré de manière flexible dans divers flux de travail AI.
Outils de développement et construction SDK
Lancer une chaîne d'outils de développement complète et un kit de développement logiciel (SDK), simplifier le processus d'intégration et accélérer le déploiement et l'application de zkPyTorch dans des scénarios commerciaux réels.
Conclusion
zkPyTorch est une étape importante vers un avenir de l'IA de confiance. En intégrant profondément le cadre mature de PyTorch avec des technologies de preuve à zéro connaissance à la pointe, zkPyTorch améliore non seulement la sécurité et la vérifiabilité de l'apprentissage automatique, mais redéfinit également la manière de déployer des applications d'IA et les frontières de la confiance.
Polyhedra continuera d’innover dans le domaine de « l’IA sécurisée » pour pousser l’apprentissage automatique à des normes plus élevées en termes de protection de la vie privée, de résultats vérifiables et de conformité des modèles, contribuant ainsi à construire des systèmes intelligents transparents, fiables et évolutifs.
Veuillez suivre nos dernières avancées, et témoigner de la façon dont zkPyTorch transforme l'avenir de l'ère de l'intelligence sécurisée.
Lien original