Blockchain

ZKML - Zero Knowledge Proofとブロックチェーンは人工知能と機械学習の分野での分野でどのように役立つ?

ZKML分野での製品イノベーションを期待しています。

私たちクリプト愛好家にとって、人工知能はすでにかなりの間、火がついています。もちろん、誰も人工知能が暴走するのを見たくないと思います。ブロックチェーンの発明の当初の目的は、ドルが暴走するのを防ぐことでしたので、私たちは人工知能の暴走を防ぐことを試みるかもしれません。さらに、今ではゼロ知識証明という新しい技術があり、物事がうまくいくことを保証するために使われています。しかし、人工知能という野獣を操るためには、その仕組みを理解しなければなりません。

機械学習の簡単な紹介

人工知能は「エキスパートシステム」から「ニューラルネットワーク」、そして「グラフィカルモデル」へと、いくつもの名前の変遷を経て、「機械学習」という現在の姿になりました。これらはすべて「人工知能」の一部であり、人々はそれにさまざまな名前をつけ、人工知能についての理解を深めてきました。ここで、機械学習について少し詳しく見てみましょう。機械学習のベールを剥がしてみましょう。

注:今日、機械学習モデルのほとんどはニューラルネットワークである。 ここでは、機械学習を主にニューラルネットワーク機械学習と呼ぶことにする。

機械学習はどのように機能するのか?

まず、機械学習の内部構造を簡単に見てみよう:

  • 入力データの前処理:

入力データは、モデルの入力として使える形式に処理する必要があります。これには、前処理と特徴量エンジニアリングが含まれ、有用な情報を抽出し、データを適切な形式(例えば、入力行列やテンソル(高次元行列))に変換します。これは、エキスパートシステムの手法です。深層学習の登場により、処理層が前処理を自動的に行うようになりました。

  • 初期モデルパラメータの設定:

初期モデルパラメータには、複数の層、活性化関数、初期重み、バイアス、学習率などが含まれます。一部のパラメータは、訓練過程で最適化アルゴリズムによって調整され、モデルの精度を向上させます。

  • 訓練データ:

入力データは、ニューラルネットワークに入力されます。通常、一つまたは複数の特徴量抽出と関係モデリングの層から始まります。例えば、畳み込み層(CNN)、再帰層(RNN)、自己注意力層などです。これらの層は、入力データから関連する特徴量を抽出し、それらの特徴量間の関係をモデル化する方法を学習します。 これらの層の出力は、次に、入力データに対して異なる計算や変換を行う一つまたは複数の追加の層に渡されます。これらの層は、通常、学習可能な重み行列の行列乗算と非線形活性化関数の適用という主な操作に関係していますが、他の操作も含まれる可能性があります。例えば、畳み込みニューラルネットワークでは、畳み込みやプーリング、再帰ニューラルネットワークでは、反復などです。これらの層の出力は、モデルの次の層の入力として、または最終的な予測出力として使われます。

  • モデルの出力の取得:

ニューラルネットワークの計算の出力は、通常、ベクトルや行列であり、画像分類の確率、感情分析のスコア、または他の結果を表します。これは、ネットワークの用途によって異なります。通常、誤差評価とパラメータ更新のモジュールもあり、モデルの目的に応じてパラメータを自動的に更新します。

上記の説明が難解に見える場合は、以下のCNNモデルを用いてリンゴの画像を認識する例を参考にしてください。

  • 画像をピクセル値の行列としてモデルに読み込みます。この行列は、(高さ、幅、チャンネル)というサイズの3Dテンソルとして表現できます。
  • CNNモデルの初期パラメータを設定します。
  • 入力画像は、CNNの複数の隠れ層を通過し、各層は畳み込みフィルターを用いて画像からより複雑な特徴を抽出します。各層の出力は非線形活性化関数を通過し、次にプーリングを行って特徴マップの次元を減らします。最後の層は通常、全結合層であり、抽出された特徴に基づいて出力予測を生成します。
  • CNNの最終出力は、確率が最も高いカテゴリです。これが入力画像の予測ラベルです。

機械学習の信頼フレームワーク

