1/ JSTprove V2 finns här. Detta är en stor uppgradering av vår zkML-stack med snabbare kretsar, fler stödda lager, bredare modellkompatibilitet och en mycket bättre utvecklarupplevelse. Ett stort steg mot praktiskt, verifierbart ML.
2/ Vi levererade två stora kretsoptimeringar. Vi ersatte dyra intervallkontroller med uppslagstabeller och lade till Freivalds algoritm för snabb probabilistisk matrisverifiering. Båda minskar avsevärt begränsningar och bevisöverhead.
3/ Varför detta är viktigt: Räckviddskontroller förekommer överallt i ML-kretsar (ReLU, omskalning, max/min, etc.) och de är mycket dyra. Att ersätta dem med uppslagstabeller sparar begränsningar över nästan alla modeller och ger omedelbara prestandaförbättringar.
4/ För stora matrisoperationer använder vi nu Freivalds algoritm. Istället för kubiktidsverifiering tillämpar vi kvadratiska probabilistiska kontroller där det är tillämpligt, vilket dramatiskt minskar kostnaden för att verifiera stora GEMM:er och liknande operationer.
5/ Vi utökade också ONNX-lagerstödet. JSTprove stöder nu Add, Sub, Mul, Max, Min, Clip, 4D MaxPool (för tillfället) och BatchNorm, vilket låser upp en mycket bredare klass av verkliga modeller.
6/ JSTprove antar inte längre en enda in- och utgång. Vi stödjer nu multi-input och multi-output ONNX-grafer. Detta krävde djupgående refaktoreringar över mitten och Rust-backend, men utökade modellkompatibiliteten avsevärt.
7/ Vi byggde också om testramverket. Du kan nu testa enskilda lager, köra fullständiga pipelinetester (kvantisering → krets → bevittna → bevisa → verifiera), fuzz-former och parametrar, och få korrekta, hjälpsamma fel för modeller utan stöd.
8/ Att lägga till lager som BatchNorm tvingade oss att rensa upp och modulera stora delar av backend. Detta gör framtida lagertillägg och optimeringar mycket snabbare, säkrare och lättare att resonera kring.
9/ Resultatet: JSTprove V2 är snabbare, billigare att prova, mer uttrycksfull, mer robust och redo för mycket mer komplexa verkliga modeller. Detta är ett stort steg mot att göra verifierbar maskininlärning praktisk i produktion.
138