June 2026
Intermediate
384 pages
4h 17m
Japanese
3章では、事前学習、SFT、強化学習という3段階の学習を通して、「CodeBot」を育てていきます。まずは事前学習でPythonの基本的な言語知識を身につけさせ、SFTで指示に従う振る舞いを学ばせます。最後に、強化学習を用いて計算問題の正誤を報酬として与え、モデルの計算能力を高めます。
前章でGPT-2が完成しました。いよいよこのモデルを使って、実際に学習を行います。事前学習とは、大量のテキストデータを使って「次のトークンを予測する」タスクを繰り返し、モデルに言語のパターンを学習させるプロセスです。本節では、データセットの準備からモデルの学習、そして学習結果の確認まで、一連の流れを見ていきます。
最初に、学習に使用するデータセットを確認しましょう。使用するファイルはcodebot/tiny_codes.binです。このファイルは、「1章 トークナイザ基本編」で作成したものです(1章をスキップした方のために、このファイルはあらかじめGitHubリポジトリに含めています)。中身は、TinyCodesデータセットを学習済みのBPEトークナイザでエンコードしたトークンID列です。
importnumpyasnp# データ読み込みids=np.fromfile('codebot/tiny_codes.bin',dtype=np.uint16)(len(ids))# 2677398
このトークンID列を使って、学習用のデータセットを作成します。PyTorchでは、Datasetクラスを継承してカスタムのデータセットを定義するのが一般的です。ここでは、トークン列から入力とラベルのペアを生成する ...
Read now
Unlock full access