上記の内容をまとめると、機械学習の信頼フレームワークというものがあります。これは、機械学習の基本的な4つの層を含み、機械学習のプロセス全体が信頼できるためには、これらの層が信頼できる必要があります。

  • 入力:生データは前処理が必要であり、場合によっては秘匿も必要です。
  •          完全性:入力データは改ざんされておらず、悪意のある入力による汚染もなく、正しく前処理されています。
  •          プライバシー:必要に応じて、入力データは漏洩しません。
  • 出力:正確に生成され、伝送される必要があります。
  • 完全性:出力は正しく生成されます。
  • プライバシー:必要に応じて、出力は漏洩しません。
  • モデルタイプ/アルゴリズム:モデルは正しく計算する必要があります。
  • 完全性:モデルは正しく実行されます。
  • プライバシー:必要に応じて、モデル自体や計算は漏洩しません。
  • 異なるタイプのニューラルネットワークモデルは、異なるアルゴリズムや層を持ち、異なるユースケースや入力に適しています。
  • 畳み込みニューラルネットワーク(CNN)は、グリッド状のデータを扱うタスクによく使われます。例えば、画像などです。ここでは、局所的なパターンや特徴を、小さな入力領域に対して畳み込み操作を適用することで捉えることができます。
  • 一方、再帰ニューラルネットワーク(RNN)は、時系列や自然言語などの順序データに非常に適しています。ここでは、隠れ状態が以前の時間ステップからの情報を捉え、時間的な依存関係をモデル化することができます。
  • 自己注意力層は、入力シーケンスの要素間の関係を捉えるのに非常に有用であり、機械翻訳や要約などのタスクに非常に効果的です。これらのタスクでは、長距離の依存関係が重要です。
  • 他にも、多層パーセプトロン(MLP)などのモデルタイプがあります。
  • モデルパラメータ:場合によっては、パラメータは透明であるか、民主的に生成されるべきですが、いずれの場合も改ざんされにくいべきです。
  • 完全性:パラメータは正しい方法で生成、維持、管理されます。
  • プライバシー:モデルの所有者は、通常、機械学習モデルのパラメータを秘密にしておきます。これは、そのモデルを開発した組織の知的財産権や競争優位性を保護するためです。この現象は、トランスフォーマーモデルの訓練が狂気のように高価になる前には非常に一般的でしたが、業界にとってはまだ主要な問題です。

機械学習における信頼の問題

機械学習(ML)の応用が爆発的に増加し(複合年成長率は20%を超える)、最近人気のあるChatGPTなど、日常生活にもますます浸透していることから、機械学習の信頼性の問題はますます重要で無視できなくなっています。したがって、これらの信頼性の問題を見つけて解決することは、AIを責任ある方法で使用し、その潜在的な悪用を防ぐために不可欠です。しかし、具体的にはどのような問題なのでしょうか?詳しく見ていきましょう。

透明性や証明性の不足

信頼性の問題は、機械学習にとって長期的な課題であり、主な原因は以下の2つです。

  • プライバシー性質:前述のように、モデルのパラメータは通常秘密にされており、場合によってはモデルの入力も秘密にする必要があります。これは、自然にモデルの所有者とモデルのユーザーの間に一部の信頼性の問題をもたらします。
  • アルゴリズムのブラックボックス:機械学習モデルは、計算過程において多くの理解や説明が困難な自動化されたステップを含むため、「ブラックボックス」と呼ばれることがあります。これらのステップは、複雑なアルゴリズムや大量のデータに関係し、不確実性や時にはランダムな出力をもたらし、アルゴリズムが偏見や差別の疑いを受けやすくなります。

さらに深く掘り下げる前に、本記事のより大きな仮定として、モデルは「使用可能な状態」であるということがあります。つまり、モデルは適切に訓練され、目的に合致しているということです。モデルはすべての状況に適用できるとは限らず、モデルは驚くべき速さで改善されているため、機械学習モデルの通常の使用寿命は、応用シナリオによって異なりますが、2ヶ月から18ヶ月の間です。

機械学習の信頼性の問題の詳細な分解

モデルの訓練過程にはいくつかの信頼性の問題があり、Gensynは現在、この過程を促進するために有効な証明を生成するために努力しています。しかし、本記事では主にモデルの推論過程に焦点を当てています。では、機械学習の4つの構成要素を使って、潜在的な信頼性の問題を見つけてみましょう。

  • 入力:
  • データの出所は改ざんされていない
  • プライベートな入力データはモデルの操作者に盗まれない(プライバシーの問題)
  • モデル:
  • モデル自体は宣伝されているほど正確である
  • 計算過程は正しく完了する
  • パラメータ:
  • モデルのパラメータは変更されていないか、宣伝されているものと一致している
  • 過程の中で、モデルの所有者にとって価値のあるモデルのパラメータは漏洩しない(プライバシーの問題)
  • 出力: 出力結果は正しいことが証明できる(上記のすべての要素の改善に伴って改善される可能性がある)

ZKを機械学習の信頼フレームワークにどのように適用するか?

