アイテム生成のためのAIモデルの調整

Published on 11月 19,2021

Tuning AI Models for Assessment Content Generation

チャールズ・フォスターによる

フィネットゥーンでは、自動コンテンツ生成やAIによる学習リソースの分類および推奨を含む、教育技術における最も挑戦的な問題に対処するためのAIソリューションを構築しています。私たちのツールが扱うべき主題はK-12から労働力開発にわたるため、モデルがカバーする範囲と深さを拡大できる方法に大きく投資しています。このアプローチの重要な要素は、汎用モデルが不十分な分野で専門的なニューラルネットワークを訓練するための柔軟な方法です。このブログ投稿では、これらの方法を探求する私たちの旅の一部を共有したいと思います。

ファインチューニング

ニューラル言語モデルの典型的なファインチューニングは、GPT-Jのようなネットワークでは数十億のトレーニング可能なパラメーターを同時に最適化することを含みます。このようなスケールでは、ファインチューニングと推論プロセスは非自明であり、これらを広く展開することが難しくなります。私たちの調査では、いくつかの重要な問題が浮かび上がりました:

  • これらのトランスフォーマーモデルを単純に実行することですでにGPUメモリ(VRAM)の限界に押し上げられ、ファインチューニング中は最適化されるパラメーターの数と消費される追加メモリの量との間に直接的な関係があります。
  • ネットワーク内のすべてのパラメーターを変更することで、事前トレーニング中に学習された情報の流れが混乱し、忘却や少数ショット能力の喪失が生じる可能性があります。
  • 各ユースケースに対してカスタマイズされたマルチギガバイトモデルを提供することは、許容できない遅延とコストの負担を生み出します。

これらの懸念を受けて、私たちはニューラル言語モデルをチューニングするために最近の文献から他の方法を探求することにしました。幸運なことに、過去1年間で自然言語処理の研究分野は、事前トレーニングされた言語モデルの動作をカスタマイズするコストを削減するための多くの方法を開発しました。

プロンプトチューニング

私たちが追求した元のアプローチは、プロンプトチューニングまたはソフトプロンプティング(Lester et al. 2021)と呼ばれています。この方法では、事前トレーニングからのネットワークのパラメーターは固定されます。その代わりに、入力プロンプトトークンの前に小数の学習可能な埋め込みベクトル(通常は10〜20)を前置きし、ファインチューニングデータセットにおける通常の言語モデルの目的でこれらの埋め込みをチューニングします。これらの埋め込みは言語のトークンを表すものではなく、ネットワークが条件付けることができる文脈の密なストアとして考えることができます—アテンションメカニズムを介して—トークンのシーケンスに関する予測を行う際に。


プロンプトチューニングは、ソフトプロンプトがキロバイト範囲にあり、ネットワークを並行して実行できるため、モデルに対してわずかなランタイムコストを追加するだけです。これらの特徴は、多くの同時ユーザーに対して提供するために魅力的であり、最近の<а href="https://blog.novelai.net/custom-ai-modules-dbc527d66081" target="_blank" class="is-external" rel="noreferrer noopener">AIストーリーテリングにおける技術の展開が示しています。しかし、ソフトプロンプトをHuggingFaceのトランスフォーマーのような人気のフレームワークに統合するのは複雑であり、インターフェースは主にトークンインデックスのシーケンスで機能するように設計されています。さらに、ソフトプロンプトと生成の間により多くの文脈が追加されると、ソフトプロンプトとトークンコンテキストの条件付けの強さの間に不均衡が見られ始めます。ランタイムで数百のトークンの文脈を柔軟に追加する能力を保持することは、アイテム作成プロセスにおける制御可能性の追加の細かいレバーを提供するため、私たちにとって重要でした。特定の教科書のページのコンテンツにモデルを集中させたり、リーディングコンプリヘンションアイテムを作成したり、少数のショット例を提供したりする場合、長文の文脈化は重要です。

ローランクアダプタ(LoRA)

その後、私たちはLoRAまたはローランクアダプタ(Hu et al. 2021)と呼ばれる方法に移行しました。この技術は、GPT-3サイズのモデルに取り組むMicrosoftの研究者によって開発され、以前のアダプタアプローチに基づいています。トランスフォーマーを各残差層でトークンの潜在状態を段階的に洗練していると考えると、アダプタの概念は、特定の層でそれらの潜在状態に小さな入力依存のデルタ(初期化は何もしない状態)を追加することです。この軽い押しは、その後の行動を調整することができ、たとえば、タスクに関連する入力の部分を強調します。


ローランクアダプタは、低ランクの部分空間をターゲットにするアダプタの一種で、新しいパラメーターのトレーニングに必要な数を削減します(D2から2 × D × rに、ここでDは数千単位)。ソフトプロンプティングと同様に、事前トレーニングからの知識を保持するためにネットワークの元のパラメーターを固定し、これらの新しいアダプタパラメーターのみを調整します。私たちの内部テストでは、LoRAから良好な指標が見られました。小さなハードウェア予算で大規模なモデルをチューニングすることを可能にするだけでなく、アダプタ層が散在するモデルは、ターゲットドメインに適応しながらも、元の少数のショット能力の多くを保持します。特に、ローランクアダプタを他のフレームワークに統合するのは簡単で、必要に応じて既存の線形層を線形+アダプタ層に単に置き換えることができます。

