Scannez pour télécharger l’application Gate
qrCode
Autres options de téléchargement
Ne pas rappeler aujourd’hui

La prochaine étape de l'intelligence des contrats intelligents : une analyse approfondie de la piste ZKML

zkML est un écosystème riche et en pleine croissance conçu pour étendre les capacités des blockchains et des contrats intelligents, en les rendant plus flexibles, adaptables et intelligents.

Écrit par : DAOrayaki

Prouver l’inférence de modèle d’apprentissage automatique (ML) via zkSNARKs promet d’être l’une des avancées les plus importantes dans les contrats intelligents de cette décennie. Ce développement ouvre un espace de conception extrêmement vaste, permettant aux applications et à l’infrastructure d’évoluer vers des systèmes plus complexes et intelligents.

En ajoutant des fonctionnalités ML, les contrats intelligents peuvent devenir plus autonomes et dynamiques, leur permettant de prendre des décisions basées sur des données en temps réel en chaîne plutôt que sur des règles statiques. Les contrats intelligents seront flexibles et pourront s’adapter à une variété de scénarios, y compris ceux qui n’auraient peut-être pas été anticipés lors de la création du contrat. En bref, les capacités de ML amplifient l’automatisation, la précision, l’efficacité et la flexibilité de tout contrat intelligent que nous mettons en chaîne.

Le ML est largement utilisé dans la plupart des applications en dehors du web3, et son application dans les contrats intelligents est presque nulle. Cela est principalement dû au coût de calcul élevé de l’exécution de ces modèles en chaîne. Par exemple, FastBERT est un modèle de langage optimisé en termes de calcul qui utilise environ 1800 MFLOPS (millions d’opérations en virgule flottante), qui ne peuvent pas être exécutés directement sur l’EVM.

L’application du modèle ML sur la chaîne se concentre principalement sur l’étape de raisonnement : appliquer le modèle pour prédire des données du monde réel. Afin d’avoir des contrats intelligents à l’échelle du ML, les contrats doivent pouvoir ingérer de telles prédictions, mais comme nous l’avons mentionné précédemment, exécuter des modèles directement sur l’EVM n’est pas possible. zkSNARKs nous fournit une solution : n’importe qui peut exécuter un modèle hors chaîne et générer une preuve succincte et vérifiable que le modèle attendu a produit un résultat spécifique. Cette preuve peut être publiée en chaîne et ingérée par des contrats intelligents pour améliorer leur intelligence.

Dans cet article, nous allons :

  • Voir les applications potentielles et les cas d’utilisation du ML en chaîne
  • Explorez les projets émergents et l’infrastructure au cœur de zkML
  • Discuter de certains des défis des implémentations existantes et de ce à quoi pourrait ressembler l’avenir de zkML

Introduction à l’apprentissage automatique (ML)

L’apprentissage automatique (ML) est un sous-domaine de l’intelligence artificielle (IA) qui se concentre sur le développement d’algorithmes et de modèles statistiques permettant aux ordinateurs d’apprendre à partir de données et de faire des prédictions ou des décisions. Les modèles de ML comportent généralement trois composants principaux :

  • Données d’entraînement : un ensemble de données d’entrée utilisées pour entraîner un algorithme d’apprentissage automatique afin de faire des prédictions ou de classer de nouvelles données. Les données d’entraînement peuvent prendre de nombreuses formes telles que des images, du texte, de l’audio, des données numériques ou des combinaisons de ceux-ci.
  • Architecture du modèle : la structure ou la conception globale d’un modèle d’apprentissage automatique. Il définit la hiérarchie, les fonctions d’activation, ainsi que le type et le nombre de connexions entre nœuds ou neurones. Le choix de l’architecture dépend du problème spécifique et des données utilisées.
  • Paramètres du modèle : valeurs ou pondérations que le modèle apprend pendant l’entraînement pour faire des prédictions. Ces valeurs sont ajustées de manière itérative par un algorithme d’optimisation pour minimiser l’erreur entre les résultats prédits et réels.

