3. GPU の準備:マシンを借り、環境を入れ、モデルをダウンロードする¶
この章からお金がかかり始めます。マシンを起動する前に、第 1~2 章を読み終え、ローカルでアップロード用パッケージを用意できていることを確認してください。
この章のまとめ
- この章でやること:RTX 4090 のクラウドホストを起動する。
nvidia-smiの読み方を覚える。プロジェクトをアップロードする。学習用の Python 環境を作る。ModelScope から 8 GB のベースモデルをダウンロードして検証する。JupyterLab で正しいカーネルを選ぶ - 必要なもの:GPU プラットフォームのアカウントと残高。ローカルマシンで
python3 tools/build_gpu_zip.pyを実行して作ったllm-lora-tutorial-gpu.zip(コード、データ、トークナイザーだけで数 MB) - 終わると手に入るもの:
.venv-train環境がセルフチェックに通る。models/qwen3-4b/が検証に通る。ノートブックが LoRA · Python 3.11 カーネルで開いている - 目安の所要時間:30~60 分。大半は依存パッケージのインストールと重みのダウンロードです
この章の 5 つのステップと、それぞれが解決する問題は次のとおりです。
| ステップ | 何を解決するか | 省略するとどうなるか |
|---|---|---|
| 3.1 マシンを選ぶ | VRAM に 4 bit のベースモデルと学習中の中間結果が収まること、ディスクに環境・ベースモデル・マージ済みモデルが収まること | 学習中に OOM になる、またはマージの途中でディスクがいっぱいになる |
3.2 nvidia-smi を読む |
GPU、ドライバーのバージョン、空き VRAM を確認する | 後でインストールする PyTorch がドライバーと合わず、「CUDA が使えない」というエラーになることがある |
| 3.3 アップロード + 環境構築 | バージョンを固定したライブラリでプロジェクト専用の環境を作り、Jupyter カーネルとして登録する | イメージに同梱された古いライブラリを使ってしまい、コードの挙動がチュートリアルと合わなくなる |
| 3.4 ベースモデルのダウンロード | このチュートリアルとバイト単位で同一のモデル重みを手に入れる | バージョンが違うと回答も数値も合わない。シャードが欠けていると、ロード時になって初めてエラーになる |
| 3.5 ノートブックを開く | 正しいカーネルを選ぶ | ノートブックがシステムの Python で動き、import に失敗するか、違うバージョンを使ってしまう |
3.1 GPU ホストとファイル¶
どこで借りるか:Zhichuan Cloud¶
本書の GPU 作業はすべて Zhichuan Cloud(gpuhome.cc) で行いました。初心者にはそのままこれを使うことをおすすめします。主な理由は、安くてすぐに使い始められることです。
| 項目 | Zhichuan Cloud の場合 |
|---|---|
| 料金 | RTX 4090D(24 GB)従量課金 ¥1.25/時間。日額 ¥29、週額 ¥200、月額 ¥800(2026-10-11 時点のページ表示価格。注文時の価格が優先されます)。本書のメインの流れは 2~3 時間ほどなので、かかるのは 3~4 元程度です |
| 新規ユーザー特典 | 初回に ¥1 以上チャージすると ¥5 のクーポンがもらえ、メインの流れを一通り走らせるのにほぼ足ります |
| GPU の種類 | RTX 3090 / 4090 / 4090D / 4090 Lite / 5090、A100、L40S など。1~8 枚構成、複数リージョン |
| イメージ | 本書で使う PyTorch ベースイメージ 2.7.1-CUDA12.6-Py3.11-Ubuntu22 があります |
| 使い方 | インスタンスのページからワンクリックで JupyterLab、SSH、VSCode を開けます。50 GB のデータディスク付き |

