Model Editing
モデル編集とは何か、完全な再学習なしで機械学習の挙動を更新する方法、主なリスク、評価方法、およびUltralytics YOLO26のワークフローについて学びます。
モデル編集とは、完全な再学習を行うことなく、特定の振る舞いを学習、修正、または削除できるように、学習済み機械学習モデルをターゲットを絞って修正することです。エディタによって、選択したモデルの重みを変更したり、小さなメモリ・モジュールを追加したり、推論時に出力をリダイレクトしたりします。この用語は一般的に、大規模言語モデルの知識修正を指しますが、マルチモーダルおよびビジョンの基盤モデルにもますます適用されるようになっています。3Dオブジェクトや生成画像の編集を意味するものではありません。
Link to this sectionモデル編集の仕組み#
モデル編集のリクエストでは通常、入力、古い応答、および希望する応答を指定します。2024年の包括的な知識編集に関する研究で説明されている手法は、一般的に、内部パラメータの更新、新しい知識のモデルへの統合、または外部知識の参照という3つのグループに分類されます。(arxiv.org)
モデル編集は関連する技術とは異なります:
- ファインチューニング: データセット全体にわたって振る舞いを更新しますが、モデル編集は限定的で局所的な変更を目的としています。
- EasyEdit知識編集フレームワーク: 言語モデル向けの、実用的なパラメータ、メモリ、メタ学習エディタを示しています。(aclanthology.org)
- 検索拡張生成: 基盤となるパラメータを変更せずに、最新の情報を提供します。
- マシン・アンラーニング: 知識の置き換えや追加ではなく、学習された情報の削除を目指します。
- モデル・マージ: 1つの精密な編集を実行する代わりに、複数の学習済みモデルまたは更新を組み合わせます。
Link to this section評価とリスク#
成功した編集は、ターゲット・リクエストに対する信頼性 (reliability)、言い換えられた入力に対する汎用性 (generality)、無関係な振る舞いに対する局所性 (locality)、および関連する推論タスクへの**移植性 (portability)**を満たす必要があります。知識編集の落とし穴、汎用性の低下、および近傍の知識の摂動に関する研究は、一見正しいように見える編集が、無関係な回答や推論スキルを変化させる可能性があることを示しています。(openreview.net)
繰り返しの編集は、破局的忘却を引き起こす可能性もあります。2025年の知識エディタ評価に関する研究で強調されているように、結果は評価指標とバッチサイズに大きく依存する場合があります。マルチモーダル評価は、ビジョン・言語編集のためのVLKEBや多様な視覚知識のためのMMKE-Benchを通じて拡大しています。(aclanthology.org)
Link to this section実社会での応用#
- 生涯ビジョン・言語モデルの更新: ビジュアル・アシスタントは、以前の視覚知識を保持しながら、新しく導入された製品や修正されたランドマークの識別を学習できます。
- 医療用ビジョン・言語の修正: 画像とテキストのバリエーション全体で古い用語や診断知識を更新した後、臨床システムを評価できます。(arxiv.org)
- コンピュータビジョンの適応: 完全な学習パイプラインを再構築することなく、新しい種類の欠陥を認識するように検査モデルを更新できます。
Link to this section現在のベストプラクティス#
元のチェックポイントを維持し、最も効果的な最小限の更新を使用し、デプロイの前に幅広いモデル・テストを実行してください。最近の研究では、現実的な条件の下でより堅牢である可能性があるコンテキストベースのアプローチと重みの編集を比較することや、干渉について長い編集のシーケンスをテストすることが提案されています。(arxiv.org) 本番チームは、編集ログ、ロールバック・パス、安全テスト、および継続的なモデル・モニタリングを維持する必要があります。
Link to this sectionUltralyticsワークフローにおけるモデル編集#
Ultralytics YOLO26の場合、ターゲットを絞ったトレーニングは、広範なモデル編集の実質的な同等品です。この例では、小さなデータセットを使用して事前学習済み検出器を更新し、意図しないパフォーマンスの変化を検出するために検証を適用します:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=1)
metrics = model.val()
print(metrics.box.map)PyTorchモデル保存ガイドを使用してバージョン管理されたチェックポイントを維持し、Ultralytics Platformを使用してデータの注釈付け、更新されたモデルのトレーニング、リビジョンのデプロイ、および本番パフォーマンスのモニタリングを行います。






