信じるな、検証せよ:分散推論の概要

ブロックチェーンと機械学習の交差点は近いですが、分散型の推論では、コストと信頼のバランスを取ることが重要な課題です。

大規模な言語モデルであるLlama2-70Bのようなモデルを実行したいとします。このように巨大なモデルには140GB以上のメモリが必要であり、それは自宅のマシンで生のモデルを実行することができないことを意味します。あなたの選択肢は何ですか?クラウドプロバイダーに移行するかもしれませんが、この作業負荷を処理し、すべての使用データを回収するために単一の中央集権企業に信頼することに消極的かもしれません。それでは、必要なのは分散推論です。これにより、任意の単一プロバイダーに依存せずにMLモデルを実行できます。

信頼問題

分散型ネットワークでは、単にモデルを実行して出力を信頼するだけでは不十分です。例えば、Llama2-70Bを使用してガバナンスのジレンマを分析するようにネットワークに要求したとします。実際にはLlama2-13Bを使用しており、より悪い分析を提供し、その差額を私がポケットしているとはどのようにしてわかりますか?

中央集権的な世界では、OpenAIのような企業がこれを正直に行っていると信頼してもよいかもしれませんが、それは彼らの評判がかかっているためです(そしてある程度、LLMの品質は自明である)。しかし、分散型の世界では、正直さは当然とはされません — それは検証されます。

これは検証可能な推論が重要になる場面です。クエリに対する応答を提供するだけでなく、求めたモデルで正しく実行されたことも証明します。しかし、どうやって?

素朴なアプローチは、モデルをオンチェーンのスマートコントラクトとして実行することです。これにより、出力が検証されることは確実ですが、これは非常に実用的ではありません。GPT-3は、埋め込み次元が12,288で単一の行列乗算をオンチェーンで行う場合、現在のガス価格で約100億ドルかかるでしょう。この計算は、約1か月間連続してすべてのブロックを埋め尽くすことになります。

だから、いいえ。私たちは異なるアプローチが必要です。

景色を観察した後、私には、検証可能な推論に取り組むために三つの主要なアプローチが浮かび上がってきました:ゼロ知識証明、楽観的な不正証明、および暗号経済学。それぞれが独自のセキュリティのフレーバーやコストの影響を持っています。

1. ゼロ知識証明 (ZK ML)

巨大なモデルを実行したことを証明できると想像してみてください。ただし、その証拠は、モデルのサイズに関係なく、実質的に固定サイズであると約束されています。それがZK MLが約束することであり、ZK-SNARKsの魔法を通じて実現されます。

原則的にはエレガントに聞こえますが、深層ニューラルネットワークをゼロ知識回路にコンパイルして、それを証明することは非常に難しいです。それは非常に高額でもあります — 最低でも、おそらく見積もりを出すと@ModulusLabs1000倍の推論コストと1000倍の待機時間(証明を生成する時間)に加え、モデル自体を回路にコンパイルするためのコストがかかります。最終的には、このコストはユーザーに転嫁される必要があり、したがって、エンドユーザーにとって非常に高価になります。

一方、これは暗号的に正確性を保証する唯一の方法です。ZKを使用すると、モデル提供者はどれだけ努力しても不正を行うことはできません。しかし、これには莫大なコストがかかり、将来の大規模なモデルには実用的でないとされています。

例: EZKL, Modulus Labs, ギザ

2. 楽観的な詐欺証明(楽観的ML)

楽観的なアプローチは、信頼することですが、検証することです。証明がされるまで推論が正しいと仮定します。ノードが詐欺を試みた場合、「見張り役」はネットワーク内で詐欺師としてそれを指摘し、詐欺の証拠を使って挑戦します。これらの見張り役は常にチェーンを監視し、独自のモデルで推論を再実行して出力が正しいことを確認しなければなりません。

これらの詐欺証明はTruebit-styleインタラクティブなチャレンジレスポンスゲームで、オンチェーンでモデル実行トレースを繰り返し2分割してエラーを見つけるまで

もし実際にこれが起こったら、それは非常に高価です。なぜなら、これらのプログラムは非常に大規模であり、巨大な内部状態を持っているからです。単一のGPT-3推論には約1 ペタフロップ (10¹⁵ 浮動小数点演算)。しかし、ゲーム理論は、これがほとんど起こらないはずであると示唆しています(詐欺証明は、プロダクションでコードがほとんど実行されないため、正しくコード化するのが非常に難しいことでもよく知られています)。