La génération et le déploiement du modèle se décomposent en deux phases :

  • Phase d’entraînement : pendant la phase d’entraînement, le modèle est exposé à un ensemble de données étiqueté et ajuste ses paramètres pour minimiser l’erreur entre les résultats prédits et les résultats réels. Le processus de formation implique généralement plusieurs itérations ou cycles, et la précision du modèle est évaluée sur un ensemble de validation distinct.
  • Phase d’inférence : la phase d’inférence est la phase où le modèle d’apprentissage automatique formé est utilisé pour faire des prédictions sur de nouvelles données invisibles. Un modèle prend des données d’entrée et applique des paramètres appris pour générer une sortie, telle qu’une classification ou une prédiction de régression.

Actuellement, zkML se concentre principalement sur la phase d’inférence des modèles d’apprentissage automatique, plutôt que sur la phase de formation, principalement en raison de la complexité de calcul de la formation dans les circuits de vérification. Cependant, l’accent mis par zkML sur l’inférence n’est pas une limitation : nous prévoyons des cas d’utilisation et des applications très intéressants.

Scénarios d’inférence vérifiés

Il existe quatre scénarios possibles pour valider le raisonnement :

  • Entrée privée, modèle public. Les Consommateurs Modèles (MC) peuvent souhaiter garder leurs commentaires confidentiels vis-à-vis des Fournisseurs Modèles (MP). Par exemple, un MC peut souhaiter certifier aux prêteurs les résultats d’un modèle d’évaluation du crédit sans divulguer ses informations financières personnelles. Cela peut être fait en utilisant un schéma de pré-engagement et en exécutant le modèle localement.
  • Contribution publique, modèle privé. Un problème courant avec ML-as-a-Service est qu’un MP peut souhaiter cacher ses paramètres ou pondérations pour protéger son IP, tandis qu’un MC veut vérifier que les inférences générées proviennent bien du modèle spécifié dans un cadre contradictoire. de cette façon : lors de la fourniture d’une inférence au MC Lorsque , MP est incité à exécuter un modèle plus léger pour économiser de l’argent. En utilisant la promesse de pondérations de modèles en chaîne, les MC peuvent auditer des modèles privés à tout moment.
  • Entrée privée, modèle privé. Cela se produit lorsque les données utilisées pour l’inférence sont très sensibles ou confidentielles et que le modèle lui-même est masqué pour protéger la propriété intellectuelle. Un exemple de cela pourrait inclure l’audit de modèles de soins de santé utilisant des informations privées sur les patients. Des techniques de composition en zk ou des variantes utilisant le calcul multipartite (MPC) ou FHE peuvent être utilisées pour servir ce scénario.
  • Contribution publique, modèle public. Alors que tous les aspects du modèle peuvent être rendus publics, zkML aborde un cas d’utilisation différent : la compression et la validation des calculs hors chaîne vers des environnements en chaîne. Pour les modèles plus grands, il est plus rentable de vérifier le zk succinct de l’inférence que de réexécuter le modèle vous-même.

Le raisonnement ML vérifié ouvre de nouveaux espaces de conception pour les contrats intelligents. Certaines applications crypto-natives incluent :

DeFi

Oracles ML hors chaîne vérifiables. L’adoption continue de l’IA générative peut inciter l’industrie à mettre en œuvre des schémas de signature pour son contenu (par exemple, des publications d’actualités signant des articles ou des images). Les données signées sont prêtes pour les preuves à connaissance nulle, ce qui rend les données composables et dignes de confiance. Les modèles ML peuvent traiter ces données signées hors chaîne pour effectuer des prédictions et des classifications (par exemple, classer les résultats des élections ou les événements météorologiques). Ces oracles ML hors chaîne peuvent résoudre en toute confiance les marchés de prédiction du monde réel, les contrats de protocole d’assurance, etc. en vérifiant le raisonnement et en publiant des preuves en chaîne.

Applications DeFi basées sur des paramètres ML. De nombreux aspects de DeFi peuvent être plus automatisés. Par exemple, les protocoles de prêt peuvent utiliser des modèles ML pour mettre à jour les paramètres en temps réel. Actuellement, les protocoles de prêt reposent principalement sur des modèles hors chaîne gérés par des organisations pour déterminer les facteurs de garantie, les ratios prêt-valeur, les seuils de liquidation, etc., mais une meilleure option pourrait être un modèle open source formé par la communauté que tout le monde peut exécuter. et vérifier.