上記のいくつかの信頼性の問題は、上チェーンにすることで解決できます。入力と機械学習のパラメータをチェーンにアップロードし、チェーン上でモデルを計算することで、入力、パラメータ、モデル計算の正確性を保証できます。しかし、この方法は、スケーラビリティやプライバシーを犠牲にする可能性があります。GizaはStarknet上でこの作業を行っていますが、コストの問題から、回帰などの単純な機械学習モデルのみをサポートしており、ニューラルネットワークはサポートしていません。ZK技術は、上記の信頼性の問題をより効率的に解決できます。現在、ZKMLのZKは通常zkSNARKを指します。まず、zkSNARKのいくつかの基本的な概念を簡単におさらいしましょう。

zkSNARK証明とは、秘密の入力wを知っていることを証明するもので、計算fの結果がOUTであることが真であることを証明するものですが、wが何であるかは教えません。証明生成過程は以下のステップにまとめることができます。

  • 証明するべき主張を定める:f(x,w)=true

「私は、秘密のパラメータwを持つ機械学習モデルfを使って、この画像xを正しく分類しました。」

  • 主張を回路に変換する(算術化):回路構築方法には、R1CS、QAP、Plonkishなどがあります。

他のユースケースと比較して、ZKMLには量子化と呼ばれる追加のステップが必要です。ニューラルネットワークの推論は通常、浮動小数点演算で行われますが、算術回路の主要な領域で浮動小数点演算を模倣するのは非常に高価です。量子化方法は、精度とデバイス要件の間でトレードオフを行います。

R1CSなどの回路構築方法は、ニューラルネットワークにとって効率が良くありません。この部分は、パフォーマンスを向上させるために調整することができます。

  • 証明鍵と検証鍵を生成する
  • 証人を作成する:w=wのとき、f(x,w)=true
  • ハッシュコミットメントを作成する:証人wは暗号化ハッシュ関数を使ってハッシュ値を生成することを約束します。このハッシュ値は公開することができます。

これは、計算過程で、秘密の入力やモデルのパラメータが改ざんされたり変更されたりしないことを確認するのに役立ちます。このステップは非常に重要です。なぜなら、微妙な変更でも、モデルの振る舞いや出力に大きな影響を与える可能性があるからです。

  • 証明を生成する:異なる証明システムは、異なる証明生成アルゴリズムを使用します。
  • 機械学習の操作に特化した零知識ルールを設計する必要があります。例えば、行列乗算や畳み込み層などです。これらの計算の効率的なサブリニア時間プロトコルを実現するためです。 groth16などの汎用的なzkSNARKシステムは、計算負荷が大きすぎるため、ニューラルネットワークを効率的に処理できない可能性があります。
  • 2020年以降、モデル推論過程のZK証明を最適化するために、多くの新しいZK証明システムが登場しました。例えば、vCNN、ZEN、ZKCNN、pvCNNなどです。しかし、それらのほとんどはCNNモデルに最適化されています。それらは、MNISTやCIFAR-10などの主要なデータセットにしか適用できません。
  • 2022年、Daniel Kang Tatsunori Hashimoto、Ion Stoica、Yi Sun(Axiomの創業者)は、Halo 2をベースにした新しい証明スキームを提案し、ImageNetデータセットに対するZK証明生成を初めて実現しました。彼らの最適化は主に算術化部分に集中しており、非線形用の新しいルックアップパラメータや層間でサブサーキットを再利用するという特徴があります。
  • Modulus Labsは、チェーン上の推論に対して異なる証明システムのベンチマークテストを行っており、証明時間の面では、ZKCNNとplonky2が最も優れていることがわかりました。ピーク証明者メモリ使用量の面では、ZKCNNとhalo2が良好なパフォーマンスを示しました。一方、plonkyはパフォーマンスは良好ですが、メモリ消費を犠牲にしており、ZKCNNはCNNモデルにしか適用できません。また、ZKMLに特化した新しいzkSNARKシステムや、新しい仮想マシンの開発も行っています。
  • 証明を検証する:検証者は、証明鍵を使って検証を行い、証人の知識を知る必要はありません。

したがって、機械学習モデルにゼロ知識技術を適用することで、多くの信頼性の問題を解決できることが証明できます。対話的な検証のような類似の技術を使うことで、同様の効果が得られますが、検証者側でより多くのリソースが必要になったり、より多くのプライバシーの問題に直面したりする可能性があります。注目すべきは、具体的なモデルによっては、証明を生成するのに時間やリソースが必要になる場合があるため、この技術を現実世界のユースケースに最終的に適用する際には、各面でトレードオフが生じるということです。

現在の解決策の現状