上向きであることは楽観的です。MLは、少なくとも1人の注意を払っている正直な観察者がいる限り安全です。コストはZK MLよりも安く、ただし、ネットワーク内の各観察者がそれぞれクエリを再実行していることを覚えておいてください。均衡状態では、10人の観察者がいる場合、そのセキュリティコストはユーザーに転嫁されなければならず、したがって、ユーザーは推論コストの10倍以上(または観察者の数)を支払わなければなりません。

一般的な楽観的ロールアップと同様に、欠点は、応答が検証されることを確認する前にチャレンジ期間が経過する必要があることです。ただし、そのネットワークがどのようにパラメータ化されているかによっては、数日ではなく数分待つ必要があるかもしれません。

例: Ora, 再会(現在は具体化されていませんが)

3. 暗号経済学(暗号経済ML)

ここでは、すべての洗練されたテクニックを捨てて、シンプルな方法、すなわちステーク重み付け投票を行います。ユーザーは、クエリを実行するノードの数を決定し、それぞれが回答を公開し、回答に不一致がある場合は、異なる回答をしたものが罰削りされます。標準的なオラクルのやり方ですが、ユーザーが望むセキュリティレベルを設定し、コストと信頼性をバランスよく保つことができるより直截的なアプローチです。Chainlinkが機械学習を行う場合、このように行うでしょう。

ここはレイテンシが速いです — 単に必要なのは、commit-reveal各ノードから。これがブロックチェーンに書き込まれるようであれば、技術的には2つのブロックでそれが起こる可能性があります。

ただし、セキュリティは最も脆弱です。ほとんどのノードは十分に狡猾であれば合理的に共謀を選択する可能性があります。ユーザーとしては、これらのノードがどれだけ賭けているか、そして不正をするためにかかるコストを考える必要があります。それは言うまでもなく、Eigenlayerのようなものを使用してリステーキングすることができます。帰属可能証券, ネットワークがセキュリティの障害が発生した場合に有効に保険を提供できる可能性があります。

ただし、このシステムの良いところは、ユーザーがどの程度のセキュリティを望むかを指定できるということです。彼らは、クォーラムに3ノードまたは5ノードを選択したり、ネットワーク内のすべてのノードを選択したりすることができます。あるいは、YOLOをしたい場合は、n=1を選択することさえできます。ここでのコスト関数はシンプルです:ユーザーは、クォーラムに望むノード数に応じて支払います。たとえば、3を選択すると、推論コストの3倍を支払います。

ここでの難しい質問: n=1を安全にすることはできますか?素朴な実装では、誰もチェックしていない場合、孤立したノードは常に不正を行うはずです。しかし、クエリを暗号化し、意図を介して支払いを行うことで、実際にはこのタスクに応答しているのはノード自身だということをノードに見えなくすることができるかもしれません。その場合、一般ユーザーに対して平均2倍の推論コスト未満で請求することができるかもしれません。

最終的に、暗号経済学的アプローチは、おそらく最も簡単で、最も簡単で、おそらく最も安いですが、最も魅力的ではなく、原則的には最も安全ではありません。しかし、いつも通り、悪魔は細部に宿る。

例: Ritual(現在は未指定ですが)、Atoma Network

検証可能なMLが難しい理由

すでにすべてを持っていないのはなぜか疑問に思うかもしれませんか? 結局のところ、機械学習モデルは単なる非常に大きなコンピュータプログラムです。 プログラムが正しく実行されたことを証明することは、長い間ブロックチェーンの主要な機能でした。

これらの3つの検証手法が、ブロックチェーンがブロックスペースを保護する方法を反映しているため、ZKロールアップはZKプルーフを使用し、楽観的ロールアップは詐欺証明を使用し、ほとんどのL1ブロックチェーンは暗号経済学を使用しています。私たちが基本的に同じ解決策に到達したことは驚くことではありません。では、MLに適用する際にこれを困難にする要因は何でしょうか?

MLはユニークです。なぜなら、MLの計算は一般的に密な計算グラフとして表現され、GPU上で効率的に実行されるように設計されているためです。これらは証明されることを意図していません。ですので、ZKや楽観的な環境でMLの計算を証明したい場合、これを可能にする形式で再コンパイルする必要があります。これは非常に複雑で高価です。

MLに関連する2つ目の基本的な困難は非決定論です。プログラムの検証では、プログラムの出力が決定論的であると想定されています。しかし、同じモデルを異なるGPUアーキテクチャやCUDAバージョンで実行すると、異なる出力が得られます。各ノードに同じアーキテクチャを使用するよう強制しても、アルゴリズムで使用されるランダム性の問題が残ります(拡散モデルのノイズ、またはLLMのトークンサンプリング)。そのランダム性を制御することで修正できます。RNGseed. しかし、それでも最終的な脅威となる問題が残っています: 浮動小数点演算に固有の非決定性。

