LLMの知識を狙い撃ちして編集する手法(Knowledge Editing:知識編集)の現状を網羅的にまとめた論文が公開されています。
知識編集はモデル全体を再学習させることない効率的なアプローチと言われており、信頼性の向上や、パーソナライズされたエージェントの開発に役立つとのことです。なお、有名な手法としてはLoRAなどが含まれます。
本記事では背景、知識編集の概要、3つのフェーズ、評価方法、今回行われた実験と結果、そして応用例について紹介します。
参照論文情報
- タイトル:A Comprehensive Study of Knowledge Editing for Large Language Models
- 著者:Ningyu Zhang et al.(多数)
- 所属:浙江大学, シンガポール国立大学, カリフォルニア大学ロサンゼルス校, Ant Group, Alibaba Group
- URL:https://doi.org/10.48550/arXiv.2401.01286
- GitHub:https://github.com/zjunlp/KnowledgeEditingPapers
- EasyEdit:https://github.com/zjunlp/EasyEdit
- KnowEdit:https://huggingface.co/datasets/zjunlp/KnowEdit
背景
LLMは、さまざまな知識をパラメータ内に蓄えています。下の図は、LLMにおける知識の保存方法を図式化したものです。モデルが情報を処理し、さまざまなレベルで言語の特徴をエンコードする様子を示しています。
LLMには、時として誤りや古い情報を出力するといった問題があります。この問題に対処する最も一般的な方法は、RAG(外部データの参照)やファインチューニングです。
関連研究:LLMのRAG(外部知識検索による強化)をまとめた調査報告
しかし、RAGやファインチューニングにも課題があります。まず、外部のデータベースにいちいちアクセスするのも、場合によっては効率的とは言えません。また、ファインチューニングにはコストと時間がかかる上に、新しい知識を学ぶと古い知識を忘却するという問題も存在します。
そのためパラメータ効率の良いチューニング技術が必要とされています。
そこで「知識編集」という戦略に注目が集まっています。LLMの知識を直接編集し、より効率的に最適化する方法です。
本記事の関連研究:
- ハーバード研究者などがLLMを創造的にすべく考案した、大喜利データセットでユーモアラスにチューニングする手法『LCoT』
- LLMにナレッジグラフ(知識グラフ)を連携させることで、タスク遂行能力を大幅に向上させるフレームワーク『Graph Neural Prompting(GNP)』
- LLMにベートーヴェンなど特定の人物の行動や感情を模倣させる、イタコのような技術『Character-LLM(キャラクターLLM)』
- 「わたしの話」を体系的に覚えてもらいながらLLMと会話する技術MemoChat登場
知識編集とは
知識編集は、モデルのパフォーマンス向上を目指して特定の知識をLLM内で変更するものです。事実や常識、感情など、多岐にわたる情報が対象です。
知識編集後のモデルは、指定された知識が上書きまたは追加されますが、他の知識に関しては理論上はそのまま保持されます。
下の表は、知識編集と他の手法(ファインチューニングなど)を比較しています。モデルのパラメータ数、精密さ、広範さを評価したものです。
3つのアクション
知識編集には、知識の挿入、変更、および消去という3つのアクションがあります。
知識の挿入:LLMに新しい知識を授けることです。
知識の変更:既にLLM内に格納されている知識を変更することです。誤った情報を修正する目的と、ユーザーからの誤ったプロンプトへの回答を修正する目的の2つがあります。
知識の消去:モデル内の既存の知識を消去することです。事実や関係、属性をリセットするために実施されます。
フェーズは3つ
知識編集には、3つのプロセスがあります。
それらのプロセスは人間の学習フェーズ(認識、結合、習得)に類似していると言われています。下の図が概念図です。
各フェーズを見ていきましょう。
認識フェーズ
モデルが新しい情報に出会ったとき、それをどのように理解して処理するかを学ぶ段階です。私たち人間が新しい情報に出会ったときと同じように、モデルも新しい情報をすぐにマスターするわけではなく、適切な文脈や例を通じて、徐々にその情報を理解していきます。
モデルに新しい情報を学ばせる手法には、いくつかの方法があります。一つは、新しい知識を記憶しておき、必要な時にそれを取り出して適切な答えを生成するようにモデルを導く方法です。
しかし、新しい情報を学ぶと、それが他の知識と衝突することもあります。また、モデルが新しい問題に出くわしたとき、記憶した答えを使うべきか、文脈に基づいて生成された答えを使うべきかを選ぶべきシナリオもあり、これら問題を解決するアプローチが研究されています。
認識フェーズに属する知識編集手法の例
- デモンストレーションを用いた方法(IKE):デモンストレーション(例えば、コピー、更新、保持)を構築して、モデルが信頼できる事実編集を行うのを支援します。
- インコンテキスト学習(ICE):入力の前に「Imagine that {knowledge}」というプロンプトを追加することで、モデルが特定の知識を考慮して回答を生成します。
結合フェーズ
結合フェーズは、モデルが新しい知識を受け入れて、それをもとの知識と「組み合わせる」段階です。
このフェーズで使われる技術の一つに、「ニューロンを追加する」というものがあります。ニューロンはモデルの脳の中の小さな処理ユニットのようなもので、新しい知識をAIの既存の知識に結びつけるために使われます。
しかし、新しい情報をただ追加するだけではなく、それがモデルの全体的な「知識ネットワーク」にどのようにフィットするかを考える必要があります。情報源が異なるために、時には情報が衝突することもあります。そこで、「忘れてから学ぶ」という考え方が重要になります。
また、新しい知識をモデルのどの部分に組み込むか、どのように組み込むかも大切です。しかし、新しい知識を組み込むたびにAIの構造に多くの変更を加えると、モデルの処理能力に負担をかけることがあります。そのため、新しい知識を効率的に組み込む方法を見つけることが、今後の研究で求められています。
結合フェーズに属する知識編集手法の例
- パラメータ効率の高い微調整(LoRA):モデルの重みを凍結し、微調整プロセス中にトランスフォーマーレイヤーにトレーニング可能なランク分解行列を導入する方法です。
- 知識パッチ(Knowledge Patch):新しい出力ヘッドを導入し、それを元のヘッドと補間する方法です。
習得フェーズ
習得フェーズは、モデルが新しい知識を完全に「身につける」段階です。簡単に言うと、学校で勉強してテストで良い点を取るために、勉強した内容を完全に理解して覚える必要があるのと似ています。モデルにとってのテストは、新しい情報をどれだけしっかりと使えるかです。
ただし、通常は計算コストと時間がかかります。また、モデルが新しいことを覚えるときに、以前に学んだことを忘れてしまうことがあるので、そういった問題を解決するために、研究者たちはいくつか方法を考え出しています。
その中の一つが「メタ学習」と呼ばれる方法で、これはモデルに直接重み(=知識)を更新させるのではなく、モデルが変更点を自分で学べるようにするアプローチです。もう一つの方法は「位置を特定してから編集する」というアプローチで、これはモデルがどの部分に知識を保存しているかを見つけ出してから、その特定の部分だけを編集する方法です。
「メタ学習」の関連記事:従来の小さなニューラルネットワークでも「メタ学習」でChatGPTを凌駕するほど高度な生成AIができるとの報告、Nature誌
習得フェーズに属する知識編集手法の例
- ハイパーネットワークを用いた編集(MEND):ハイパーネットワークが新しい知識の変更を学習し、それをモデルに適用します。
各フェーズに分類される様々な知識編集手法が下記にまとめられています。編集領域、編集機能、追加トレーニング必要の有無、バッチ編集の有無、そして編集によって更新されるパラメータの数が記載されています。
知識編集の評価
それぞれの知識編集手法は、下記のような複数の基準で評価されるとのことです。
(1)編集の成功:編集後のモデルが意図した知識を出力できるかどうかを指します。成功の基準はさらに「信頼性」と「一般化」の2つに分かれるとされています。なお、編集されたモデルは狙ったプロンプトに対してだけでなく、類似した表現に対しても正しい答えを提供するべきですとのことです。
(2)移植性:編集後のモデルが実世界での下流タスクを処理できるかどうかを評価します。変更された事実に対するモデルの推論能力と、関連知識に対するパフォーマンスの評価が含まれます。
(3)局所性:編集が意図した知識のみに影響を与え、関連しない知識には不要な変更を及ぼしていないかを測定します。
(4)生成能力:生成能力とは、モデルがテキストを作る際の創造性や多様性を指します。簡単に言うと、編集後のモデルが同じ言葉やフレーズを繰り返さないようにする能力のことです。
実験と分析
実験設計
研究では、複数の知識編集手法を評価する実験が行われました。
まず、
また記事の購読には、アカウント作成後の決済が必要です。
※ログイン/初回登録後、下記ボタンを押してください。
AIDBとは
プレミアム会員(記事の購読)について
■サポートのお願い
AIDBを便利だと思っていただけた方に、任意の金額でサポートしていただけますと幸いです。