原著者:Jiaheng Zhang
人工知能 (AI) がヘルスケア、金融、自動運転などの主要分野でますます使用されるようになるにつれて、機械学習 (ML) 推論プロセスの信頼性、透明性、セキュリティを確保することがこれまで以上に重要になっています。
しかし、従来の機械学習サービスは「ブラックボックス」のように動作することが多く、ユーザーは結果しか確認できず、プロセスの検証は困難です。この不透明性により、モデルサービスは以下のようなリスクにさらされています。
モデルは盗まれ、
推論結果が悪意を持って改ざんされ、
ユーザーデータはプライバシー漏洩のリスクに直面しています。
ZKML(ゼロ知識機械学習)は、この課題に対する新たな暗号ソリューションを提供します。ゼロ知識証明(ZKP)技術を活用することで、機械学習モデルに暗号検証機能を提供します。つまり、機密情報を漏らすことなく、計算が正しく実行されたことを証明するのです。
言い換えれば、ZKP により、サービス プロバイダーはユーザーに対して次のことを証明できます。
「得られる推論結果は確かに私がトレーニング済みモデルを使用して実行したものですが、モデルパラメータは一切公開しません。」
つまり、モデルの構造とパラメータ(多くの場合、高価値資産)は常に非公開のまま、ユーザーは推論結果の信頼性を信頼することができます。
zkPyTorch
Polyhedra Network は、ゼロ知識機械学習 (ZKML) 専用に構築された革新的なコンパイラーである zkPyTorch をリリースしました。これは、主流の AI フレームワークと ZK テクノロジーの間の最後の 1 マイルを埋めることを目指しています。
zkPyTorchは、PyTorchの強力な機械学習機能と最先端のゼロ知識証明エンジンを深く統合します。AI開発者は、プログラミングの習慣を変えたり、新しいZK言語を学習したりすることなく、使い慣れた環境で検証可能なAIアプリケーションを構築できます。
このコンパイラは、高レベルのモデル演算(畳み込み、行列乗算、ReLU、ソフトマックス、アテンション メカニズムなど)を暗号的に検証可能な ZKP 回路に自動的に変換し、Polyhedra が独自に開発した ZKML 最適化スイートと組み合わせることで、主流の推論パスをインテリジェントに圧縮および加速し、回路の正確性と計算効率の両方を確保できます。
信頼できるAIエコシステムのための重要なインフラストラクチャの構築
今日の機械学習エコシステムは、データセキュリティ、計算検証可能性、モデルの透明性など、複数の課題に直面しています。特にヘルスケア、金融、自動運転といった主要産業においては、AIモデルは大量の機密性の高い個人情報を扱うだけでなく、価値の高い知的財産や中核的な企業秘密も含んでいます。
ゼロ知識機械学習(ZKML)が誕生し、このジレンマを解決する上で重要なブレークスルーとなりました。ゼロ知識証明(ZKP)技術により、ZKMLはモデルパラメータや入力データを漏洩させることなく、モデル推論の整合性検証を完了することができ、プライバシー保護と信頼性の確保の両方を実現します。
しかし、現実には、ZKML 開発のハードルは非常に高く、暗号化に関する深い知識が求められることが多く、従来の AI エンジニアが簡単に習得できる範囲をはるかに超えています。
まさにこれがzkPyTorchの目的です。PyTorchとZKPエンジンの間に橋渡しをすることで、開発者は複雑な暗号言語を改めて学習することなく、使い慣れたコードでプライバシー保護と検証が可能なAIシステムを構築できます。
Polyhedra Network は、zkPyTorch を通じて ZKML の技術的障壁を大幅に削減し、スケーラブルで信頼性の高い AI アプリケーションを主流に推進し、AI セキュリティとプライバシーの新しいパラダイムを再構築します。
zkPyTorchワークフロー
図1: ZKPyTorchの全体的なアーキテクチャの概要
図 1 に示すように、zkPyTorch は、前処理モジュール、ゼロ知識対応量子化モジュール、回路最適化モジュールという 3 つの慎重に設計されたモジュールを通じて、標準の PyTorch モデルを ZKP (ゼロ知識証明) 互換回路に自動的に変換します。
このプロセスでは、開発者は暗号回路や特殊な構文を習得する必要はありません。開発者は標準的なPyTorchを使用してモデルを記述するだけで、zkPyTorchがそれをExpanderなどのゼロ知識証明エンジンが認識できる回路に変換し、対応するZK証明を生成します。この高度なモジュール設計により、ZKMLの開発ハードルは大幅に下がり、AI開発者は言語を切り替えたり暗号を学習したりすることなく、効率的で安全かつ検証可能な機械学習アプリケーションを簡単に構築できます。
モジュール1: モデルの前処理
最初の段階では、zkPyTorchはPyTorchモデルをOpen Neural Network Exchange(ONNX)形式を用いて構造化された計算グラフに変換します。ONNXは、様々な複雑な機械学習演算を統一的に表現できる、広く使用されている中間表現標準です。この前処理ステップを通じて、zkPyTorchはモデル構造を明確にし、コアとなる計算プロセスを分解することで、後続のゼロ知識証明回路生成のための強固な基盤を築きます。
モジュール2: ZKPに適した定量化
量子化モジュールはZKMLシステムの重要な部分です。従来の機械学習モデルは浮動小数点演算に依存していますが、ZKP環境は有限体における整数演算に適しています。zkPyTorchは有限体に最適化された整数量子化スキームを使用し、浮動小数点演算を整数演算に正確にマッピングするとともに、ZKPに適さない非線形演算(ReLU、Softmaxなど)を効率的なルックアップテーブル形式に変換します。
この戦略は、回路の複雑さを大幅に削減するだけでなく、モデルの精度を確保しながらシステム全体の検証可能性と運用効率を向上させます。
モジュール3: 階層的回路最適化
zkPyTorch は、次のようなマルチレベル戦略を使用して回路を最適化します。
バッチ最適化は、シリアルコンピューティング向けに特別に設計されています。複数の推論ステップを一度に処理することで、コンピューティングの複雑さとリソース消費を大幅に削減します。特に、Transformerのような大規模言語モデルの検証シナリオに適しています。
プリミティブ演算アクセラレーションは、高速フーリエ変換 (FFT) 畳み込みとルックアップ テーブル テクノロジを組み合わせて、畳み込みや Softmax などの基本演算の回路実行速度を効果的に向上させ、全体的な計算効率を根本的に向上させます。
並列回路実行は、マルチコア CPU と GPU の計算能力を最大限に活用し、行列乗算などの負荷の高い計算を複数のサブタスクに分割して並列実行することで、ゼロ知識証明生成の速度とスケーラビリティを大幅に向上させます。
詳細な技術的議論
有向非巡回グラフ(DAG)
zkPyTorchは、機械学習の計算プロセスを管理するために有向非巡回グラフ(DAG)を使用します。DAG構造は、図2に示すように、複雑なモデルの依存関係を体系的に捉えることができます。グラフ内の各ノードは特定の演算(行列転置、行列乗算、除算、ソフトマックスなど)を表し、エッジはこれらの演算間のデータフローを正確に記述します。
この明確で構造化された表現は、デバッグプロセスを大幅に容易にするだけでなく、詳細なパフォーマンス最適化にも役立ちます。DAGの非巡回的な性質は、循環的な依存関係を回避し、計算シーケンスの効率的かつ制御可能な実行を保証します。これは、ゼロ知識証明回路の生成を最適化する上で非常に重要です。
さらに、DAGにより、zkPyTorchはTransformerやResidual Network(ResNet)といった複雑なモデルアーキテクチャを効率的に処理できます。これらのモデルは通常、マルチパス、非線形、複雑なデータフローを持ちます。DAGの設計はこれらの計算ニーズに的確に対応し、モデル推論の精度と効率性を保証します。
図2: 有向非巡回グラフ(DAG)として表現された機械学習モデルの例
高度な量子化技術
zkPyTorch では、高度な量子化手法が、浮動小数点演算をゼロ知識証明 (ZKP) システムの効率的な有限体演算に適した整数演算に変換する重要なステップです。zkPyTorch は、計算効率とモデル精度のバランスをとるように慎重に設計された静的整数量子化方式を使用して、証明を生成する際に高速かつ正確であることを保証します。
この量子化プロセスには、浮動小数点数を効果的に表現し、オーバーフローや大幅な精度低下を回避するための最適な量子化スケールを正確に決定するための厳密なキャリブレーションが含まれます。ZKP特有の非線形計算の課題(ソフトマックスやレイヤー正規化など)に対応するため、zkPyTorchはこれらの複雑な関数を効率的なテーブル検索演算へと革新的に変換します。
この戦略は、証明生成の効率を大幅に向上させるだけでなく、生成された証明結果が高精度量子化モデルの出力と完全に一致することを保証し、パフォーマンスと信頼性の両方を考慮し、検証可能な機械学習の実用化を促進します。
多段回路最適化戦略
zkPyTorch は、高度に洗練されたマルチレベル回路最適化システムを使用して、複数の次元からの効率性とスケーラビリティの観点から、ゼロ知識推論の究極のパフォーマンスを保証します。
バッチ処理の最適化
複数の推論タスクをバッチ処理することで、全体的な計算量が大幅に削減されます。これは、Transformerなどの言語モデルにおけるシーケンシャルな処理シナリオに特に適しています。図3に示すように、従来の大規模言語モデル(LLM)推論プロセスはトークンごとに生成する方式で実行されますが、zkPyTorchの革新的な手法では、すべての入力トークンと出力トークンを単一のプロンプトプロセスに集約して検証を行います。この処理方法により、LLM全体の推論が正しいかどうかを一度に確認しながら、各出力トークンが標準的なLLM推論と一致していることを保証できます。
LLM推論において、KVキャッシュ(キーバリューキャッシュ)メカニズムの正確性は、推論出力の信頼性を保証する鍵となります。モデルの推論ロジックが誤っている場合、キャッシュを使用しても、標準的なデコードプロセスと整合性のある結果を復元することは不可能です。zkPyTorchは、このプロセスを正確に再現することで、ゼロ知識証明におけるすべての出力が検証可能な確実性と整合性を持つことを保証します。
図 3: 大規模言語モデル (LLM) 計算のバッチ検証。ここで、L は入力シーケンスの長さ、N は出力シーケンスの長さ、H はモデルの隠し層の次元を表します。
最適化された基本操作
zkPyTorchは、基盤となる機械学習プリミティブを徹底的に最適化し、回路効率を大幅に向上させました。例えば、畳み込み演算は常に計算負荷の高いタスクです。zkPyTorchは高速フーリエ変換(FFT)に基づく最適化手法を用いて、元々空間領域で実行されていた畳み込み演算を周波数領域の乗算演算に変換することで、計算コストを大幅に削減します。同時に、ReLUやソフトマックスなどの非線形関数については、事前に計算されたルックアップテーブルを用いてZKPに不向きな非線形計算を回避し、推論回路の動作効率を大幅に向上させます。
並列回路実行
zkPyTorchは、複雑なML演算を並列回路に自動的にコンパイルすることで、マルチコアCPU/GPUのハードウェアポテンシャルを最大限に引き出し、大規模な並列証明生成を可能にします。例えば、テンソル乗算を実行する場合、zkPyTorchは計算タスクを複数の独立したサブタスクに自動的に分割し、複数の処理ユニットに分散させて同時実行します。この並列化戦略は、回路実行スループットを大幅に向上させるだけでなく、大規模モデルの効率的な検証を実現し、スケーラブルなZKMLの新たな次元を切り開きます。
包括的なパフォーマンステスト:パフォーマンスと精度の二重のブレークスルー
zkPyTorch は厳格なベンチマーク テストに合格し、複数の主流の機械学習モデルで優れたパフォーマンスと実用的な使いやすさを実証しました。
VGG-16モデルのテスト
CIFAR-10データセットにおいて、zkPyTorchは1枚の画像に対するVGG-16証明生成をわずか6.3秒で完了し、その精度は従来の浮動小数点演算とほぼ同等です。これは、zkMLが画像認識などの古典的なタスクにおいて実用的な能力を備えていることを示しています。
Llama-3モデルテスト
最大80億パラメータの大規模言語モデルLlama-3において、zkPyTorchはトークンあたり約150秒という効率的な証明生成を実現しました。さらに印象的なのは、その出力が元のモデルと比較して99.32%のコサイン類似度を維持しながら、高い信頼性を確保し、モデル出力の意味的一貫性も考慮していることです。
表1: 畳み込みニューラルネットワークとトランスフォーマーネットワークにおける様々なZKP方式のパフォーマンス
幅広い実世界のアプリケーションシナリオ
検証可能な機械学習サービス(検証可能な MLaaS)
機械学習モデルの価値が高まり続けるにつれ、AI開発者は自社開発モデルをクラウドにデプロイし、MLaaS(Machine Learning as a Service)サービスを提供することをますます多く選択しています。しかし、現実には、推論結果が真実かつ信頼できるものであるかどうかをユーザーが検証することはしばしば困難です。また、モデルプロバイダーは、盗難や悪用を防ぐために、モデル構造やパラメータなどのコア資産を保護したいと考えています。
zkPyTorch はこの矛盾を解決するために作成されました。クラウドベースの AI サービスがネイティブの「ゼロ知識検証機能」を持ち、推論結果を暗号化レベルで検証できるようにすることを可能にします。
図4に示すように、開発者はLlama-3などの大規模モデルをzkPyTorchに直接接続することで、ゼロ知識証明機能を備えた信頼性の高いMLaaSシステムを構築できます。基盤となるZKPエンジンとシームレスに統合することで、zkPyTorchはモデルの詳細を公開することなく証明を自動生成し、各推論が正しく実行されているかどうかを検証できるため、モデルプロバイダーとユーザーにとって真に信頼できるインタラクティブな信頼基盤を確立できます。
図 4: 検証可能な機械学習サービス (Verifiable MLaaS) における zkPyTorch の適用シナリオ。
保護モデルの評価
zkPyTorchは、安全で検証可能なAIモデル評価メカニズムを提供し、関係者がモデルの詳細を公開することなく、主要なパフォーマンス指標を慎重に評価できるようにします。この「ゼロリーク」評価方法は、AIモデルの新たな信頼基準を確立するとともに、商取引の効率性を向上させ、開発者の知的財産の安全性を保護します。モデル価値の可視性を向上させるだけでなく、AI業界全体に高い透明性と公平性をもたらします。
EXPchainブロックチェーンとの緊密な統合
zkPyTorchは、Polyhedra Networkが独自に開発したEXPchainブロックチェーンネットワークをネイティブに統合し、信頼性の高い分散型AIインフラストラクチャを共同で構築します。この統合により、スマートコントラクトの呼び出しとオンチェーン検証のための高度に最適化されたパスが提供され、AI推論結果を暗号的に検証し、ブロックチェーン上に永続的に保存することが可能になります。
zkPyTorchとEXPchainの連携により、開発者はモデルの展開、推論計算からオンチェーン検証まで、エンドツーエンドで検証可能なAIアプリケーションを構築でき、透明性、信頼性、監査性に優れたAIコンピューティングプロセスを真に実現し、次世代のブロックチェーン+ AIアプリケーションの基盤となるサポートを提供できます。
将来のロードマップと継続的なイノベーション
Polyhedra は、以下の分野に重点を置いて、zkPyTorch の進化を継続していきます。
オープンソースとコミュニティ構築
zkPyTorch のコアコンポーネントを段階的にオープンソース化することで、世界中の開発者の参加を促し、ゼロ知識機械学習の分野での共同イノベーションとエコシステムの繁栄を促進します。
モデルとフレームワークの互換性の拡張
主流の機械学習モデルとフレームワークのサポートを拡張し、zkPyTorch の適応性と汎用性をさらに高め、さまざまな AI ワークフローに柔軟に組み込むことができるようになります。
開発ツールとSDKビルド
包括的な開発ツールチェーンとソフトウェア開発キット (SDK) を起動して、統合プロセスを簡素化し、実際のビジネス シナリオでの zkPyTorch の展開と適用を加速します。
結論
zkPyTorchは、信頼できるAIの未来に向けた重要なマイルストーンです。成熟したPyTorchフレームワークと最先端のゼロ知識証明技術を深く統合することで、zkPyTorchは機械学習のセキュリティと検証可能性を大幅に向上させるだけでなく、AIアプリケーションの展開方法と信頼境界を再構築します。
Polyhedraは今後も「セキュアAI」分野におけるイノベーションを深め、プライバシー保護、結果の検証可能性、モデルのコンプライアンスにおいて機械学習をより高い基準に推進し、透明性、信頼性、拡張性に優れたインテリジェントシステムの構築に貢献していきます。
今後も最新の開発成果をリリースし、zkPyTorch がセキュア インテリジェンス時代の未来をどのように変えるのかをぜひご覧ください。