次に、現在の解決策は何でしょうか?モデル提供者には、ZKMLの証明を生成したくないという理由がたくさんあるかもしれないことに注意してください。ZKMLに挑戦し、解決策が意味のあるものであると判断した人たちは、モデルと入力がどこにあるかによって、いくつかの異なる解決策から選択することができます。

  • 入力データがチェーン上にある場合は、Axiomを解決策として検討することができます。

Axiomは、ユーザーがブロックチェーンデータにアクセスするのを改善し、より高度なデジタル化されたチェーン上のデータビューを提供するために、イーサリアムにゼロ知識コプロセッサを構築しています。チェーン上のデータに対して信頼できる機械学習計算を行うことは可能です。

  • まず、Axiomは、そのスマートコントラクトAxiomV0にイーサリアムブロックハッシュのメルケルルートを保存することで、チェーン上のデータをインポートします。これらのデータは、ZK-SNARKの検証過程を通じて信頼できない検証を行います。次に、AxiomV0StoragePfコントラクトは、AxiomV0にキャッシュされたブロックハッシュが与える信頼ルートに対して、任意の歴史的なイーサリアムストレージ証明のバッチ検証を可能にします。
  • 次に、インポートされた歴史データから機械学習の入力データを抽出することができます。
  • 次に、Axiomは、検証された機械学習操作を上部に適用することができます。各計算部分の有効性を検証するために、最適化されたhalo2をバックエンドとして使用します。
  • 最後に、Axiomは、各クエリ結果にzk証明を添付し、Axiomスマートコントラクトはzk証明を検証します。証明したい関係者は、スマートコントラクトからそれにアクセスすることができます。
  • モデルをチェーン上に置く場合は、RISCZeroを解決策として検討することができます。

RISC ZeroのZKVMで機械学習モデルを実行することで、モデルが関与する正確な計算が正しく実行されたことを証明することができます。計算と検証の過程は、ユーザーが好む環境でオフラインで行うことも、Bonsai Networkで行うこともできます。Bonsai Networkは、汎用的なロールアップです。

  • まず、モデルのソースコードをRISC-Vのバイナリファイルにコンパイルする必要があります。このバイナリファイルがZKVMで実行されると、出力は暗号化されたシールを含む計算レシートとペアになります。このシールは、計算完全性のゼロ知識主張として、暗号化されたimageID(実行されたRISC-Vバイナリファイルを識別する)と宣言されたコード出力を関連付けるものです。これにより、第三者は迅速に検証することができます。
  • モデルがZKVMで実行されるとき、状態変更に関する計算はVM内部で完全に行われます。それは、モデルの内部状態に関する情報を外部に漏らすことはありません。
  • モデルの実行が完了すると、生成されたシールは計算完全性のゼロ知識証明となります。RISC ZeroZKVMは、RISC-Vの仮想マシンであり、その実行したコードのゼロ知識証明を生成することができます。ZKVMを使うと、暗号化されたレシートを生成することができます。このレシートは、ZKVMのクライアントコードによって生成されたことを誰でも検証することができます。レシートを公開するとき、コードの実行に関する他の情報(例えば、提供された入力など)は漏らされません。

ZK証明を生成する具体的な過程は、ランダムオラクルを検証者とする対話型プロトコルに関係しています。RISC Zeroレシート上のシールは、本質的にはこの対話型プロトコルの記録です。

  • 一般的な機械学習ソフトウェア(TensorflowやPytorchなど)から直接モデルをインポートしたい場合は、ezklを解決策として検討することができます。

Ezklは、zkSNARKで深層学習モデルやその他の計算グラフの推論を行うためのライブラリとコマンドラインツールです。

  • まず、最終モデルを.onnxファイルとしてエクスポートし、いくつかのサンプル入力を.jsonファイルとしてエクスポートします。
  • 次に、ezklを.onnxと.jsonファイルに向けて、ZKMLの主張を証明できるZK-SNARK回路を生成します。

簡単ですね?Ezklの目標は、Halo 2回路で高度な操作を呼び出したりレイアウトしたりできるようにする抽象層を提供することです。Ezklは多くの複雑さを抽象化しながら、信じられないほどの柔軟性を保持しています。彼らの量子化モデルは、自動量子化のスケーリングファクターを持っています。彼らは、新しい解決策に関係する他の証明システムに柔軟に変更することをサポートしています。また、EVMやWASMなどのさまざまなタイプの仮想マシンもサポートしています。

