1/ JSTprove V2 este aici. Aceasta este o îmbunătățire majoră pentru stack-ul nostru zkML, cu circuite mai rapide, straturi mai suportate, compatibilitate mai largă a modelelor și o experiență mult mai bună pentru dezvoltatori. Un pas mare spre un ML practic și verificabil.
2/ Am livrat două optimizări majore ale circuitelor. Am înlocuit verificările costisitoare ale intervalului cu tabele de căutare și am adăugat algoritmul Freivalds pentru verificare rapidă probabilistică a matricilor. Ambele reduc semnificativ constrângerile și costurile suplimentare de demonstrare.
3/ De ce contează acest lucru: Verificările de rază apar peste tot în circuitele ML (ReLU, rescaling, max/min etc.) și sunt foarte scumpe. Înlocuirea lor cu tabele de căutare economisește constrângeri pentru aproape orice model și oferă câștiguri imediate de performanță.
4/ Pentru operații matriciale mari, folosim acum algoritmul Freivalds. În loc de verificare în timp cub, aplicăm verificări probabilistice în timp pătratic acolo unde este cazul, reducând dramatic costul verificării GEMM-urilor mari și a operațiunilor similare.
5/ Am extins și suportul pentru straturi ONNX. JSTprove suportă acum Add, Sub, Mul, Max, Min, Clip, 4D MaxPool (deocamdată) și BatchNorm, deblocând o clasă mult mai largă de modele reale.
6/ JSTprove nu mai presupune o singură intrare și ieșire. Acum suportăm grafuri ONNX cu mai multe intrări și mai multe ieșiri. Aceasta a necesitat refactorizări profunde între partea de mijloc și backend-ul Rust, dar extinde masiv compatibilitatea modelelor.
7/ Am reconstruit și cadrul de testare. Acum poți testa straturi individuale, poți rula teste complete de conductă (cuantizare → circuit → witness → dovedești → verifica), forme și parametri de fuzz și poți obține erori corecte și utile pentru modele nesuportate.
8/ Adăugarea de straturi precum BatchNorm ne-a forțat să curățăm și să modularizăm părți mari din backend. Acest lucru face ca viitoarele adăugiri și optimizări ale straturilor să fie mult mai rapide, mai sigure și mai ușor de raționat.
9/ Rezultatul: JSTprove V2 este mai rapid, mai ieftin de demonstrat, mai expresiv, mai robust și pregătit pentru modele mult mai complexe din lumea reală. Acesta este un pas important spre a face învățarea automată verificabilă practică în producție.
127