Écrit par : Maggie, Foresight Research

  • ZKML (Zero knowledge machine learning) est une technologie qui utilise une preuve de connaissance nulle pour l'apprentissage automatique. ZKML est un pont entre l'IA et la blockchain. ZKML peut résoudre le problème de la protection de la confidentialité des modèles/entrées d'IA et le problème de la vérifiabilité du processus d'inférence, de sorte que de petits modèles ou inférences ZKP puissent être mis en chaîne. L’importance de la preuve de modèle/d’inférence en chaîne est :

    • Laissez la blockchain percevoir le monde physique. Par exemple : un modèle de reconnaissance faciale fonctionnant sur la blockchain peut percevoir le visage de la blockchain Grâce au modèle d'IA sur la chaîne, la blockchain peut comprendre que le visage peut être celui d'une femme, quel âge il a, etc.

    • Laissez les contrats intelligents prendre des décisions. Par exemple : le modèle de prévision des prix WETH sur la chaîne peut aider les contrats intelligents à prendre des décisions commerciales.

    • Exécutez des modèles d’IA en toute confidentialité. Par exemple : une entreprise dépense beaucoup de puissance de calcul pour former un modèle et espère fournir des services d'inférence d'une manière qui protège la confidentialité, ou la contribution de l'utilisateur veut garantir la confidentialité. L'utilisation de ZKML peut non seulement garantir la confidentialité du modèle/de l'entrée, mais également prouver aux utilisateurs que l'inférence est effectuée correctement, obtenant ainsi une inférence sans confiance.

  • Applications de ZKML

    • IA en chaîne : placez la preuve du modèle d'IA/du raisonnement d'IA sur la chaîne afin que les contrats intelligents puissent utiliser l'IA pour prendre des décisions. Par exemple, le système commercial en chaîne est utilisé pour les décisions d'investissement en chaîne.

    • Blockchain auto-améliorée : permettez à la blockchain d'utiliser les capacités de l'IA pour améliorer et réviser continuellement les stratégies basées sur les données historiques. Par exemple, un système de réputation en chaîne basé sur l’IA.

    • AIGC en chaîne : le contenu/les illustrations générés par AIGC sont téléchargés sur Mint dans NFT, et ZK peut prouver l'exactitude du processus. Aucune image protégée par le droit d'auteur n'est utilisée dans l'ensemble de données, etc.

    • Authentification biométrique (KYC) du portefeuille : La preuve de reconnaissance faciale est sur la chaîne, et le portefeuille complète le KYC.

    • Sécurité de l'IA : utilisez l'IA pour la détection des fraudes, la prévention des attaques de sorcières, etc.

    • Jeux ZKML en chaîne : joueurs d'échecs à intelligence artificielle en chaîne, personnages NFT pilotés par un réseau neuronal, etc.

  • ZKML techniquement

    • Objectif : Convertir les réseaux de neurones en circuits ZK Difficultés : 1. Les circuits ZK ne prennent pas en charge les nombres à virgule flottante 2. Les réseaux de neurones trop grands sont difficiles à convertir.

    • Progrès actuel :

      • La première bibliothèque ZKML date d'il y a 2 ans et l'historique de développement de l'ensemble de la technologie est très court. Actuellement, la dernière bibliothèque ZKML prend en charge une simple ZKisation de réseau neuronal et est appliquée à la blockchain. On dit que des modèles de régression linéaire de base peuvent être mis sur la chaîne, et que d'autres types de modèles de réseaux neuronaux plus petits peuvent prouver leur mise en chaîne. Mais j’ai vu très peu de démos, et je n’en ai vu qu’une de reconnaissance de chiffres manuscrits.

      • Certains outils prendraient en charge 100 millions de paramètres, et d'autres prétendent être capables de convertir GPT2 en circuits ZK et de générer des certificats ZK.

    • Orientation du développement :

      • La quantification de réseau (quantification de réseau) convertit les nombres à virgule flottante des réseaux de neurones en nombres à virgule fixe et en réseaux de neurones légers (compatibles ZK).

      • Essayez de convertir les réseaux neuronaux de paramètres à grande échelle en circuits ZK et améliorez l'efficacité de la preuve (étendez les capacités ZK).

  • Résumer:

    • ZKML est un pont entre l'IA et la blockchain. Son importance est de permettre à la blockchain de percevoir le monde physique, de permettre aux contrats intelligents de prendre des décisions et d'exécuter des modèles d'IA pour protéger la confidentialité.

    • Cette technologie a une courte histoire mais se développe rapidement. À l'heure actuelle, certains modèles simples de réseaux neuronaux peuvent être convertis en circuits ZK, et les modèles peuvent être téléchargés ou des preuves d'inférence peuvent être téléchargées. Cependant, le langage est relativement difficile. Actuellement, Ddkang/zkml prétend être capable de générer la version ZK des modèles de traitement du langage naturel GPT2, Bert et Diffusion, mais l'effet réel n'est pas clair. Il peut s'exécuter mais ne pourra peut-être pas l'être. téléchargé sur la chaîne. On pense qu'avec le développement de la technologie de volume de réseau, de la technologie ZK et de la technologie d'expansion de la blockchain, le modèle de langage ZKML sera bientôt disponible.