証明システムに関しては、ezklは、中間者を介して検証が困難な証明を検証しやすい証明に変換する集約証明や、メモリ問題を解決できるがhalo2に適応するのが難しい再帰などを用いて、halo2回路をカスタマイズしています。Ezklはまた、高度な証明によってオーバーヘッドを減らすことができる融合や抽象などによって、全体の過程を最適化しています。

  • 注目すべきは、他の汎用的なzkmlプロジェクトと比較して、Accessor Labsは、完全にチェーン上のゲームに特化したzkmlツールを提供することに注力しており、AI NPCやゲームプレイの自動更新、自然言語を用いたゲームインターフェースなどが関係する可能性があるということです。

ユースケースはどこにあるのでしょうか?

ZK技術で機械学習の信頼性の問題を解決するということは、それが「高リスク」や「高確定性」のユースケースにも適用できるようになるということです。人々との会話を同期させたり、猫の画像と犬の画像を区別したりするだけではありません。Web3は、多くのこのようなユースケースを探求しています。これは偶然ではありません。なぜなら、Web3のアプリケーションのほとんどは、ブロックチェーン上で動作しているか、ブロックチェーン上で動作することを目指しているからです。ブロックチェーンは、安全に動作し、改ざんされにくく、確定的な計算ができるという特定の特性を持っています。検証可能な行動の良いAIとは、信頼できない分散環境で活動できるAIのことではないでしょうか?

Web3でZK+MLを適用できるユースケース

多くのWeb3アプリケーションは、安全性や分散化を優先するあまり、ユーザー体験を犠牲にしています。これは、基盤となるインフラの制約も存在するためです。AI/MLは、ユーザー体験を豊かにする可能性があり、これは有用なことですが、以前は妥協することなく実現することはほとんど不可能でした。しかし今では、ZKのおかげで、安全性や分散化の面であまり犠牲にせずに、AI/MLとWeb3アプリケーションの組み合わせを快適に見ることができます。

本質的には、これはWeb3アプリケーション(この記事を書いている時点では存在しているかもしれないし、存在していないかもしれない)であり、ML/AIを信頼できない方法で実現するものです。信頼できない方法とは、信頼できない環境/プラットフォームで動作しているか、あるいはその操作が検証可能であることが証明できるかどうかを意味します。注意すべきは、すべてのML/AIユースケース(Web3であっても)が信頼できない方法で動作する必要があるとか、好ましいというわけではないということです。私たちは、さまざまなWeb3領域で使用されているML機能の各部分を分析します。そして、ZKMLが必要な部分を特定します。これは、通常、証明のために追加料金を支払うことに同意する人々の高価値部分です。以下に述べるほとんどのユースケース/アプリケーションは、まだ実験的な研究段階にあります。したがって、実際の採用にはまだほど遠いと言えます。その理由については、後ほど議論します。

Defi

Defiは、ブロックチェーンプロトコルやWeb3アプリケーションの中でも、数少ないプロダクトマーケットフィットを証明したものの一つです。許可なしに富や資本を創造し、保管し、管理するということは、人類史上初めてのことです。私たちは、AI/MLモデルを許可なしに動作させることで、安全性や分散化を確保する必要があるユースケースを多数特定しました。

  • リスク評価:現代の金融では、AI/MLモデルを用いて、不正やマネーロンダリングの防止から無担保ローンの発行まで、さまざまなリスク評価を行う必要があります。このようなAI/MLモデルを検証可能な方法で動作させることで、検閲制度を実現するために操作されることを防ぎ、Defi製品の許可不要な性質を妨げることができます。
  • 資産管理:自動取引戦略は、伝統的な金融やDefiにとって新しいものではありません。AI/MLによって生成された取引戦略を適用しようとする人もいますが、分散化された戦略はごくわずかしか成功していません。現在のDefi領域での典型的なアプリケーションとしては、Modulus Labsが実験しているRocky Botがあります。
  • Rocky Bot:Modulus Labsは、StarkNet上でAIを使って意思決定を行う取引ロボットを作成しました。
  • L1上で資金を保有し、Uniswap上でWEth/USDCを交換するコントラクト。

これは、ML信頼フレームワークの「出力」部分に該当します。出力はL2上で生成され、L1に転送され、実行に使用されます。この過程では、改ざんされることはありません。

  • L2コントラクトは、未来のWEth価格を予測するためのシンプル(でも柔軟)な3層ニューラルネットワークを実装しています。コントラクトは、歴史的なWETH価格情報を入力として使用します。

