70B モデルでは、数秒で 1,000 個のトークンを生成でき、これはほぼ 4,000 文字に相当します。
研究者は Llama3 を微調整し、高速化アルゴリズムを導入しました。ネイティブ バージョンと比較して、速度は 13 倍速くなります。
速いだけでなく、コード書き換えタスクのパフォーマンスは GPT-4o をも上回ります。
この成果は、人気の AI プログラミング成果物 Cursor の背後にあるチーム、anysphere によるもので、OpenAI も投資に参加しました。
有名な高速推論加速フレームワークである Groq では、70B Llama3 の推論速度は 1 秒あたりわずか 300 トークンを超えることを知っておく必要があります。
カーソルの速度は、ほぼ瞬時に完全なコード ファイル編集を実現すると言えます。
Cursor で修正した Llama3 を Groq 上に置くと、1 秒あたり数万のトークンが生成できるのではないかという質問がありました。
大型モデルの分野では「遅延」の概念がなくなると言ってさらに興奮する人もいます。
今回著者が設計した高速化手法は主に、コード内容を素早く変更して適用する「高速適用」と呼ばれるタスクを解決するために使用されます。
最初に注意すべきことは、タスクの最終的な効果はコードの部分的な変更ですが、実際の操作では、出力は変更された内容だけではなく、直接的なグローバル書き換えであるということです。
この理由は、事前テスト後にチームが行った選択です。Claude-3-Opus を除いて、ほとんどのモデルが実際のローカル修正タスクで満足のいくパフォーマンスを発揮していないことがわかりました。
これには主に 3 つの理由があります:
(ただし、著者は、これはまだ将来の研究の方向性の可能性があると信じています。)
グローバル書き換えの解決策を決定した後、Cursor チームはタスク関連データを使用して Llama3 を微調整しました。
使用されるデータは、実際に編集されたデータと合成データの 2 つのソースから取得され、1:4 の比率で混合されます。
合成データとは、GPT-4 を使用してコード編集の提案を生成し、他のモデルを使用してこれらの提案を元のコードに「適用」することを指します。
データセットの品質を向上させるために、作成者は小さなファイル、重複ファイル、未変更のサンプルもダウンサンプリングしました。
これらのモデルのパフォーマンスを評価するために、作成者は 450 のコード編集タスク (それぞれ 400 行以下) を実行し、Claude3-Opus で出力をスコアリングしました。
最終的に、著者が微調整した 70B Llama3 モデルは、Claude3-Opus-diff とほぼ同等のパフォーマンスを示し、GPT-4-Turbo や GPT-4o よりも優れていました。
これまでの微調整によりパフォーマンスの問題は解決されましたが、現時点では Llama3 がまだ非常に遅く、1 秒あたり 300 文字未満しか出力できないことは明らかです (単語やトークンではなく文字)。
そして、書き換え作業を高速化するのは、もう 1 つの秘密兵器です。
コード書き換えタスクのために、Cursor チームは予測編集 (投機的編集) と呼ばれるアルゴリズムを特別に導入しました。
この方法では、アプリオリ アルゴリズムを使用して後続の複数のトークンを予測し、検証に大規模なオントロジー モデルを使用します。これにより、大規模なモデルの呼び出し数が減り、計算量が削減されます。
この先験的なアルゴリズムは、他のテキストと比較して語彙が少なく、文法構造やインデント規則などの確実性が高いコーディングタスクの特徴に由来しています。先験的な知識を使用することで、より正確な未来トークンを予測できます。
このアプローチには GPT-4 と Meta にも共通点があります -
従来の言語モデルの推論が遅い理由は主に、次のトークンを予測するプロセスが通常自己回帰的であるためです。つまり、モデルが For each を生成しているためです。トークンの場合、以前に生成されたすべてのトークンが考慮されます。
計算量を削減するために、GPT-4に代表される大規模なモデルは、予測復号(投機的復号)と呼ばれる高速化アルゴリズムを使用して、小さな近似モデルを通じて事前に予測し、オントロジーの大規模モデルに任せます。予測結果を検証します。
Cursor と GPT-4 の違いは、前者の小さな「モデル」はより決定論的なアルゴリズムであるのに対し、後者はモデルのサイズを縮小するだけで、依然として本質的に確率的な予測であることです。
Meta は、n 個の独立した出力ヘッドを使用して、n 個の将来のトークンを同時に予測するアルゴリズムを導入しました。 は、プログラミング タスク で特に優れたパフォーマンスを発揮します。言語はより厳密になり、知識の内的な結びつきはより緊密になります。
もちろん、Cursor はアテンション ヘッドを使用する代わりにこの機能を最大限に活用し、より確実なアルゴリズムを直接使用してマルチトークンの予測を行います。
最終結果は、予測アルゴリズムにより、評価パフォーマンスを損なうことなく、70B Llama3 の速度がほぼ 13 倍向上しました。
さらに、著者は、エンタープライズ AI モデル インフラストラクチャ プラットフォーム firewall.ai とも協力し、その最適化された推論エンジンとカスタマイズされたハードウェア環境を使用して、モデルの動作効率をさらに向上させました。
将来的には、チームは知識の蒸留を実施し、予測編集アルゴリズムをより小型の 8B Llama3 に移行し、より多くのプログラミング言語とタスクに拡張することも計画しています。
同時に、著者は、Cursor チームが研究したものの採用されなかった真の部分変更 (Diff) アルゴリズムの改善も計画しています。
実験では、著者は予測アルゴリズムを使用して Llama3 を高速化するだけでなく、GPT4-Turbo も高速化しました。
ただし、著者は GPT での実装方法を紹介しませんでしたが、いくつかの思考上の質問を残し、さらには「賞を獲得する推測」を開催しました。
正解できた人は 1 か月の Cursor メンバーシップを取得でき、vllm と TensorRT-LLM で予測高速化を達成できた場合は、それぞれ半年と 1 年間のメンバーシップを取得できます。
何かアイデアがあると感じたら、チャレンジ(手動犬頭)してみるのもいいかもしれません。
以上が70B モデルは数秒で 1,000 トークンを生成、コード書き換えは GPT-4o を超える、OpenAI が投資したコード成果物である Cursor チームによるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。