1. Contexte

(Si vous connaissez quelque chose sur ZK et ML, vous pouvez ignorer ce chapitre).

  • Preuve sans connaissance (ZK) : la preuve sans connaissance signifie que le prouveur peut convaincre le vérificateur qu'une certaine affirmation est correcte sans fournir aucune information utile au vérificateur. ZK est principalement utilisé pour prouver que le processus de calcul est effectué correctement et protéger la confidentialité.

    • Prouvez l'exactitude du processus de calcul : prenez ZK-rollup comme exemple. Le fonctionnement de ZK-rollup consiste simplement à regrouper plusieurs transactions ensemble, à les publier sur L1 et en même temps à publier une preuve (en utilisant une technologie de preuve sans connaissance). ) pour réclamer ces transactions Valides, une fois vérifié sur L1 qu'elles sont bien valides, le statut de zk-rollup sera mis à jour.

    • Protection de la vie privée : Prenons l'exemple du protocole Aztec. Les actifs sur zk.money d'Aztec existent sous forme de factures, similaires à l'UTXO de Bitcoin. Lorsque l'utilisateur a besoin de transférer de l'argent, la facture doit le faire. être détruit et une nouvelle facture créée. Le bénéficiaire et vous-même (rendez la monnaie). La preuve sans connaissance est utilisée pour protéger la confidentialité et prouver que le montant des notes détruites et nouvellement créées est le même, et que l'utilisateur a le droit de contrôler les notes.

  • Apprentissage automatique : l'apprentissage automatique est une branche de l'intelligence artificielle. La théorie de l’apprentissage automatique implique principalement la conception et l’analyse d’algorithmes qui permettent aux ordinateurs d’« apprendre » automatiquement. Les algorithmes d'apprentissage automatique analysent et obtiennent automatiquement des modèles à partir des données, et utilisent ces modèles pour prédire des données inconnues. L'apprentissage automatique a été largement utilisé dans des domaines tels que la vision par ordinateur, le traitement du langage naturel, l'identification biométrique, les moteurs de recherche, le diagnostic médical, la détection de fraude par carte de crédit, l'analyse du marché des valeurs mobilières, le séquençage de séquences d'ADN, la reconnaissance vocale et manuscrite, les jeux et les robots.

2. Quels problèmes ZKML résout-il ?

ZKML est un domaine de recherche et développement qui a fait sensation dans la communauté de la cryptographie au cours des deux dernières années. Utiliser des preuves sans connaissance pour l'apprentissage automatique