ほとんどのGPUでの操作は浮動小数点数で行われます。浮動小数点数は気まぐれです。関連付けられていません — つまり、浮動小数点数に対して(a + b) + cが常にa + (b + c)と同じであるわけではないことになります。GPUは高度に並列化されているため、加算や乗算の順序が各実行ごとに異なる可能性があり、それが出力のわずかな違いにつながることがあります。これは単語の離散性を考慮して、LLMの出力に影響を与える可能性は低いですが、画像モデルの場合、微妙に異なるピクセル値をもたらし、2つの画像が完全に一致しない可能性があります。

これは、浮動小数点を使用しないか、パフォーマンスに大きな打撃を与えることを意味するか、出力を比較する際に柔軟性を許可する必要があることを意味します。いずれの方法にせよ、詳細は手の込んだものであり、正確には抽象化できません。(これが、実際にはEVMの理由ですサポートされていません浮動小数点数、一部のブロックチェーンは Gate.io のようにNEARdo.)

簡単に言うと、すべての詳細が重要なため、分散推論ネットワークは困難です。現実には驚くほどの詳細があります.

結論として

現在、ブロックチェーンと機械学習は明らかにお互いに多くを伝える必要があります。 一方は信頼を生み出す技術であり、もう一方はそれを切望している技術です。 分散型推論への各アプローチにはそれぞれトレードオフがありますが、これらのツールをどのように活用して最高のネットワークを構築するかを起業家たちがどのように取り組むかに非常に興味があります。

しかし、私は最後の言葉であるためにこの記事を書いたわけではありません。リアルタイムでこれらの考えについて多く考えており、多くの活発な議論をしています。私は常に、自分の考えをテストするために書くことが最善だと考えています。この分野で何かを構築している場合は、ぜひ連絡してください!あなたが取り組んでいることを常に知りたいですし、もし私を間違っていることが証明できるのであれば uml 、なお良いです。

免責事項:

  1. この記事は再掲されました[Dragonfly Research], すべての著作権は元の著者に帰属します[Haseeb Qureshi]. If there are objections to this reprint, please contact the Gate Learnチームは、すみやかに対処します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、あるいは盗用は禁止されています。

信じるな、検証せよ:分散推論の概要

中級4/16/2024, 2:08:16 AM
ブロックチェーンと機械学習の交差点は近いですが、分散型の推論では、コストと信頼のバランスを取ることが重要な課題です。

大規模な言語モデルであるLlama2-70Bのようなモデルを実行したいとします。このように巨大なモデルには140GB以上のメモリが必要であり、それは自宅のマシンで生のモデルを実行することができないことを意味します。あなたの選択肢は何ですか?クラウドプロバイダーに移行するかもしれませんが、この作業負荷を処理し、すべての使用データを回収するために単一の中央集権企業に信頼することに消極的かもしれません。それでは、必要なのは分散推論です。これにより、任意の単一プロバイダーに依存せずにMLモデルを実行できます。

信頼問題

分散型ネットワークでは、単にモデルを実行して出力を信頼するだけでは不十分です。例えば、Llama2-70Bを使用してガバナンスのジレンマを分析するようにネットワークに要求したとします。実際にはLlama2-13Bを使用しており、より悪い分析を提供し、その差額を私がポケットしているとはどのようにしてわかりますか?

中央集権的な世界では、OpenAIのような企業がこれを正直に行っていると信頼してもよいかもしれませんが、それは彼らの評判がかかっているためです(そしてある程度、LLMの品質は自明である)。しかし、分散型の世界では、正直さは当然とはされません — それは検証されます。

これは検証可能な推論が重要になる場面です。クエリに対する応答を提供するだけでなく、求めたモデルで正しく実行されたことも証明します。しかし、どうやって?

素朴なアプローチは、モデルをオンチェーンのスマートコントラクトとして実行することです。これにより、出力が検証されることは確実ですが、これは非常に実用的ではありません。GPT-3は、埋め込み次元が12,288で単一の行列乗算をオンチェーンで行う場合、現在のガス価格で約100億ドルかかるでしょう。この計算は、約1か月間連続してすべてのブロックを埋め尽くすことになります。

だから、いいえ。私たちは異なるアプローチが必要です。

景色を観察した後、私には、検証可能な推論に取り組むために三つの主要なアプローチが浮かび上がってきました:ゼロ知識証明、楽観的な不正証明、および暗号経済学。それぞれが独自のセキュリティのフレーバーやコストの影響を持っています。

1. ゼロ知識証明 (ZK ML)