選び方:GPU は RTX 4090、4090D、4090 Lite のどれでもかまいません。いずれも VRAM は 24 GB で、本書のコマンドを変える必要はありません(4090D は中国市場向けモデルで、演算性能は 4090 よりやや低く、VRAM は同じです)。イメージは PyTorch → 2.7.1-CUDA12.6-Py3.11-Ubuntu22 を選びます。課金は従量課金を選び、使い終わったらシャットダウンしてください。
実際にやってみて得た教訓が 2 つあります。マシンが起動したら、まずこれに対処してください。
- プロジェクトはデータディスクに置く。 インスタンスのホームディレクトリ
/rootは 30 GB のシステムディスク上にあります。学習環境を入れ、8 GB のモデルをダウンロードし、さらに vLLM を入れるといっぱいになります。df -hで約 50 GB のディスクを探し(著者のインスタンスでは/root/rivermind-dataにマウントされていました)、そこにプロジェクトを展開してください。 - PyTorch 公式のインデックスにつながらないことがある。 3.3 節と 5.4 節の両方に、中国国内ミラーを使う代替コマンドを載せています。
登録リンク:https://gpuhome.cc/auth/register?code=zt4f01m0。登録時に招待コード zt4f01m0 を入力すると、新規ユーザー向けクーポンを受け取れます。これは著者の紹介リンクで、あなたが初回チャージをすると著者にもプラットフォームのクーポンが付与されます。クーポンはプラットフォームが手動で発行するので、条件を満たしたらカスタマーサポートに連絡して受け取ってください。有効期限は 3 か月です。
今回使ったホスト構成¶
この章は、すでに選んで起動した RTX 4090 のクラウドホストに沿って進めます。以下の構成は 2026-09-29 に保存した起動時のスクリーンショットによるものです。ログイン後には、実際のデバイスと環境を改めて確認する必要があります。
| 項目 | 今回の選択 | 注意点 |
|---|---|---|
| GPU | RTX 4090 × 1、VRAM 24 GB | このチュートリアルは GPU 1 枚を使います。第 4 章はデフォルトで 1 エポック(約 72 ステップ)を最後まで回します |
| CPU / ホストメモリ | 15 コア / 100 GB | チュートリアルが推奨するホストメモリ 32 GB、および後の CPU マージで推奨する 64 GB を満たします |
| システムディスク | 30 GB SSD | プロジェクト、学習環境、モデルはできるだけデータディスクに置きます |
| データディスク | 50 GB SSD、スクリーンショットでは拡張なし | 全工程を通すなら 100 GB への拡張をおすすめします。ダウンロード前に実際の空き容量を確認してください |
| ベースイメージ | 2.7.1-CUDA12.6-Py3.11-Ubuntu22 |
Ubuntu 22、Python 3.11、PyTorch 2.7.1 / CUDA 12.6 がプリインストール済み |
| 課金方式 | 従量課金 | その回の実験が終わったら、プラットフォームのルールに従ってアイドル状態のインスタンスを停止し、ストレージ料金も確認してください |
下の図は、今回確認した GPU とイメージの構成です。