Stratégies de trading automatisées. Une façon courante de démontrer les caractéristiques de rendement d’une stratégie de modèle financier consiste pour les MP à fournir aux investisseurs diverses données de backtest. Cependant, il n’y a aucun moyen de vérifier que le stratège suit le modèle lors de l’exécution d’une transaction - l’investisseur doit avoir confiance que le stratège suit effectivement le modèle. zkML fournit une solution où MP peut fournir des preuves du raisonnement du modèle financier lorsqu’il est déployé à des postes spécifiques. Cela pourrait être particulièrement utile pour les coffres gérés par DeFi.

sécurité

Surveillance de la fraude pour les contrats intelligents. Plutôt que de laisser une gouvernance humaine lente ou des acteurs centralisés contrôler la capacité de suspendre des contrats, les modèles ML peuvent être utilisés pour détecter d’éventuels comportements malveillants et suspendre des contrats.

ML traditionnel

Une implémentation décentralisée et sans confiance de Kaggle. Un protocole ou un marché pourrait être créé pour permettre aux MC ou à d’autres parties intéressées de vérifier l’exactitude des modèles sans obliger les députés à divulguer les poids des modèles. Ceci est utile pour vendre des modèles, organiser des compétitions autour de la précision des modèles, etc.

Un marché rapide décentralisé pour l’IA générative. La création d’invites pour l’IA générative est devenue un métier complexe, et les invites de génération de sortie optimales ont souvent plusieurs modificateurs. Des parties externes peuvent être disposées à acheter ces indices complexes auprès des créateurs. zkML peut être utilisé ici de deux manières : 1) pour valider la sortie de l’indice, pour garantir aux acheteurs potentiels que l’indice crée bien l’image souhaitée ;

  1. Permettre au propriétaire du pourboire de conserver la propriété du pourboire après l’achat, tout en restant obscur pour l’acheteur, mais en générant toujours des images vérifiées pour celui-ci.

identité

Remplacez les clés privées par une authentification biométrique préservant la confidentialité. La gestion des clés privées reste l’un des plus grands obstacles à l’expérience utilisateur Web3. L’abstraction des clés privées par la reconnaissance faciale ou d’autres facteurs uniques est une solution possible pour zkML.

Airdrops équitables et récompenses des contributeurs. Les modèles ML peuvent être utilisés pour créer des personnalités détaillées des utilisateurs afin de déterminer les allocations de largages aériens ou les récompenses de contribution en fonction de plusieurs facteurs. Cela peut être particulièrement utile lorsqu’il est combiné avec des solutions d’identité. Dans ce cas, une possibilité consiste à demander aux utilisateurs d’exécuter un modèle open source qui évalue leur engagement dans l’application ainsi que l’engagement de niveau supérieur, comme les messages du forum de gouvernance, pour raisonner sur leurs affectations. Cette preuve est ensuite fournie au contrat pour l’attribution de jeton correspondante.

Social Web3

Filtrage des réseaux sociaux web3. La nature décentralisée des applications sociales web3 conduira à une augmentation des spams et des contenus malveillants. Idéalement, une plate-forme de médias sociaux pourrait utiliser un modèle ML open source de consensus communautaire et publier des preuves du raisonnement du modèle lorsqu’elle choisit de filtrer les publications. Exemple : analyse zkML sur l’algorithme Twitter.

Publicité/Recommandation. En tant qu’utilisateur de médias sociaux, je souhaite peut-être voir des publicités personnalisées, mais je souhaite que mes préférences et mes intérêts restent confidentiels vis-à-vis des annonceurs. Je peux choisir d’exécuter localement un modèle sur mes centres d’intérêt, de l’intégrer à une application multimédia pour me fournir du contenu. Dans ce cas, les annonceurs peuvent être disposés à payer les utilisateurs finaux pour que cela se produise, cependant, ces modèles peuvent être beaucoup moins sophistiqués que les modèles de publicité ciblée actuellement en production.

Creator Economy/Jeux

Rééquilibrage de l’économie en jeu. L’émission de jetons, l’approvisionnement, la gravure, les seuils de vote, etc. peuvent être ajustés dynamiquement à l’aide de modèles ML. Un modèle possible est un contrat incitatif qui rééquilibre l’économie du jeu si un certain seuil de rééquilibrage est atteint et qu’une preuve de raisonnement est vérifiée.