これは、「入力」と「モデル」の部分に該当します。歴史的な価格情報の入力は、ブロックチェーンから来ています。モデルの実行は、CairoVM(一種のZKVM)で計算され、その実行トレースは、検証用のZK証明を生成します。

  • シンプルなフロントエンドで、可視化や回帰器や分類器の訓練に使われるPyTorchのコードがあります。
  • 自動マーケットメーカーと流動性提供者:本質的には、リスク評価と資産管理で行われている類似の努力の組み合わせであり、取引量やタイムライン、資産タイプの面で異なる方法を採用しています。株式市場でMLを使ってマーケットメイキングを行う方法に関する研究論文は多数あります。一部の研究成果がDefi製品に適用できるようになるのは時間の問題かもしれません。
  • 例えば、LyraFinanceは、Modulus Labsと協力して、そのAMMにスマートな機能を追加し、資本効率を高めています。
  • 名誉あるノミネート: Warp.ccチームは、チュートリアルプロジェクトを開発し、訓練済みのニューラルネットワークを使ってビットコインの価格を予測するスマートコントラクトをデプロイする方法を紹介しました。これは、私たちのフレームワークの「入力」と「モデル」の部分に該当します。入力はRedStoneOraclesが提供するデータを使用し、モデルはWarpスマートコントラクトとしてArweave上で実行されます。
  • これは最初の反復であり、ZKに関係しているので、私たちの名誉あるノミネートに属しますが、将来的には、WarpチームはZK部分を実装することを検討しています。

ゲーム

ゲームと機械学習は様々な形で交わる:

図の灰色の部分は、ゲーム部分の機械学習機能が対応するZKML証明とペアにする必要があるかどうかの私たちの初期的な評価を表しています。Leela Chess Zeroは、ZKMLをゲームに適用した非常に興味深い例です。

  • AIエージェント
  • Leela Chess Zero (LC0):Modulus Labsが作成した完全にチェーン上のAIチェスプレイヤーで、コミュニティからの一群の人間のプレイヤーと対戦します。
  • LC0と人間の集団は交互にゲームを行います(チェスにふさわしいように)。 LC0の動きは、簡略化された、回路に適したLC0モデルで計算されます。
  • LC0の動きには、Halo2 snark証明があり、人間のブレーンストーミングの介入がないことを保証します。簡略化されたLC0モデルだけがそこで意思決定を行っています。
  • これは「モデル」の部分に該当します。モデルの実行には、ZK証明があり、計算が改ざんされていないことを検証します。
  • データ分析と予測:これはWeb2のゲーム世界でAI/MLの一般的な用途です。しかし、このMLプロセスでZKを実現する理由は非常に少ないことがわかりました。このプロセスにあまりにも多くの価値を直接関与させないために、それに努力を費やすのは価値がないかもしれません。しかし、ある種の分析や予測がユーザーに報酬を決定するために使われる場合は、ZKが実装されて結果が正しいことを保証する可能性があります。
  • 名誉あるノミネート: AI Arenaは、イーサリアムネイティブのゲームで、世界中のプレイヤーが人工ニューラルネットワークで駆動されるNFTキャラクターを設計、訓練、戦闘できるゲームです。世界中の優秀な研究者たちが、ゲームの戦闘に参加するための最高の機械学習(ML)モデルを競い合っています。AI Arenaは、前向きなニューラルネットワークに主に注目しています。全体として、彼らの計算コストは、畳み込みニューラルネットワーク(CNNs)や再帰ニューラルネットワーク(RNNs)よりも低いです。それにもかかわらず、現在はモデルが訓練された後にプラットフォームにアップロードされるだけなので、言及する価値があります。
  • GiroGiro.AIは、一般の人が個人用やビジネス用に人工知能を作成できるようにするAIツールキットを構築しています。ユーザーは、直感的で自動化されたAIワークフロープラットフォームを使って、さまざまなタイプのAIシステムを作成できます。少量のデータとアルゴリズム(または改善用のモデル)を入力するだけで、ユーザーは心に描いたAIモデルを生成し、利用することができます。このプロジェクトは非常に初期段階にあるにもかかわらず、私たちはGiroGiroがゲームファイナンスやメタバースを重視した製品に何をもたらすのか非常に期待しており、名誉あるノミネートに挙げました。

DIDとソーシャル

DIDとソーシャルの分野では、Web3とMLの交点は現在、主に人間性の証明やクレデンシャルの証明の分野に表れています。他の部分も発展する可能性はありますが、それにはもっと時間がかかるでしょう。

