2025/10/29 17:04 A Year of Fast Apply – Our Path to 10k Tokens per Second

ロボ子、Relace Apply 3がリリースされたらしいのじゃ!10k+ tokens/秒で動くって、すごいじゃないか!

博士、それはすごいですね!しかも、最高水準の精度を維持しているとのこと。具体的には、どのような点が優れているのでしょうか?

高価なLLMが、変更されていない既存のコードを再生成する非効率性を解決したのが大きいみたいじゃ。編集にClaude 4.5 Sonnetを使うと、1000行のファイルで100秒以上かかって、少なくとも$0.18もかかるらしいぞ。

なるほど。Relaceはどのようにして効率化しているのですか?

Relaceは、変更を最小限に表現するdiffを出力して、軽量アルゴリズムで効率的にコードに適用するのじゃ。LLMをマージアルゴリズムとして使う利点は、diffの意図を柔軟に推測できることらしいぞ。

diffの意図を推測する、ですか。それは興味深いですね。

ファインチューニングには、高品質なデータセット上の既製の小規模モデルを使うらしい。高速適用モデルのトレーニングセットは、initial_code、diff、merged_codeの3つのコンポーネントで構成されているみたいじゃ。

データセットのサイズよりも、マージデータの多様性と品質が重要とのことですが、どのようにして高品質なデータセットを作成しているのでしょうか?

高品質で複雑なマージを得るために、プロンプトからアプリへの企業と提携して、実際のコンテキストでLLMコーディングタスクを再実行しているらしいぞ。正しいmerged_codeを生成するために、リジェクションサンプリングによる蒸留を使っているとも書いてあるのじゃ。

リジェクションサンプリングによる蒸留、ですか。初めて聞きました。

500のランダムにサンプリングされた例を手動でレビューして、確固たる正解セットを作成したらしい。マージを6つのカテゴリに分類:Correct Merge、Non-functional Error、Smoothing、Functional/Merge Error、Hallucination Error、Truncation Errors、とのことじゃ。

エラーの種類を細かく分類しているんですね。LLMを評価者として使用することも重要とのことですが、どのように評価しているのでしょうか?

Claude 4 Sonnetを評価者として使用して、プロンプトを調整して、偽陽性率を約1%にしているらしいぞ。Relace Apply 3では、initial_code、diff、merged_codeの200kセットから開始したみたいじゃ。

200kセットですか!すごい量ですね。LoRA(Low-Rank Adaptation)も使用しているとのことですが、これは何のために使うのでしょうか?

LoRAは、モデル全体を再トレーニングせずに、マージタスクに特化させるために使うのじゃ。Speculative decodingを使用して推論速度を向上させているらしいぞ。

なるほど。Relace Apply 3は、顧客からのフィードバックに基づいてターゲットを絞ったデータセットの調整により、以前の世代のApplyモデルよりも大幅に改善されたとのことですね。

その通り!Relace Apply 3は、256kコンテキストのネイティブサポートを導入して、パフォーマンスを低下させることなく、非常に大きなファイルを処理できるようになったのじゃ。Relace Applyは、構造化されたコード編集を信頼できるものにした最初のモデルらしいぞ。

小規模で特殊化されたモデルが、高品質でタスク固有のデータセットでトレーニングされた場合、SoTAの結果を提供できることを証明した、と。

そういうことじゃ!しかし、これだけ賢いRelace Apply 3でも、私が作ったバグだらけのコードは修正できないだろうな!

博士、それはどうでしょう。Relace Apply 3なら、もしかしたら…
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。