公開日:2024年4月5日
寄稿者:Dave Bergmann
インストラクション・チューニングは、指示プロンプトとそれに対応するアウトプットとのラベル付きデータ・セットで大規模言語モデル(LLM)をファインチューニングするための手法です。モデルのパフォーマンスを特定のタスクだけでなく指示に従うこと全般で向上させるので、事前トレーニング済みモデルを実用に向けて適応させるのに役立ちます。
インストラクション・チューニングは、事前トレーニング済み基盤モデルをダウンストリーム・タスクに適応させるために使用されるファインチューニング手法というカテゴリーの中のサブセットです。基盤モデルは、スタイルのカスタマイズから、事前トレーニング済みモデルのコアナレッジやボキャブラリーの補足、特定のユースケースでのパフォーマンスの最適化に至るまで、さまざまな目的に合わせたファインチューニングができます。ファインチューニングは特定のドメインや人工知能モデルアーキテクチャに限定されるものではありませんが、LLMライフサイクルに不可欠な要素となっています。たとえば、MetaのLlama 2モデルファミリーは、ベースモデルとして、対話向けにファインチューニングしたバリアント(Llama-2-chat)として、コーディング向けにファインチューニングしたバリアント(Code Llama)として、(いろいろなサイズで)提供されています。
インストラクション・チューニングは、他のファインチューニング手法と相互排他的なものではありません。たとえば、チャットモデルでは多くの場合、インストラクション・チューニングも、人間のフィードバックによる強化学習(RLHF)(有用性や誠実さなど抽象的な性質を改善することを目的としたファインチューニング手法)も受けます。コーディング向けにファインチューニングされたモデルでは多くの場合、インストラクション・チューニング(指示追従性に向けて応答を広範に最適化)も、プログラミング固有データに対する追加的ファインチューニング(コーディング構文とボキャブラリーに関するモデルのナレッジを増強)も受けます。
LLMの起源は、自然言語処理(NLP)タスクに大規模な トランスフォーマーモデルを導入した2017年の論文「Attention is All You Need」に遡りますが、Google(2021年)1とOpenAI(2022年)2からのそれぞれ影響力のある論文によって推進されたインストラクション・チューニングとRLHFの組み込みにより誕生した最新のLLMが、ChatGPTのリリースに伴って現在の生成AI時代の端緒となりました。
特にAIガバナンスやリスク管理ソリューションの欠如など、AI導入の障壁について学びましょう。
基盤モデルについてのガイドに登録する
ほとんどのファインチューニング手法と同様、インストラクション・チューニングの有用性は、事前トレーニング済みLLMが対話や指示追従性に向けて最適化されていないという事実にあります。文字通りの意味だと、LLMはプロンプトに応答するわけではなく、テキストをアペンドするだけです。インストラクション・チューニングは、そのアペンドされたテキストをより有用なものにするための助けとなります。
自己回帰言語モデル(MetaのLlama 2、OpenAIのGPT、GoogleのGemini、IBMのGraniteなど、テキスト生成に使用されるLLM)の事前トレーニング プロセスでは、こうしたLLMを最適化して、与えられたシーケンスで次に来る単語だけを、そのシーケンスが終わるまで予測します。
LLMは、膨大なコーパスに書き込まれたコンテンツで、自己教師あり学習を使用して事前トレーニングされます。事前トレーニングでは、自己回帰モデルにテキスト・サンプルの先頭が入力され、シーケンスで次に来る単語を予測するタスクが、引用部分の終わりまで繰り返し実行されます。予測ごとに、元のサンプル文で実際に次に来る単語が「グランド・トゥルース」となります。モデルパラメーター(ニューラル・ネットワークの各ノードで発生する数学的演算に適用されるさまざまな重みとバイアス)を反復的に調整する勾配降下法などの最適化アルゴリズムを通じて、モデルの予測を元のテキストに近づけるようにすることで、モデルでは、そのトレーニングデータにある言語パターン(ひいては、それらの言語パターンで伝えられる「ナレッジ」)を「学習」します。
この事前トレーニング・プロセスにより、言語的に一貫性のあるテキストを生成するという優れた能力が与えられますが、モデルのパフォーマンスを必ずしも人間のユーザーの実際のニーズに合わせることはありません。ファインチューニングをしない基本モデルからは、「teach me how to bake bread(パンの焼き方を教えてください)」というプロンプトに対し「in a home oven(家庭用オーブンで)」という応答が返ってくるかもしれないのです。これは文法的に正しい方法で作られた文ですが、ユーザーが望んでいたものではありません。
それにもかかわらず、LLMを特定の目的(指示に従うなど)に向けて事前トレーニングすることは非現実的です。「大規模言語モデル」の「大規模」とは、そのモデルのパラメーターがしばしば数十億個単位になるという事実をいうものです。そうした巨大なモデルをゼロからトレーニングするのに伴うエネルギー、時間、計算リソース、トレーニング・データの量は膨大なものになります。逆に、トレーニング済みLLMをファインチューニングするのに要するデータははるかに少なく、特にパラメーター効率的なファインチューニング(PEFT)手法(部分的なファインチューニングや低ランク適応(LoRA)など)を使用する場合に占めるのは計算需要のほんの一部です。
ファインチューニングは、強化学習、半教師あり学習、追加的な自己教師あり学習など、ほぼすべての機械学習パラダイムで実現できますが、インストラクション・チューニングには、ラベル付き(インプット、アウトプット)ペアに対する教師あり学習が伴います。インストラクション・チューニングと他の形式の教師ありファインチューニング(SFT)とを区別するのは、インストラクション・データ・セットのインプットサンプル全体を構成するのが、ユーザーがプロンプトで行う可能性のある要求に似せたタスクばかりである、ということです。アウトプットでは、その要求に対して望まれている応答を示します。モデルの重みを調整して、LLMのアウトプットをインストラクション・データセットにあるサンプルに似せるようにする中で、LLMでは、「teach me how to bake bread(パンの焼き方を教えてください)」というようなプロンプトに対する応答にパンを焼くための実際的なアドバイスを含むテキストをアペンドするよう「学習」します。
したがって、インストラクション・チューニングは、モデルの基本的な目的(次に来る単語の予測)と、モデルには特定のタスクを指示に従って実行してもらうというユーザーの目標との間のギャップを埋めるのに役立ちます。これで、モデルの振る舞いがより有用で予測可能なものとなるのです。
LLMのファインチューニングを、さまざまな指示追従タスクのラベル付きデータ・セットに対して行うと、全体的に指示追従能力が向上するので、プロンプトに効力を持たせるのに必要なインコンテキスト情報の量を減らせます。インストラクション・データ・セットは、人間が作ったものでも、別のLLMで生成したものでもかまいません。
Google Researchが2022年に出した影響力のある論文「Finetuned Language Models are Zero-Shot Learners」に明示されれているように、インストラクション・チューニングの目標は、LLMがNLP命令に応答する能力を向上させることです。そうするために、インストラクション・チューニングでは「事前トレーニング/ファインチューニングとプロンプティングパラダイムの両方のいいとこどり」をします。本質的に、プロンプト・エンジニアリングの原理を教師ありファインチューニングへ有機的に組み込むインストラクション・チューニングでは、ファインチューニングされたモデルから有用で正確な応答を引き出すのに要するプロンプト・エンジニアリングとフューショットのサンプルの量が減ります。1
インストラクション・データ・セットのトレーニング・サンプルはそれぞれ次の3つの要素で構成されます。
Googleの論文で注目されているのは、LaMDA-PTモデルのインストラクション・チューニングの結果として得られたバリアント、FLAN(Finetuned Language Net)では、インストラクションとして自然に明示されるタスク(翻訳、質疑応答、読解、自然言語推論(NLI)(所与の「仮説」が所与の「前提」から論理的に得られるどうかを判断するタスク)など)で最大の改善が見られたことです。
これを説明するため、FLANについての論文では、Brownらが行い2020年にオリジナルのGPT-3モデルについて発表した研究論文にある観察結果に注目しています。事前トレーニング済みLLM(追加的ファインチューニングをしていないもの)がNLIのようなタスクで苦しむ理由を説明するもののひとつとしては、自己教師あり事前トレーニングに使用されるラベルなしデータのコーパスで、典型的なNLIタスクに似せた一節が自然に発生することはありそうもない、ということです。3逆に、事前トレーニングの単純な言語モデリング目標に似せたタスク(最終的にモデルによって文が正しく完成することが要求される常識的な推論タスクなど)の場合、インストラクションは大きく冗長化されます(したがって、インストラクション・チューニングによるメリットは少なくなります)。
おそらく最も重要なことは、この論文で実証されたのが、インストラクション・チューニング・データ・セットにタスクを追加することで、インストラクション・データ・セットに出現しない新しいタスクでも、インストラクション・チューニングをしたモデルのパフォーマンスが向上したことです。ここにインストラクション・チューニングの基本的なメリットがあるのです。それは、モデルの指示追従能力が全体的に向上することです。
FLANの論文には、インストラクション・ファインチューニングによる明らかなメリットが、インストラクションそれ自体によるものなのか、それとも単に複数のNLPタスクでモデルをファインチューニングしたことによるものなのかを探ったアブレーション研究も含まれています。ファインチューニングでのインストラクションの役割を調べるため、このアブレーション研究では、次の3つの異なった設定で基本モデルをファインチューニングしました。
このアブレーション研究では、一連のゼロショット指示追従タスクで、ファインチューニングした言語モデルごとに結果を測定しました。インストラクション・チューニングしたモデルでは、「テンプレートなし」モデルよりも18%以上、「データセット名」モデルよりも8%以上高い精度を達成しました。これで示されるのは、目に見えないタスクでのゼロショットのパフォーマンスを向上させるなら、インストラクションそれ自体によるトレーニングが極めて重要である、ということです。
Chain-of-thought(CoT)プロンプティングでは、LLMに対し、質問に回答するだけでなく、どのようにしてその回答に至ったかの根拠を生成するよう求めます。これは、逐次推論のサンプルによるfew-shotプロンプティングで、または単に「think step by step」とプロンプトの末尾にアペンドすることで実現できます。調査研究により、CoTプロンプティングでは、算術推論や記号推論などの多様な論理推論タスクにわたって、大規模モデルのゼロショット能力を大幅に強化することが実証されています。5 Weiらは、インストラクション・データ・セットにCoTタスクを含めないインストラクション・チューニングで、モデルのパフォーマンスがCoT評価では大幅に低下する一方、CoTデータ・セットを追加するとパフォーマンスがすべての評価で向上することを見いだしました。6
さらに、同調査研究により、CoTタスクでのインストラクション・ファイン・チューニングでは、few-shotサンプルの有無にかかわらず、ゼロショット設定にすると、CoT推論でのモデルの能力が向上することがわかりました。このメリットを直感的に把握するとしたら、言語的に筋が通っているように見えるだけの回答に飛び付くのではなく、論理的ステップを踏まえて問題を処理できるようファインチューニングすることで、モデルが独自の優れた推論スキルを創出し適用できるよう学習する、となります。
LLMのインストラクション・チューニングを目的としたデータ・セットは多数存在し、その多くはオープンソースです。こうしたデータ・セットは、直接書き込まれた(または収集された)自然言語(インストラクション、アウトプット)ペアで構成されており、テンプレートを使用して既存の注釈付きデータ・セットをインストラクションに変換することもできますし、他のLLMを使用してサンプルを生成することすらできます。
(インストラクション、アウトプット)ペアを直接オーサリングするのは単純ですが、最終的には相当な時間とコストを伴い手間のかかるプロセスです。自然言語データ・セットをインストラクションに変換するためのさまざまな方法が提案されていますが、通常はテンプレートを適用することによるものです。人間が作成したオープンソース・データ・セットが複数リリースされたことで、オーガニック・データのファインチューニングにかかるコストを支払わずに済んでいます。
人間が作成した主なオープンソースのインストラクション・データ・セットには、次のようなものがあります。
インストラクションとターゲットアウトプットをを手動で生成するのには法外なコストと労力を要することが動機となって、多くのインストラクション・データ・セットでは、大規模なLLMの応答を使用して、プロンプト、アウトプット、またはその両方を生成しています。LLM生成データ・セットを使用することで、小規模モデルに指導して、場合によっては教師/学習者の意図的なダイナミクスで、大規模モデルの振る舞いをエミュレートする、という効果が加わります。
LLMの力が強まるにつれて、LLM生成インストラクション・チューニング・データ・セットの有用性も同様に高まっています。2023年の論文によると、Alpacaファインチューニング・パラダイム(InstructGPTインストラクションに基づいてLLaMAをファインチューニングしたもの)が複製され、GPT-4を使用してパラレルにプロセスを繰り返すことでインストラクションが生成されました。結果としてのモデルはLLaMA-GPT4と名付けられ、Alpacaの同等物の「ヘルプフルネス」スコアを大幅に上回っており、「ヘルプフルネス」「オネスティー」「ハームレスネス」の測定値はGPT-4そのものに匹敵していました。 11
インストラクション・チューニング手法はLLMの重要な進歩をもたらしましたが、インストラクション・チューニング・データ・セットを多様化し、そのメリットを残らず明らかにするための作業はまだ残っています。
インストラクション・チューニングの課題の中でも最重要なのは、ファインチューニングに使用する高品質インストラクションの作成です。適切に大規模なインストラクション・データ・セットを作成するのに必要なリソースでは、少数のオープンソース データセットへのインストラクションを一元化しているため、モデルの多様性が減じられることがあります。大規模な独自のLLMを使用してインストラクションを生成するのはコスト削減の役に立ちますが、その独自のLLMのバイアスや欠陥がオープンソースLLMのスペクトラム全体で助長されるという潜在的な欠点があります。この問題は、人間の研究者が持つ本質的なバイアスを回避しようと、独自のモデルではしばしば小規模モデルのパフォーマンスを評価している、という事実によって、複合的になっています。
技術的なレベルでは、小規模モデルを改善するために大規模モデルを使用することにより、どれほど小規模なモデルでも大規模モデルのスタイルは模倣できるけれど実際の機能は模倣できない、という懸念を挙げる研究者もいます。2023年の実証研究で、インストラクション・チューニングによって得られた目覚ましいパフォーマンス向上の多くは、論理的推論の向上と呼ぶのには値せず、むしろ表層的なパターンをピックアップしたことによるものとの可能性が示唆されました。12
同様に、他の研究者が、報告された改善の中には、インストラクション・トレーニング・データ・セットのタスクにあまりにも密接に関連しているタスクでのインストラクション・チューニングしたモデルのパフォーマンスの評価への依存にある程度左右されているものがある、と仮定しています。Gudibandeらは、ここでの方法でインストラクション・チューニングしたモデルに対し、より的を絞ったテストを行うことで、「オープンソースモデルを改善するための最大のレバレッジアクションは、独自のシステムを模倣するという近道をするのではなく、より優れたベース[言語モデル]を開発するという困難な課題に取り組むことだ」と結論付けました。13
基盤モデル、生成AI、機械学習のトレーニング、検証、チューニング、デプロイが容易になり、少量のデータを使用して、短時間でAIアプリケーションを開発できます。
watsonx AI Studioは、IBMが開発したコスト効率の高いエンタープライズ・グレードの基盤モデル、オープンソース・モデル、サードパーティー・プロバイダーから供給されたモデルのライブラリーを提供し、お客様やパートナーが最小限のリスクで生成AIを迅速に拡張および運用できるように支援します。
Graniteは、デコーダーのみのTransformer(トランスフォーマー)アーキテクチャーに基づくIBMのLLM基盤モデルの主力シリーズです。Graniteの言語モデルは、インターネット、教育機関、各種規定、法律、金融にまたがり信頼性の高いエンタープライズ・データでトレーニングされています。
LLMOps(Large language model operation)の詳細をご覧ください。AIモデルの開発、デプロイメント、管理をそのライフサイクル全体を通じて迅速化するための専門的なプラクティスとワークフローです。
この一連のチュートリアルと動画ガイドでは、watsonx.aiの基盤モデルを調整する方法、理由、タイミングについて理解を深めることができます。
注意:リンクはすべてibm.com外部です。
1 「Finetuned Language Models Are Zero-Shot Learners」、Google(arXiv経由)、2021年9月3日(最終改訂日2022年2月8日)。
2 「Aligning language models to follow instructions」、OpenAI、2022年1月27日。
3 「Language Models are Few-Shot Learners」、arXiv、2020年7月22日。
4 「WMT 2014」、Papers With Code、2014年6月27日。
5 「Language Models are Zero-Shot Reasoners」、arXiv、2022年5月24日(最終改訂日2023年1月29日)。
6 「Scaling Instruction-Finetuned Language Models」、Google(arXiv経由)、2022年12月6日。
7 「Alpaca: A Strong, Replicable Instruction-Following Model」 、Stanford Center for Research on Foundation Models、2023年3月13日。
8 「WizardLM: Empowering Large Language Models to Follow Complex Instructions」、arXiv、2023年6月10日。
9 「Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality」、LMSYS Org、2023 年3月30日。
10 「Orca: Progressive Learning from Complex Explanation Traces of GPT-4」、Microsoft、2023年6月。
11 「Instruction Tuning with GPT-4」、arXiv、2023年4月6日。
12 「Do Models Really Learn to Follow Instructions? An Empirical Study of Instruction Tuning」、arXiv、2023年5月19日。
13 「The False Promise of Imitating Proprietary LLMs」、arXiv、2023年5月25日。