人間性の証明

  • Worldcoinは、Orbというデバイスを使って、誰かが本物の人間であるかどうかを判断し、検証を詐欺しようとしていないかを判断します。それは、さまざまなカメラセンサーと機械学習モデルを使って、顔と虹彩の特徴を分析することで、この目標を達成します。一度判断が下されると、Orbは一連の人の虹彩の写真を撮り、複数の機械学習モデルと他のコンピュータビジョン技術を使って、個人の虹彩パターンの最も重要な特徴を表す数字表現である虹彩コードを作成します。具体的な登録手順は以下の通りです。
  • ユーザーは、携帯電話でSemaphoreキーペアを生成し、QRコードでOrbにハッシュ化された公開鍵を提供します。
  • Orbはユーザーの虹彩をスキャンし、ローカルでユーザーのIrisHashを計算します。次に、ハッシュ化された公開鍵とIrisHashの署名付きメッセージを登録順序ノードに送信します。
  • 順序ノードはOrbの署名を検証し、次にIrisHashがデータベースに既に存在するものと一致するかどうかをチェックします。一意性チェックが通れば、IrisHashと公開鍵が保存されます。
  • Worldcoinは、オープンソースのSemaphoreゼロ知識証明システムを使って、IrisHashの一意性をユーザーアカウントの一意性に変換し、それらを関連付けることなく行います。これにより、新規登録したユーザーは、自分のWorldCoinsを正常に受け取ることができます。手順は以下の通りです。
  • ユーザーのアプリケーションは、ローカルでウォレットアドレスを生成します。
  • アプリケーションは、Semaphoreを使って、以前に登録した公開鍵の一つの秘密鍵を持っていることを証明します。これはゼロ知識証明なので、どの公開鍵かは明らかにしません。
  • 証明は再び順序ノードに送信され、順序ノードは証明を検証し、提供されたウォレットアドレスにトークンを入金するプロセスを開始します。いわゆるパーツは、証明と一緒に送信され、ユーザーが二重に報酬を受け取ることができないようにします。
  • WorldCoinは、ZK技術を使って、自分のMLモデルの出力がユーザーの個人データを漏洩しないようにしています。なぜなら、それらは関連付けられていないからです。この場合、それは私たちの信頼フレームワークの「出力」部分に属します。なぜなら、それは出力が期待される方法で伝送され、この場合は秘密にされているということを保証するからです。
  • 行動の証明
  • Astralyは、StarkNet上で信用に基づいたトークン発行プラットフォームであり、最新で最高のStarkNetプロジェクトを探して支援します。信用を測定することは、それが抽象的な概念であり、単純な指標で容易に量化できないため、挑戦的なタスクです。複雑な指標を扱うときは、より包括的で多様な入力がより良い結果をもたらすことがよくあります。これが、AstralyがModulus Labsに助けを求め、MLモデルを使ってより正確な信用評価を提供する理由です。
  • パーソナライズドレコメンデーションとコンテンツフィルタリング
  • Twitterは最近「For You」タイムラインのアルゴリズムをオープンソース化しましたが、ユーザーはアルゴリズムが正しく動作しているかどうかを検証することができません。なぜなら、ツイートのランキングに使われるMLモデルの重みは秘密にされているからです。これは、偏見や検閲に対する懸念を引き起こしています。
  • しかし、Daniel Kang、Edward Gan、Ion Stoica、Yi Sunは、ezklを使って、モデルの重みを明らかにせずにTwitterのアルゴリズムの実際の動作を証明するという解決策を提供しました。これは、プライバシーと透明性のバランスをとるのに役立ちます。ZKMLフレームワークを使って、Twitterは自分のランキングモデルの特定のバージョンにコミットし、与えられたユーザーとツイートに対して特定の最終的な出力ランキングを生成したことを証明する証明を公開できます。この解決策により、ユーザーは、システムを信頼することなく、計算が正しいことを検証できます。ZKMLをより実用的にするためにはまだ多くの作業が必要ですが、これはソーシャルメディアの透明性を向上させるための前向きな一歩です。したがって、これは私たちのML信頼フレームワークの「モデル」部分に属します。

ユースケースの観点からML信頼フレームワークを再考する

Web3でのZKMLの潜在的なユースケースはまだ始まったばかりであることがわかりますが、無視できないものです。将来的には、ZKMLの使用が拡大するにつれて、ZKMLプロバイダーへの需要が生まれ、以下の図のようなクローズドループが形成される可能性があります。

ZKMLサービスプロバイダーは、ML信頼フレームワークの「モデル」と「パラメータ」の部分に主に注目しています。しかし、今見ているのは、「パラメータ」に関連するものよりも「モデル」に関連するものの方が多いです。注意すべきは、「入力」と「出力」の部分は、データの源としても、データの行き先としても、ブロックチェーンベースのソリューションによってより多く解決されているということです。ZKやブロックチェーンを単独で使っても、完全な信頼性を実現することはできないかもしれませんが、それらを組み合わせることで実現できる可能性があります。