Nouveaux types de jeux en chaîne. Des humains coopératifs contre des jeux d’IA et d’autres jeux innovants en chaîne peuvent être créés où le modèle d’IA sans confiance agit comme un personnage non jouable. Chaque action entreprise par le PNJ est publiée sur la chaîne avec une preuve que tout le monde peut vérifier que le bon modèle est exécuté. Dans Leela contre le monde de Modulus Labs, le vérificateur veut s’assurer que l’IA ELO 1900 indiquée choisit le coup, et non Magnus Carlson. Un autre exemple est AI Arena, un jeu de combat IA similaire à Super Smash Brothers. Dans un environnement compétitif à enjeux élevés, les joueurs veulent s’assurer que les modèles qu’ils entraînent n’interfèrent pas ou ne trichent pas.

Projets et infrastructures émergents

L’écosystème zkML peut être divisé en quatre grandes catégories :

  • Compilateur de modèle à preuve : infrastructure permettant de compiler des modèles dans des formats existants (par exemple, Pytorch, ONNX, etc.) dans des circuits de calcul vérifiables.
  • Système de preuve généralisé : construire un système de preuve pour vérifier des trajectoires de calcul arbitraires.
  • Système de preuve spécifique à zkML : un système de preuve spécialement conçu pour vérifier la trajectoire de calcul des modèles ML.
  • Applications : projets travaillant sur des cas d’utilisation uniques de zkML.

Compilateur de validation de modèle

Dans l’écosystème zkML, l’essentiel de l’attention a été porté sur la création de compilateurs de modèle à preuve. En règle générale, ces compilateurs convertissent les modèles ML avancés en circuits zk à l’aide de Pytorch, Tensorflow, etc.

EZKL est une bibliothèque et un outil de ligne de commande pour l’inférence de modèles d’apprentissage en profondeur dans les zk-SNARK. À l’aide d’EZKL, vous pouvez définir un graphe de calcul dans Pytorch ou TensorFlow, l’exporter sous forme de fichier ONNX avec quelques exemples d’entrées dans des fichiers JSON, puis pointer EZKL vers ces fichiers pour générer des circuits zkSNARK. Avec la dernière série d’améliorations des performances, EZKL peut désormais prouver un modèle de taille MNIST en ~ 6 secondes et 1,1 Go de RAM. À ce jour, EZKL a connu une adoption précoce notable, étant utilisé comme infrastructure pour divers projets de hackathon.

La bibliothèque circomlib-ml de Cathie So contient divers modèles de circuit ML pour Circom. Circuits inclut certaines des fonctions ML les plus courantes. Keras2cicom, développé par Cathie, est un outil Python qui convertit les modèles Keras en circuits Circom à l’aide de la bibliothèque circomlib-ml sous-jacente.

LinearA a développé deux frameworks pour zkML : Tachikoma et Uchikoma. Tachikoma est utilisé pour convertir le réseau de neurones en une forme entière uniquement et générer des trajectoires de calcul. Uchikoma est un outil qui convertit la représentation intermédiaire de TVM en langages de programmation qui ne prennent pas en charge les opérations en virgule flottante. LinearA prévoit de prendre en charge Circom avec l’arithmétique de domaine et Solidity avec l’arithmétique d’entiers signés et non signés.

Le zkml de Daniel Kang est un cadre pour les preuves d’exécution de modèles ML construit sur son travail dans l’article “Scaling up Trustless DNN Inference with Zero-Knowledge Proofs”. Au moment de la rédaction, il était capable de prouver un circuit MNIST dans environ 5 Go de mémoire et en environ 16 secondes d’exécution.

En termes de compilateurs modèle à preuve plus généralisés, il y a Nil Foundation et Risc Zero. Le zkLLVM de la Nil Foundation est un compilateur de circuits basé sur LLVM capable de valider des modèles de calcul écrits dans des langages de programmation populaires tels que C++, Rust et Java/Type. Comparé aux autres compilateurs de modèle à preuve mentionnés ici, il s’agit d’une infrastructure à usage général, mais toujours adaptée aux calculs complexes tels que zkML. Cela peut être particulièrement puissant lorsqu’il est combiné avec leur marché de la preuve.

Risc Zero construit un zkVM à usage général ciblant le jeu d’instructions open source RISC-V, prenant ainsi en charge les langages matures existants tels que C++ et Rust, ainsi que la chaîne d’outils LLVM. Cela permet une intégration transparente entre le code zkVM hôte et invité, similaire à la chaîne d’outils CUDA C++ de Nvidia, mais en utilisant le moteur ZKP au lieu du GPU. Semblable à Nil, utilisez Risc Zero pour vérifier la trajectoire de calcul d’un modèle ML.

