LLMの基礎 ④:LLMのパラメータと学習

パラメータとは?

LLM(大規模言語モデル)のパラメータとは、モデルの学習過程で調整される重みやバイアスのことを指します。
これらのパラメータが、入力されたテキストに対する出力を決定する重要な要素です。


LLMのパラメータファイルの中身は大量の数値です。
その数値それぞれがパラメータと呼ばれるもので、この総数が「パラメータ数」と表現されます。

たとえば、LLaMA-2-70b は700億パラメータを持つため、パラメータファイルには700億個の数値が保存されています。

 

Transformerとは?

ではこのパラメータをLLMはどう使用するのか?
ここでTransformerの登場です。
Transformer にはその中の各処理と各パラメータが紐づけられています。

Transformer内部では入力されたテキストを段階的に処理し、次の単語を予測します。
各処理はPythonコードによって定義されており、いくつかの処理ではパラメータを使用して演算が実行されます。

Transformer は「入力テキストの処理方法」を決め、パラメータはその処理内で使用される値のようなものです。

 

学習とは?

LLMの学習(Training)とは、大量のテキストデータを使って、モデルのパラメータ(重み)を最適化し、より正確なテキスト生成や理解を可能にするプロセスを指します。

LLMの学習は大きく分けて 事前学習(Pre-training) と ファインチューニング(Fine-tuning) の3つのステップで進められます。

① 事前学習(Pre-training)

🔹 目的:モデルに基本的な言語理解を習得させる
🔹 手法:大量のテキストデータを用いて、自己教師あり学習(Self-Supervised Learning)を行う
🔹

  • GPT系(デコーダーモデル):次の単語予測(Auto-Regressive Learning)
    • 例:「今日は天気がいい」→「今日は天気が 良い
  • BERT系(エンコーダーモデル):マスクされた単語の予測(Masked Language Model)
    • 例:「今日は[MASK]がいい」→「今日は天気がいい」

🔹 データ

  • 書籍・論文
  • Wikipedia
  • Web記事(Common Crawlなど)
  • コード(GitHubなど)

💡 この段階でモデルは一般的な言語の構造を学ぶが、特定のタスクに最適化されていない。事前学習が完了したLLMを、基盤モデル(Foundation-model)と呼びます。

しかし、この基盤モデルの時点では正確なテキストの生成はできますが、ChatGPTのようなチャットサービスには使用できません。
なぜなら、「爆弾の作り方は?」といった不適切な質問にも答えてしまうからです。
この問題を解決するために行うのが、ファインチューニングです。

② ファインチューニング(Fine-tuning)

🔹 目的特定のタスク向けにモデルを調整する

🔹 手法:追加データを使い、教師あり学習(Supervised Learning)または強化学習Reinforcement Learning)を行う

🔹

  • QAモデル(質問応答) → FAQデータで学習
  • コード補完 → プログラムコードで学習
  • 法律・医学用チャットボット → 法律文書・医学論文で学習
  • RLHF(人間のフィードバックによる強化学習 → AIの出力を人間が評価し、良い回答を学習させる(ChatGPT など)

💡 この段階でモデルは「より賢く」「実用的」になる。

 

③ ヒューマンフィードバック(Human Feedback)

ヒューマンフィードバック(Human Feedback) とは、人間がAIの出力を評価し、それをもとにモデルを改善する手法のことです。
特に、LLM(大規模言語モデル)の開発では、モデルの品質向上や倫理的な問題の回避のために活用されます。

 

ほなほな。