巨大なモデルを実行したことを証明できると想像してみてください。ただし、その証拠は、モデルのサイズに関係なく、実質的に固定サイズであると約束されています。それがZK MLが約束することであり、ZK-SNARKsの魔法を通じて実現されます。

原則的にはエレガントに聞こえますが、深層ニューラルネットワークをゼロ知識回路にコンパイルして、それを証明することは非常に難しいです。それは非常に高額でもあります — 最低でも、おそらく見積もりを出すと@ModulusLabs1000倍の推論コストと1000倍の待機時間(証明を生成する時間)に加え、モデル自体を回路にコンパイルするためのコストがかかります。最終的には、このコストはユーザーに転嫁される必要があり、したがって、エンドユーザーにとって非常に高価になります。

一方、これは暗号的に正確性を保証する唯一の方法です。ZKを使用すると、モデル提供者はどれだけ努力しても不正を行うことはできません。しかし、これには莫大なコストがかかり、将来の大規模なモデルには実用的でないとされています。

例: EZKL, Modulus Labs, ギザ

2. 楽観的な詐欺証明(楽観的ML)

楽観的なアプローチは、信頼することですが、検証することです。証明がされるまで推論が正しいと仮定します。ノードが詐欺を試みた場合、「見張り役」はネットワーク内で詐欺師としてそれを指摘し、詐欺の証拠を使って挑戦します。これらの見張り役は常にチェーンを監視し、独自のモデルで推論を再実行して出力が正しいことを確認しなければなりません。

これらの詐欺証明はTruebit-styleインタラクティブなチャレンジレスポンスゲームで、オンチェーンでモデル実行トレースを繰り返し2分割してエラーを見つけるまで

もし実際にこれが起こったら、それは非常に高価です。なぜなら、これらのプログラムは非常に大規模であり、巨大な内部状態を持っているからです。単一のGPT-3推論には約1 ペタフロップ (10¹⁵ 浮動小数点演算)。しかし、ゲーム理論は、これがほとんど起こらないはずであると示唆しています(詐欺証明は、プロダクションでコードがほとんど実行されないため、正しくコード化するのが非常に難しいことでもよく知られています)。

上向きであることは楽観的です。MLは、少なくとも1人の注意を払っている正直な観察者がいる限り安全です。コストはZK MLよりも安く、ただし、ネットワーク内の各観察者がそれぞれクエリを再実行していることを覚えておいてください。均衡状態では、10人の観察者がいる場合、そのセキュリティコストはユーザーに転嫁されなければならず、したがって、ユーザーは推論コストの10倍以上(または観察者の数)を支払わなければなりません。

一般的な楽観的ロールアップと同様に、欠点は、応答が検証されることを確認する前にチャレンジ期間が経過する必要があることです。ただし、そのネットワークがどのようにパラメータ化されているかによっては、数日ではなく数分待つ必要があるかもしれません。

例: Ora, 再会(現在は具体化されていませんが)

3. 暗号経済学(暗号経済ML)

ここでは、すべての洗練されたテクニックを捨てて、シンプルな方法、すなわちステーク重み付け投票を行います。ユーザーは、クエリを実行するノードの数を決定し、それぞれが回答を公開し、回答に不一致がある場合は、異なる回答をしたものが罰削りされます。標準的なオラクルのやり方ですが、ユーザーが望むセキュリティレベルを設定し、コストと信頼性をバランスよく保つことができるより直截的なアプローチです。Chainlinkが機械学習を行う場合、このように行うでしょう。

ここはレイテンシが速いです — 単に必要なのは、commit-reveal各ノードから。これがブロックチェーンに書き込まれるようであれば、技術的には2つのブロックでそれが起こる可能性があります。

ただし、セキュリティは最も脆弱です。ほとんどのノードは十分に狡猾であれば合理的に共謀を選択する可能性があります。ユーザーとしては、これらのノードがどれだけ賭けているか、そして不正をするためにかかるコストを考える必要があります。それは言うまでもなく、Eigenlayerのようなものを使用してリステーキングすることができます。帰属可能証券, ネットワークがセキュリティの障害が発生した場合に有効に保険を提供できる可能性があります。

ただし、このシステムの良いところは、ユーザーがどの程度のセキュリティを望むかを指定できるということです。彼らは、クォーラムに3ノードまたは5ノードを選択したり、ネットワーク内のすべてのノードを選択したりすることができます。あるいは、YOLOをしたい場合は、n=1を選択することさえできます。ここでのコスト関数はシンプルです:ユーザーは、クォーラムに望むノード数に応じて支払います。たとえば、3を選択すると、推論コストの3倍を支払います。