Système de preuve généralisé

Les améliorations apportées au système de preuve ont été le principal moteur de la concrétisation de zkML, en particulier l’introduction de portes personnalisées et de tables de recherche. Cela est principalement dû à la dépendance de ML à la non-linéarité. En bref, la non-linéarité est introduite par des fonctions d’activation (telles que ReLU, sigmoïde et tanh) qui sont appliquées à la sortie d’une transformation linéaire dans un réseau de neurones. Ces non-linéarités sont difficiles à mettre en œuvre dans les circuits zk en raison des contraintes des portes d’opération mathématiques. La factorisation au niveau du bit et les tables de recherche peuvent aider à cela en précalculant les résultats possibles non linéaires dans la table de recherche, ce qui est intéressant en termes de calcul plus efficace dans zk.

Pour cette raison, le système de preuve Plonkish a tendance à être le backend le plus populaire pour zkML. Halo2 et Plonky2 et leurs schémas arithmétiques tabulaires gèrent bien les non-linéarités des réseaux de neurones en recherchant des paramètres. De plus, le premier dispose d’un écosystème dynamique d’outils de développement et de flexibilité, ce qui en fait un backend de facto pour de nombreux projets, y compris EZKL.

D’autres systèmes de preuve ont aussi leurs avantages. Les systèmes de preuve basés sur R1CS incluent Groth16, connu pour sa petite taille de preuve, et Gemini, connu pour sa gestion de circuits extrêmement grands et de vérificateurs en temps linéaire. Les systèmes basés sur STARK, tels que la bibliothèque de preuves / vérificateurs de Winterfell, sont particulièrement utiles lorsqu’ils prennent en entrée des traces de programmes du Caire via les outils de Gizeh et utilisent Winterfell pour générer des preuves STARK afin de vérifier l’exactitude de la sortie.

Système de preuve spécifique à zkML

Certains progrès ont été réalisés dans la conception de systèmes de preuve efficaces capables de gérer des opérations complexes et peu conviviales pour les circuits de modèles d’apprentissage automatique avancés. Des systèmes tels que zkCNN basé sur le système de preuve de GKR et Zator basé sur des techniques combinatoires ont tendance à surpasser les systèmes de preuve universels, comme en témoignent les rapports de référence de Modulus Labs.

zkCNN est une méthode pour prouver l’exactitude des réseaux de neurones convolutifs à l’aide de preuves à connaissance nulle. Il utilise le protocole sumcheck pour prouver des transformées et des convolutions de Fourier rapides, avec un temps de preuve linéaire, plus rapide que les résultats de calcul asymptotique. Plusieurs preuves interactives d’amélioration et de généralisation ont été introduites, y compris les couches convolutives de validation, les fonctions d’activation ReLU et la mise en commun maximale. Selon le rapport d’analyse comparative de Modulus Labs, zkCNN est particulièrement intéressant en ce qu’il surpasse les autres systèmes de preuve à usage général en termes de vitesse de génération de preuve et de consommation de RAM.

Zator est un projet qui vise à explorer l’utilisation de SNARK récursifs pour vérifier les réseaux de neurones profonds. Une limitation actuelle dans la validation de modèles plus profonds consiste à intégrer des trajectoires de calcul entières dans un seul circuit. Zator a proposé d’utiliser SNARK récursif pour vérifier couche par couche, ce qui peut progressivement vérifier les calculs répétés en N étapes. Ils ont utilisé Nova pour réduire N instances de calcul à une seule instance pouvant être vérifiée en une seule étape. En utilisant cette approche, Zator a pu SNARKer un réseau avec 512 couches, ce qui est aussi profond que la plupart des modèles d’IA de production actuels. Les temps de génération et de vérification des preuves de Zator sont encore trop longs pour les cas d’utilisation courants, mais leurs techniques combinées sont toujours très intéressantes.

Applications

Compte tenu des débuts de zkML, il s’est largement concentré sur l’infrastructure susmentionnée. Cependant, il existe actuellement plusieurs projets dédiés au développement d’applications.

