Membuktikan inferensi model pembelajaran mesin (ML) melalui zkSNARK menjanjikan salah satu kemajuan terpenting dalam kontrak pintar dekade ini. Perkembangan ini membuka ruang desain yang sangat besar, memungkinkan aplikasi dan infrastruktur berkembang menjadi sistem yang lebih kompleks dan cerdas.
Dengan menambahkan kemampuan ML, kontrak pintar dapat menjadi lebih otonom dan dinamis, memungkinkan mereka membuat keputusan berdasarkan data on-chain real-time daripada aturan statis. Kontrak pintar akan fleksibel dan dapat mengakomodasi berbagai skenario, termasuk skenario yang mungkin tidak diantisipasi saat kontrak awalnya dibuat. Singkatnya, kemampuan ML akan memperkuat otomatisasi, akurasi, efisiensi, dan fleksibilitas dari kontrak cerdas apa pun yang kami hubungkan.
ML banyak digunakan di sebagian besar aplikasi di luar web3, dan aplikasinya di smart contract hampir nol. Hal ini terutama disebabkan oleh tingginya biaya komputasi untuk menjalankan model ini secara on-chain. Misalnya, FastBERT adalah model bahasa yang dioptimalkan secara komputasi yang menggunakan sekitar 1800 MFLOPS (juta operasi floating point), yang tidak dapat dijalankan langsung di EVM.
Penerapan model ML pada rantai terutama berfokus pada tahap penalaran: penerapan model untuk memprediksi data dunia nyata. Untuk memiliki smart contract berskala ML, kontrak harus dapat menyerap prediksi tersebut, tetapi seperti yang kami sebutkan sebelumnya, menjalankan model secara langsung di EVM tidak memungkinkan. zkSNARK memberi kami solusi: siapa pun dapat menjalankan model off-chain dan menghasilkan bukti yang ringkas dan dapat diverifikasi bahwa model yang diharapkan memang menghasilkan hasil yang spesifik. Bukti ini dapat dipublikasikan secara on-chain dan diserap oleh smart contract untuk meningkatkan kecerdasan mereka.
Pada artikel ini, kami akan:
Lihat aplikasi potensial dan kasus penggunaan untuk on-chain ML
Jelajahi proyek dan infrastruktur yang muncul sebagai inti dari zkML
Diskusikan beberapa tantangan implementasi yang ada dan seperti apa masa depan zkML
Pengantar Pembelajaran Mesin (ML)
Pembelajaran mesin (ML) adalah subbidang kecerdasan buatan (AI) yang berfokus pada pengembangan algoritme dan model statistik yang memungkinkan komputer belajar dari data dan membuat prediksi atau keputusan. Model ML biasanya memiliki tiga komponen utama:
Data pelatihan: Kumpulan data input yang digunakan untuk melatih algoritme pembelajaran mesin untuk membuat prediksi atau mengklasifikasikan data baru. Data pelatihan dapat mengambil banyak bentuk seperti gambar, teks, audio, data numerik, atau kombinasinya.
Arsitektur Model: Keseluruhan struktur atau desain model pembelajaran mesin. Ini mendefinisikan hierarki, fungsi aktivasi, dan jenis dan jumlah koneksi antara node atau neuron. Pilihan arsitektur tergantung pada masalah spesifik dan data yang digunakan.
Parameter model: Nilai atau bobot yang dipelajari model selama pelatihan untuk membuat prediksi. Nilai-nilai ini disesuaikan secara iteratif oleh algoritme pengoptimalan untuk meminimalkan kesalahan antara hasil prediksi dan aktual.
Pembuatan dan penyebaran model dibagi menjadi dua fase:
Fase pelatihan: Pada fase pelatihan, model diekspos ke kumpulan data berlabel dan menyesuaikan parameternya untuk meminimalkan kesalahan antara hasil prediksi dan hasil sebenarnya. Proses pelatihan biasanya melibatkan beberapa iterasi atau siklus, dan keakuratan model dievaluasi pada set validasi terpisah.
Fase inferensi: Fase inferensi adalah fase di mana model pembelajaran mesin yang dilatih digunakan untuk membuat prediksi pada data baru yang tidak terlihat. Model mengambil data masukan dan menerapkan parameter yang dipelajari untuk menghasilkan keluaran, seperti klasifikasi atau prediksi regresi.
Saat ini, zkML terutama berfokus pada fase inferensi model pembelajaran mesin, daripada fase pelatihan, terutama karena kompleksitas komputasi pelatihan di sirkuit verifikasi. Namun, fokus zkML pada inferensi bukanlah batasan: kami mengantisipasi beberapa kasus penggunaan dan aplikasi yang sangat menarik.
Skenario inferensi terverifikasi
Ada empat skenario yang mungkin untuk memvalidasi penalaran:
Masukan pribadi, model publik. Konsumen Model (MC) mungkin ingin merahasiakan input mereka dari Penyedia Model (MP). Misalnya, seorang MC mungkin ingin mengesahkan hasil model penilaian kredit kepada pemberi pinjaman tanpa mengungkapkan informasi keuangan pribadi mereka. Ini dapat dilakukan dengan menggunakan skema pra-komitmen dan menjalankan model secara lokal.
Masukan publik, model pribadi. Masalah umum dengan ML-as-a-Service adalah MP mungkin ingin menyembunyikan parameter atau bobotnya untuk melindungi IP-nya, sementara MC ingin memverifikasi bahwa inferensi yang dihasilkan memang berasal dari model yang ditentukan dalam pengaturan permusuhan. dengan cara ini: saat memberikan inferensi ke MC Ketika , MP memiliki insentif untuk menjalankan model yang lebih ringan untuk menghemat uang. Dengan janji bobot model on-chain, MC dapat mengaudit model pribadi kapan saja.
Masukan pribadi, model pribadi. Ini terjadi ketika data yang digunakan untuk inferensi sangat sensitif atau rahasia, dan model itu sendiri disembunyikan untuk melindungi IP. Contohnya mungkin termasuk mengaudit model perawatan kesehatan menggunakan informasi pasien pribadi. Teknik komposisi dalam zk atau varian menggunakan komputasi multi-partai (MPC) atau FHE dapat digunakan untuk melayani skenario ini.
Masukan publik, model publik. Sementara semua aspek model dapat dipublikasikan, zkML menangani kasus penggunaan yang berbeda: mengompresi dan memvalidasi komputasi off-chain ke lingkungan on-chain. Untuk model yang lebih besar, lebih hemat biaya untuk memverifikasi zk singkat dari inferensi daripada menjalankan kembali model itu sendiri.
Penalaran ML yang terverifikasi membuka ruang desain baru untuk kontrak cerdas. Beberapa aplikasi crypto-native meliputi:
1.DeFi
Oracle ML off-chain yang dapat diverifikasi. Adopsi AI generatif yang berkelanjutan dapat mendorong industri untuk menerapkan skema penandatanganan untuk kontennya (misalnya, publikasi berita menandatangani artikel atau gambar). Data yang ditandatangani siap untuk bukti tanpa pengetahuan, membuat data dapat disusun dan dipercaya. Model ML dapat memproses data yang ditandatangani ini secara off-chain untuk membuat prediksi dan klasifikasi (misalnya, mengklasifikasikan hasil pemilu atau peristiwa cuaca). Oracle ML off-chain ini dapat dengan mudah memecahkan pasar prediksi dunia nyata, kontrak protokol asuransi, dll. dengan memverifikasi penalaran dan menerbitkan bukti on-chain.
Aplikasi DeFi berdasarkan parameter ML. Banyak aspek DeFi bisa lebih otomatis. Misalnya, protokol peminjaman dapat menggunakan model ML untuk memperbarui parameter secara real time. Saat ini, protokol pinjaman terutama bergantung pada model off-chain yang dijalankan oleh organisasi untuk menentukan faktor agunan, rasio pinjaman terhadap nilai, ambang likuidasi, dll., tetapi opsi yang lebih baik mungkin adalah model sumber terbuka yang dilatih komunitas yang dapat dijalankan oleh siapa saja dan verifikasi.
Strategi perdagangan otomatis. Cara umum untuk mendemonstrasikan karakteristik pengembalian dari strategi model keuangan adalah agar anggota parlemen menyediakan berbagai data backtest kepada investor. Namun, tidak ada cara untuk memverifikasi bahwa ahli strategi mengikuti model saat mengeksekusi perdagangan - investor harus percaya bahwa ahli strategi memang mengikuti model tersebut. zkML memberikan solusi di mana MP dapat memberikan bukti penalaran model keuangan saat disebarkan ke posisi tertentu. Ini bisa sangat berguna untuk brankas yang dikelola DeFi.
2. Keamanan
Pemantauan penipuan untuk kontrak pintar. Alih-alih membiarkan tata kelola manusia yang lambat atau aktor terpusat mengontrol kemampuan untuk menangguhkan kontrak, model ML dapat digunakan untuk mendeteksi kemungkinan perilaku jahat dan menangguhkan kontrak.
3. ML Tradisional
Implementasi Kaggle yang terdesentralisasi dan tidak dapat dipercaya. Protokol atau pasar dapat dibuat yang memungkinkan MC atau pihak berkepentingan lainnya untuk memverifikasi keakuratan model tanpa mengharuskan anggota parlemen untuk mengungkapkan bobot model. Ini berguna untuk menjual model, menjalankan kompetisi seputar akurasi model, dll.
Pasar cepat terdesentralisasi untuk AI generatif. Penulisan yang cepat untuk AI generatif telah berkembang menjadi kerajinan yang kompleks, dan permintaan yang menghasilkan keluaran optimal sering kali memiliki banyak pengubah. Pihak eksternal mungkin bersedia membeli petunjuk rumit ini dari pencipta. zkML dapat digunakan dengan dua cara di sini: 1) untuk memvalidasi hasil petunjuk, untuk meyakinkan calon pembeli bahwa petunjuk tersebut memang membuat gambar yang diinginkan;
Izinkan pemilik tip untuk mempertahankan kepemilikan tip setelah pembelian, namun tetap tidak jelas bagi pembeli, namun tetap menghasilkan gambar terverifikasi untuk tip tersebut.
4. Identitas
Ganti kunci pribadi dengan autentikasi biometrik yang menjaga privasi. Manajemen kunci pribadi tetap menjadi salah satu rintangan terbesar dalam pengalaman pengguna web3. Mengabstraksi kunci pribadi melalui pengenalan wajah atau faktor unik lainnya adalah salah satu solusi yang memungkinkan untuk zkML.
Airdrop yang adil dan hadiah kontributor. Model ML dapat digunakan untuk membuat detail persona pengguna untuk menentukan alokasi airdrop atau hadiah kontribusi berdasarkan beberapa faktor. Ini bisa sangat berguna bila dikombinasikan dengan solusi identitas. Dalam hal ini, salah satu kemungkinannya adalah meminta pengguna menjalankan model sumber terbuka yang mengevaluasi keterlibatan mereka dalam aplikasi serta keterlibatan tingkat yang lebih tinggi, seperti postingan forum tata kelola, sebagai alasan tentang penugasan mereka. Bukti ini kemudian diberikan ke kontrak untuk alokasi token yang sesuai.
5. Web3 Sosial
Memfilter untuk media sosial web3. Sifat terdesentralisasi dari aplikasi sosial web3 akan menyebabkan peningkatan spam dan konten berbahaya. Idealnya, platform media sosial dapat menggunakan model ML sumber terbuka konsensus komunitas dan menerbitkan bukti alasan model saat memilih untuk memfilter postingan. Contoh kasus: analisis zkML pada algoritma Twitter.
Iklan/Rekomendasi. Sebagai pengguna media sosial, saya mungkin ingin melihat iklan yang dipersonalisasi, tetapi ingin merahasiakan preferensi dan minat saya dari pengiklan. Saya dapat memilih untuk menjalankan model secara lokal tentang minat saya, memasukkannya ke dalam aplikasi media untuk memberi saya konten. Dalam hal ini, pengiklan mungkin bersedia membayar pengguna akhir untuk mewujudkannya, namun, model ini mungkin jauh lebih canggih daripada model iklan bertarget yang saat ini diproduksi.
6. Ekonomi Kreator/Game
Penyeimbangan kembali ekonomi dalam game. Penerbitan token, suplai, pembakaran, ambang voting, dll. dapat disesuaikan secara dinamis menggunakan model ML. Salah satu model yang mungkin adalah kontrak insentif yang menyeimbangkan kembali ekonomi dalam game jika ambang keseimbangan tertentu tercapai dan bukti penalaran diverifikasi.
Jenis baru game on-chain. Game manusia kooperatif versus AI dan game on-chain inovatif lainnya dapat dibuat di mana model AI yang tidak dapat dipercaya bertindak sebagai karakter yang tidak dapat dimainkan. Setiap tindakan yang diambil oleh NPC diposting di rantai bersama dengan bukti siapa pun dapat memverifikasi bahwa model yang benar sedang dijalankan. Dalam Modulus Labs' Leela vs. the World, pemverifikasi ingin memastikan bahwa 1900 ELO AI yang memilih perpindahan, bukan Magnus Carlson. Contoh lainnya adalah AI Arena, sebuah game pertarungan AI yang mirip dengan Super Smash Brothers. Dalam lingkungan persaingan yang berisiko tinggi, pemain ingin memastikan bahwa model yang mereka latih tidak mengganggu atau menipu.
Proyek dan infrastruktur baru
Ekosistem zkML secara luas dapat dibagi menjadi empat kategori utama:
Model-to-Proof Compiler: Infrastruktur untuk mengkompilasi model dalam format yang ada (mis., Pytorch, ONNX, dll.) ke dalam sirkuit komputasi yang dapat diverifikasi.
Sistem Bukti Umum: Bangun sistem bukti untuk memverifikasi lintasan komputasi yang sewenang-wenang.
Sistem bukti khusus zkML: sistem bukti yang dibuat khusus untuk memverifikasi lintasan komputasi model ML.
Aplikasi: Proyek yang bekerja pada kasus penggunaan zkML unik.
01 Kompiler Model ke Bukti
Dalam ekosistem zkML, sebagian besar perhatian tertuju pada pembuatan kompiler model-ke-bukti. Biasanya, kompiler ini akan mengonversi model ML lanjutan menjadi sirkuit zk menggunakan Pytorch, Tensorflow, dll.
EZKL adalah perpustakaan dan alat baris perintah untuk inferensi model pembelajaran mendalam di zk-SNARKs. Dengan menggunakan EZKL, Anda dapat menentukan grafik komputasi di Pytorch atau TensorFlow, mengekspornya sebagai file ONNX dengan beberapa masukan contoh dalam file JSON, lalu arahkan EZKL ke file ini untuk menghasilkan sirkuit zkSNARK. Dengan putaran peningkatan kinerja terbaru, EZKL kini dapat membuktikan model berukuran MNIST dalam waktu ~6 detik dan RAM 1,1 GB. Sampai saat ini, EZKL telah melihat beberapa adopsi awal yang menonjol, digunakan sebagai infrastruktur untuk berbagai proyek hackathon.
Pustaka circomlib-ml Cathie So berisi berbagai templat sirkuit ML untuk Circom. Sirkuit mencakup beberapa fungsi ML yang paling umum. Keras 2c ircom, dikembangkan oleh Cathie, adalah alat Python yang mengubah model Keras menjadi sirkuit Circom menggunakan pustaka circomlib-ml yang mendasarinya.
LinearA telah mengembangkan dua kerangka kerja untuk zkML: Tachikoma dan Uchikoma. Tachikoma digunakan untuk mengubah jaringan saraf menjadi bentuk bilangan bulat saja dan menghasilkan lintasan komputasi. Uchikoma adalah alat yang mengubah representasi perantara TVM ke bahasa pemrograman yang tidak mendukung operasi floating-point. LinearA berencana untuk mendukung Circom dengan aritmatika domain dan Soliditas dengan aritmatika bilangan bulat bertanda dan tidak bertanda.
Zkml Daniel Kang adalah framework untuk bukti eksekusi model ML yang dibuat berdasarkan karyanya dalam makalah "Scaling up Trustless DNN Inference with Zero-Knowledge Proofs". Pada saat penulisan, ini dapat membuktikan sirkuit MNIST dalam memori sekitar 5 GB dan waktu proses sekitar 16 detik.
Dalam hal kompiler model-ke-bukti yang lebih umum, ada Nil Foundation dan Risc Zero. ZkLLVM dari Nil Foundation adalah kompiler sirkuit berbasis LLVM yang mampu memvalidasi model komputasi yang ditulis dalam bahasa pemrograman populer seperti C++, Rust, dan Java/Type. Dibandingkan dengan kompiler model-ke-bukti lainnya yang disebutkan di sini, ini adalah infrastruktur untuk keperluan umum, tetapi masih cocok untuk perhitungan yang rumit seperti zkML. Ini bisa sangat kuat bila dikombinasikan dengan pasar bukti mereka.
Risc Zero membangun zkVM tujuan umum yang menargetkan set instruksi RISC-V sumber terbuka, sehingga mendukung bahasa dewasa yang ada seperti C++ dan Rust, serta rantai alat LLVM. Ini memungkinkan integrasi tanpa batas antara kode zkVM host dan tamu, mirip dengan rantai alat CUDA C++ Nvidia, tetapi menggunakan mesin ZKP alih-alih GPU. Mirip dengan Nil, gunakan Risc Zero untuk memverifikasi lintasan komputasi model ML.
02 Sistem pembuktian umum
Perbaikan pada sistem bukti adalah kekuatan pendorong utama di balik membawa zkML membuahkan hasil, khususnya pengenalan gerbang kustom dan tabel pencarian. Ini terutama karena ketergantungan ML pada nonlinier. Singkatnya, non-linier diperkenalkan melalui fungsi aktivasi (seperti ReLU, sigmoid, dan tanh) yang diterapkan pada keluaran transformasi linier dalam jaringan saraf. Nonlinier ini menantang untuk diterapkan di sirkuit zk karena kendala gerbang operasi matematika. Faktorisasi bitwise dan tabel pencarian dapat membantu dengan melakukan prakomputasi kemungkinan hasil non-linear ke dalam tabel pencarian, yang menariknya lebih efisien secara komputasi di zk.
Untuk alasan ini, sistem pembuktian Plonkish cenderung menjadi backend paling populer untuk zkML. Halo 2 dan Plonky 2 dan skema aritmatika tabelnya menangani nonlinier jaringan saraf dengan baik dengan parameter pencarian. Selain itu, yang pertama memiliki ekosistem alat pengembang dan fleksibilitas yang dinamis, menjadikannya backend de facto untuk banyak proyek, termasuk EZKL.
Sistem pembuktian lain juga memiliki kelebihannya. Sistem pembuktian berdasarkan R 1 CS termasuk Groth 16, yang dikenal dengan ukuran buktinya yang kecil, dan Gemini, yang dikenal dengan penanganan sirkuit yang sangat besar dan pengukur waktu linier. Sistem berbasis STARK, seperti perpustakaan pemverifikasi/pemverifikasi Winterfell, sangat berguna saat mengambil jejak masukan dari program Kairo melalui alat Giza, dan menggunakan Winterfell untuk menghasilkan bukti STARK guna memverifikasi kebenaran keluaran.
03 sistem pembuktian khusus zkML
Beberapa kemajuan telah dibuat dalam merancang sistem bukti efisien yang dapat menangani operasi model pembelajaran mesin tingkat lanjut yang kompleks dan tidak ramah sirkuit. Sistem seperti zkCNN berdasarkan sistem pembuktian GKR dan Zator berdasarkan teknik kombinatorial cenderung mengungguli sistem pembuktian universal, sebagaimana tercermin dalam laporan tolok ukur Modulus Labs.
zkCNN adalah metode untuk membuktikan kebenaran jaringan saraf konvolusional menggunakan bukti tanpa pengetahuan. Ini menggunakan protokol sumcheck untuk membuktikan transformasi dan konvolusi Fourier yang cepat, dengan waktu pembuktian linier, lebih cepat daripada hasil komputasi asimptotik. Beberapa bukti peningkatan dan generalisasi interaktif telah diperkenalkan, termasuk validasi convolutional layer, fungsi aktivasi ReLU, dan max pooling. Menurut laporan pembandingan Modulus Labs, zkCNN sangat menarik karena mengungguli sistem bukti tujuan umum lainnya dalam hal kecepatan pembuatan bukti dan konsumsi RAM.
Zator adalah proyek yang bertujuan untuk mengeksplorasi penggunaan SNARK rekursif untuk memverifikasi jaringan saraf yang dalam. Keterbatasan saat ini dalam memvalidasi model yang lebih dalam adalah menyesuaikan seluruh lintasan komputasi ke dalam satu sirkuit. Zator mengusulkan untuk menggunakan SNARK rekursif untuk memverifikasi lapis demi lapis, yang secara bertahap dapat memverifikasi perhitungan berulang N-langkah. Mereka menggunakan Nova untuk mengurangi N instance komputasi menjadi satu instance yang dapat diverifikasi dalam satu langkah. Dengan menggunakan pendekatan ini, Zator dapat melakukan SNARK jaringan dengan 512 lapisan, yang sedalam kebanyakan model AI produksi saat ini. Pembuatan bukti dan waktu verifikasi Zator masih terlalu lama untuk kasus penggunaan umum, tetapi teknik gabungannya masih sangat menarik.
Aplikasi
Mengingat hari-hari awal zkML, sebagian besar fokusnya adalah pada infrastruktur yang disebutkan di atas. Namun, saat ini ada beberapa proyek yang didedikasikan untuk pengembangan aplikasi.
Modulus Labs adalah salah satu proyek paling beragam di ruang zkML, mengerjakan aplikasi contoh dan penelitian terkait. Di sisi terapan, Modulus Labs mendemonstrasikan kasus penggunaan zkML dengan RockyBot, bot perdagangan on-chain, dan Leela vs. Dunia, permainan papan tempat manusia bermain melawan mesin catur Leela on-chain yang telah terbukti. Tim tersebut juga melakukan penelitian dan menulis The Cost of Intelligence, yang mengukur kecepatan dan efisiensi berbagai sistem pembuktian pada ukuran model yang berbeda.
Worldcoin sedang mencoba menerapkan zkML untuk membuat protokol bukti identitas manusia yang menjaga privasi. Worldcoin menangani pemindaian iris beresolusi tinggi menggunakan perangkat keras khusus dan menghubungkannya ke implementasi Semaphore. Sistem ini kemudian dapat digunakan untuk melakukan operasi yang bermanfaat seperti bukti keanggotaan dan pemungutan suara. Mereka saat ini menggunakan lingkungan waktu proses tepercaya dan kantong aman untuk memverifikasi pemindaian iris yang ditandatangani kamera, tetapi tujuan akhir mereka adalah menggunakan bukti tanpa pengetahuan untuk memverifikasi alasan yang benar dari jaringan saraf untuk memberikan jaminan keamanan tingkat kriptografi.
Giza adalah protokol yang menggunakan pendekatan tanpa kepercayaan sepenuhnya untuk menerapkan model AI secara on-chain. Ini menggunakan format ONNX untuk merepresentasikan model pembelajaran mesin, Giza Transpiler untuk mengubah model ini menjadi format program Kairo, ONNX Cairo Runtime untuk mengeksekusi model dengan cara yang dapat diverifikasi dan deterministik, dan kontrak cerdas Model Giza untuk penerapan on-chain dan tumpukan teknologi untuk mengeksekusi model. Meskipun Giza juga dapat diklasifikasikan sebagai kompiler model-ke-bukti, posisinya sebagai pasar model ML adalah salah satu aplikasi paling menarik saat ini.
Gensyn adalah jaringan penyedia perangkat keras terdistribusi untuk melatih model ML. Secara khusus, mereka sedang mengembangkan sistem audit probabilistik berdasarkan penurunan gradien dan menggunakan model checkpointing untuk mengaktifkan jaringan GPU terdistribusi untuk melayani pelatihan untuk model skala penuh. Meskipun aplikasi zkML mereka di sini sangat spesifik untuk kasus penggunaan mereka - mereka ingin memastikan bahwa ketika sebuah node mengunduh dan melatih bagian dari model, mereka jujur tentang pembaruan model - ini menunjukkan kekuatan menggabungkan kekuatan zk dan ML.
ZKaptcha berfokus pada masalah bot di web3 dan menyediakan layanan kode verifikasi untuk kontrak pintar. Implementasi mereka saat ini membuat pengguna akhir menghasilkan bukti pekerjaan manusia dengan menyelesaikan captcha, yang diverifikasi oleh validator on-chain mereka dan diakses oleh kontrak cerdas dengan beberapa baris kode. Saat ini, mereka hanya mengandalkan zk, tetapi mereka berniat untuk mengimplementasikan zkML di masa mendatang, mirip dengan layanan captcha web2 yang ada, menganalisis perilaku seperti gerakan mouse untuk menentukan apakah penggunanya adalah manusia.
Mengingat hari-hari awal pasar zkML, banyak aplikasi telah diujicobakan di tingkat hackathon. Proyek termasuk AI Coliseum, kompetisi AI on-chain menggunakan bukti ZK untuk memverifikasi keluaran pembelajaran mesin, Hunter z Hunter, perburuan pemulung foto menggunakan perpustakaan EZKL untuk memverifikasi keluaran model klasifikasi gambar dengan sirkuit halo 2, dan zk Bagian 9 , Itu mengubah model pembuatan gambar AI menjadi sirkuit untuk casting dan memvalidasi seni AI.
tantangan zkML
Meskipun kemajuan pesat dalam peningkatan dan pengoptimalan, bidang zkML masih menghadapi beberapa tantangan inti. Tantangan tersebut melibatkan aspek teknis dan praktis, antara lain:
Kuantisasi dengan kehilangan presisi minimal
Ukuran sirkuit, terutama bila jaringan terdiri dari banyak lapisan
Bukti perkalian matriks yang efisien
Terhadap serangan
Kuantisasi adalah proses merepresentasikan bilangan floating-point sebagai bilangan fixed-point. Sebagian besar model pembelajaran mesin menggunakan bilangan floating-point untuk merepresentasikan parameter model dan fungsi aktivasi. Ketika berhadapan dengan aritmatika domain untuk sirkuit zk, diperlukan bilangan fixed-point. Dampak kuantisasi pada keakuratan model pembelajaran mesin bergantung pada tingkat presisi yang digunakan. Secara umum, menggunakan presisi yang lebih rendah (yaitu, bit yang lebih sedikit) dapat menghasilkan akurasi yang lebih rendah, karena hal ini dapat menimbulkan kesalahan pembulatan dan perkiraan. Namun, ada beberapa teknik yang dapat digunakan untuk meminimalkan dampak kuantisasi pada akurasi, seperti menyempurnakan model setelah kuantisasi, dan menggunakan teknik seperti pelatihan kesadaran kuantisasi. Selain itu, Zero Gravity, sebuah proyek hackathon di zkSummit 9, menunjukkan bahwa arsitektur jaringan neural alternatif yang dikembangkan untuk perangkat edge, seperti jaringan neural tanpa bobot, dapat digunakan untuk menghindari masalah kuantisasi di sirkuit.
Selain kuantisasi, perangkat keras adalah tantangan utama lainnya. Setelah model pembelajaran mesin direpresentasikan dengan benar oleh sebuah sirkuit, bukti untuk memverifikasi alasannya menjadi murah dan cepat karena kesederhanaan zk. Tantangannya di sini bukan pada pemverifikasi, tetapi pada pembukti, karena konsumsi RAM dan waktu pembuatan bukti meningkat pesat seiring bertambahnya ukuran model. Sistem pembuktian tertentu (seperti sistem berbasis GKR menggunakan protokol sumcheck dan rangkaian aritmatika hierarkis) atau teknik gabungan (seperti menggabungkan Plonky 2 dengan Groth 16, Plonky 2 efisien dalam hal waktu pembuktian tetapi efisien untuk model besar Miskin, dan Groth 16 tidak mengarah pada pertumbuhan ukuran bukti dalam kompleksitas model yang kompleks) lebih cocok untuk menangani masalah ini, tetapi mengelola pengorbanan merupakan tantangan inti dalam proyek zkML.
Dalam hal memerangi serangan, masih ada pekerjaan yang harus dilakukan. Pertama, jika protokol tanpa kepercayaan atau DAO memilih untuk mengimplementasikan model, masih ada risiko serangan musuh selama fase pelatihan (mis. melatih model untuk menunjukkan perilaku tertentu saat melihat input tertentu, yang dapat digunakan untuk memanipulasi berikutnya penalaran). Teknik pembelajaran federasi dan zkML dalam fase pelatihan dapat menjadi cara untuk meminimalkan permukaan serangan ini.
Tantangan inti lainnya adalah risiko serangan pencurian model saat model menjaga privasi. Meskipun dimungkinkan untuk mengaburkan bobot model, dengan pasangan input-output yang cukup, secara teoritis masih mungkin untuk menyimpulkan bobot mundur. Ini sebagian besar merupakan risiko untuk model skala kecil, tetapi masih ada risiko.
Ekstensibilitas kontrak pintar
Meskipun ada beberapa tantangan dalam mengoptimalkan model ini agar berjalan dalam batasan zk, peningkatan sedang dilakukan pada tingkat eksponensial, dan beberapa berharap bahwa dengan akselerasi perangkat keras lebih lanjut, kami akan segera dapat bekerja dengan bidang pembelajaran mesin yang lebih luas mencapai tingkat yang sama. Untuk menekankan kecepatan peningkatan ini, zkML beralih dari demonstrasi 0x PARC tentang cara melakukan model klasifikasi gambar MNIST skala kecil dalam sirkuit yang dapat diverifikasi pada tahun 2021, hingga Daniel Kang melakukan hal yang sama untuk model skala ImageNet kurang dari setahun kemudian dokumen. Pada bulan April 2022, akurasi model skala ImageNet ini meningkat dari 79% menjadi 92%, dan model besar seperti GPT-2 diharapkan dapat dilakukan dalam waktu dekat, meskipun waktu pembuktian saat ini lebih lama.
Kami melihat zkML sebagai ekosistem yang kaya dan berkembang yang dirancang untuk memperluas kemampuan blockchain dan kontrak pintar, menjadikannya lebih fleksibel, mudah beradaptasi, dan cerdas.
Meskipun zkML masih dalam tahap awal pengembangan, namun sudah mulai menunjukkan hasil yang menjanjikan. Saat teknologi berkembang dan matang, kita dapat berharap untuk melihat kasus penggunaan zkML yang lebih inovatif secara on-chain.
Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
Analisis mendalam tentang jalur ZKML: langkah selanjutnya dalam kecerdasan kontrak pintar
Membuktikan inferensi model pembelajaran mesin (ML) melalui zkSNARK menjanjikan salah satu kemajuan terpenting dalam kontrak pintar dekade ini. Perkembangan ini membuka ruang desain yang sangat besar, memungkinkan aplikasi dan infrastruktur berkembang menjadi sistem yang lebih kompleks dan cerdas.
Dengan menambahkan kemampuan ML, kontrak pintar dapat menjadi lebih otonom dan dinamis, memungkinkan mereka membuat keputusan berdasarkan data on-chain real-time daripada aturan statis. Kontrak pintar akan fleksibel dan dapat mengakomodasi berbagai skenario, termasuk skenario yang mungkin tidak diantisipasi saat kontrak awalnya dibuat. Singkatnya, kemampuan ML akan memperkuat otomatisasi, akurasi, efisiensi, dan fleksibilitas dari kontrak cerdas apa pun yang kami hubungkan.
ML banyak digunakan di sebagian besar aplikasi di luar web3, dan aplikasinya di smart contract hampir nol. Hal ini terutama disebabkan oleh tingginya biaya komputasi untuk menjalankan model ini secara on-chain. Misalnya, FastBERT adalah model bahasa yang dioptimalkan secara komputasi yang menggunakan sekitar 1800 MFLOPS (juta operasi floating point), yang tidak dapat dijalankan langsung di EVM.
Penerapan model ML pada rantai terutama berfokus pada tahap penalaran: penerapan model untuk memprediksi data dunia nyata. Untuk memiliki smart contract berskala ML, kontrak harus dapat menyerap prediksi tersebut, tetapi seperti yang kami sebutkan sebelumnya, menjalankan model secara langsung di EVM tidak memungkinkan. zkSNARK memberi kami solusi: siapa pun dapat menjalankan model off-chain dan menghasilkan bukti yang ringkas dan dapat diverifikasi bahwa model yang diharapkan memang menghasilkan hasil yang spesifik. Bukti ini dapat dipublikasikan secara on-chain dan diserap oleh smart contract untuk meningkatkan kecerdasan mereka.
Pada artikel ini, kami akan:
Pengantar Pembelajaran Mesin (ML)
Pembelajaran mesin (ML) adalah subbidang kecerdasan buatan (AI) yang berfokus pada pengembangan algoritme dan model statistik yang memungkinkan komputer belajar dari data dan membuat prediksi atau keputusan. Model ML biasanya memiliki tiga komponen utama:
Pembuatan dan penyebaran model dibagi menjadi dua fase:
Saat ini, zkML terutama berfokus pada fase inferensi model pembelajaran mesin, daripada fase pelatihan, terutama karena kompleksitas komputasi pelatihan di sirkuit verifikasi. Namun, fokus zkML pada inferensi bukanlah batasan: kami mengantisipasi beberapa kasus penggunaan dan aplikasi yang sangat menarik.
Skenario inferensi terverifikasi
Ada empat skenario yang mungkin untuk memvalidasi penalaran:
Penalaran ML yang terverifikasi membuka ruang desain baru untuk kontrak cerdas. Beberapa aplikasi crypto-native meliputi:
1.DeFi
Oracle ML off-chain yang dapat diverifikasi. Adopsi AI generatif yang berkelanjutan dapat mendorong industri untuk menerapkan skema penandatanganan untuk kontennya (misalnya, publikasi berita menandatangani artikel atau gambar). Data yang ditandatangani siap untuk bukti tanpa pengetahuan, membuat data dapat disusun dan dipercaya. Model ML dapat memproses data yang ditandatangani ini secara off-chain untuk membuat prediksi dan klasifikasi (misalnya, mengklasifikasikan hasil pemilu atau peristiwa cuaca). Oracle ML off-chain ini dapat dengan mudah memecahkan pasar prediksi dunia nyata, kontrak protokol asuransi, dll. dengan memverifikasi penalaran dan menerbitkan bukti on-chain.
Aplikasi DeFi berdasarkan parameter ML. Banyak aspek DeFi bisa lebih otomatis. Misalnya, protokol peminjaman dapat menggunakan model ML untuk memperbarui parameter secara real time. Saat ini, protokol pinjaman terutama bergantung pada model off-chain yang dijalankan oleh organisasi untuk menentukan faktor agunan, rasio pinjaman terhadap nilai, ambang likuidasi, dll., tetapi opsi yang lebih baik mungkin adalah model sumber terbuka yang dilatih komunitas yang dapat dijalankan oleh siapa saja dan verifikasi.
Strategi perdagangan otomatis. Cara umum untuk mendemonstrasikan karakteristik pengembalian dari strategi model keuangan adalah agar anggota parlemen menyediakan berbagai data backtest kepada investor. Namun, tidak ada cara untuk memverifikasi bahwa ahli strategi mengikuti model saat mengeksekusi perdagangan - investor harus percaya bahwa ahli strategi memang mengikuti model tersebut. zkML memberikan solusi di mana MP dapat memberikan bukti penalaran model keuangan saat disebarkan ke posisi tertentu. Ini bisa sangat berguna untuk brankas yang dikelola DeFi.
2. Keamanan
Pemantauan penipuan untuk kontrak pintar. Alih-alih membiarkan tata kelola manusia yang lambat atau aktor terpusat mengontrol kemampuan untuk menangguhkan kontrak, model ML dapat digunakan untuk mendeteksi kemungkinan perilaku jahat dan menangguhkan kontrak.
3. ML Tradisional
Implementasi Kaggle yang terdesentralisasi dan tidak dapat dipercaya. Protokol atau pasar dapat dibuat yang memungkinkan MC atau pihak berkepentingan lainnya untuk memverifikasi keakuratan model tanpa mengharuskan anggota parlemen untuk mengungkapkan bobot model. Ini berguna untuk menjual model, menjalankan kompetisi seputar akurasi model, dll.
Pasar cepat terdesentralisasi untuk AI generatif. Penulisan yang cepat untuk AI generatif telah berkembang menjadi kerajinan yang kompleks, dan permintaan yang menghasilkan keluaran optimal sering kali memiliki banyak pengubah. Pihak eksternal mungkin bersedia membeli petunjuk rumit ini dari pencipta. zkML dapat digunakan dengan dua cara di sini: 1) untuk memvalidasi hasil petunjuk, untuk meyakinkan calon pembeli bahwa petunjuk tersebut memang membuat gambar yang diinginkan;
4. Identitas
Ganti kunci pribadi dengan autentikasi biometrik yang menjaga privasi. Manajemen kunci pribadi tetap menjadi salah satu rintangan terbesar dalam pengalaman pengguna web3. Mengabstraksi kunci pribadi melalui pengenalan wajah atau faktor unik lainnya adalah salah satu solusi yang memungkinkan untuk zkML.
Airdrop yang adil dan hadiah kontributor. Model ML dapat digunakan untuk membuat detail persona pengguna untuk menentukan alokasi airdrop atau hadiah kontribusi berdasarkan beberapa faktor. Ini bisa sangat berguna bila dikombinasikan dengan solusi identitas. Dalam hal ini, salah satu kemungkinannya adalah meminta pengguna menjalankan model sumber terbuka yang mengevaluasi keterlibatan mereka dalam aplikasi serta keterlibatan tingkat yang lebih tinggi, seperti postingan forum tata kelola, sebagai alasan tentang penugasan mereka. Bukti ini kemudian diberikan ke kontrak untuk alokasi token yang sesuai.
5. Web3 Sosial
Memfilter untuk media sosial web3. Sifat terdesentralisasi dari aplikasi sosial web3 akan menyebabkan peningkatan spam dan konten berbahaya. Idealnya, platform media sosial dapat menggunakan model ML sumber terbuka konsensus komunitas dan menerbitkan bukti alasan model saat memilih untuk memfilter postingan. Contoh kasus: analisis zkML pada algoritma Twitter.
Iklan/Rekomendasi. Sebagai pengguna media sosial, saya mungkin ingin melihat iklan yang dipersonalisasi, tetapi ingin merahasiakan preferensi dan minat saya dari pengiklan. Saya dapat memilih untuk menjalankan model secara lokal tentang minat saya, memasukkannya ke dalam aplikasi media untuk memberi saya konten. Dalam hal ini, pengiklan mungkin bersedia membayar pengguna akhir untuk mewujudkannya, namun, model ini mungkin jauh lebih canggih daripada model iklan bertarget yang saat ini diproduksi.
6. Ekonomi Kreator/Game
Penyeimbangan kembali ekonomi dalam game. Penerbitan token, suplai, pembakaran, ambang voting, dll. dapat disesuaikan secara dinamis menggunakan model ML. Salah satu model yang mungkin adalah kontrak insentif yang menyeimbangkan kembali ekonomi dalam game jika ambang keseimbangan tertentu tercapai dan bukti penalaran diverifikasi.
Jenis baru game on-chain. Game manusia kooperatif versus AI dan game on-chain inovatif lainnya dapat dibuat di mana model AI yang tidak dapat dipercaya bertindak sebagai karakter yang tidak dapat dimainkan. Setiap tindakan yang diambil oleh NPC diposting di rantai bersama dengan bukti siapa pun dapat memverifikasi bahwa model yang benar sedang dijalankan. Dalam Modulus Labs' Leela vs. the World, pemverifikasi ingin memastikan bahwa 1900 ELO AI yang memilih perpindahan, bukan Magnus Carlson. Contoh lainnya adalah AI Arena, sebuah game pertarungan AI yang mirip dengan Super Smash Brothers. Dalam lingkungan persaingan yang berisiko tinggi, pemain ingin memastikan bahwa model yang mereka latih tidak mengganggu atau menipu.
Proyek dan infrastruktur baru
Ekosistem zkML secara luas dapat dibagi menjadi empat kategori utama:
01 Kompiler Model ke Bukti
Dalam ekosistem zkML, sebagian besar perhatian tertuju pada pembuatan kompiler model-ke-bukti. Biasanya, kompiler ini akan mengonversi model ML lanjutan menjadi sirkuit zk menggunakan Pytorch, Tensorflow, dll.
EZKL adalah perpustakaan dan alat baris perintah untuk inferensi model pembelajaran mendalam di zk-SNARKs. Dengan menggunakan EZKL, Anda dapat menentukan grafik komputasi di Pytorch atau TensorFlow, mengekspornya sebagai file ONNX dengan beberapa masukan contoh dalam file JSON, lalu arahkan EZKL ke file ini untuk menghasilkan sirkuit zkSNARK. Dengan putaran peningkatan kinerja terbaru, EZKL kini dapat membuktikan model berukuran MNIST dalam waktu ~6 detik dan RAM 1,1 GB. Sampai saat ini, EZKL telah melihat beberapa adopsi awal yang menonjol, digunakan sebagai infrastruktur untuk berbagai proyek hackathon.
Pustaka circomlib-ml Cathie So berisi berbagai templat sirkuit ML untuk Circom. Sirkuit mencakup beberapa fungsi ML yang paling umum. Keras 2c ircom, dikembangkan oleh Cathie, adalah alat Python yang mengubah model Keras menjadi sirkuit Circom menggunakan pustaka circomlib-ml yang mendasarinya.
LinearA telah mengembangkan dua kerangka kerja untuk zkML: Tachikoma dan Uchikoma. Tachikoma digunakan untuk mengubah jaringan saraf menjadi bentuk bilangan bulat saja dan menghasilkan lintasan komputasi. Uchikoma adalah alat yang mengubah representasi perantara TVM ke bahasa pemrograman yang tidak mendukung operasi floating-point. LinearA berencana untuk mendukung Circom dengan aritmatika domain dan Soliditas dengan aritmatika bilangan bulat bertanda dan tidak bertanda.
Zkml Daniel Kang adalah framework untuk bukti eksekusi model ML yang dibuat berdasarkan karyanya dalam makalah "Scaling up Trustless DNN Inference with Zero-Knowledge Proofs". Pada saat penulisan, ini dapat membuktikan sirkuit MNIST dalam memori sekitar 5 GB dan waktu proses sekitar 16 detik.
Dalam hal kompiler model-ke-bukti yang lebih umum, ada Nil Foundation dan Risc Zero. ZkLLVM dari Nil Foundation adalah kompiler sirkuit berbasis LLVM yang mampu memvalidasi model komputasi yang ditulis dalam bahasa pemrograman populer seperti C++, Rust, dan Java/Type. Dibandingkan dengan kompiler model-ke-bukti lainnya yang disebutkan di sini, ini adalah infrastruktur untuk keperluan umum, tetapi masih cocok untuk perhitungan yang rumit seperti zkML. Ini bisa sangat kuat bila dikombinasikan dengan pasar bukti mereka.
Risc Zero membangun zkVM tujuan umum yang menargetkan set instruksi RISC-V sumber terbuka, sehingga mendukung bahasa dewasa yang ada seperti C++ dan Rust, serta rantai alat LLVM. Ini memungkinkan integrasi tanpa batas antara kode zkVM host dan tamu, mirip dengan rantai alat CUDA C++ Nvidia, tetapi menggunakan mesin ZKP alih-alih GPU. Mirip dengan Nil, gunakan Risc Zero untuk memverifikasi lintasan komputasi model ML.
02 Sistem pembuktian umum
Perbaikan pada sistem bukti adalah kekuatan pendorong utama di balik membawa zkML membuahkan hasil, khususnya pengenalan gerbang kustom dan tabel pencarian. Ini terutama karena ketergantungan ML pada nonlinier. Singkatnya, non-linier diperkenalkan melalui fungsi aktivasi (seperti ReLU, sigmoid, dan tanh) yang diterapkan pada keluaran transformasi linier dalam jaringan saraf. Nonlinier ini menantang untuk diterapkan di sirkuit zk karena kendala gerbang operasi matematika. Faktorisasi bitwise dan tabel pencarian dapat membantu dengan melakukan prakomputasi kemungkinan hasil non-linear ke dalam tabel pencarian, yang menariknya lebih efisien secara komputasi di zk.
Untuk alasan ini, sistem pembuktian Plonkish cenderung menjadi backend paling populer untuk zkML. Halo 2 dan Plonky 2 dan skema aritmatika tabelnya menangani nonlinier jaringan saraf dengan baik dengan parameter pencarian. Selain itu, yang pertama memiliki ekosistem alat pengembang dan fleksibilitas yang dinamis, menjadikannya backend de facto untuk banyak proyek, termasuk EZKL.
Sistem pembuktian lain juga memiliki kelebihannya. Sistem pembuktian berdasarkan R 1 CS termasuk Groth 16, yang dikenal dengan ukuran buktinya yang kecil, dan Gemini, yang dikenal dengan penanganan sirkuit yang sangat besar dan pengukur waktu linier. Sistem berbasis STARK, seperti perpustakaan pemverifikasi/pemverifikasi Winterfell, sangat berguna saat mengambil jejak masukan dari program Kairo melalui alat Giza, dan menggunakan Winterfell untuk menghasilkan bukti STARK guna memverifikasi kebenaran keluaran.
03 sistem pembuktian khusus zkML
Beberapa kemajuan telah dibuat dalam merancang sistem bukti efisien yang dapat menangani operasi model pembelajaran mesin tingkat lanjut yang kompleks dan tidak ramah sirkuit. Sistem seperti zkCNN berdasarkan sistem pembuktian GKR dan Zator berdasarkan teknik kombinatorial cenderung mengungguli sistem pembuktian universal, sebagaimana tercermin dalam laporan tolok ukur Modulus Labs.
zkCNN adalah metode untuk membuktikan kebenaran jaringan saraf konvolusional menggunakan bukti tanpa pengetahuan. Ini menggunakan protokol sumcheck untuk membuktikan transformasi dan konvolusi Fourier yang cepat, dengan waktu pembuktian linier, lebih cepat daripada hasil komputasi asimptotik. Beberapa bukti peningkatan dan generalisasi interaktif telah diperkenalkan, termasuk validasi convolutional layer, fungsi aktivasi ReLU, dan max pooling. Menurut laporan pembandingan Modulus Labs, zkCNN sangat menarik karena mengungguli sistem bukti tujuan umum lainnya dalam hal kecepatan pembuatan bukti dan konsumsi RAM.
Zator adalah proyek yang bertujuan untuk mengeksplorasi penggunaan SNARK rekursif untuk memverifikasi jaringan saraf yang dalam. Keterbatasan saat ini dalam memvalidasi model yang lebih dalam adalah menyesuaikan seluruh lintasan komputasi ke dalam satu sirkuit. Zator mengusulkan untuk menggunakan SNARK rekursif untuk memverifikasi lapis demi lapis, yang secara bertahap dapat memverifikasi perhitungan berulang N-langkah. Mereka menggunakan Nova untuk mengurangi N instance komputasi menjadi satu instance yang dapat diverifikasi dalam satu langkah. Dengan menggunakan pendekatan ini, Zator dapat melakukan SNARK jaringan dengan 512 lapisan, yang sedalam kebanyakan model AI produksi saat ini. Pembuatan bukti dan waktu verifikasi Zator masih terlalu lama untuk kasus penggunaan umum, tetapi teknik gabungannya masih sangat menarik.
Aplikasi
Mengingat hari-hari awal zkML, sebagian besar fokusnya adalah pada infrastruktur yang disebutkan di atas. Namun, saat ini ada beberapa proyek yang didedikasikan untuk pengembangan aplikasi.
Modulus Labs adalah salah satu proyek paling beragam di ruang zkML, mengerjakan aplikasi contoh dan penelitian terkait. Di sisi terapan, Modulus Labs mendemonstrasikan kasus penggunaan zkML dengan RockyBot, bot perdagangan on-chain, dan Leela vs. Dunia, permainan papan tempat manusia bermain melawan mesin catur Leela on-chain yang telah terbukti. Tim tersebut juga melakukan penelitian dan menulis The Cost of Intelligence, yang mengukur kecepatan dan efisiensi berbagai sistem pembuktian pada ukuran model yang berbeda.
Worldcoin sedang mencoba menerapkan zkML untuk membuat protokol bukti identitas manusia yang menjaga privasi. Worldcoin menangani pemindaian iris beresolusi tinggi menggunakan perangkat keras khusus dan menghubungkannya ke implementasi Semaphore. Sistem ini kemudian dapat digunakan untuk melakukan operasi yang bermanfaat seperti bukti keanggotaan dan pemungutan suara. Mereka saat ini menggunakan lingkungan waktu proses tepercaya dan kantong aman untuk memverifikasi pemindaian iris yang ditandatangani kamera, tetapi tujuan akhir mereka adalah menggunakan bukti tanpa pengetahuan untuk memverifikasi alasan yang benar dari jaringan saraf untuk memberikan jaminan keamanan tingkat kriptografi.
Giza adalah protokol yang menggunakan pendekatan tanpa kepercayaan sepenuhnya untuk menerapkan model AI secara on-chain. Ini menggunakan format ONNX untuk merepresentasikan model pembelajaran mesin, Giza Transpiler untuk mengubah model ini menjadi format program Kairo, ONNX Cairo Runtime untuk mengeksekusi model dengan cara yang dapat diverifikasi dan deterministik, dan kontrak cerdas Model Giza untuk penerapan on-chain dan tumpukan teknologi untuk mengeksekusi model. Meskipun Giza juga dapat diklasifikasikan sebagai kompiler model-ke-bukti, posisinya sebagai pasar model ML adalah salah satu aplikasi paling menarik saat ini.
Gensyn adalah jaringan penyedia perangkat keras terdistribusi untuk melatih model ML. Secara khusus, mereka sedang mengembangkan sistem audit probabilistik berdasarkan penurunan gradien dan menggunakan model checkpointing untuk mengaktifkan jaringan GPU terdistribusi untuk melayani pelatihan untuk model skala penuh. Meskipun aplikasi zkML mereka di sini sangat spesifik untuk kasus penggunaan mereka - mereka ingin memastikan bahwa ketika sebuah node mengunduh dan melatih bagian dari model, mereka jujur tentang pembaruan model - ini menunjukkan kekuatan menggabungkan kekuatan zk dan ML.
ZKaptcha berfokus pada masalah bot di web3 dan menyediakan layanan kode verifikasi untuk kontrak pintar. Implementasi mereka saat ini membuat pengguna akhir menghasilkan bukti pekerjaan manusia dengan menyelesaikan captcha, yang diverifikasi oleh validator on-chain mereka dan diakses oleh kontrak cerdas dengan beberapa baris kode. Saat ini, mereka hanya mengandalkan zk, tetapi mereka berniat untuk mengimplementasikan zkML di masa mendatang, mirip dengan layanan captcha web2 yang ada, menganalisis perilaku seperti gerakan mouse untuk menentukan apakah penggunanya adalah manusia.
Mengingat hari-hari awal pasar zkML, banyak aplikasi telah diujicobakan di tingkat hackathon. Proyek termasuk AI Coliseum, kompetisi AI on-chain menggunakan bukti ZK untuk memverifikasi keluaran pembelajaran mesin, Hunter z Hunter, perburuan pemulung foto menggunakan perpustakaan EZKL untuk memverifikasi keluaran model klasifikasi gambar dengan sirkuit halo 2, dan zk Bagian 9 , Itu mengubah model pembuatan gambar AI menjadi sirkuit untuk casting dan memvalidasi seni AI.
tantangan zkML
Meskipun kemajuan pesat dalam peningkatan dan pengoptimalan, bidang zkML masih menghadapi beberapa tantangan inti. Tantangan tersebut melibatkan aspek teknis dan praktis, antara lain:
Kuantisasi adalah proses merepresentasikan bilangan floating-point sebagai bilangan fixed-point. Sebagian besar model pembelajaran mesin menggunakan bilangan floating-point untuk merepresentasikan parameter model dan fungsi aktivasi. Ketika berhadapan dengan aritmatika domain untuk sirkuit zk, diperlukan bilangan fixed-point. Dampak kuantisasi pada keakuratan model pembelajaran mesin bergantung pada tingkat presisi yang digunakan. Secara umum, menggunakan presisi yang lebih rendah (yaitu, bit yang lebih sedikit) dapat menghasilkan akurasi yang lebih rendah, karena hal ini dapat menimbulkan kesalahan pembulatan dan perkiraan. Namun, ada beberapa teknik yang dapat digunakan untuk meminimalkan dampak kuantisasi pada akurasi, seperti menyempurnakan model setelah kuantisasi, dan menggunakan teknik seperti pelatihan kesadaran kuantisasi. Selain itu, Zero Gravity, sebuah proyek hackathon di zkSummit 9, menunjukkan bahwa arsitektur jaringan neural alternatif yang dikembangkan untuk perangkat edge, seperti jaringan neural tanpa bobot, dapat digunakan untuk menghindari masalah kuantisasi di sirkuit.
Selain kuantisasi, perangkat keras adalah tantangan utama lainnya. Setelah model pembelajaran mesin direpresentasikan dengan benar oleh sebuah sirkuit, bukti untuk memverifikasi alasannya menjadi murah dan cepat karena kesederhanaan zk. Tantangannya di sini bukan pada pemverifikasi, tetapi pada pembukti, karena konsumsi RAM dan waktu pembuatan bukti meningkat pesat seiring bertambahnya ukuran model. Sistem pembuktian tertentu (seperti sistem berbasis GKR menggunakan protokol sumcheck dan rangkaian aritmatika hierarkis) atau teknik gabungan (seperti menggabungkan Plonky 2 dengan Groth 16, Plonky 2 efisien dalam hal waktu pembuktian tetapi efisien untuk model besar Miskin, dan Groth 16 tidak mengarah pada pertumbuhan ukuran bukti dalam kompleksitas model yang kompleks) lebih cocok untuk menangani masalah ini, tetapi mengelola pengorbanan merupakan tantangan inti dalam proyek zkML.
Dalam hal memerangi serangan, masih ada pekerjaan yang harus dilakukan. Pertama, jika protokol tanpa kepercayaan atau DAO memilih untuk mengimplementasikan model, masih ada risiko serangan musuh selama fase pelatihan (mis. melatih model untuk menunjukkan perilaku tertentu saat melihat input tertentu, yang dapat digunakan untuk memanipulasi berikutnya penalaran). Teknik pembelajaran federasi dan zkML dalam fase pelatihan dapat menjadi cara untuk meminimalkan permukaan serangan ini.
Tantangan inti lainnya adalah risiko serangan pencurian model saat model menjaga privasi. Meskipun dimungkinkan untuk mengaburkan bobot model, dengan pasangan input-output yang cukup, secara teoritis masih mungkin untuk menyimpulkan bobot mundur. Ini sebagian besar merupakan risiko untuk model skala kecil, tetapi masih ada risiko.
Ekstensibilitas kontrak pintar
Meskipun ada beberapa tantangan dalam mengoptimalkan model ini agar berjalan dalam batasan zk, peningkatan sedang dilakukan pada tingkat eksponensial, dan beberapa berharap bahwa dengan akselerasi perangkat keras lebih lanjut, kami akan segera dapat bekerja dengan bidang pembelajaran mesin yang lebih luas mencapai tingkat yang sama. Untuk menekankan kecepatan peningkatan ini, zkML beralih dari demonstrasi 0x PARC tentang cara melakukan model klasifikasi gambar MNIST skala kecil dalam sirkuit yang dapat diverifikasi pada tahun 2021, hingga Daniel Kang melakukan hal yang sama untuk model skala ImageNet kurang dari setahun kemudian dokumen. Pada bulan April 2022, akurasi model skala ImageNet ini meningkat dari 79% menjadi 92%, dan model besar seperti GPT-2 diharapkan dapat dilakukan dalam waktu dekat, meskipun waktu pembuktian saat ini lebih lama.
Kami melihat zkML sebagai ekosistem yang kaya dan berkembang yang dirancang untuk memperluas kemampuan blockchain dan kontrak pintar, menjadikannya lebih fleksibel, mudah beradaptasi, dan cerdas.
Meskipun zkML masih dalam tahap awal pengembangan, namun sudah mulai menunjukkan hasil yang menjanjikan. Saat teknologi berkembang dan matang, kita dapat berharap untuk melihat kasus penggunaan zkML yang lebih inovatif secara on-chain.