1/ JSTprove V2 вже тут. Це суттєве оновлення нашого стеку zkML з швидшими схемами, більшою кількістю підтримуваних шарів, ширшою сумісністю моделей і значно кращим досвідом розробника. Великий крок до практичного, перевіреного машинного навчання.
2/ Ми випустили дві основні оптимізації схем. Ми замінили дорогі перевірки дальності таблицями пошуку і додали алгоритм Фрайвальдса для швидкої ймовірнісної верифікації матриць. Обидва значно зменшують обмеження та накладні витрати.
3/ Чому це важливо: Перевірки дальності з'являються всюди в ML-схемах (ReLU, масштабування, max/min тощо), і вони дуже дорогі. Заміна їх таблицями пошуку дозволяє уникнути обмежень майже в кожній моделі і дає миттєвий приріст продуктивності.
4/ Для великих матричних операцій ми тепер використовуємо алгоритм Фрейвальда. Замість перевірки за кубічний час ми застосовуємо ймовірнісні перевірки з квадратним часом, де це можливо, що суттєво знижує вартість перевірки великих GEMM та подібних операцій.
5/ Ми також розширили підтримку шарів ONNX. JSTprove тепер підтримує Add, Sub, Mul, Max, Min, Clip, 4D MaxPool (поки що) та BatchNorm, відкриваючи набагато ширший клас реальних моделей.
6/ JSTprove більше не передбачає один вхід і вихід. Тепер ми підтримуємо графи ONNX з багатьма входами та виходами. Це вимагало глибоких рефакторів у середньому та Rust-бекенді, але значно розширило сумісність моделей.
7/ Ми також переробили фреймворк тестування. Тепер ви можете тестувати окремі шари, запускати повні тести конвеєра (квантування → схеми → свідчити → довести → перевірити), згладжувати форми та параметри, а також отримувати правильні, корисні помилки для непідтримуваних моделей.
8/ Додавання шарів на кшталт BatchNorm змусило нас очистити та модульно обробити великі частини бекенду. Це робить майбутні додавання та оптимізації шарів набагато швидшими, безпечнішими та легшими для обговорення.
9/ Результат: JSTprove V2 швидший, дешевший у доведенні, більш виразний, міцніший і готовий до набагато складніших реальних моделей. Це великий крок до практичності перевіреного машинного навчання у виробництві.
137