Modulus Labs est l’un des projets les plus diversifiés de l’espace zkML, travaillant à la fois sur des exemples d’applications et sur des recherches connexes. Du côté appliqué, Modulus Labs a démontré des cas d’utilisation de zkML avec RockyBot, un robot de trading en chaîne, et Leela vs. the World, un jeu de société où les humains jouent contre un moteur d’échecs Leela en chaîne éprouvé. L’équipe a également mené des recherches et rédigé The Cost of Intelligence, qui compare la vitesse et l’efficacité de divers systèmes de preuve à différentes tailles de modèles.

Worldcoin essaie d’appliquer zkML pour créer un protocole de preuve d’identité humaine préservant la confidentialité. Worldcoin gère le balayage de l’iris haute résolution à l’aide d’un matériel personnalisé et le branche dans une implémentation Semaphore. Ce système peut ensuite être utilisé pour effectuer des opérations utiles telles que la preuve d’adhésion et le vote. Ils utilisent actuellement un environnement d’exécution fiable et une enclave sécurisée pour vérifier les balayages d’iris signés par caméra, mais leur objectif ultime est d’utiliser des preuves à connaissance nulle pour vérifier le raisonnement correct des réseaux de neurones afin de fournir une assurance de sécurité de niveau cryptographique.

Giza est un protocole qui adopte une approche totalement sans confiance pour déployer des modèles d’IA en chaîne. Il utilise le format ONNX pour représenter les modèles d’apprentissage automatique, le Giza Transpiler pour convertir ces modèles au format du programme Cairo, l’ONNX Cairo Runtime pour exécuter des modèles de manière vérifiable et déterministe, et le contrat intelligent Giza Model pour le déploiement en chaîne et pile technologique pour l’exécution du modèle. Bien que Giza puisse également être classé comme un compilateur de modèle à preuve, leur positionnement en tant que marché pour les modèles ML est l’une des applications les plus intéressantes à l’heure actuelle.

Gensyn est un réseau distribué de fournisseurs de matériel pour la formation de modèles ML. Plus précisément, ils développent un système d’audit probabiliste basé sur la descente de gradient et utilisent des points de contrôle de modèle pour permettre aux réseaux GPU distribués de servir la formation pour des modèles à grande échelle. Bien que leur application de zkML ici soit très spécifique à leur cas d’utilisation - ils veulent s’assurer que lorsqu’un nœud télécharge et forme une partie du modèle, ils sont honnêtes sur les mises à jour du modèle - cela démontre la puissance de la combinaison de la force zk et ML.

ZKaptcha se concentre sur le problème des bots dans web3 et fournit des services de code de vérification pour les contrats intelligents. Leur implémentation actuelle permet aux utilisateurs finaux de générer des preuves de travail humain en remplissant des captchas, qui sont vérifiés par leurs validateurs en chaîne et accessibles par des contrats intelligents avec quelques lignes de code. Aujourd’hui, ils ne s’appuient principalement que sur zk, mais ils ont l’intention d’implémenter zkML à l’avenir, similaire aux services captcha web2 existants, en analysant le comportement tel que le mouvement de la souris pour déterminer si l’utilisateur est humain ou non.

Compte tenu des débuts du marché du zkML, de nombreuses applications ont déjà été expérimentées au niveau du hackathon. Les projets incluent AI Coliseum, un concours d’IA en chaîne qui utilise des preuves ZK pour vérifier la sortie de l’apprentissage automatique, Hunter z Hunter, une chasse au trésor photo qui utilise la bibliothèque EZKL pour vérifier la sortie d’un modèle de classification d’images avec des circuits halo2, et zk Section 9, qui transforme les modèles de génération d’images d’IA en circuits pour couler et valider l’art de l’IA.

défis zkML

Malgré des progrès rapides en matière d’amélioration et d’optimisation, le domaine du zkML est toujours confronté à des défis majeurs. Ces défis impliquent des aspects techniques et pratiques, notamment :

  • Quantification avec une perte de précision minimale
  • Taille du circuit, en particulier lorsque le réseau se compose de plusieurs couches
  • Preuve efficace de la multiplication matricielle
  • Contre attaque