ここでの難しい質問: n=1を安全にすることはできますか?素朴な実装では、誰もチェックしていない場合、孤立したノードは常に不正を行うはずです。しかし、クエリを暗号化し、意図を介して支払いを行うことで、実際にはこのタスクに応答しているのはノード自身だということをノードに見えなくすることができるかもしれません。その場合、一般ユーザーに対して平均2倍の推論コスト未満で請求することができるかもしれません。

最終的に、暗号経済学的アプローチは、おそらく最も簡単で、最も簡単で、おそらく最も安いですが、最も魅力的ではなく、原則的には最も安全ではありません。しかし、いつも通り、悪魔は細部に宿る。

例: Ritual(現在は未指定ですが)、Atoma Network

検証可能なMLが難しい理由

すでにすべてを持っていないのはなぜか疑問に思うかもしれませんか? 結局のところ、機械学習モデルは単なる非常に大きなコンピュータプログラムです。 プログラムが正しく実行されたことを証明することは、長い間ブロックチェーンの主要な機能でした。

これらの3つの検証手法が、ブロックチェーンがブロックスペースを保護する方法を反映しているため、ZKロールアップはZKプルーフを使用し、楽観的ロールアップは詐欺証明を使用し、ほとんどのL1ブロックチェーンは暗号経済学を使用しています。私たちが基本的に同じ解決策に到達したことは驚くことではありません。では、MLに適用する際にこれを困難にする要因は何でしょうか?

MLはユニークです。なぜなら、MLの計算は一般的に密な計算グラフとして表現され、GPU上で効率的に実行されるように設計されているためです。これらは証明されることを意図していません。ですので、ZKや楽観的な環境でMLの計算を証明したい場合、これを可能にする形式で再コンパイルする必要があります。これは非常に複雑で高価です。

MLに関連する2つ目の基本的な困難は非決定論です。プログラムの検証では、プログラムの出力が決定論的であると想定されています。しかし、同じモデルを異なるGPUアーキテクチャやCUDAバージョンで実行すると、異なる出力が得られます。各ノードに同じアーキテクチャを使用するよう強制しても、アルゴリズムで使用されるランダム性の問題が残ります(拡散モデルのノイズ、またはLLMのトークンサンプリング)。そのランダム性を制御することで修正できます。RNGseed. しかし、それでも最終的な脅威となる問題が残っています: 浮動小数点演算に固有の非決定性。

ほとんどのGPUでの操作は浮動小数点数で行われます。浮動小数点数は気まぐれです。関連付けられていません — つまり、浮動小数点数に対して(a + b) + cが常にa + (b + c)と同じであるわけではないことになります。GPUは高度に並列化されているため、加算や乗算の順序が各実行ごとに異なる可能性があり、それが出力のわずかな違いにつながることがあります。これは単語の離散性を考慮して、LLMの出力に影響を与える可能性は低いですが、画像モデルの場合、微妙に異なるピクセル値をもたらし、2つの画像が完全に一致しない可能性があります。

これは、浮動小数点を使用しないか、パフォーマンスに大きな打撃を与えることを意味するか、出力を比較する際に柔軟性を許可する必要があることを意味します。いずれの方法にせよ、詳細は手の込んだものであり、正確には抽象化できません。(これが、実際にはEVMの理由ですサポートされていません浮動小数点数、一部のブロックチェーンは Gate.io のようにNEARdo.)

簡単に言うと、すべての詳細が重要なため、分散推論ネットワークは困難です。現実には驚くほどの詳細があります.

結論として

現在、ブロックチェーンと機械学習は明らかにお互いに多くを伝える必要があります。 一方は信頼を生み出す技術であり、もう一方はそれを切望している技術です。 分散型推論への各アプローチにはそれぞれトレードオフがありますが、これらのツールをどのように活用して最高のネットワークを構築するかを起業家たちがどのように取り組むかに非常に興味があります。

しかし、私は最後の言葉であるためにこの記事を書いたわけではありません。リアルタイムでこれらの考えについて多く考えており、多くの活発な議論をしています。私は常に、自分の考えをテストするために書くことが最善だと考えています。この分野で何かを構築している場合は、ぜひ連絡してください!あなたが取り組んでいることを常に知りたいですし、もし私を間違っていることが証明できるのであれば uml 、なお良いです。

免責事項:

  1. この記事は再掲されました[Dragonfly Research], すべての著作権は元の著者に帰属します[Haseeb Qureshi]. If there are objections to this reprint, please contact the Gate Learnチームは、すみやかに対処します。
  2. 責任の免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳はGate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、あるいは盗用は禁止されています。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.