LoRA 学習の実施チェックリスト¶
チェックが付いているのは、実際の証拠があることを意味します。「チュートリアルがここまで書かれた」という意味ではありません。コマンドは plan.md、ローカルでの検証記録は verification.md を参照してください。
A. 実装済みの教材¶
- 小学生向けの中国語による理科探究。3 つの学年帯と 5 つのトピックカテゴリをカバー。
- 順を追ったチュートリアル:概念、ハードウェア、環境、学習、評価、エクスポート、API、トラブルシューティング。
- ファクトカード 60 枚、学習用 500 + 検証用 50 + テスト用 50 の会話。すべてレビュー待ちの合成会話。
- データ検証、会話の展開、テンプレート/長さ/教師信号のチェック。
- 単一ファイルの dataset.json、完全なサンプルとフィールド説明。ノートブックではデータを使う箇所を D1〜D7 で示しています。
- 独立した軽量のトークナイズ環境。PyTorch / TRL のテストは開発者向けの任意の章へ移動。
- QLoRA の学習と再開、A/B/C 推論、マルチターン会話、ブラインド評価と凍結。
- BF16 マージと、ローカルでのシングルターン/マルチターン API 呼び出し例。
- 学習コードをそのまま見せる教育用ノートブック。各セルに解説を付け、成果物の確認、再読み込み、評価も含みます。
- ModelScope からのダウンロード、HF ミラーへのフォールバック、固定ファイルの SHA-256 検証、シャード欠落時のエラー。
B. ローカルでの仕組みのチェック¶
- データと教師信号の自動テスト。
- モデルの revision を固定し、トークナイザーと設定ファイルのみをダウンロード。
- 実際の Qwen トークナイザーと TRL の collator で、1150 件の学習サンプルの mask/EOS/padding を確認。
- 極小の CPU モデルで LoRA だけが更新され、保存・再開・再読み込み・マージができる。
- チュートリアルの API 例を直接実行する、ローカル HTTP と履歴受け渡しのテスト。
- ブラインド評価のペアリング、スコア欠落、トピック単位のクラスタ統計のテスト。
C. 理解とレビュー¶
- SFT/LoRA/QLoRA、VRAM、Step/Epoch を自分の言葉で説明する。証拠:1 ページのメモ。
- 実際の教師信号ターゲットを少なくとも 10 件読む。証拠:audit とメモ。
- 候補会話 600 件をすべてレビューする。証拠:実在のレビュアー、メモ、修正記録。
- 事実の出典を再確認する。特に今回 Web アクセスが制限された資料。証拠:カードのレビュー記録。
D. GPU での仕組みの学習(先に第 2 章を理解すること。ノートブックは単一ファイルを直接読み込みます)¶
- Linux NVIDIA 環境の立ち上げ。証拠:バージョン、ドライバー、BF16、pip check。
- 固定バージョンのベースモデル全体をダウンロードして検証し、観察用の質問に対するベースモデルの回答を保存する。
- 1 Epoch(約 72 ステップ)の QLoRA。証拠:有限の loss、
loss-curve.png、パラメータ更新、アダプター、ピーク VRAM。 - 学習中に
nvidia-smiで VRAM を記録し、4.3 節の見積もりと比較する。証拠:読み取り値とメモ。 - 20 サンプルでの過学習。証拠:loss の変化と学習中の出力。汎化したとは主張しない。
- ステップ 5 からステップ 10 への再開。証拠:オプティマイザー/スケジューラーのスナップショットとログ。
E. 正式な比較(C、D に依存)¶
- カード 60 枚、会話 600 件、カテゴリごとに 100/10/10。トピックと事実の参照は split をまたがない。
- すべての参照回答のレビューと、近似重複のチェック。証拠:レビューとファミリーの記録。
- ドラフトデータでの探索的な比較(
--allow-draft --formalで prepare/audit)。証拠:manifest(draft: true)、トークナイザーのフィンガープリント、トークンレポート。 - r16/alpha32 と r8/alpha16 をそれぞれ 1 Epoch。証拠:設定、時間、VRAM、ファイルサイズ。
- 検証セットでの固定履歴/マルチターン会話。証拠:ブラインド評価、事実の審査、失敗の分類。
- 候補を凍結した後、テスト会話 50 件(5 トピック)をすべて実行する。証拠:凍結ファイル、出力、不確実性。
- 効果あり/効果なし/判断不能の結論を書き、制約を明記する。
F. エクスポートと API(D に依存。正式な品質の結論は E に依存)¶
- 実際の 4B アダプターを再読み込みできる。証拠:同じ SHA での出力。
- BF16 のベースモデルへのマージ。証拠:マージの manifest、完全な重み、トークナイザー、ライセンス。
- 同じ精度でマージ前後を比較し、NF4/BF16 の差は別途記録する。
- vLLM の起動。証拠:独立した推論環境のバージョン、サービスログ、ヘルスチェック。
- KV キャッシュの見積もりと起動ログを比較する。証拠:
GPU KV cache sizeとMaximum concurrencyの 2 行と、5.3 節の表との対照。 - API のシングルターン/マルチターン/ストリーミング呼び出し。証拠:実際のモデルの応答。
- アダプターをマウントしてデプロイし、同じサーバーで
qwen3-4b-baseとscience-loraを比較する。証拠:2 組の回答。 -
vllm bench serveで並列数 1/4/16 の負荷テストを行い、--max-num-seqsを調整して再テストする。証拠:TTFT/TPOT/スループットを埋めた表。 - 費用を確認し、結果を保存し、アイドル状態のインスタンスを停止する。証拠:コストの記録。
今後別途検討すること¶
Web ページ、読み上げ、多言語対応、保護者のインフォームド・コンセントのもとでの子どもによる実使用調査、紹介記事、インターネット公開サービス、その他の学習手法。