La quantification est le processus de représentation des nombres à virgule flottante sous forme de nombres à virgule fixe. La plupart des modèles d’apprentissage automatique utilisent des nombres à virgule flottante pour représenter les paramètres du modèle et les fonctions d’activation. Lorsqu’il s’agit d’arithmétique de domaine pour des circuits zk, des nombres à virgule fixe sont nécessaires. L’impact de la quantification sur la précision d’un modèle d’apprentissage automatique dépend du niveau de précision utilisé. En général, l’utilisation d’une précision inférieure (c’est-à-dire moins de bits) peut entraîner une précision moindre, car cela peut introduire des erreurs d’arrondi et d’approximation. Cependant, plusieurs techniques peuvent être utilisées pour minimiser l’impact de la quantification sur la précision, telles que le réglage fin du modèle après la quantification et l’utilisation de techniques telles que la formation sensible à la quantification. De plus, Zero Gravity, un projet de hackathon au zkSummit 9, a montré que des architectures de réseaux de neurones alternatives développées pour les dispositifs de périphérie, tels que les réseaux de neurones en apesanteur, peuvent être utilisées pour éviter les problèmes de quantification dans les circuits.

Outre la quantification, le matériel est un autre défi clé. Une fois qu’un modèle d’apprentissage automatique est correctement représenté par un circuit, les preuves pour vérifier son raisonnement deviennent peu coûteuses et rapides en raison de la simplicité de zk. Le défi ici n’est pas avec le vérificateur, mais avec le prouveur, car la consommation de RAM et le temps de génération de preuve augmentent rapidement à mesure que la taille du modèle augmente. Certains systèmes de preuve (tels que les systèmes basés sur GKR utilisant le protocole sumcheck et les circuits arithmétiques hiérarchiques) ou techniques combinées (comme la combinaison de Plonky2 avec Groth16, Plonky2 est efficace en termes de temps de preuve mais médiocre en termes de taille de preuve efficace pour les grands modèles, Alors que Groth16 (qui ne conduit pas à une augmentation de la taille des preuves dans la complexité des modèles complexes) est mieux adapté pour gérer ces problèmes, la gestion des compromis est un défi central dans les projets zkML.

En matière de lutte contre les attentats, il reste encore du travail à faire. Premièrement, si un protocole sans confiance ou DAO choisit d’implémenter un modèle, il existe toujours un risque d’attaques contradictoires pendant la phase d’entraînement (par exemple, entraîner un modèle pour qu’il présente un certain comportement lorsqu’il voit une certaine entrée, qui pourrait être utilisée pour manipuler raisonnement). Les techniques d’apprentissage fédéré et zkML dans la phase d’apprentissage peuvent être un moyen de minimiser cette surface d’attaque.

Un autre défi majeur est le risque d’attaques par vol de modèle lorsque le modèle préserve la confidentialité. Bien qu’il soit possible d’obscurcir les poids d’un modèle, étant donné suffisamment de paires d’entrées-sorties, il est encore théoriquement possible de déduire les poids à l’envers. Il s’agit principalement d’un risque pour les modèles à petite échelle, mais il existe toujours des risques.

Extensibilité des contrats intelligents

Bien qu’il soit difficile d’optimiser ces modèles pour qu’ils fonctionnent dans les limites de zk, des améliorations sont apportées à un rythme exponentiel, et certains s’attendent à ce qu’avec une accélération matérielle supplémentaire, nous serons bientôt en mesure de travailler avec le domaine plus large de l’apprentissage automatique. même niveau. Pour souligner la rapidité de ces améliorations, zkML est passé de la démonstration de 0xPARC sur la façon d’effectuer un modèle de classification d’images MNIST à petite échelle dans un circuit vérifiable en 2021, à Daniel Kang faisant de même pour un modèle à l’échelle ImageNet moins d’un an plus tard. . En avril 2022, la précision de ce modèle à l’échelle ImageNet est passée de 79% à 92%, et de grands modèles comme GPT-2 devraient être possibles dans un proche avenir, bien que le temps de preuve actuel soit plus long.

Nous considérons zkML comme un écosystème riche et en pleine croissance conçu pour étendre les capacités des blockchains et des contrats intelligents, en les rendant plus flexibles, adaptables et intelligents.

Bien que zkML en soit encore aux premiers stades de développement, il a déjà commencé à montrer des résultats prometteurs. Au fur et à mesure que la technologie se développe et mûrit, nous pouvons nous attendre à voir des cas d’utilisation zkML plus innovants en chaîne.

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)