Author: Haseeb Qureshi, Partner, Dragonfly Capital Source: medium Translated by: Good Oba, Golden Finance
Llama2-70B のような大規模な言語モデルを実行したいとします。="text-align: left;">Llama2-70Bのような大規模な言語モデルを実行したいとします。これほど大きなモデルは140GB以上のメモリを必要とするため、元のモデルを自宅のコンピュータで実行することはできません。あなたの選択肢は?クラウド・プロバイダーに飛びつくかもしれないが、中央集権的な一企業にこのワークロードを任せ、すべての使用データを収集するのはあまり気が進まないかもしれない。そこで必要なのが、単一のプロバイダーに依存することなく機械学習モデルを実行できる分散型推論です。
信頼の問題
分散型ネットワークでは、モデルを実行して出力を信頼するだけでは十分ではありません。仮に私が、Llama2-70Bを使ってガバナンスのジレンマを分析するようネットワークに依頼したとしよう。ネットワークが実際にはLlama2-13Bを使っていて、より悪い分析結果を出し、その差額を懐に入れていないことをどうやって確認すればいいのだろうか?
中央集権的な世界では、OpenAIのような会社は評判がかかっているので、これを誠実に行うことを信用できるかもしれません(そしてある程度、LLMの品質がそれを物語っています)。しかし、非中央集権的な世界では、正直さは仮定されるものではなく、証明されるものなのです。
そこで、検証可能な推論が登場する。クエリに対する回答を提供するだけでなく、それが要求しているモデルで正しく機能することを証明することができます。しかしどうやって?
最も簡単な方法は、オンチェーンのスマートコントラクトとしてモデルを実行することです。GPT-3は12,288の埋め込み次元で単語を表します。GPT-3は、12,288の埋め込み次元を持つ単語を表します。そのサイズのオンチェーン行列乗算を行うとしたら、現在のガス価格で約100億ドルのコストがかかり、その計算は各ブロックを約1ヶ月間埋め尽くすことになります。
だから違う。違うアプローチが必要だ。
全体の状況を見た結果、検証可能な推論に対する3つの主要なアプローチが出現したことは明らかです:ゼロ知識証明、楽観的詐欺証明、暗号経済学です。それぞれに、セキュリティとコストへの影響があります。
1.ゼロ知識証明(ZK ML)
大規模なモデルを実行したことを証明できることを想像してみてください。大規模なモデルを実行したことを証明できることを想像してみてください。それがZK-SNARKのマジックによってZK MLが約束するものです。
原理的にはエレガントに聞こえますが、深いニューラルネットワークをゼロ知識回路にコンパイルし、それを証明することは非常に困難です。少なくとも、推論のコストは1000倍、レイテンシ(証明の生成にかかる時間)は1000倍かかるだろうし、モデル自体を回路にコンパイルするのは言うまでもない。最終的に、そのコストはユーザーに転嫁されなければならないので、これはエンドユーザーにとって非常に高価なものになってしまいます。
一方で、これは暗号技術によって正しさを保証する唯一の方法です。ZKを使えば、モデル提供者はどんなに頑張ってもごまかすことはできません。しかし、そうするためのコストは莫大であり、当面の間、大規模なモデルでは実用的ではありません。
例:EZKL、Modulus Labs、Giza
2.楽観的なML
2.楽観的なMLとは?align: left;">楽観的アプローチは、信頼するが検証することである。そうでないことが証明されない限り、推論が正しいと仮定します。あるノードが不正を行おうとした場合、ネットワーク内の「オブザーバー」は不正を行ったノードを指摘し、不正の証明を持って挑むことができる。これらのオブザーバーは常に連鎖を監視し、自分自身のモデルで推論を再実行し、出力が正しいことを確認しなければならない。
これらの不正証明は、Truebitのスタイルのインタラクティブな挑戦-応答ゲームであり、エラーを見つけるまで、連鎖全体でモデルの実行軌跡を反復的に分割することができます。
これが実際に起こるとしたら、これらのプログラムは非常に大きく、巨大な内部状態を持つため、非常にコストがかかります。-- 1回のGPT-3推論のコストは約1ペタフロップ(10^5浮動小数点演算)です。しかし、ゲーム理論によれば、このようなことはほとんど起こらないでしょう(詐欺の証明は、コードが本番で攻撃されることはほとんどないため、正しくエンコードするのが難しいことで有名です)。
楽観的な利点は、正直な観察者が注意を払っている限り、機械学習は安全だということです。コストはZK MLよりも安いですが、ネットワーク内の各オブザーバは各クエリを独自に再実行することに留意してください。平衡状態において、もし10人のオブザーバーがいた場合、安全性のコストはユーザーに転嫁されなければならないので、ユーザーは推論コストの10倍以上(またはオブザーバーが何人いても)を支払わなければならないことを意味する。
楽観的集約と同様に、欠点は、レスポンスが検証されたことを確認する前に、チャレンジ期間が過ぎるのを待たなければならないことです。しかし、ネットワークがどのようにパラメータ化されているかによっては、数日ではなく数分待つ必要があるかもしれません。
例:Ora、Gensyn(現在は特定されていませんが)
3.暗号経済学(Cryptoeconomics ML)
ここにいます。">ここでは、派手な技術はすべて捨てて、シンプルなことを行います:株式加重投票です。ユーザーがクエリを実行するノードの数を決定し、各ノードがその応答を表示し、応答間に不一致がある場合は、奇数のノードがカットされます。これは、コストと信頼のバランスをとりながら、ユーザーが望むセキュリティ・レベルを設定できる、よりわかりやすいアプローチだ。もしChainlinkが機械学習をしていたら、これをやっていただろう。
ここでのレイテンシーは高速です。各ノードのコミット表示が必要なだけです。ブロックチェーンに書き込まれるのであれば、技術的には2ブロックで実現できます。
しかし、セキュリティは最も弱い。ほとんどのノードは、十分に狡猾であれば、合理的に共謀を選択することができます。ユーザーとしては、これらのノードがどれだけ危険で、不正行為にどれだけのコストがかかるかを推測しなければならない。とはいえ、Eigenlayer rehypothecationや帰属するセキュリティのようなものを使うことで、ネットワークは効果的にセキュリティ失敗時の保険を提供することができる。
しかし、このシステムの優れた点は、ユーザーが望むセキュリティのレベルを指定できることだ。このコスト関数は単純で、ユーザーは自分が望むノードの定足数に対して支払う。もし3ノードを選べば、推論コストの3倍を支払うことになる。
ここで厄介な問題がある。単純な実装では、誰もチェックしなければ、個々のノードは毎回ズルをするはずです。しかし、クエリを暗号化し、インテントで支払いを行うようにすれば、このタスクに応答するノードが実は自分だけであることをノードに難読化できるかもしれない。その場合、おそらく平均的なユーザーには、推論のコストの2倍未満しか請求できないでしょう。
結局のところ、暗号経済的なアプローチは最もシンプルで簡単で、おそらく最も安価ですが、最もセクシーではなく、原理的に最も安全ではありません。しかし、いつものように、違いを生むのは細部なのだ。
例:Ritual(現在のところ未定義ですが)、Atoma Network
検証可能な機械学習が難しい理由
あなたは、このような機械学習についてよく知らないかもしれません。align: left;">なぜまだすべてがわかっていないのか不思議に思うかもしれない。結局のところ、その性質上、機械学習モデルは非常に大きなコンピューター・プログラムに過ぎません。プログラムが正しく実行されることを証明することは、長い間ブロックチェーンの基盤となってきた。
だからこそ、これら3つの検証方法は、ブロックチェーンがブロック空間を保護する方法を反映しているのです。L1ブロックチェーンはクリプトエコノミクスを使用する。驚くことではないが、本質的に同じ解決策にたどり着く。では、機械学習に適用した場合、何がこれを難しくしているのだろうか?
MLがユニークなのは、MLの計算が通常、GPU上で効率的に実行できるように設計された高密度の計算グラフとして表現されるからです。それらは証明されるようには設計されていません。そのため、ZKや楽観的な環境でMLの計算を証明したい場合、それを可能にする形式で再コンパイルする必要があります。
機械学習の2つ目の根本的な難しさは不確実性です。プログラムの検証は、プログラムの出力が決定論的であることを前提としています。しかし、同じモデルを異なるGPUアーキテクチャやCUDAバージョンで実行すると、異なる出力が得られます。すべてのノードに同じアーキテクチャを使わせる必要があるとしても、アルゴリズムで使われるランダム性の問題(拡散モデルではノイズ、LLMではトークン・サンプリング)にぶつかります。RNGの種を制御することでランダム性を修正することができます。しかしその場合でも、浮動小数点演算に内在する不確実性という、最後の脅威となる問題に直面することになります。
GPUのほとんどすべての演算は浮動小数点数で行われます。つまり、浮動小数点では、(a + b) + c が a + (b + c) と同じとは限りません。GPUは高度に並列化されているため、加算や乗算の順序は実行されるたびに異なり、出力にわずかな違いが生じる可能性があります。単語の離散的な性質を考えると、これがLLMの出力に影響することはほとんどありませんが、画像モデルの場合、わずかに異なるピクセル値になる可能性があり、その結果、2つの画像が完全に一致しなくなる可能性があります。
つまり、浮動小数点を避ける必要があり、これはパフォーマンスへの大きな打撃を意味します。いずれにせよ、詳細は複雑で、完全に抽象化することはできない。(結局のところ、これがEVMがNEARのようないくつかのブロックチェーンがサポートしているにもかかわらず、浮動小数点数をサポートしていない理由である)。
要するに、非中央集権的な推論ネットワークは、すべての詳細が重要であり、現実には驚異的な量の詳細があるため、難しいのです。
結論
現時点では、ブロックチェーンと機械学習には多くの共通点があることは明らかです。一方は信頼を生み出す技術であり、もう一方は信頼を切実に必要とする技術である。分散型の推論アプローチにはそれぞれトレードオフがありますが、私は起業家がこれらのツールを使って最高のネットワークを構築する方法を学ぶことに非常に興味があります。
。