1/ JSTprove V2が登場しました。 これは、より高速な回路、より多くのサポート層、より広範なモデル互換性、そしてはるかに優れた開発者体験を実現する、当社のzkMLスタックへの大きなアップグレードです。 実用的で検証可能な機械学習への大きな一歩です。
2/ 私たちは2つの主要な回路最適化を出荷しました。 高価な範囲検査をルックアップテーブルに置き換え、高速確率行列検証のためのフライバルズアルゴリズムを追加しました。どちらも制約を大幅に削減し、オーバーヘッドを証明します。
3/ なぜこれが重要なのか: 範囲チェックはML回路のあらゆるところに存在します(ReLU、リスケーリング、最大/最小など)し、非常に高価です。 ルックアップテーブルに置き換えることで、ほぼすべてのモデルで制約を節約し、即座にパフォーマンス向上をもたらします。
4/ 大規模な行列演算には、現在フレイヴァルズのアルゴリズムを用います。 立方時間検証の代わりに、該当する場合は二次時間の確率的チェックを適用し、大規模なGEMMや類似の操作の検証コストを大幅に削減しています。
5/ ONNXレイヤーのサポートも拡大しました。 JSTproveは現在、Add、Sub、Mul、Max、Min、Clip、4D MaxPool(現時点では)、BatchNormをサポートし、より幅広い実世界モデルのクラスを解放しています。
6/ JSTproveはもはや単一の入力と出力を仮定しません。 現在はマルチ入力およびマルチ出力のONNXグラフをサポートしています。これによりミドルエンドとRustバックエンド全体で深いリファクタリングが必要となりましたが、モデル互換性は大幅に拡張されました。
7/ テストフレームワークも再構築しました。 個々のレイヤーをテストし、回路の量子化→→量子化証明→検証→フルパイプラインテストを実行、ファズ形状やパラメータを測定し、サポートされていないモデルに対して適切で有益な誤差を得ることができます。
8/BatchNormのようなレイヤーを追加したことで、バックエンドの大部分を整理しモジュール化する必要がありました。 これにより、将来のレイヤー追加や最適化がより迅速かつ安全で、理性を考えやすくなります。
9/ その結果:JSTprove V2はより高速で、証明コストも安く、表現力豊かで堅牢で、より複雑な実世界モデルにも対応可能です。 これは検証可能な機械学習を本番環境で実用化するための大きな一歩です。
125