microsoft/KBLaM

Official Implementation of "KBLaM: Knowledge Base augmented Language Model"

解決する課題

KBLaMは、従来の手法の欠点なしに、外部知識で大規模言語モデル(LLM)を拡張するという課題に対処します。外部検索モジュールを必要とせず(RAGとは異なります)、長いコンテキストに伴う二次的な計算オーバーヘッドを回避します(インコンテキスト学習とは異なります)。これにより、オーバーヘッドが知識ベースのサイズに対して線形にスケーリングされます。

仕組み

このシステムは、ベースとなるLLMと学習済みアダプターを組み合わせて使用します。これらのアダプターは、知識ベースをLLMが取り込める特殊な知識トークンに変換します。アダプターのみが学習されるため、ベースとなるLLMは変更されません。知識ベースが提供されない場合、モデルは元のベースモデルと全く同じように動作します。

対象読者

このプロジェクトは、LLMの応答を外部知識ベースに基づいて効率的に根拠付ける方法を探している研究者を主な対象としています。

ハイライト

  • 線形スケーリング: 計算オーバーヘッドが知識ベースのサイズに対して線形にスケーリングされます。
  • 外部検索不要: 個別の検索モジュールが不要になります。
  • 非破壊的: ベースとなるLLMは変更されないため、元のテキスト入力機能が保持されます。
  • 幅広いモデルサポート: Llama 3、Llama 3.2、Phi-3-miniと互換性があります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト