Der Nachweis der Modellinferenz für maschinelles Lernen (ML) über zkSNARKs verspricht einer der wichtigsten Fortschritte bei Smart Contracts in diesem Jahrzehnt zu werden. Diese Entwicklung eröffnet einen aufregend großen Designraum, der es Anwendungen und Infrastruktur ermöglicht, sich zu komplexeren und intelligenteren Systemen zu entwickeln.
Durch das Hinzufügen von ML-Funktionen können intelligente Verträge autonomer und dynamischer werden, sodass sie Entscheidungen auf der Grundlage von Echtzeitdaten in der Kette statt auf statischen Regeln treffen können. Intelligente Verträge werden flexibel sein und eine Vielzahl von Szenarien berücksichtigen, auch solche, die bei der ursprünglichen Erstellung des Vertrags möglicherweise nicht vorhergesehen wurden. Kurz gesagt, ML-Funktionen werden die Automatisierung, Genauigkeit, Effizienz und Flexibilität jedes intelligenten Vertrags, den wir in die Kette einbinden, verstärken.
ML ist in den meisten Anwendungen außerhalb von Web3 weit verbreitet und seine Anwendung in Smart Contracts ist nahezu null. Dies ist hauptsächlich auf den hohen Rechenaufwand für die Ausführung dieser Modelle in der Kette zurückzuführen. FastBERT ist beispielsweise ein rechnerisch optimiertes Sprachmodell, das etwa 1800 MFLOPS (Millionen Gleitkommaoperationen) verwendet, die nicht direkt auf der EVM ausgeführt werden können.
Die Anwendung des ML-Modells auf die Kette konzentriert sich hauptsächlich auf die Argumentationsphase: die Anwendung des Modells zur Vorhersage realer Daten. Um über intelligente Verträge im ML-Maßstab zu verfügen, müssen die Verträge in der Lage sein, solche Vorhersagen aufzunehmen. Wie bereits erwähnt, ist es jedoch nicht möglich, Modelle direkt auf der EVM auszuführen. zkSNARKs bieten uns eine Lösung: Jeder kann ein Modell außerhalb der Kette ausführen und einen prägnanten und überprüfbaren Beweis dafür generieren, dass das erwartete Modell tatsächlich ein bestimmtes Ergebnis erbracht hat. Dieser Beweis kann in der Kette veröffentlicht und von Smart Contracts aufgenommen werden, um deren Intelligenz zu verbessern.
In diesem Artikel werden wir:
Maschinelles Lernen (ML) ist ein Teilgebiet der künstlichen Intelligenz (KI), das sich auf die Entwicklung von Algorithmen und statistischen Modellen konzentriert, die es Computern ermöglichen, aus Daten zu lernen und Vorhersagen oder Entscheidungen zu treffen. ML-Modelle bestehen typischerweise aus drei Hauptkomponenten:
Die Generierung und Bereitstellung des Modells ist in zwei Phasen unterteilt:
Derzeit konzentriert sich zkML hauptsächlich auf die Inferenzphase von Modellen für maschinelles Lernen und nicht auf die Trainingsphase, was hauptsächlich auf die rechnerische Komplexität des Trainings in Verifizierungsschaltungen zurückzuführen ist. Der Fokus von zkML auf Inferenz stellt jedoch keine Einschränkung dar: Wir erwarten einige sehr interessante Anwendungsfälle und Anwendungen.
Es gibt vier mögliche Szenarien zur Validierung von Argumenten:
Verifizierte ML-Argumentation eröffnet neue Gestaltungsspielräume für intelligente Verträge. Zu den kryptonativen Anwendungen gehören:
Überprüfbare Off-Chain-ML-Orakel. Die fortgesetzte Einführung generativer KI könnte die Branche dazu veranlassen, Signaturschemata für ihre Inhalte einzuführen (z. B. das Signieren von Artikeln oder Bildern durch Nachrichtenpublikationen). Signierte Daten stehen für wissensfreie Beweise bereit, wodurch die Daten zusammensetzbar und vertrauenswürdig sind. ML-Modelle können diese signierten Daten außerhalb der Kette verarbeiten, um Vorhersagen und Klassifizierungen zu treffen (z. B. zur Klassifizierung von Wahlergebnissen oder Wetterereignissen). Diese Off-Chain-ML-Orakel können reale Prognosemärkte, Versicherungsprotokollverträge usw. zuverlässig lösen, indem sie Argumente überprüfen und Beweise in der Kette veröffentlichen.
DeFi-Anwendungen basierend auf ML-Parametern. Viele Aspekte von DeFi können stärker automatisiert werden. Kreditprotokolle können beispielsweise ML-Modelle verwenden, um Parameter in Echtzeit zu aktualisieren. Derzeit basieren Kreditvergabeprotokolle hauptsächlich auf Off-Chain-Modellen, die von Organisationen betrieben werden, um Sicherheitenfaktoren, Beleihungsquoten, Liquidationsschwellen usw. zu bestimmen. Eine bessere Option könnte jedoch ein von der Community geschultes Open-Source-Modell sein, das jeder ausführen kann und verifizieren.
Automatisierte Handelsstrategien. Eine übliche Möglichkeit, die Renditeeigenschaften einer Finanzmodellstrategie zu demonstrieren, besteht darin, dass MPs Anlegern verschiedene Backtest-Daten zur Verfügung stellen. Es gibt jedoch keine Möglichkeit zu überprüfen, ob der Stratege bei der Ausführung eines Handels dem Modell folgt – der Anleger muss darauf vertrauen, dass der Stratege tatsächlich dem Modell folgt. zkML bietet eine Lösung, mit der MP Beweise für die Argumentation von Finanzmodellen liefern kann, wenn es für bestimmte Positionen eingesetzt wird. Dies könnte besonders für von DeFi verwaltete Tresore nützlich sein.
Betrugsüberwachung für Smart Contracts. Anstatt die Möglichkeit, Verträge auszusetzen, einer langsamen menschlichen Steuerung oder zentralisierten Akteuren zu überlassen, können ML-Modelle verwendet werden, um mögliches böswilliges Verhalten zu erkennen und Verträge auszusetzen.
Eine dezentrale, vertrauenswürdige Implementierung von Kaggle. Es könnte ein Protokoll oder ein Markt geschaffen werden, der es MCs oder anderen interessierten Parteien ermöglicht, die Genauigkeit von Modellen zu überprüfen, ohne dass MPs Modellgewichte offenlegen müssen. Dies ist nützlich für den Verkauf von Modellen, die Durchführung von Wettbewerben rund um die Modellgenauigkeit usw.
Ein dezentraler Prompt-Marktplatz für generative KI. Die Erstellung von Eingabeaufforderungen für generative KI hat sich zu einem komplexen Handwerk entwickelt, und Eingabeaufforderungen zur optimalen Ausgabegenerierung weisen häufig mehrere Modifikatoren auf. Externe Parteien sind möglicherweise bereit, diese komplexen Hinweise von den Erstellern zu erwerben. zkML kann hier auf zwei Arten verwendet werden: 1) um die Ausgabe des Hinweises zu validieren, um potenziellen Käufern zu versichern, dass der Hinweis tatsächlich das gewünschte Bild erzeugt;
Ersetzen Sie private Schlüssel durch eine datenschutzschonende biometrische Authentifizierung. Die Verwaltung privater Schlüssel bleibt eine der größten Hürden im Web3-Benutzererlebnis. Das Abstrahieren privater Schlüssel durch Gesichtserkennung oder andere einzigartige Faktoren ist eine mögliche Lösung für zkML.
Faire Airdrops und Mitwirkende-Belohnungen. ML-Modelle können verwendet werden, um detaillierte Personas von Benutzern zu erstellen, um Airdrop-Zuteilungen oder Beitragsprämien basierend auf mehreren Faktoren zu bestimmen. Dies kann besonders in Kombination mit Identitätslösungen nützlich sein. In diesem Fall besteht eine Möglichkeit darin, Benutzer ein Open-Source-Modell ausführen zu lassen, das ihr Engagement in der App sowie das Engagement auf höherer Ebene, wie z. B. Governance-Forumsbeiträge, bewertet, um über ihre Aufgaben nachzudenken. Dieser Nachweis wird dann dem Vertrag für die entsprechende Token-Zuteilung vorgelegt.
Filterung nach web3-Social-Media. Der dezentrale Charakter der sozialen Web3-Anwendungen wird zu einem Anstieg von Spam und bösartigen Inhalten führen. Im Idealfall könnte eine Social-Media-Plattform ein Open-Source-ML-Modell mit Community-Konsens verwenden und Beweise für die Argumentation des Modells veröffentlichen, wenn sie Beiträge filtert. Ein typisches Beispiel: zkML-Analyse des Twitter-Algorithmus.
Werbung/Empfehlung. Als Social-Media-Nutzer bin ich vielleicht bereit, personalisierte Werbung zu sehen, möchte aber meine Vorlieben und Interessen vor Werbetreibenden geheim halten. Ich kann mich dafür entscheiden, lokal ein Modell zu meinen Interessen laufen zu lassen und es in eine Medienanwendung einzuspeisen, um mich mit Inhalten zu versorgen. In diesem Fall sind Werbetreibende möglicherweise bereit, Endbenutzer dafür zu bezahlen, dass dies möglich ist. Allerdings sind diese Modelle möglicherweise weitaus weniger ausgefeilt als die derzeit in Produktion befindlichen Modelle für gezielte Werbung.
Neuausrichtung der Wirtschaft im Spiel. Token-Ausgabe, Angebot, Burn, Abstimmungsschwellen usw. können mithilfe von ML-Modellen dynamisch angepasst werden. Ein mögliches Modell ist ein Anreizvertrag, der die In-Game-Wirtschaft neu ausbalanciert, wenn ein bestimmter Rebalancierungsschwellenwert erreicht wird und ein Beweis für die Begründung verifiziert wird.
Neue Arten von On-Chain-Spielen. Es können kooperative Menschen-gegen-KI-Spiele und andere innovative On-Chain-Spiele erstellt werden, bei denen das vertrauenswürdige KI-Modell als nicht spielbarer Charakter fungiert. Jede vom NPC durchgeführte Aktion wird in der Kette veröffentlicht, zusammen mit einem Beweis, den jeder überprüfen kann, dass das richtige Modell ausgeführt wird. In „Leela vs. the World“ von Modulus Labs möchte der Verifizierer sicherstellen, dass die angegebene 1900 ELO-KI den Zug auswählt, nicht Magnus Carlson. Ein weiteres Beispiel ist AI Arena, ein KI-Kampfspiel ähnlich wie Super Smash Brothers. In einem Wettbewerbsumfeld mit hohen Einsätzen möchten Spieler sicherstellen, dass die Modelle, die sie trainieren, sich nicht einmischen oder betrügen.
Das zkML-Ökosystem kann grob in vier Hauptkategorien unterteilt werden:
Im zkML-Ökosystem lag die meiste Aufmerksamkeit auf der Entwicklung von Model-to-Proof-Compilern. Typischerweise konvertieren diese Compiler fortgeschrittene ML-Modelle mithilfe von Pytorch, Tensorflow usw. in ZK-Schaltkreise.
EZKL ist eine Bibliothek und ein Befehlszeilentool zur Inferenz von Deep-Learning-Modellen in zk-SNARKs. Mit EZKL können Sie einen Rechengraphen in Pytorch oder TensorFlow definieren, ihn als ONNX-Datei mit einigen Beispieleingaben in JSON-Dateien exportieren und dann EZKL auf diese Dateien richten, um zkSNARK-Schaltkreise zu generieren. Mit der neuesten Runde an Leistungsverbesserungen kann EZKL nun ein Modell in MNIST-Größe in ~6 Sekunden und 1,1 GB RAM beweisen. Bislang hat EZKL einige bemerkenswerte frühe Einführungen erlebt und wurde als Infrastruktur für verschiedene Hackathon-Projekte genutzt.
Die circomlib-ml-Bibliothek von Cathie So enthält verschiedene ML-Schaltkreisvorlagen für Circom. Schaltkreise umfassen einige der häufigsten ML-Funktionen. Keras 2c ircom, entwickelt von Cathie, ist ein Python-Tool, das Keras-Modelle mithilfe der zugrunde liegenden Bibliothek circomlib-ml in Circom-Schaltkreise konvertiert.
LinearA hat zwei Frameworks für zkML entwickelt: Tachikoma und Uchikoma. Tachikoma wird verwendet, um das neuronale Netzwerk in eine rein ganzzahlige Form umzuwandeln und rechnerische Trajektorien zu generieren. Uchikoma ist ein Tool, das die Zwischendarstellung von TVM in Programmiersprachen umwandelt, die keine Gleitkommaoperationen unterstützen. LinearA plant, Circom mit Domänenarithmetik und Solidity mit vorzeichenbehafteter und vorzeichenloser Ganzzahlarithmetik zu unterstützen.
Daniel Kangs zkml ist ein Framework für den Nachweis der Ausführung von ML-Modellen, das auf seiner Arbeit im Artikel „Scaling up Trustless DNN Inference with Zero-Knowledge Proofs“ aufbaut. Zum Zeitpunkt des Schreibens konnte eine MNIST-Schaltung in etwa 5 GB Speicher und in etwa 16 Sekunden Laufzeit nachgewiesen werden.
Was allgemeinere Model-to-Proof-Compiler betrifft, gibt es Nil Foundation und Risc Zero. zkLLVM der Nil Foundation ist ein LLVM-basierter Schaltungscompiler, der in der Lage ist, Rechenmodelle zu validieren, die in gängigen Programmiersprachen wie C++, Rust und Java/Type geschrieben sind. Im Vergleich zu den anderen hier erwähnten Model-to-Proof-Compilern handelt es sich um eine Allzweck-Infrastruktur, die jedoch dennoch für komplexe Berechnungen wie zkML geeignet ist. Dies kann besonders wirkungsvoll sein, wenn es mit dem Proof-Markt kombiniert wird.
Risc Zero erstellt eine universelle zkVM, die auf den Open-Source-RISC-V-Befehlssatz abzielt und so bestehende ausgereifte Sprachen wie C++ und Rust sowie die LLVM-Toolchain unterstützt. Dies ermöglicht eine nahtlose Integration zwischen Host- und Gast-zkVM-Code, ähnlich der CUDA C+±Toolchain von Nvidia, verwendet jedoch die ZKP-Engine anstelle der GPU. Ähnlich wie bei Nil verwenden Sie Risc Zero, um den Rechenverlauf eines ML-Modells zu überprüfen.
Verbesserungen am Proofsystem waren die Hauptantriebskraft für die Verwirklichung von zkML, insbesondere die Einführung benutzerdefinierter Gates und Nachschlagetabellen. Dies ist hauptsächlich auf die Abhängigkeit von ML von Nichtlinearität zurückzuführen. Kurz gesagt, Nichtlinearität wird durch Aktivierungsfunktionen (wie ReLU, Sigmoid und Tanh) eingeführt, die auf die Ausgabe einer linearen Transformation in einem neuronalen Netzwerk angewendet werden. Aufgrund der Einschränkungen mathematischer Operationsgatter ist die Implementierung dieser Nichtlinearitäten in zk-Schaltungen eine Herausforderung. Bitweise Faktorisierung und Nachschlagetabellen können dabei helfen, indem sie die nichtlinearen möglichen Ergebnisse in der Nachschlagetabelle vorab berechnen, was in zk interessanterweise recheneffizienter ist.
Aus diesem Grund ist das Plonkish-Proof-System tendenziell das beliebteste Backend für zkML. Halo 2 und Plonky 2 und ihre Tabellenarithmetikschemata verarbeiten Nichtlinearitäten neuronaler Netzwerke gut mit Suchparametern. Darüber hinaus verfügt Ersteres über ein lebendiges Ökosystem an Entwicklertools und Flexibilität, was es zu einem De-facto-Backend für viele Projekte, einschließlich EZKL, macht.
Auch andere Beweissysteme haben ihre Vorteile. Zu den auf R 1 CS basierenden Beweissystemen gehören Groth 16, das für seine geringe Beweisgröße bekannt ist, und Gemini, das für die Handhabung extrem großer Schaltkreise und linearer Zeitverifizierer bekannt ist. STARK-basierte Systeme wie die Winterfell-Prover/Verifier-Bibliothek sind besonders nützlich, wenn Spuren von Cairo-Programmen über die Tools von Giza als Eingabe verwendet werden und Winterfell zum Generieren von STARK-Proofs verwendet wird, um die Richtigkeit der Ausgabe zu überprüfen.
Bei der Entwicklung effizienter Beweissysteme, die komplexe, schaltungsunfreundliche Operationen fortgeschrittener Modelle für maschinelles Lernen bewältigen können, wurden einige Fortschritte erzielt. Systeme wie zkCNN, die auf dem Beweissystem von GKR basieren, und Zator, die auf kombinatorischen Techniken basieren, übertreffen tendenziell universelle Beweissysteme, wie sich in den Benchmark-Berichten von Modulus Labs widerspiegelt.
zkCNN ist eine Methode zum Nachweis der Korrektheit von Faltungs-Neuronalen Netzen mithilfe wissensfreier Beweise. Es verwendet das Sumcheck-Protokoll, um schnelle Fourier-Transformationen und Faltungen mit linearer Beweiszeit zu beweisen, schneller als die asymptotische Berechnung von Ergebnissen. Es wurden mehrere interaktive Beweise für Verbesserungen und Verallgemeinerungen eingeführt, darunter Validierungsfaltungsschichten, ReLU-Aktivierungsfunktionen und Max-Pooling. Laut dem Benchmarking-Bericht von Modulus Labs ist zkCNN besonders interessant, da es andere Allzweck-Proof-Systeme hinsichtlich der Geschwindigkeit der Proof-Erstellung und des RAM-Verbrauchs übertrifft.
Zator ist ein Projekt, das darauf abzielt, die Verwendung rekursiver SNARKs zur Verifizierung tiefer neuronaler Netze zu untersuchen. Eine aktuelle Einschränkung bei der Validierung tieferer Modelle besteht darin, ganze Rechentrajektorien in einen einzigen Schaltkreis zu integrieren. Zator schlug vor, rekursives SNARK zu verwenden, um Schicht für Schicht zu überprüfen, wodurch wiederholte Berechnungen in N-Schritten schrittweise überprüft werden können. Sie nutzten Nova, um N Recheninstanzen auf eine Instanz zu reduzieren, die in einem einzigen Schritt verifiziert werden konnte. Mit diesem Ansatz konnte Zator ein SNARK-Netzwerk mit 512 Schichten aufbauen, das so tief ist wie die meisten aktuellen KI-Produktionsmodelle. Die Beweiserstellungs- und Verifizierungszeiten von Zator sind für gängige Anwendungsfälle immer noch zu lang, aber ihre kombinierten Techniken sind immer noch sehr interessant.
In den Anfängen von zkML lag der Schwerpunkt weitgehend auf der oben genannten Infrastruktur. Derzeit gibt es jedoch mehrere Projekte, die sich der Anwendungsentwicklung widmen.
Modulus Labs ist eines der vielfältigsten Projekte im zkML-Bereich und arbeitet sowohl an Beispielanwendungen als auch an verwandter Forschung. Auf der angewandten Seite demonstrierte Modulus Labs Anwendungsfälle für zkML mit RockyBot, einem On-Chain-Trading-Bot, und Leela vs. the World, einem Brettspiel, bei dem Menschen gegen eine bewährte On-Chain-Leela-Schach-Engine spielen. Das Team führte auch Recherchen durch und schrieb „The Cost of Intelligence“, das die Geschwindigkeit und Effizienz verschiedener Proof-Systeme bei verschiedenen Modellgrößen vergleicht.
Worldcoin versucht, zkML anzuwenden, um ein datenschutzerhaltendes Protokoll zum Nachweis der menschlichen Identität zu erstellen. Worldcoin übernimmt das hochauflösende Iris-Scannen mithilfe benutzerdefinierter Hardware und integriert es in eine Semaphore-Implementierung. Dieses System kann dann verwendet werden, um nützliche Vorgänge wie den Nachweis der Mitgliedschaft und die Stimmabgabe durchzuführen. Sie verwenden derzeit eine vertrauenswürdige Laufzeitumgebung und eine sichere Enklave, um kamerasignierte Iris-Scans zu verifizieren. Ihr ultimatives Ziel besteht jedoch darin, wissensfreie Beweise zu verwenden, um die korrekte Logik neuronaler Netze zu überprüfen und so eine Sicherheitsgarantie auf kryptografischer Ebene zu bieten.
Giza ist ein Protokoll, das einen völlig vertrauenswürdigen Ansatz für die Bereitstellung von KI-Modellen in der Kette verfolgt. Es verwendet das ONNX-Format zur Darstellung von Modellen für maschinelles Lernen, den Giza Transpiler zur Konvertierung dieser Modelle in das Cairo-Programmformat, die ONNX Cairo Runtime zur überprüfbaren und deterministischen Ausführung von Modellen und den Giza Model Smart Contract für die On-Chain-Bereitstellung und Technologie-Stack zur Ausführung des Modells. Obwohl Giza auch als Model-to-Proof-Compiler eingestuft werden kann, ist ihre Positionierung als Markt für ML-Modelle derzeit eine der interessantesten Anwendungen.
Gensyn ist ein verteiltes Netzwerk von Hardware-Bereitstellern zum Trainieren von ML-Modellen. Konkret entwickeln sie ein probabilistisches Prüfsystem, das auf dem Gradientenabstieg basiert und Modell-Checkpointing verwendet, um verteilten GPU-Netzwerken das Training für Modelle in Originalgröße zu ermöglichen. Obwohl ihre Anwendung von zkML hier sehr spezifisch für ihren Anwendungsfall ist – sie möchten sicherstellen, dass sie ehrlich zu Modellaktualisierungen sind, wenn ein Knoten einen Teil des Modells herunterlädt und trainiert – zeigt dies die Leistungsfähigkeit der Kombination von zk- und ML-Stärke.
ZKaptcha konzentriert sich auf das Bot-Problem in Web3 und bietet Verifizierungscode-Dienste für Smart Contracts. Ihre aktuelle Implementierung ermöglicht es Endbenutzern, Beweise für menschliche Arbeit zu generieren, indem sie Captchas ausfüllen, die von ihren On-Chain-Validatoren überprüft werden und auf die durch intelligente Verträge mit wenigen Codezeilen zugegriffen werden kann. Heute verlassen sie sich hauptsächlich nur auf zk, beabsichtigen jedoch, in Zukunft zkML ähnlich wie bestehende Web2-Captcha-Dienste zu implementieren und Verhalten wie Mausbewegungen zu analysieren, um festzustellen, ob der Benutzer ein Mensch ist.
Angesichts der Anfänge des zkML-Marktes wurde bereits mit vielen Anwendungen auf Hackathon-Ebene experimentiert. Zu den Projekten gehören AI Coliseum, ein On-Chain-KI-Wettbewerb, bei dem ZK-Beweise zur Überprüfung der Ausgabe maschinellen Lernens verwendet werden, Hunter z Hunter, eine Foto-Schnitzeljagd unter Verwendung der EZKL-Bibliothek zur Überprüfung der Ausgabe eines Bildklassifizierungsmodells mit Halo-2-Schaltkreisen und zk Abschnitt 9 Es wandelt KI-Bilderzeugungsmodelle in Schaltkreise zum Gießen und Validieren von KI-Kunst um.
Trotz rascher Fortschritte bei der Verbesserung und Optimierung steht der Bereich zkML immer noch vor einigen zentralen Herausforderungen. Diese Herausforderungen umfassen technische und praktische Aspekte, darunter:
Quantisierung ist der Prozess der Darstellung von Gleitkommazahlen als Festkommazahlen. Die meisten Modelle für maschinelles Lernen verwenden Gleitkommazahlen, um Modellparameter und Aktivierungsfunktionen darzustellen. Beim Umgang mit Domänenarithmetik für zk-Schaltkreise sind Festkommazahlen erforderlich. Der Einfluss der Quantisierung auf die Genauigkeit eines maschinellen Lernmodells hängt vom verwendeten Präzisionsgrad ab. Im Allgemeinen kann die Verwendung einer geringeren Präzision (d. h. weniger Bits) zu einer geringeren Genauigkeit führen, da dies zu Rundungs- und Näherungsfehlern führen kann. Es gibt jedoch mehrere Techniken, mit denen sich die Auswirkungen der Quantisierung auf die Genauigkeit minimieren lassen, z. B. die Feinabstimmung des Modells nach der Quantisierung und der Einsatz von Techniken wie quantisierungsbewusstem Training. Darüber hinaus zeigte Zero Gravity, ein Hackathon-Projekt beim zkSummit 9, dass alternative neuronale Netzwerkarchitekturen, die für Edge-Geräte entwickelt wurden, wie etwa schwerelose neuronale Netzwerke, verwendet werden können, um Quantisierungsprobleme in Schaltkreisen zu vermeiden.
Neben der Quantisierung ist die Hardware eine weitere zentrale Herausforderung. Sobald ein Modell für maschinelles Lernen korrekt durch eine Schaltung dargestellt wird, werden Beweise zur Überprüfung seiner Argumentation aufgrund der Einfachheit von zk kostengünstig und schnell. Die Herausforderung liegt hier nicht beim Prüfer, sondern beim Prüfer, da der RAM-Verbrauch und die Zeit für die Beweiserstellung mit zunehmender Modellgröße schnell ansteigen. Bestimmte Beweissysteme (z. B. GKR-basierte Systeme, die das Sumcheck-Protokoll und hierarchische arithmetische Schaltkreise verwenden) oder kombinierte Techniken (z. B. die Kombination von Plonky 2 mit Groth 16, Plonky 2 ist hinsichtlich der Beweiszeit effizient, aber effizient für große Modelle von Poor und Groth 16 führt nicht zu einer Zunahme der Beweisgröße in der Komplexität komplexer Modelle) ist besser geeignet, diese Probleme zu lösen, aber die Bewältigung von Kompromissen ist eine zentrale Herausforderung in zkML-Projekten.
Bei der Angriffsbekämpfung gibt es noch viel zu tun. Erstens besteht, wenn ein vertrauenswürdiges Protokoll oder DAO sich für die Implementierung eines Modells entscheidet, immer noch das Risiko gegnerischer Angriffe während der Trainingsphase (z. B. das Trainieren eines Modells, ein bestimmtes Verhalten zu zeigen, wenn es eine bestimmte Eingabe sieht, die zur Manipulation nachfolgender Daten verwendet werden könnte). Begründung). Föderierte Lerntechniken und zkML in der Trainingsphase können eine Möglichkeit sein, diese Angriffsfläche zu minimieren.
Eine weitere zentrale Herausforderung ist das Risiko von Modelldiebstahlangriffen, wenn das Modell die Privatsphäre schützt. Während es möglich ist, die Gewichte eines Modells zu verschleiern, sofern genügend Eingabe-Ausgabe-Paare vorhanden sind, ist es theoretisch immer noch möglich, die Gewichte rückwärts abzuleiten. Dies stellt vor allem bei Modellen im kleinen Maßstab ein Risiko dar, es bestehen jedoch immer noch Risiken.
Während es einige Herausforderungen bei der Optimierung dieser Modelle für die Ausführung innerhalb der ZK-Beschränkungen gibt, werden Verbesserungen exponentiell vorgenommen, und einige gehen davon aus, dass wir mit weiterer Hardwarebeschleunigung bald in der Lage sein werden, das breitere Feld des maschinellen Lernens zu erreichen das selbe Level. Um die Geschwindigkeit dieser Verbesserungen hervorzuheben, ging zkML von der Demonstration von 0x PARC, wie man ein kleines MNIST-Bildklassifizierungsmodell in einer überprüfbaren Schaltung durchführt, im Jahr 2021 zu Daniel Kang über, der das Gleiche weniger als ein Jahr später für ein ImageNet-Modell durchführte Papiere. Im April 2022 verbesserte sich die Genauigkeit dieses ImageNet-Modells von 79 % auf 92 %, und es wird erwartet, dass große Modelle wie GPT-2 in naher Zukunft möglich sein werden, obwohl die aktuelle Beweiszeit länger ist.
Wir betrachten zkML als ein reichhaltiges und wachsendes Ökosystem, das darauf ausgelegt ist, die Fähigkeiten von Blockchains und Smart Contracts zu erweitern und sie flexibler, anpassungsfähiger und intelligenter zu machen.
Obwohl sich zkML noch in einem frühen Entwicklungsstadium befindet, zeigt es bereits vielversprechende Ergebnisse. Während sich die Technologie weiterentwickelt und ausgereift ist, können wir mit weiteren innovativen zkML-Anwendungsfällen in der Kette rechnen.