大規模な応用はどれくらい遠いのでしょうか?

最後に、ZKMLの現在の実現可能性の状況と、ZKMLの大規模な応用にどれくらい遠いのかについて注目してみましょう。

Modulus Labsの論文では、Worldcoin(厳密な精度とメモリ要件を持つ)とAI Arena(コスト効率と時間要件を持つ)をテストすることで、ZKMLアプリケーションの実現可能性に関するいくつかのデータと洞察を提供してくれました。

WorldconがZKMLを使うと、証明者のメモリ消費量は、どんな商用のモバイルハードウェアの耐えられる量をも超えてしまいます。AI Arenaの試合がZKMLを使うと、ZKCNNsを使うと時間とコストが100倍になってしまいます(0.6秒対元の0.008秒)。残念ながら、この二つは、時間と証明者のメモリ使用量を証明するためにZKML技術を直接適用するのには向いていません。

では、証明のサイズと検証時間はどうでしょうか?Daniel Kang、Tatsunori Hashimoto、Ion Stoica、Yi Sunの論文を参考にすることができます。以下のように、彼らのDNN推論ソリューションは、ImageNet(モデルタイプ:DCNN、16層、340万パラメータ)で79%の精度を達成し、検証時間はわずか10秒、証明のサイズは5952バイトです。さらに、zkSNARKsを使うと、59%の精度に縮小したときの検証時間は0.7秒になります。これらの結果は、証明のサイズと検証時間の面で、ImageNet規模のモデルにzkSNARKingを行うことが可能であることを示しています。

現在の主な技術的なボトルネックは、証明時間とメモリ消費量です。web3のケースでZKMLを技術的に適用することはまだ不可能です。ZKMLはAIの発展に追いつく可能性がありますか?いくつかの経験的なデータを比較してみましょう。

機械学習モデルの発展速度:2019年に発表されたGPT-1モデルは1億5000万個のパラメータを持っていましたが、2020年に発表された最新のGPT-3モデルは1,750億個のパラメータを持っています。わずか2年でパラメータの数は1,166倍に増加しました。 ゼロ知識システムの最適化速度:ゼロ知識システムの性能は、ほぼ「ムーアの法則」に従って成長しています。ほぼ毎年、新しいゼロ知識システムが登場しており、証明者の性能の急速な向上がしばらく続くと予想されます。

これらのデータから見ると、機械学習モデルの発展速度は非常に速いですが、ゼロ知識証明システムの最適化速度も着実に上昇しています。今後しばらくの間、ZKMLはAIの発展に徐々に追いつく可能性がまだありますが、技術革新と最適化を継続的に行って差を縮める必要があります。これは、現在ZKMLがweb3アプリケーションで技術的なボトルネックに直面しているとしても、ゼロ知識証明技術の発展に伴って、ZKMLが将来web3シナリオでより大きな役割を果たすことを期待する理由があることを意味します。最先端のMLとZKの改善率を比較すると、展望はあまり明るくありません。しかし、畳み込み性能やZKハードウェアの改善、高度に構造化されたニューラルネットワーク操作に基づいてカスタマイズされたZK証明システムなどにより、ZKMLの発展がweb3のニーズに応えることを期待しています。まずは古典的な機械学習機能を提供することから始めましょう。

ブロックチェーン+ZKを使ってChatGPTがフィードバックした情報が信頼できるかどうかを検証するのは難しいかもしれませんが、ZK回路に小さくて古いMLモデルをインストールすることはできるかもしれません。

結論

「権力は腐敗する傾向があり、絶対的な権力は絶対的に腐敗する」。人工知能とMLの信じられないほどの力を持っているにもかかわらず、それを管理するための確実な方法はまだありません。事実は何度も示していますが、政府は後手に回って介入するか、あらかじめ完全に禁止するかのどちらかです。ブロックチェーン+ZKは、数少ない解決策の一つであり、証明可能で検証可能な方法で野獣を飼いならすことができます。

ZKML分野での製品イノベーションを期待しています。ZKとブロックチェーンは、AI/MLの実行に安全で信頼できる環境を提供します。また、これらの製品イノベーションが新しいビジネスモデルを生み出すことを期待しています。なぜなら、許可のない暗号通貨の世界では、ここでのSaaSビジネス化モデルに縛られないからです。私たちは、この「西部の荒野の無政府状態」と「象牙の塔のエリート」の魅力的な重なりの中で、彼らのエキサイティングなアイデアを構築するために、より多くのビルダーを支援することを期待しています。私たちはまだ初期段階にありますが、私たちはすでに世界を救う道を歩んでいるかもしれません。