「学ぶ」と「使う」を分ける
AIについて話していると、
「AIがこの会話から学習した」
「AIが今考えながら学んでいる」
といった表現を目にすることがあります。しかし、モデルのTrainingと、訓練済みモデルを使うInferenceは区別する必要があります。最初に大きく分けると、次のようになります。
Training
↓
訓練されたモデル
訓練されたモデル
↓
Inference
↓
予測・生成などのoutput
Training
Training(学習)は、データと学習目的に基づいて、モデルのparameterや学習された状態を調整するプロセスです。この過程では、モデルが何らかの学習目標に基づいて調整されます。ここで重要なのは、
Trainingは、完成済みモデルへinputを与えてoutputを得ることとは別の工程
だという点です。
Inference
Inference(推論)は、訓練済みのモデルにinputを与えて、予測やoutputを得るためにモデルを使うことです。私たちがチャット形式のAIサービスへ文章を入力し、その場で回答を受け取る場面では、モデル利用という意味ではInferenceに関係する処理が行われます。Inferenceは、モデルのparameterをTrainingと同じ意味で学習し直すことを意味しません。
Pretraining
大規模なモデルについてはPretraining(事前学習)という言葉もよく使われます。Pretrainingは、後のtask・domain・instructionなどへの適応より前に行われる学習です。
名前に「事前」と付いていても、Pretrainingが必ずWeb全体を使うことや、必ず教師なし学習であることを意味するわけではありません。
Pretraining = 必ずWeb全体を使う
Pretraining = 必ず教師なし学習
どのデータを使い、どの目的で学習するかはモデルや方法によって異なります。
Fine-tuning
Fine-tuning(微調整)は、すでに学習されたモデルに追加の学習や適応を行うことです。たとえば、あるtask、domain、instructionなどに合わせてモデルを適応させる場合があります。ただし、Fine-tuningはPretraining、すべてのPost-training、必ずInstruction Tuningのいずれとも同じではありません。
Fine-tuning = Pretraining
Fine-tuning = すべてのPost-training
Fine-tuning = 必ずInstruction Tuning
Fine-tuningという言葉が使われたら、「追加の学習・適応」という位置から理解し、具体的な方法はその資料の定義を確認します。
Post-training
Post-trainingは、Pretrainingの後に行われる追加の学習や適応をまとめて表す言葉として使われます。そこには場合によって、
- Fine-tuning
- Instruction Tuning
- preferenceを使った適応
- RLHF
などが含まれることがあります。ただし、どの方法をPost-trainingに含めるかは文脈によって異なります。Post-trainingという一つの固定アルゴリズムが存在する、と考える必要はありません。
一つの会話とTrainingを同一視しない
ここで、AIサービス利用時に重要な区別があります。あなたがAIへ何かを書いたことと、その情報が現在のinteractionで利用されること、その情報が保存されること、その情報によってmodel parameterがTrainingされることは、それぞれ別の問いです。
会話の中でAIが情報を利用しているように見えたからといって、それだけでモデルのparameterが更新されたと結論づけることはできません。この違いは第7章で詳しく扱います。
「学習したように見える」とTrainingは別
会話の前半で伝えた条件を、後半でもAIが使ったとします。それだけを見ると、
「この会話でAIが学習した」と表現したくなるかもしれません。しかし、技術的には、
- current contextを利用している
- saved informationを利用している
- retrievalされた情報を利用している
- model parameterがTrainingによって変化した
など、異なる可能性を区別する必要があります。外から確認できない仕組みを一つに決めません。
この章のまとめ
Training != Inference
Pretraining != Fine-tuning
Fine-tuning != すべてのPost-training
会話で情報を使う != parameterがTrainingされた
- Trainingはparameterや学習された状態を調整する工程
- Inferenceは訓練済みモデルを使ってoutputを得る工程
- Pretrainingは後の適応より前に行う学習
- Fine-tuningは学習済みモデルへの追加の学習・適応
- Post-trainingはPretraining後の複数の適応方法を含み得る
- 現在の会話で情報が使われたことだけから、Trainingが行われたとは判断できない
次の章では、こうして準備されたAIを、どのような仕事に使いやすく、どのような仕事では外部確認が必要なのかを考えます。