ShopifyがPyTorchとvLLMで継続学習ループを構築した方法
AI製品では、リリースよりも本番投入後に継続的に改善することの方が難しい。ShopifyはGraphQLエージェントを例に、PyTorchとvLLMを使った継続学習ループを紹介している。この仕組みは、本番で起きた失敗を学習信号へ変換し、最終的にモデルの重みへ反映する。Shopifyによれば、前線モデルより高い品質を実現しながら、提供コストを96%削減した。
最初に「良い回答」を定義する
ループの出発点は品質基準である。Shopifyは製品要件を、完全性、実行結果、回答品質、安全性などの評価項目に分け、各スコアの意味を具体的に定める。これは製品担当者、アノテーター、評価モデル、学習処理が共有する品質契約になる。
評価データは、選び抜いた正解例だけでは不十分だ。既知の問題を確認するゴールデンセットに加え、ランダムに抽出した本番トラフィックを使うことで、チームが想定していなかった失敗を見つけられる。Shopifyは、2人の専門家にランダムなサンプルを盲検評価させ、Cohenのκで一致度を確認する方法を勧めている。専門家同士で意見が割れるなら、評価基準が曖昧なままなので、先に見直す必要がある。
評価モデルを校正する
ルーブリックを書くだけでは、自動評価器として十分に信頼できない。ShopifyはDSPyに加え、GEPAやAgentic Context Engineeringのような反省型オプティマイザーを使い、失敗の記録や自然言語のフィードバックから評価器を改善する。
さらに、過去のA/Bテストと照合し、実際の成果指標で確認された勝敗の方向を評価器が再現できるかを調べる。意図的に特定の挙動を悪化させ、対応するスコアだけが下がるかを見る劣化テストも有効だ。すべてを一つの巨大な審査器に詰め込むより、役割を絞った複数の評価器の方が解釈しやすい。
まずアプリケーションを改善する
評価器が整ったら、すぐに重みを更新するのではなく、既存の前線モデルを使ったアプリケーションを改善する。Shopifyはこれをオートリサーチとして扱い、エージェントにプロンプト、ツール定義、オーケストレーションコードの変更を提案させる。評価器で全体を測定し、スコアが上がる変更だけを残す。
実際の挙動は単一のプロンプトではなく、動的なプロンプト生成、ツール、制御ループ、コード全体から生まれる。そのため、ハーネス全体を対象にすることが重要になる。
本番の難例を重みへ戻す
アプリケーション側の改善が頭打ちになると、匿名化した本番対話から、評価器が正しく低評価した難例を抽出する。複数の推論モデルが失敗を分析し、仲裁役が修復指示をまとめる。その指示をユーザー発話の前に挿入して対話を再実行し、再評価する。
修復に成功した軌跡は、教師あり微調整と強化学習の材料になる。解決できない例は専門アノテーターへ送り、同じルーブリックで訂正する。こうして本番の知識は、プロンプトやルールだけに蓄積されず、モデルそのものへ移される。
意義
この事例の核心は、評価、ハーネス改善、難例発掘、人手確認、重み更新を一つの工程につないだ点にある。PyTorchが学習基盤を、vLLMが効率的な提供を支え、製品固有の経験を継続的に能力へ変換する循環を作っている。
出典:PyTorch Blog
コメント
ログイン状態を確認中…
コメントを読み込み中…