大規模言語モデルによる生物医学NERの性能向上への新アプローチ
3つの要点
✔️ 生物医学NERにおける大規模言語モデルの性能改善
✔️ プロンプト戦略と定義知識を工夫し、大規模言語モデルの性能改善
✔️ 広範囲な生物医学データセットを用いた評価によって、NERタスクの精度を大幅に向上
On-the-fly Definition Augmentation of LLMs for Biomedical NER
written by Monica Munnangi, Sergey Feldman, Byron C Wallace, Silvio Amir, Tom Hope, Aakanksha Naik
(Submitted on 29 Mar 2024)
Comments: To appear at NAACL 2024
Subjects: Computation and Language (cs.CL)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
概要
大規模言語モデルは、ゼロショットやフューショットのタスクで優れた結果を出していますが、生物医学テキストでの固有表現認識(NER)においては、まだ改善の余地があります。たとえば、Gutiérrezらの研究(2022)では、同じデータ量を使用しても、文脈内学習(In-Context Learning)を用いたGPT-3のパフォーマンスが、より小さいファインチューニングされたモデルに劣ることが示されています。生物医学テキストは専門的な用語が多く、解釈には専門知識が必要です。しかし、アノテーション作業にはコストと時間がかかり、難しく、ラベル付きデータの利用可能性も限られています。
このような背景から、この論文では、生物医学分野に特化した新しい知識拡張のアプローチを用いて、大規模言語モデルのパフォーマンスを向上させることを目指しています。このアプローチは、関連する生物医学概念の定義を動的に取り入れることに焦点を当てており、モデルが推論時にエンティティ抽出の誤りを修正できるようにしています。また、シングルターン(Single-turn)とイテレーティブプロンプト(Iterative-prompting)の2つの方法を試しており、定義の拡張が様々なモデルのパフォーマンス改善に寄与することが確認されています。例えば、GPT-4のパフォーマンスが平均15%向上しています。
さらに、人間がキュレーションしたソースや大規模言語モデルを用いて自動生成された定義の効果も評価し、人間がキュレーションした情報の方がより高いパフォーマンス向上をもたらすことも明らかにしています。これらの結果は、限られたデータを持つさまざまなタスクやドメインで、大規模言語モデルのパフォーマンスを向上させるために、定義知識がどのように役立つかについて、新たな議論を提起しています。
下図はゼロショットのサンプルを使用したアプローチの概要です。抽出されたエンティティ (黄色) の定義が指定されている場合、間違った抽出 (赤) と正しい抽出 (緑) が行われています。
実験概要
実験には、APIを介してアクセス可能なクローズドなモデル(例:OpenAIのGPT-3.5およびGPT-4、AnthropicのClaude 2)やオープンソースのLlama 2など、複数のモデルが使用されています。一方、GoogleのPaLMは初期の段階のテストで十分な性能を示さなかったため、除外されています。なお、エンティティレベルのF1スコアで評価しています。
また、実験で使用されるデータセットは、生物医学の広範な分野から集められたBigBIOベンチマークから選ばれています。このベンチマークには100以上のデータセットが含まれており、12のタスクタイプと10以上の言語をカバーしています。NERは、BigBIOの主要なタスクカテゴリであり、76のデータセットが含まれています。最初に臨床データや非英語のデータセットを除外し、エンティティタイプごとに代表的なデータセットを選定しています。これにより、特に興味深い情報抽出の現象や挑戦的な事例が含まれる16のデータセットに絞り込んでいます。これらの選定されたデータセットは、最も一般的な生物医学ベンチマークに含まれており、新たな洞察を提供するための理想的な基盤を形成しています。これらの取り組みにより、大規模言語モデルが生物医学分野の具体的な要求にどのように応えるかを深く理解することができます。
実験結果
まず、NERタスクにおいて、大規模言語モデルの性能をゼロショットおよびフューショットで検証しています。これに加え、より小規模でファインチューニングされたモデル(Flan-T5 XL)の性能も報告しています。
ゼロショット評価では、入力形式と出力形式の2つの要素に焦点を当てています。入力形式では、モデルへのタスク説明や期待されるカテゴリーの提供方法を定義します。出力形式では、モデルがどのように結果を構造化するかを制御します。
また、入力形式には、テキスト(Text)とスキーマ定義(Schema Def)の2つのアプローチがあります。テキスト(Text)では、タスクの簡潔な説明と有効なターゲットエンティティタイプのリストを含む標準的なプロンプトを用いています。スキーマ定義(Schema Def)では、過去の研究に基づき、全てのターゲットエンティティタイプについて詳細な説明を追加したプロンプトを用いています。
また、出力形式では、JSONとコードスニペットの2つの構造化フォーマットを探索しています。JSONでは、データの構造化に役立ち、後処理や評価を容易にしています。コードスニペットでは、具体的なプログラミング例を用いて結果を表現します。このようなフォーマットがモデルのゼロショット情報抽出(IE)性能を向上させることが示されています。これらの設定を使用して、GPT-4を除く全モデルのパフォーマンスを評価しています。
さらに、フューショットの評価では、ゼロショットで最も良い成績を収めた入力/出力形式を採用し、特定のデータセット(CDRなど)でこれを検証しています。最後に、各データセットに特化してファインチューニングされた小規模モデルの性能を評価しています。
GPT-3.5、Claude 2、Llama 2のすべてのデータセットにおける結果については、下表のようになっています。下表では、テキスト入力とJSON出力、テキスト入力とコード出力、定義入力とJSON 出力、定義入力とコード出力によるゼロショットのスコアを示しています。
すべてのモデルとデータセットにおいて、スキーマ定義を加えたプロンプトがパフォーマンスを低下させることがわかりました。出力フォーマットについては、PICOとCHIAを除くほとんどのデータセットでJSONが好まれることがわかりました。この観察結果はすべてのモデルに一貫しています。
フューショットでは、予想通り、ショットの数が増えるにつれてパフォーマンスが向上する傾向が見られます(下表)。最終的に、チューニングされた大規模言語モデルを使用したフューショット学習が、同じ5インスタンスでファインチューニングされた小規模言語モデルを大幅に上回ることがわかりました。
次に、定義を用いたプロンプトの拡張に関する実験を行っています。文脈内学習(In-Context Learning)は、大規模言語モデルが事前学習を通じて獲得した知識を活用します。しかし、この知識は時として誤りを含んだり、不足していることがあります。この問題に対処するため、言語理解タスクの精度を高めるために、関連する事実知識でプロンプトを即座に拡張する方法が試みられています。
特に、NERタスクにおいて、テキスト中の生物医学概念の定義をプロンプトに動的に追加することで、モデルのパフォーマンス向上が期待されます。生物医学分野では、一般的に大規模言語モデルが不得手とする部分を補うために、テスト時に特定の情報を提供することが重要です。
この実験では、まず知識ベースの作成を行なっています。生物医学概念の定義を集めた知識ベースを構築し、市販のエンティティリンカーを利用してテキスト内の概念をマッピングしています。次に、プロンプトによる推論を行なっています。初期のエンティティ抽出後、概念定義を含んだプロンプトでモデルに修正を求めます。この段階で、エンティティの追加や削除、タイプの再割り当てが行われます。
統一医療言語システム(UMLS)から取得した概念定義を使用しますが、すべての概念が役立つわけではありません。広範なカテゴリに属する概念は除外され、より精緻なカテゴリに焦点を当てます。
また、ゼロショットでは、単一の定義で強化されたプロンプトでエンティティの修正を試みます。フューショットでは、複数の例と概念定義を含むプロンプトで、より高度な修正を目指しますが、コストの増大を避けるために、一度に多くの情報を処理する代わりにシングルターン(Single-turn)のアプローチを採用しています。
このアプローチは、モデルが自身の出力を修正する能力に基づいており、自己検証を通じてより正確な情報抽出を目指しています。文脈的な知識を提供することで自己検証のプロセスを支援し、臨床情報抽出の精度を向上させる可能性を探っています。
実験は全て、一貫性を保つためJSON形式で出力され、全データセットで統一された設定で実施されています。特に注目すべきは、フューショットで、それぞれのテストインスタンスにランダムに選ばれた5ショットが使用されています。3つの異なるランダムシードを用いて各実験を実行し、その平均パフォーマンスが報告されています。
また、この実験では、GPT-4の評価も行われています。APIコストの高さを考慮し、テストセットは100インスタンスにサブサンプリングされています。
下の2つの表では、ゼロショット設定とフューショット設定におけるGPT-3.5、Claude 2、Llama 2、そしてGPT-4の定義拡張を利用した全データセットのパフォーマンスが示されています。ゼロショット設定で、Llama 2とGPT-4は、シングルターン(Single-turn)とイテレーティブプロンプト(Iterative-prompting)のどちらのプロンプト戦略でも一貫して顕著なパフォーマンス向上を達成しています。反対に、Claude 2とGPT-3.5はイテレーティブプロンプト(Iterative-prompting)を使用した際にのみ改善が見られ、それぞれ平均12%と29.5%のパフォーマンスの向上が見られました。
フューショット設定においても、Claude 2とGPT-4は6つのデータセットのうち5つで改善が見られました。Llama 2とGPT-3.5もそれぞれ3つと4つのデータセットで成果を上げました。全体的には、イテレーティブプロンプト(Iterative-prompting)を使用したGPT-4が最も高いパフォーマンスを示しました。これらの結果は、概念定義を拡張したプロンプトがNERのパフォーマンスを向上させることを裏付けています。
また、エンティティリンクモデルの単独使用が観測された利益の多くを占めるかどうかについても検証されています。同じテストセットでのエンティティリンカー単独のパフォーマンスは平均でF1が1.05と低く、これによるものではないことが示されています。下表の結果から、候補エンティティを概念定義なしで追加するアプローチは効果が限定的であり、場合によってはゼロショットベースラインよりも性能が低下していることが示されています。
まとめ
この論文では、大規模言語モデルを活用し、生物医学分野の固有表現認識(NER)に焦点を当てた文脈内学習(In-Context Learning)の効果を広範囲に評価しています。入力と出力の異なる形式を比較し、これらのモデルが犯す主なエラータイプを明らかにしました。また、外部の知識ベースから動的に概念定義を提供することで、一般的な大規模言語モデルを迅速に生物医学NERタスクに適用させる新たな方法を提案し、その有効性を検証しています。
このプロセスでは、連続したプロンプトを用いてモデルが予測を見直すことを可能にし、重要な概念の定義を用いて精度を高めます。初めにエンティティの抽出を求め、次に生物医学概念の定義を追加して、モデルに予測の修正を促しています。
6つのデータセットで行った評価では、特にゼロショット設定において、ベースラインと比較して一貫して顕著な改善が確認されました。アブレーション研究からは、概念定義を活用するモデルの能力が改善の主な要因であることが示され、これらの定義がなければ意味のある予測改善は達成できないことが明らかになりました。
生物医学という専門分野のデータセットのみを考慮しましたが、このアプローチがWikidataなどのより一般的な知識ベースにも応用可能であることが示されています。これは他のドメインでのこの手法の潜在的な利点を示唆しており、将来的な研究でこのアプローチのさらなる応用が期待されます。
この記事に関するカテゴリー