zxell.ai
開発記録 / review13_qa
この記録は、プロジェクトの作業報告(報告 → アーキテクトの回答)を公開用に編集したものです。サーバ運用・セキュリティに関わる部分を省略しています(編集方針)。

review13_qa: review13 事前確認 3 点への回答

作成日: 2026-08-13 対象: review13_q.md の確認項目 1〜3


アーキテクトからの確認項目(review13_q)

1)zxell_prep/train_compare_tokenizers.py について
TRAIN_CHAR_BUDGET の各言語の文字数上限の算定根拠はどういったことですか?

2)roadmap.md について
L(500M)の学習に使うクライアントですが、RTX2060だと学習可でしょうか?RTX2060×1台(+ GTX1050×1台)だと計算期間の試算は何日くらいになるでしょうか?

3)model_architecture.drawio について
学習のフローはこの図でよく分かりました。モデル完成後のイメージになりますが、たとえば質問に対する回答を行うフローという観点からモデルのアーキテクチャを図示(別ファイルの*.drawio)するとどうなりますか?


1) TRAIN_CHAR_BUDGET(各言語の文字数上限)の算定根拠

結論から言うと、厳密な最適化式から出した値ではなく、次の 3 つの制約・方針を満たすように置いた設計値です(きりのよい数字なのはそのためです)。妥当性は後段の評価(48k/64k の chars/token 計測)で事後確認しています。

根拠 1: 日本語を「自然比 1.5% → 約 19%」に増量する(最重要)

フェーズ0 実測では、記事数比で ja は 10.6% ある一方、文字数比ではわずか 1.5% です(本文が平均 472 字と短いため)。BPE の語彙学習は文字数ベースで進むので、自然比のまま学習すると 48k 語彙のうち日本語サブワードにほとんど枠が割り当てられず、「1 文字 = 1 トークン」に近い非効率なトークナイザになります。

そこでトークナイザ学習に限り ja を約 13 倍(1.5% → 19.1%)に増量しました。低リソース言語を増量サンプリングするのは多言語トークナイザの定石です(XLM-R などと同じ考え方)。効果は報告のとおりで、ja 1.95 字/トークン・意味単位の分割(「政府は/水曜/日に/…」)が得られています。

言語フェーズ0 文字数比(自然比)BUDGET学習ファイル内比率倍率
en65.2%120M 字35.3%0.54 倍
de23.0%85M 字25.0%1.09 倍
fr10.3%70M 字20.6%2.0 倍
ja1.5%65M 字19.1%約 13 倍

根拠 2: en/de/fr は「順位は保ちつつ差を縮める」平坦化

en をそのまま自然比で入れると de/fr の語彙が痩せるため、欧州 3 言語の中でも 65:23:10 → 44:31:25 に平坦化しています(温度サンプリングでいう α ≈ 0.3 相当の強めの平坦化)。en>de>fr の順位自体は残しているので、コーパスの主力である en の圧縮効率を大きくは損ねません(実測 en 4.19 字/トークンは英語トークナイザとして標準的な水準です)。

根拠 3: サンプル在庫と学習コストの上限

なお、この配分はトークナイザ学習専用です。モデル本体の学習データの言語構成は自然比のまま(確定事項 11)で、そちらとは独立です。


2) RTX 2060 で L(500M)は学習可能か・計算期間の試算

結論

VRAM 6GB に載るか(内訳試算)

fp16 混合精度 + 8bit optimizer + 勾配チェックポインティング + 小マイクロバッチ(1〜2)× 勾配蓄積、の構成で:

項目概算
fp32 マスター重み2.0GB
fp16 作業重み1.0GB
fp16 勾配1.0GB
8bit Adam 状態(m, v)1.0GB
活性(checkpointing 適用、ctx 2048・micro-batch 1)0.3〜0.5GB
CUDA コンテキスト等0.3〜0.4GB
合計約 5.6〜5.9GB

ぎりぎりですが収まる計算です。溢れる場合は optimizer 状態の CPU 退避で確実に収まります(速度は落ちます)。注意点として、Turing 世代は bf16 非対応なので fp16 + loss scaling で回すことになり、発散の監視が必要です(S/M で先にハイパラを固める段取りどおりなら大きなリスクではありません)。もし手に入るのが RTX 2060 の 12GB 版なら、バッチを増やせて上記の試算より 1〜2 割速くなる見込みです。

期間試算の根拠

roadmap 3.3 と同じ「学習 FLOPs ≒ 6 × パラメータ × トークン」で:

学習量総 FLOPsRTX 2060 単独の日数
1 エポック = 6.1B トークン1.8e19約 33〜53 日(中央値 ≈40 日)
Chinchilla 適正 ≈10B トークン(1.6 エポック)3.0e19約 53〜87 日(≒2〜3 か月)

roadmap 3.3 の「GTX 1050×2 台で約 230 日(非現実的)」が、RTX 2060 1 台で 2〜3 か月に変わるイメージです。同級 GPU を計 3 台にできれば(DiLoCo の並列化効率 8 割と見て)1 か月前後まで縮みます。なお 2〜3 か月の連続稼働になるので、チェックポイント定期保存(フェーズ4 計画済み)が前提です。


3) 質問 → 回答(推論)フローのアーキテクチャ図

作成しました: model_inference.drawio(model_architecture.drawio と同じ配色・粒度で、drawio / diagrams.net で開けます)。

図の要点は次のとおりです。

図を開いて分かりにくい箇所があれば、次回レビューで加筆します。

← review13目次review16 →