自然言語処理におけるファインチューニング【ビジネス成長のためのAI用語】
2023.11.16
株式会社Laboro.AI 機械学習エンジニア 趙 心怡
リードマーケター 熊谷勇一
用語解説
ファインチューニングとは、ニューラルネットワークにおける機械学習の中で、あるデータセットを使って事前学習した訓練済みモデルの一部または全体を、別のデータセットを使って再訓練・微調整して仕上げることです。
特に自然言語処理、中でも近年注目を集める文章生成AIにおいては、プロンプト(ユーザーが入力する指示や質問)とそれに対する望ましい応答を訓練することで、モデルの性能を向上させる方法を指し、LLM(Large Language Model、大規模言語モデル)の能力を向上させるための強力な手段でもあります。例えば有名なモデルであるBERT(Bidirectional Encoder Representations from Transformers)の処理は、ウェブ上の膨大なテキストをデータセットとする訓練から始まります。この初期訓練によって言語に対する幅広い理解をLLMに持たせることができ、特定の業界・分野やタスクで優れた能力を発揮できるように調整するのがファインチューニングの役割とも言えます。
応用&詳細解説
ファインチューニングには利点が大きく二つあります。
一つ目は、ファインチューニングを施したモデルは、特定のタスクにおいてより良い性能を発揮することです。例えば、GPT(Generative Pretrained Transformer)とChatGPTを比較すると、GPTモデルにファインチューニングを施したものがChatGPTです。もともとテキストを生成するよう訓練されたGPTモデルとは異なり、ChatGPTはまるでユーザーと会話をするように指示に従ったり、質問に回答したりすることを繰り返すことによって微調整(ファインチューニング)され、より望ましい出力を返すことを実現しています。
またファインチューニングされていない大規模なモデルと同等以上の性能を達成するために、比較的小規模なサイズのモデルをファインチューニングするというアプローチも考えられます。例えば、Laboro.AIが開発したBERT事前学習モデル「Laboro BERT」は、12GBのデータで事前に訓練されていますが、ファインチューニングには数MBのデータしか必要なく、それでいて高い精度でのタスク処理が可能です。
モデルの規模が小さくなれば推論コストも低くなるので、ハードウエア要件もより緩くなります。大ざっぱに言えば、最高性能のGPU(グラフィックボード)を積んだ計算機を使うところを、手頃に買えるノートパソコンで対応できる、といった具合です。見方を変えれば、モデルの規模を大きくできない制約がある場合に、精度を上げるために有効な手法の一つがファインチューニングだと言えます。
利点の二つ目は、金銭的なコストがあまりかからないことです。通常、モデルの訓練には数十万円から数億円かかることが見込まれますが、ファインチューニングを行う場合、モデルをゼロから訓練するわけではないため、必要とされる訓練データセットが少なく済むことから、データ収集も比較的容易になります。基となるモデルを開発するコストも考慮しなければ なりませんが、コスト低減ができる可能性はあるということです。
例えば、2023年に発表されたMeta社のLLMモデル、LLaMa (Large Language Model Meta AI) 7BをファインチューニングしたモデルAlpaca は、何兆個ものトークンで訓練されている結果、その費用は約8万5000ドルにもなることが報告されています。一方、Alpacaのファインチューニングは、スタンフォード大学による発表によれば、データ収集に500ドル、トレーニングに100ドル、合計600ドルしかかからなかったとのことです。
ビジネス成長に向けたポイント
ビジネス面での利点には前述の通り、まずモデル開発の費用を下げられることがあります。しかし本質はそこではなく、そうして比較的手軽に開発できたモデルによるAIと人間が共に「進化」できる可能性があることと捉えられます。
ファインチューニングという概念の一部に、RHLF(Reinforcement Learning from Human Feedback)があります。人間の価値基準に沿うように、人間のフィードバックを使ってAIを強化学習でファインチューニングする手法です。RLHFは、ChatGPTのモデルの訓練に使われている中心的な技術として注目されています。人間の好みや意図といった「人間の価値基準」がAIモデルに反映されるため、AIの出力がより安全・無害で有用になる利点があります。
しかし、AIに闇雲にフィードバックを与えても、AIによる出力が改善するとは限りません。人間が工夫をしてより良いフィードバックを与え、AIがより良い出力を出すようになり、それに対してさらに良いフィードバックを与えて…という具合に正の循環が回って、人間とAIが「共進化」し、仕事でのAI活用の方法を見いだせるだけでなく、イノベーションが起きやすい環境をつくり出せる可能性があります。
参考
@IT「ファインチューニング(Fine-tuning:微調整)とは?」
Henok Ademtew “PEFT: Making Big Things Happen with Small Changes“
Serdar Cellat “Fine-Tuning Transformer-Based Language Models“
Laboro.AI「Laboro.AIオリジナル日本語版BERTモデルを公開」
Meta “Introducing LLaMA: A foundational, 65-billion-parameter large language model”
Meta AI “LLaMA: Open and Efficient Foundation Language Models”
Stanford University “Alpaca: A Strong, Replicable Instruction-Following“
Simon Willison’s Weblog “Could you train a ChatGPT-beating model for $85,000 and run it in a browser?“
@IT「RLHF(Reinforcement Learning from Human Feedback:人間のフィードバックからの強化学習)とは?」