今後の展望

私たちの探求で見られた改善の種類を示すために、以下に異なるチューニングアプローチでトレーニングされたモデルからの生成物の小さな選択を共有します。これらのアイテムはすべて、看護ケアの提供に関連する同じ3つの入力プロンプトを使用して生成されました:最初は複数のクライアントのニーズを優先することに焦点を当て、2番目はチーム設定での行動を取ることに焦点を当てています。

アイテム #1: 看護師が外来手術の予定のあるクライアントを評価しています。次に看護師が評価するべき患者はどれですか? (A) 1型糖尿病の患者 (B) 急性膵炎の患者 (C) 静脈内抗生物質治療が必要な患者 (D) クローン病の患者 アイテム #2: クライアントがうっ血性心不全の診断で入院しています。クライアントの母親は治療を拒否しています。看護師はどのような行動を取るべきですか? (A) 状況を医療提供者に通知する。 (B) 患者の薬リストを確認する。 (C) クライアントの医療記録を確認する。 (D) クライアントの状態についてクライアントの医者に通知する。

アイテム #3: 看護師が小児病棟の患者を評価しています。クライアントは胸部X線を含む診断検査の予定です。看護師が次に評価するべき患者はどれですか? (A) 肺炎を患い、発熱している子供 (B) 発疹があり、薬に反応していない子供 (C) 発熱があり、体温が100.4以上の子供 (D) 発熱と発疹のある子供 アイテム #4: 腎不全のクライアントが入院しており、腎移植の予定です。クライアントは、移植外科医が無能であると強く信じています。クライアントは、他の病院の医師に移植を行わせることを拒否しています。責任看護師はどのような行動を取るべきですか? (A) 移植外科医が有能であるというクライアントの声明を取り、移植外科医に渡す。 (B) クライアントに彼女の主張を裏付ける署名の声明を求める。 (C) 移植外科医に連絡し、クライアントが他の病院の外科医に移植を行わせることを拒否する理由を確認する。 (D) 移植外科医にクライアントが移植を拒否していることを通知する。

アイテム #5: 看護師がさまざまなベッドサイドステーションにクライアントを割り当てる予定です。看護師が看護師ステーションに最も近いベッドサイドステーションに割り当てるべきクライアントはどれですか? (A) 肺塞栓症が疑われ、CTスキャンが必要なクライアント (B) 排便の手助けが必要なクライアント (C) 胸部X線の緊急の指示があるクライアント (D) 咳があるため胸部X線が必要なクライアント アイテム #6: LPNが留置カテーテルのクライアントのケアをしており、カテーテルの清掃を手伝ってほしいと看護師に頼んでいます。看護師はどのような行動を取るべきですか? (A) クライアントに清掃ソリューションを提供する必要があり、手続きのためにクライアントの同意を得る必要があることを説明する。 (B) LPNに助けを求める。 (C) クライアントがカテーテルを清掃するのを手伝うことを申し出る。 (D) LPNに看護師が彼女を支援することを保証する。

私たちは、ベースラインモデルからの最良のアイテムが主に流暢で論理的に一貫している一方で、制約が不十分である(#1のように)か、看護ドメインに関する知識が非常に少なく要求される傾向があることを観察できます。ベースラインアイテムと比較して、プロンプトチューニングおよびローランクアダプタモデルからのアイテムは、刺激、幹、および選択肢においてより多くの詳細を含んでいます。主題はドメインに関連しており、看護ケアの管理における特定の知識を必要とし、背景知識のみに依存することはありません。さらに、ローランクアダプタモデルからのアイテムは、より一貫した形式を持っています。たとえば、アイテムは一貫して「クライアント」と呼ばれ、「患者」と呼ばれることはなく、評価において現れる可能性のある言語に従っています(#5と#1および#3を比較)。また、シナリオ内の複数の個人への言及をうまく追跡しています(#6と#4を比較)。

ドメインのカバレッジ、スタイルの一貫性、論理的な一貫性の改善は、ニューラル言語モデルの有用性に大きな改善をもたらす可能性があります。これは始まりに過ぎません:技術が成熟するにつれて、カスタマイズ可能で制御可能な自然言語モデルを大規模に作成するためのさらなる方法が発見されるでしょう。そして、これらの方法が発見されると、私たちはフィネットゥーン製品にアカデミア、産業、独立した研究からの最良のものを引き続き組み込んでいきます。

 

このブログ投稿の発展において、親切で有益なフィードバックを提供してくれたニック・コプロウィッツ、ジェシー・ハマー、サード・カーン、オグデン・モースに心より感謝します。

 

参考文献

Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Low-rank adaptation of large language models. arXiv preprint arXiv:2106.09685.

Lester, B., Al-Rfou, R., & Constant, N. (2021). The power of scale for parameter-efficient prompt tuning. arXiv preprint arXiv:2104.08691.