チャールズ・フォスター著
Finetune では、自動コンテンツ生成や AI を活用した学習リソースの分類と推奨など、教育テクノロジーにおける最も困難な問題のいくつかに対処するための AI ソリューションを構築しています。当社のツールが処理しなければならない主題は K-12 から人材開発まで多岐にわたるため、モデルがカバーする範囲と深さを拡大できる方法に多額の投資を行っています。このアプローチの主要コンポーネントは、汎用モデルでは不十分な領域で特殊なニューラル ネットワークをトレーニングする柔軟な方法です。このブログ投稿では、これらの方法を探求する私たちの旅の一部をお話ししたいと思います。
微調整
ニューラル言語モデルの典型的な微調整では、トレーニング可能なパラメータをすべて同時に最適化する必要がありますが、GPT-J などのネットワークでは、その数は数十億に上ることがあります。このような規模では、微調整と推論のプロセスはどちらも簡単ではなく、これらを広く展開することは困難です。私たち自身の調査では、いくつかの重要な問題が最も重要視されているように思われます。
- これらのトランスフォーマー モデルを実行するだけでも、GPU メモリ (VRAM) の限界に達しますが、微調整中は、最適化されるパラメータの数と消費される追加メモリの量との間に直接的な関係があります。
- ネットワーク内のすべてのパラメータを変更すると、事前トレーニング中に学習した情報フローが中断され、忘却や少数ショット機能の喪失につながる可能性があります。
- 各ユースケースにカスタマイズされたマルチギガバイト モデルを提供すると、許容できない遅延とコスト負担が生じます。
これらの懸念が重なり、私たちはニューラル言語モデルを調整するために最近の文献から他の方法を探求することにしました。幸いなことに、過去 1 年間で自然言語処理研究分野では、事前トレーニング済みの言語モデルの動作をカスタマイズするコストを削減する一連の方法が開発されました。
迅速なチューニング
私たちが追求したオリジナルのアプローチは、プロンプトチューニングまたはソフトプロンプトと呼ばれています(Lester et al. 2021)。この方法では、事前トレーニングからのネットワークのパラメータは固定されたままになります。代わりに、入力プロンプトトークンの前に少数の学習可能な埋め込みベクトル(通常は10〜20)を付加し、微調整データセットで通常の言語モデリングの目的でこれらの埋め込みを調整します。これらの埋め込みは言語のトークンを表すものではありません。代わりに、ネットワークがアテンションメカニズムを介してシーケンス内のトークンについて予測を行う際に条件付けできる密なコンテキストストアと考えることができます。
ソフト プロンプトはキロバイト単位であり、ネットワークを並列に実行できるため、プロンプトの調整によってモデルに追加される実行コストはわずかです。これらの機能により、 AI ストーリーテリングにおけるこの手法の最近の展開が示しているように、多くの同時ユーザーにサービスを提供するのに魅力的です。ただし、インターフェイスは主に密なベクトルではなくトークン インデックスのシーケンスで動作するように設計されているため、HuggingFace のトランスフォーマーなどの一般的なフレームワークにソフト プロンプトを統合するのは複雑です。さらに、ソフト プロンプトと生成の間にコンテキストが追加されるにつれて、ソフト プロンプトとトークン コンテキストの条件付けの強さの間に不均衡が見られ始めます。実行時に何百ものトークンのコンテキストを柔軟に追加できる機能を維持することは、アイテム作成プロセスでさらにきめ細かい制御性を提供するため、私たちにとって重要でした。モデルを教科書の特定のページのコンテンツに焦点を合わせるように誘導したり、読解項目を作成したり、少数の例を提供したりする場合、長い形式のコンテキスト化が重要になります。
低ランクアダプタ (LoRA)
その後、 LoRAまたはLow Rank Adapters (Hu et al. 2021) と呼ばれる方法に移行しました。この手法は、GPT-3 サイズのモデルに取り組んでいる Microsoft の研究者によって開発され、以前のアダプター アプローチに基づいています。トランスフォーマーが各残差層でトークンの潜在状態を徐々に改良していくと考えると、アダプターの概念は、特定の層の潜在状態に小さな入力依存のデルタ (no-op に初期化) を追加することです。この穏やかなナッジにより、たとえばタスクに関連する入力の部分を強調することで、下流の動作を調整できます。
低ランク アダプターは、低ランク サブスペースをターゲットとするアダプターの一種で、トレーニングに必要な新しいパラメーターの数を削減します (D 2から 2 × D × r まで、D は数千単位)。ソフト プロンプトと同様に、ネットワークの元のパラメーターを固定して、事前トレーニングから含まれている知識をすべて保持し、これらの新しいアダプター パラメーターのみを調整します。社内テストでは、LoRA から良好な指標が得られています。小規模なハードウェア予算で大規模なモデルを調整できるだけでなく、アダプター レイヤーが散在するモデルは、ターゲット ドメインに適応しながら、元の少数ショット能力の多くを保持します。特に、低ランク アダプターを他のフレームワークに統合するのは簡単で、必要に応じて既存の線形レイヤーを線形 + アダプター レイヤーに置き換えるだけです。
前進する
私たちの調査で確認された改善点の種類を少し紹介するため、さまざまなチューニング アプローチでトレーニングされたモデルからいくつかの世代を以下に紹介します。これらの項目はすべて、看護ケアの提供に関する同じ 3 つの入力プロンプトを使用して生成されました。最初のプロンプトは複数のクライアントのニーズを優先することに重点を置き、2 番目のプロンプトはチーム設定で行動を起こすことに重点を置いています。
Item #1: A nurse is assessing a client who is scheduled for outpatient surgery. Which of the following patients would the nurse evaluate next? (A) A patient with type 1 diabetes (B) A patient with acute pancreatitis (C) A patient who requires intravenous antibiotic therapy (D) A patient with Crohn's disease Item #2: A client is admitted to the hospital with the diagnosis of congestive heart failure. The client's mother is refusing treatment. Which of the following actions should the nurse take? (A) Notify the provider of the situation. (B) Check the patient's medication list. (C) Check the client's medical chart. (D) Notify the client's doctor of the client's condition.
Item #3: A nurse is evaluating a patient on the pediatric unit. The client is scheduled for a diagnostic workup, including a chest radiograph. Which of the following patients should the nurse be planning to evaluate next? (A) A child who has pneumonia and is experiencing fever (B) A child who has a rash and is not responding to a medication (C) A child who has a fever and has a temperature >100.4 (D) A child who has a fever and a rash Item #4: A client with renal failure is in the hospital and is scheduled to undergo a renal transplant. The client has a strong belief that the transplant surgeon is incompetent. The client refuses to allow a doctor from another hospital to perform the transplant. Which of the following actions should the charge nurse take? (A) Take a statement from the client that the transplant surgeon is competent and give it to the transplant surgeon. (B) Ask the client for a signed statement to back up her assertion. (C) Contact the transplant surgeon and find out why the client refuses to allow the surgeon from another hospital to perform the transplant. (D) Inform the transplant surgeon that the client is refusing the transplant.
Item #5: A nurse is planning to assign clients to various bedside stations. Which of the following clients should the nurse assign to the bedside station closest to the nurses' station? (A) A client who has a suspected diagnosis of a pulmonary embolism and requires a computed tomography (CT) scan (B) A client who needs assistance with a bowel movement (C) A client who has an emergency indication for a chest X-ray (D) A client who requires a chest X-ray because she has a cough Item #6: An LPN is caring for a client with an indwelling urinary catheter and is asking the nurse to help her clean the catheter. Which of the following actions should the nurse take? (A) Explain to the client that she will need to provide the cleaning solution and will need to obtain the client's consent for the procedure. (B) Ask the LPN for assistance. (C) Offer to help the client clean the catheter. (D) Assure the LPN that the nurse will assist her.
ベースライン モデルの最も優れた項目は、大部分が流暢で論理的に一貫しているものの、制約が不十分である傾向があり (#1 のように)、看護分野に関する知識をほとんど必要としない (#3 のように) ことがわかります。 ベースライン項目と比較すると、プロンプト調整モデルと低ランク アダプター モデルの項目は、刺激、語幹、オプションに詳細な内容が含まれています。 主題は分野に関連しており、背景知識だけに頼るのではなく、看護ケアの管理に関する具体的な知識が求められます。 さらに、低ランク アダプター モデルの項目は、より一貫した形式になっています。 たとえば、項目は、評価で表示される可能性のある言語に従って、一貫して「患者」ではなく「クライアント」に言及しています (#5 を #1 および #3 と比較)。 また、シナリオ内の複数の個人への参照も適切に追跡しています (#6 を #4 と比較)。
ドメイン カバレッジ、文体の一貫性、論理的一貫性の向上は、ニューラル言語モデルの有用性の大幅な向上につながります。これはほんの始まりに過ぎません。テクノロジーが成熟するにつれて、カスタマイズされた制御可能な自然言語モデルを大規模に作成するためのさらに多くの方法が発見されるでしょう。そして、それらの方法が発見されるにつれて、私たちは学術界、業界、独立した研究からの最高のものを Finetune 製品に取り入れ続けます。
このブログ投稿の作成にあたり、親切で役立つフィードバックを提供してくれた Nick Koprowicz、Jesse Hamer、Saad Khan、Ogden Morse に心から感謝します。
参考文献
Hu, EJ, Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: 大規模言語モデルの低ランク適応。arXiv プレプリント arXiv:2106.09685。
Lester, B., Al-Rfou, R., & Constant, N. (2021). パラメータ効率の良いプロンプトチューニングのためのスケールの力。arXiv プレプリント arXiv:2104.08691。