, l'objectif principal de cette technologie est d'utiliser une preuve sans connaissance pour résoudre les problèmes de protection de la vie privée et de vérifiabilité de l'apprentissage automatique. Cela permet de mettre de petits modèles ou de ZKP déduits sur la chaîne et de devenir un pont entre l'IA et la blockchain :

  • Modèle en chaîne : les modèles ML peuvent être convertis en circuits ZK et les petits modèles ZKML peuvent être stockés dans des contrats intelligents sur la blockchain. Les utilisateurs peuvent utiliser le modèle en appelant des méthodes de contrat intelligent. Par exemple, RockyBot de Modulus Labs a construit un modèle d'IA en chaîne pour prédire le prix du WETH pour les décisions commerciales.

  • Le raisonnement et la preuve du modèle sont téléchargés dans la chaîne : convertissez le modèle ML en un circuit ZK, effectuez un raisonnement hors chaîne et générez une preuve ZK. La preuve ZK peut prouver que le processus de raisonnement est effectué correctement. Les résultats de l'inférence et la preuve ZK sont soumis à la chaîne pour référence de l'appelant et vérification du contrat intelligent de la preuve.

Quel est l’intérêt de mettre une preuve de modèle/inférence sur la chaîne ?

  • Laissez la blockchain percevoir le monde physique. Par exemple : un modèle de reconnaissance faciale fonctionnant sur la blockchain peut percevoir le visage de la blockchain Grâce au modèle d'IA sur la chaîne, la blockchain peut comprendre que le visage peut être celui d'une femme, quel âge il a, etc.

  • Laissez les contrats intelligents prendre des décisions. Par exemple : le modèle de prévision des prix WETH sur la chaîne peut aider les contrats intelligents à prendre des décisions commerciales.

  • Exécutez des modèles d’IA en privé. Par exemple : une entreprise dépense beaucoup de puissance de calcul pour former un modèle et espère fournir des services d'inférence d'une manière qui protège la confidentialité, ou la contribution de l'utilisateur veut garantir la confidentialité. L'utilisation de ZKML peut non seulement garantir la confidentialité du modèle/de l'entrée, mais également prouver aux utilisateurs que l'inférence est effectuée correctement, obtenant ainsi une inférence sans confiance.

Le rôle de la preuve sans connaissance dans ZKML :

  1. Protection de la confidentialité : protégez la confidentialité des données d'entrée dans le modèle ML ou le processus de prédiction.

  • Confidentialité des données (Modèle Public + Données Privées) : Je dispose de certaines données sensibles, telles que des données médicales, des images de visage, etc. Je peux utiliser ZKML pour protéger la confidentialité des données d'entrée, exécuter un modèle de réseau neuronal public sur ces données et obtenir les résultats. Par exemple, les modèles de reconnaissance faciale,

  • Confidentialité du modèle (modèle privé + données publiques) : par exemple, j'ai dépensé beaucoup d'argent pour former un modèle. Je ne veux pas exposer mon modèle, je dois donc protéger la confidentialité du modèle. Je peux utiliser ZKML pour exécuter un modèle de réseau neuronal privé préservant la confidentialité, capable de raisonner sur les entrées publiques et d'obtenir des sorties.

  1. Vérifiable : utilisez ZKP pour prouver l'exécution correcte du processus de raisonnement ML, rendant ainsi le processus d'apprentissage automatique vérifiable.

  • Supposons que l'exécution du modèle ne se fasse pas sur mon serveur, mais je dois m'assurer que l'inférence est exécutée correctement. Je peux utiliser ZKML pour effectuer une inférence sur une certaine entrée et un certain modèle, et cela produit une sortie. ZKP peut prouver que le processus a été exécuté correctement. Même si le processus en cours n'est pas sur mon ordinateur, je peux vérifier le ZKP pour savoir si. l'inférence est correcte et croit donc au résultat.

3. Cas d'utilisation de ZKML

  • intégrité informatique

    • IA en chaîne : le déploiement du modèle d'IA sur la blockchain permet aux contrats intelligents d'avoir des capacités de prise de décision via le modèle d'IA.

      • Modulus Labs : RockyBot Bot de trading ML vérifiable en chaîne (bot de trading d'apprentissage automatique vérifiable sur la blockchain)

    • Blockchain auto-améliorée : permettez à la blockchain d'utiliser les capacités de l'IA pour améliorer et réviser continuellement les stratégies basées sur les données historiques.

      • L’AMM de Lyra finance est enrichie par l’intelligence artificielle.

      • Créez un système de réputation basé sur l'IA pour Astraly.

      • Créez des capacités de conformité basées sur l'IA au niveau des contrats intelligents pour le protocole Aztec

      • Modulus Labs : Des blockchains qui s'auto-améliorent (lien) :

    • AIGC en chaîne : le contenu/les illustrations générés par AIGC sont téléchargés sur Mint dans NFT, et ZK peut prouver l'exactitude du processus. Aucune image protégée par le droit d'auteur n'est utilisée dans l'ensemble de données, etc.

    • Transparence du ML en tant que service (MLaaS) (lien)

    • Sécurité de l'IA : utilisez l'IA pour la détection des fraudes, la prévention des attaques de sorcières, etc. Entraînez le modèle de détection des anomalies de l'IA sur la base des données du contrat intelligent. Si l'indicateur est anormal, le contrat sera suspendu et ZK sera utilisé pour effectuer la détection des anomalies afin de prouver qu'il est téléchargé sur la chaîne.

    • Jeux ZKML en chaîne : joueurs d'échecs à intelligence artificielle en chaîne, personnages NFT pilotés par un réseau neuronal, etc.

    • Tests de référence vérifiables du modèle d'IA : utilisez ZK pour fournir une preuve de test de référence du modèle et fournir une vérifiabilité des résultats des tests sur les performances et les effets du modèle.

    • Preuve de l'exactitude de la formation du modèle : étant donné que la formation du modèle est très gourmande en ressources, la preuve de l'exactitude de la formation du modèle à l'aide de ZK n'est actuellement pas disponible, mais de nombreuses personnes pensent que la technologie est réalisable et tentent d'utiliser ZK pour prouver que le modèle est réalisable. utilisé certaines données/ne pas utiliser certaines données pour résoudre les problèmes de droits d'auteur d'AIGC.

  • Protection de la vie privée

    • Authentification biométrique/identité numérique pour portefeuille

      • WordCoin fournit aux utilisateurs une identité numérique unique et vérifiable via le dispositif biométrique Orb, qui scanne l'iris. WorldCoin travaille sur zkml, qu'il prévoit d'utiliser pour mettre à niveau World ID. Après la mise à niveau, les utilisateurs pourront conserver de manière autonome leurs données biométriques de signature dans un stockage crypté sur leurs appareils mobiles, télécharger le modèle ML généré par le code de l'iris et créer. des preuves de connaissance nulle localement, prouvant que son code d'iris est bien généré à partir de l'image de signature en utilisant le modèle correct.

    • Plateforme de primes d'apprentissage automatique basée sur la blockchain

      • L'entreprise émet des primes et fournit des données publiques et privées. Les données publiques sont utilisées pour entraîner le modèle et les données privées sont utilisées pour la prédiction. Certains fournisseurs de services d'IA entraînent des modèles et les convertissent en circuits ZK. Cryptez le modèle et soumettez-le au contrat pour vérification. Pour les données privées, faites des prédictions, obtenez des résultats et générez des preuves ZK, qui sont soumises au contrat pour vérification. Le fournisseur de services d'IA reçoit une prime après avoir effectué une série d'opérations. zkML : Démo pour circcomlib-ml sur Goerli testnet

    • Inférence préservant la confidentialité : par exemple, utiliser les données privées d'un patient pour un diagnostic médical, puis envoyer des résultats d'inférence sensibles (tels que les résultats de tests de dépistage du cancer) au patient. (article vCNN, page 2/16)

4. Territoire de ZKML

À en juger par la mise en page ZKML compilée par SevenX Ventures.

  • Accélération matérielle : de nombreuses institutions développent activement l'accélération matérielle pour ZKP, ce qui est également bénéfique pour le développement de ZKML. La génération de ZKP est généralement accélérée grâce aux puces FPGA, GPU et ASIC. Par exemple : Accseal développe des puces ASIC pour l'accélération matérielle ZKP, et Ingonyama crée une bibliothèque d'accélération ZK ICIClE, conçue pour les GPU prenant en charge CUDA. Supranational se concentre sur l'accélération GPU, et Cysic et Ulvetanna se concentrent sur l'accélération FPGA.

  • Entrée : pour utiliser la saisie de données en chaîne, Axiom, Herodotus, Hyper Oracle et Lagrange amélioreront l'accès des utilisateurs aux données de la blockchain et fourniront des vues plus complexes des données en chaîne. Les données d'entrée ML peuvent ensuite être extraites des données historiques importées

  • Raisonnement : ModulusLabs développe un nouveau système zkSNARK spécifiquement pour ZKML. Cette partie peut être fusionnée avec la partie jeu d'outils ZKML, qui est principalement utilisée pour ZK le modèle et l'ensemble d'outils requis dans le processus ZK. Giza est une plate-forme d'apprentissage automatique basée sur StarkNet qui se concentre sur les extensions de déploiement de modèles entièrement en chaîne.

  • Informatique : axé sur la création de réseaux informatiques décentralisés pour la formation de modèles d'IA accessibles à tous. Ils permettent aux utilisateurs d’utiliser des ressources informatiques de pointe à moindre coût pour former des modèles d’IA.

  • Formation décentralisée/puissance de calcul : concentrez-vous sur la création d'un réseau informatique décentralisé pour la formation de modèles d'IA accessibles à tous. Ils permettent aux utilisateurs d’utiliser des ressources informatiques de pointe à moindre coût pour former des modèles d’IA.

  • Ensemble d'outils ZKML : voir le chapitre 5 Historique du développement technologique. ZAMA sur la photo utilise principalement le cryptage entièrement homomorphique (FHE) pour la protection de la confidentialité dans l'apprentissage automatique. Par rapport à ZKML, FHEML assure uniquement la confidentialité sans vérification sans confiance.

  • Cas d'utilisation : Worldcoin, utilisant ZKML pour l'authentification de l'identité numérique. La signature biométrique de l'utilisateur est cryptée et stockée dans l'appareil, et le modèle d'apprentissage automatique de reconnaissance de l'iris basé sur ZK est utilisé pour exécuter le modèle pendant la reconnaissance d'identité afin de vérifier si les caractéristiques biométriques correspondent. Utilisez ZKP pour prouver l’exactitude du processus en cours. Modulars Labs fabrique des robots de trading IA en chaîne. Cathie EIP7007, norme zkML AIGC-NFT. Joueurs d'échecs à intelligence artificielle en chaîne, personnages NFT pilotés par un réseau neuronal, etc.

5. Historique du développement technique de ZKML

Les principaux défis liés à la conversion de réseaux de neurones en circuits ZK sont :

  1. Le circuit nécessite des opérations en virgule fixe, mais les nombres à virgule flottante sont largement utilisés dans les réseaux de neurones.

  2. Le problème est la taille du modèle. Il est difficile de convertir de grands modèles et le circuit est grand.

L'historique de développement de la bibliothèque ZKML est le suivant :

  1. 2021, zk-ml/linear-regression-demo, Peiyuan Liao

Un circuit de régression linéaire est implémenté. La régression linéaire est un algorithme de prédiction très basique. Il suppose une relation linéaire entre les variables de sortie et les variables d'entrée. Il convient aux scénarios de prédiction de variables numériques et d'étude de la relation entre deux ou plusieurs variables. Par exemple : prédire les prix des logements en fonction de la superficie de la maison et d'autres caractéristiques, ou prédire les ventes futures sur la base des données de ventes historiques, etc.

  1. 2022年, 0xZKML/zk-mnist, 0xZKML

Sur la base de l'ensemble de données MNIST, un circuit ZK de réseau neuronal a été construit, capable de reconnaître les chiffres manuscrits. Par exemple : si vous écrivez manuellement un chiffre 2, l'écriture manuscrite est reconnue comme 2 et une preuve du processus de raisonnement est générée. La preuve peut être mise sur la chaîne, et la preuve en chaîne peut être vérifiée à l'aide d'éthers + snarkjs.

En fait, la bibliothèque zk-mnist ne convertit actuellement que la dernière couche en circuit, mais ne convertit pas l'intégralité du réseau neuronal en circuit.

  1. 2022, socathie/zkML, Cathie

Comparé à zk-mnist, ZKML convertit un réseau neuronal complet en circuit. zkMachine Learning de Cathie fournit plusieurs boîtes à outils ZKML cirocmlib-ml et keras2circom pour aider les ingénieurs ML à convertir des modèles en circuits.

  1. 11 novembre 2022, Peiyuan Liao

Convertissez les opérations à virgule flottante dans les réseaux de neurones en opérations à virgule fixe. Création et open source d'un outil et d'un cadre généraux qui convertissent presque tous les algorithmes d'apprentissage automatique en un circuit à preuve de connaissance nulle qui s'intègre facilement à la blockchain.

  • Modèle de vision->AIGC

  • Modèle de langage->Chatbot, assistant d'écriture

  • Modèles linéaires et arbres de décision -> Détection de fraude, prévention des attaques Sybil

  • Modèle multimodal -> Système de recommandation

Un modèle d'apprentissage automatique de génération de contenu (AIGC) compatible avec la blockchain a été formé et converti en circuit ZK. Utilisez-le pour générer des illustrations, générer des épreuves ZK concises et enfin créer l'œuvre d'art dans NFT.

  1. Juillet 2022, mis à jour en mars 2023, zkonduit/ezkl

ezkl

est une bibliothèque et un outil de ligne de commande pour l'inférence sur des modèles d'apprentissage profond et d'autres graphiques informatiques dans zk-snark (ZKML). Utilisez Halo2 comme système de preuve.

Vous pouvez définir un graphe informatique, tel qu'un réseau neuronal, puis utiliser ezkl pour générer un circuit ZK-SNARK. Le ZKP généré pour l'inférence peut être vérifié avec des contrats intelligents.

On dit qu'il peut prendre en charge un modèle avec 100 millions de paramètres, mais cela peut être très consommateur de ressources.

  1. Mai 2023, Ddkang/zkml (Lien)

zkml prétend pouvoir utiliser ZK pour transformer les modèles GPT2, Bert et Diffusion. Cependant, cela peut nécessiter une grande quantité de mémoire et il n’est pas clair si la preuve peut être stockée dans un contrat intelligent.

zkml peut vérifier l'exécution d'un modèle sur ImageNet avec une précision de 92,4 % et peut également prouver un modèle MNIST avec une précision de 99 % en quatre secondes.

  1. Mai 2023, zkp-gravity/0g

Le réseau neuronal léger prend en charge les données privées et les modèles publics.

De manière générale, nous pouvons voir la direction actuelle de l'exploration de la technologie ZKML :

  1. La quantification de réseau (quantification de réseau) convertit les nombres à virgule flottante des réseaux de neurones en nombres à virgule fixe et en réseaux de neurones légers (compatibles ZK).

  2. Essayez de convertir les réseaux neuronaux de paramètres à grande échelle en circuits ZK et améliorez l'efficacité de la preuve (étendez les capacités ZK).

6. Résumé

  1. ZKML est un pont entre l'IA et la blockchain. Son importance est de permettre à la blockchain de percevoir le monde physique, de permettre aux contrats intelligents de prendre des décisions et d'exécuter des modèles d'IA pour protéger la confidentialité.

  2. ZKML a une courte histoire et se développe rapidement. À l'heure actuelle, certains modèles simples de réseaux neuronaux peuvent être convertis en circuits ZK, et les modèles peuvent être téléchargés ou des preuves d'inférence peuvent être téléchargées. Les modèles de langage sont relativement difficiles. Actuellement, Ddkang/zkml prétend pouvoir générer la version ZK des modèles GPT2, Bert et Diffusion. On pense qu'avec le développement de la technologie de volume de réseau, de la technologie ZK et de la technologie d'expansion de la blockchain, le modèle de langage ZKML sera bientôt disponible.