イメージは選べたので、次はその中にプロジェクト専用の学習環境を作ります。 イメージには PyTorch 2.7.1 がプリインストールされていますが、このチュートリアルのコードと依存関係は PyTorch 2.8.0 に固定しています。次の節で .venv-train を作って 2.8.0 + cu126 をインストールし、イメージ元々の環境には手を付けません。公式のインストールコマンドは PyTorch 2.8.0 にあります。
マシンは起動しましたが、このホストでのドライバー、依存関係、学習時の VRAM、所要時間はまだ検証していません。この章では環境、ダウンロード、カーネルを準備し、第 4 章でノートブック上でベースモデルを観察して LoRA のパラメーターを更新します。
ほかの GPU を選ぶ場合¶
下の表は標準的なデスクトップ向けカードを対象にしたもので、Qwen3 4B、4-bit QLoRA、最大 4096 トークン、1 回に 1 サンプルという構成を計画するためのものです。実際の使用量と所要時間はやはり実測が必要です。借りるときは、正確な型番、GPU 1 枚あたりの VRAM、GPU を専有できるかどうかを確認してください。
| GPU 型番 | 1 枚あたりの VRAM | おすすめ |
|---|---|---|
| RTX 4090 | 24 GB GDDR6X | 今回使った型番です。下の cu126 のコマンドをそのまま使います |
| RTX 3090 | 24 GB GDDR6X | すでに持っている場合や、実際に安く借りられる場合はよい選択です。cu126 を使います |
| RTX 5090 | 32 GB GDDR7 | VRAM に余裕があります。PyTorch をインストールするとき、インデックス URL 末尾の cu126 を cu128 に変えます |
5090 は Blackwell アーキテクチャを採用しており、それをサポートするホストドライバーが必要です。bitsandbytes 0.48.2 のサポート表によると、必要な sm120 は CUDA 12.8 ビルドに含まれています。5090 を使う場合は、下のチェックスクリプトにある CUDA バージョンのアサーションも 12.6 から 12.8 に変えてください。今回は 4090 を使うので、次の節のコマンドをそのまま実行します。
3.2 まず nvidia-smi を読む:ドライバー、CUDA、VRAM¶
GPU ホストにログインしたら、最初に nvidia-smi を実行します。出力はおおよそ次のようになります。
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.03 Driver Version: 560.35.03 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 Off | Off |
| 30% 35C P8 20W / 450W | 0MiB / 24564MiB | 0% Default |
+-----------------------------------------+------------------------+----------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
| 項目 | 意味 | 気にすべきこと |
|---|---|---|
Driver Version |
カーネルドライバーのバージョン。プラットフォームのイメージで決まり、一般ユーザーは変更できません | 下の CUDA の上限を決めます |
CUDA Version |
このドライバーがサポートする CUDA の最高バージョンであり、インストール済みの CUDA ではありません | PyTorch の cu126 には 12.6 以上、vLLM 0.21 の cu129 には 12.9 以上が必要です |
Memory-Usage |
使用中 / 合計の VRAM | 学習前は 0 に近いはずです。学習中はどこまで上がるかを見ます。vLLM を起動する前に、学習カーネルが VRAM を解放したことを確認します |
GPU-Util |
GPU の演算使用率 | 学習中や負荷試験中は高めを保つはずです。長く 0 のままなら、プログラムが CPU で詰まっているか待ち状態です |
Processes |
どのプロセスが VRAM を使っているか | 閉じ忘れた Jupyter カーネルを見つけるのに使います |
ドライバー、CUDA、PyTorch の関係: ドライバーは OS にインストールされ、GPU に結び付いています。CUDA は NVIDIA の計算ライブラリで、PyTorch の wheel には必要な分が同梱されています(torch==2.8.0 の cu126 という接尾辞は「CUDA 12.6 のランタイムを同梱」という意味です)。そのため CUDA ツールキットを自分でインストールする必要はありません。唯一の制約は、ドライバーがサポートするバージョンが wheel に同梱されたバージョンより低くてはいけない、ということです。イメージ名の CUDA12.6 はプリインストールされたツールキットのことで、ドライバーの上限とは別物です。nvidia-smi の表示を信じてください。
たとえるなら、ドライバーは OS のカーネルバージョン、CUDA ランタイムはアプリが同梱している依存ライブラリ、nvidia-smi は top と free -h を合わせたようなものです。
VRAM とホストメモリは別々のメモリです。モデルの重み、学習の中間結果、KV キャッシュはすべて VRAM に置く必要があり、ホストの 100 GB のメモリは受け渡しと CPU 上でのマージにしか使いません。VRAM が足りないときのエラーは CUDA out of memory で、対処法は使用量を減らすこと(量子化、短いサンプル、同時実行数を下げる)であり、ホストメモリを増やすことではありません。
3.3 プロジェクトをアップロードし、学習用カーネルを準備する¶
アップロード用パッケージ llm-lora-tutorial-gpu.zip を、プラットフォームのファイルアップロード機能で GPU のデータディスクにアップロードします。このパッケージはローカルのプロジェクトルートで下のコマンドを実行して作ります。ノートブック、コード、データを変更したら作り直してください。パッケージ内のトークナイザーはローカルの models/qwen3-4b/ から取り込まれるので、初めてパッケージを作る前に、2.8 節の説明どおり lab.download --tokenizer-only を一度実行しておきます。
パッケージ作成スクリプトは実行結果が残ったノートブックを受け付けないので、アップロードされるのは常にクリーンな状態のものです。アップロードしたら、アップロード先でターミナルを開いて展開します。
以降の GPU コマンドはすべてこのプロジェクトディレクトリで実行します。ノートブックは実際の絶対パスを表示します。notebooks/ の中にプロジェクトをもう 1 つ展開しないでください。古いバージョンのプロジェクトがすでにある場合は、新しいバージョンを別のディレクトリに展開し、元の runs/ とモデルのダウンロード先ディレクトリは残しておきます。学習結果を直接上書きしないでください。
アップロード用パッケージの中身¶
圧縮時で約 4 MB、展開後で約 17 MB、全部で 31 ファイルです。入っているのは「GPU での学習とデプロイに必要だが、オンラインでダウンロードできないか、このチュートリアルと完全に一致している必要があるもの」だけです(一覧の説明は中国語です。各ファイルの説明は、そこに書かれた章を参照してください)。
llm-lora-tutorial/
├── GPU_UPLOAD_README.md GPU 上的操作速查:建环境 → 下权重 → 打开 Notebook
├── notebooks/01_gpu_train.ipynb 训练主入口,第 4 章逐格执行
├── data/
│ ├── dataset.json 唯一的数据文件:事实卡 + train/val/test 对话(第 2 章)
│ └── README.md 数据逐字段说明
├── lab/ Notebook 和命令行共用的 Python 代码
│ ├── common.py 拼提示词、生成训练样本和掩码(第 2.5 节)
│ ├── data.py 读入并校验 dataset.json、按回答拆样本
│ ├── download.py 下载并校验基座权重(第 3.4 节)
│ ├── download-lock.json 12 个模型文件的大小和 SHA-256,下载后逐个核对
│ ├── training.py、train.py 训练器配置与命令行训练(第 4.6 节、第 6 章)
│ ├── prepare.py、audit.py 命令行快照与 Token 检查(第 4.6 节、第 6 章)
│ ├── infer.py、evaluate.py A/B/C 对照推理与盲评(第 6 章)
│ └── merge.py 命令行合并 adapter(第 5.1 节)
├── models/qwen3-4b/ 基座的“说明部分”,没有权重
│ ├── config.json 等配置 模型结构、默认生成参数
│ ├── tokenizer.json、vocab.json、merges.txt、tokenizer_config.json 分词器和聊天模板
│ ├── model.safetensors.index.json 权重分片索引(分片本身还没下载)
│ ├── model-lock.json 本教程固定的模型版本号
│ └── LICENSE、README.md 模型许可证与模型卡
├── requirements-train.txt 训练依赖(Transformers、PEFT、TRL、bitsandbytes 等,版本固定)
├── requirements-download.txt 下载依赖(ModelScope;备用镜像用的 huggingface_hub 随 Transformers 安装)
├── requirements-notebook.txt Jupyter 内核与画 loss 曲线的依赖
├── requirements-data.txt 数据检查依赖
└── pyproject.toml 项目元数据
要約すると、GPU_UPLOAD_README.md は GPU 上での手順のクイックリファレンスです。notebooks/01_gpu_train.ipynb は学習のメインの入口(第 4 章)です。data/ には唯一のデータセットファイルとそのフィールド解説が入っています。lab/ はノートブックと CLI が共有する Python コードです(common.py でプロンプトの組み立てとマスク、download.py でダウンロードと検証、download-lock.json に 12 個のモデルファイルのサイズと SHA-256、さらに CLI 用の学習、スナップショット、推論、評価、マージのスクリプト)。models/qwen3-4b/ はベースモデルの「説明部分」(設定、トークナイザーとチャットテンプレート、シャードのインデックス、固定バージョン、ライセンスとモデルカード)で、重みは含みません。requirements-*.txt は学習、ダウンロード、ノートブック、データチェックの依存関係を固定しています。
| パッケージに含まれないもの | 理由 | どこから来るか |
|---|---|---|
8 GB の重みシャード model-0000X-of-00003.safetensors |
大きすぎてアップロードが遅い。GPU ホストなら中国国内のミラーから速くダウンロードできる | 3.4 節で GPU 上でダウンロードし、download-lock.json と照合して検証します |
| PyTorch とその他の依存パッケージ本体 | GPU と CUDA のバージョンに結び付いているので、GPU ホストでインストールする必要がある | 下の pip コマンドで requirements-*.txt からインストールします |
学習結果 runs/、スナップショット data/processed/ |
どちらも GPU 上で生成される成果物 | 第 4 章の学習と、4.6 節のスナップショット生成で作られます |
自動テスト tests/、電子書籍のソース |
GPU では使わない | プロジェクト一式、または電子書籍の「ソースのダウンロード」ページ(8.1 節) |
トークナイザーを同梱しているのは、重みをダウンロードする前に GPU ホストでモデルのバージョンを確認できるようにするためです。ダウンロードでは 3 つの重みシャードを補うだけで済みます。ノートブックは data/dataset.json を直接読むので、先に lab.prepare を実行する必要はありません。50 GB のデータディスクには、学習環境、元の重み、マージ済みの重み、推論環境を同時に置く必要があります。デプロイまで全部やるなら、100 GB への拡張をおすすめします。
GPU のターミナルでプロジェクトの環境を作ります。
python3.11 -m venv .venv-train
.venv-train/bin/python -m pip install --upgrade pip
.venv-train/bin/python -m pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cu126
.venv-train/bin/python -m pip install -r requirements-train.txt -r requirements-download.txt -r requirements-notebook.txt
.venv-train/bin/python -m pip check
.venv-train/bin/python -m ipykernel install --user --name lora-train --display-name "LoRA · Python 3.11"
学習ではバージョンを固定した Torch/Transformers/TRL/PEFT を使います。ModelScope はダウンロード専用です。ipykernel は、プラットフォームの Jupyter からこの環境を使えるようにするためのものです。以前のバージョンのチュートリアルに従って .venv-train をすでに作っている場合は、それを再利用できます。新しく追加された依存関係をインストールし、カーネルを登録してください。通常の Python パッケージインデックスが遅い場合は、プラットフォームが提供する PyPI ミラーを使えます。モデルのダウンロード元と pip のパッケージ取得元は別物です。
download.pytorch.org につながらない場合(Network is unreachable が出る、またはリトライが延々と続く): 3 番目のコマンドは --index-url でダウンロード先を一時的に PyTorch 公式のインデックスに向けていますが、中国国内のホストからはアクセスできないことがよくあります。通常の PyPI ミラー(清華大学、Alibaba など)に切り替えるだけでは解決しません。それらには PyPI 上のデフォルト版 torch 2.8.0(CUDA 12.8 同梱)しかなく、下のセルフチェックは 12.6 を要求するからです。代わりに、同じ 2.8.0+cu126 パッケージがある Alibaba Cloud の PyTorch ミラーを使います。
.venv-train/bin/python -m pip install 'torch==2.8.0+cu126' -f https://mirrors.aliyun.com/pytorch-wheels/cu126/
-f は、torch 本体だけをそのページで探すよう pip に指示します。nvidia-* や triton など torch の依存パッケージは、引き続き設定済みの PyPI ソースから取得されます。バージョンを 2.8.0+cu126 と書くことで、pip が PyPI の cu128 版をインストールしてしまうのを防げます。インストールできたら、上の 4 番目のコマンド(requirements-*.txt)から続けてください。残りの手順は変わりません。PyPI ソースを恒久的に固定したい場合は .venv-train/bin/python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple を実行し、現在の設定は pip config list で確認できます。
.venv-train/bin/python - <<'CHECK'
import sys, torch, transformers, trl, peft, bitsandbytes
print("Python:", sys.executable)
print("Torch / CUDA:", torch.__version__, torch.version.cuda)
assert torch.__version__.split("+")[0] == "2.8.0"
assert torch.version.cuda == "12.6"
assert torch.cuda.is_available() and torch.cuda.is_bf16_supported()
print("GPU:", torch.cuda.get_device_name(0))
print("依赖:", transformers.__version__, trl.__version__, peft.__version__, bitsandbytes.__version__)
CHECK
これに通ってから先に進んでください(依赖 の行には依存パッケージのバージョンが表示されます)。CUDA が使えない場合は、まずカーネル、ドライバー、wheel を確認します。イメージにプリインストールされた Torch 2.7.1 は、このプロジェクトの環境の代わりにはなりません。カーネルの登録方法は IPython 公式ドキュメントに従っています。
3.4 中国国内の GPU ホストで完全な重みをダウンロードする¶
デフォルトでは Alibaba の ModelScope を使います。リポジトリは Qwen/Qwen3-4B-Instruct-2507 です。ModelScope には独自の SDK があり、HF_ENDPOINT を ModelScope のトップページに向ければ済む、という話ではありません。
--tokenizer-only は付けないでください。このコマンドは、アップロード用パッケージに入っていた model-lock.json と検証済みのトークナイザーをそのまま残し、足りない 3 つの重みシャードを補います。ネットワークが切れたら同じコマンドを再実行してください。.cache とバージョンロックは保持されるので、データを準備し直す必要はありません。
download.py は download-lock.json と照らし合わせてリモートのファイルサイズと SHA-256 を確認し、さらに実際にダウンロードした内容も確認します。ModelScope は master からファイルを取得しますが、ここで固定した Hugging Face のリビジョンとバイト単位で同一でなければなりません。リポジトリの内容が変わっていれば処理を止めるので、バージョンが混ざることはありません。リストにある 12 ファイルすべてのメタデータは両方のソースで照合済みで、3 つの重みファイルの合計は約 8.0 GB(10 進)です。
ダウンロード後に、オフラインチェックだけを単独で実行することもできます。
「校验通过:12 个文件;完整模型权重已就绪」(「検証成功:12 ファイル、完全なモデルの重みの準備ができました」)と表示され、コマンドが正常に終了したときだけ学習に進んでください。ディレクトリには次のファイルがあるはずです。
models/qwen3-4b/
├── model-lock.json
├── config.json
├── tokenizer.json
├── tokenizer_config.json
├── model.safetensors.index.json
├── model-00001-of-00003.safetensors
├── model-00002-of-00003.safetensors
└── model-00003-of-00003.safetensors
その他の設定ファイル、語彙ファイル、ライセンスファイルも残しておいてください。model-lock.json と重みのインデックスしか見当たらない場合や、ログに Returning existing local_dir と出ている場合は、重みがダウンロードされたことを意味しません。現在のダウンローダーは、このような不完全な結果を拒否します。
代替手段:中国国内の Hugging Face ミラーからダウンロードする¶
ModelScope にアクセスできない場合は、明示的に hf-mirror.com を選べます。
.venv-train/bin/python -m lab.download --source hf-mirror --output models/qwen3-4b
.venv-train/bin/python -m lab.download --check-only --output models/qwen3-4b
コードはミラーのアドレスを Hugging Face の SDK に明示的に渡すので、インストール済みパッケージのソースコードを書き換えたり、グローバルな環境変数を恒久的に変えたりする必要はありません。同じバージョンロックとファイル検証も引き続き使われます。このミラーは独立したサードパーティのサービスで、Alibaba Cloud 公式の ModelScope ではありません。アクセスできるかどうかは GPU ホストのネットワーク次第です。Hugging Face のダウンロード API に基づいています。
開発マシンでは、ModelScope からの config/トークナイザーのダウンロードを実際に試して検証に通り、3 つの大きな重みファイルも数バイト分のダウンロードテストに通りました。この GPU ホストでは、8 GB の完全な重みはまだダウンロードしていません。最終的にはホスト上での完全な検証結果が基準になります。
| 症状 | 対処 |
|---|---|
huggingface.co / Network is unreachable |
明示的に --source modelscope を指定するか、代替手段の --source hf-mirror を使う |
| 重みシャードが欠けている | 同じディレクトリで、--tokenizer-only を付けずに完全なダウンロードを再実行する |
| ローカルファイルのハッシュが一致しない | 報告されたファイルを横に移してバックアップし、バージョンロックは残したまま再ダウンロードする。チェックを飛ばさない |
| リモートのファイルが固定バージョンと一致しない | そのソースの利用をやめ、別のソースから固定された内容の取得を試す。ハッシュを書き換えて通さない |
No space left on device |
プロジェクトがどのパーティションにあるかを確認し、拡張するかデータディスクに移す。バックアップしていない実験結果を消さない |
3.5 ノートブックを開いて学習を始める¶
JupyterLab で 01_gpu_train.en.ipynb を開き、LoRA · Python 3.11 カーネルを選択します。見当たらない場合は Jupyter を再読み込みしてください。イメージに付属する素の Python 3 カーネルは選ばないでください。
Jupyter を初めて使う場合でも、知っておく必要があるのは次のことだけです。
| 操作 | やり方 |
|---|---|
| 現在のセルを実行する | コードセルをクリックして Shift+Enter を押します。実行後、フォーカスは次のセルに移ります |
| 実行中かどうかを見分ける | コードセルの左に [*] があれば実行中です。[3] のような数字は、3 回目の実行として完了したことを意味します |
| 出力を見る | 出力はコードセルのすぐ下に表示されます。長い出力は折りたたまれるので、左の青いバーをクリックして展開します |
| カーネルを切り替える | メニューの Kernel → Change Kernel。現在のカーネル名は右上に表示されます |
| やり直す | Kernel → Restart Kernel でメモリ上の変数がすべて消えます。ディスク上のファイルには影響しません |
| VRAM を解放する | Kernel → Shutdown Kernel。ブラウザのタブを閉じても解放されません |
ノートブックは素直な Python の学習コードを使っています。各コードセルの下には、何をするか、なぜか、実行すると何が見えるか、の 3 つの部分があります。3 つ目の部分には期待される出力と、それぞれの数値の意味が書いてあります。実際の値は多少異なります。セル 1 で ROOT と RUN_DIR を設定し、結果はデフォルトで runs/science-001/ に出力されます。プロジェクトまたは notebooks ディレクトリから開いた場合はパスを自動で検出します。それ以外の場所から開いた場合は ROOT を手で入力してください。
この後は第 4 章に沿って、セルを 1 つずつ実行して学習します。ベースモデルの回答もノートブックの一部なので、古い A/B コマンドを別途実行する必要はありません。