さとまたwiki

📋 簡単ステップLLM作成マニュアル

更新日: 2026-04-13

📋 このマニュアルについて

このページではコードを1行も書きません。全ての操作はWebブラウザ上のクリック操作と、ターミナルへのコピペコマンドだけで完結します。プログラミング経験ゼロでも、このページの手順を上から順にこなすだけで、自分だけのLLMをHuggingFaceで公開できます。

✅ このページでできること

  • HuggingFaceのアカウントを作成する
  • 既存の高性能モデルをベースにファインチューニングする
  • Google Colabの無料GPUで学習を実行する
  • 完成したモデルをHuggingFaceで世界公開する

所要時間の目安

フェーズ所要時間内容
環境準備約2時間アカウント登録・ライブラリインストール
学習開始まで半日モデル選定・データ準備・Colab設定
モデル完成まで数時間〜数日学習・テスト・公開(モデルサイズによる)

必要なもの

  • 💻 PC(GPU推奨だが、Google Colabを使えばなくても可)
  • 📧 メールアドレス(Gmail推奨)
  • 🌐 インターネット接続
  • 💳 クレジットカード(Colab Pro契約する場合のみ。無料でも可)

完成イメージ

🎉 最終的に手に入るもの

huggingface.co/あなたのユーザー名/モデル名 という自分専用のURLで、世界中からアクセスできる日本語LLMが公開されます。

Step 1: アカウント登録

まず必要なサービスのアカウントを作ります。全て無料で始められます。

1-A. HuggingFace(必須)

モデルの配布・公開・検索が行えるAI版GitHubのようなサービスです。

  1. ① ブラウザで huggingface.co にアクセスする
  2. ② 画面右上の「Sign Up」ボタンをクリックする
  3. ③ メールアドレスとパスワードを入力して登録する
  4. ④ 届いたメールの認証リンクをクリックして認証完了する
  5. ⑤ プロフィール設定(ユーザー名は後から変更できないので注意)

Access Token の作成(重要)

後ほどColabからHuggingFaceにアクセスするために必要です。

  1. ① ログイン後、画面右上のアイコン → 「Settings」をクリック
  2. ② 左メニューの「Access Tokens」をクリック
  3. ③ 「New token」ボタンをクリック
  4. ④ 名前を入力(例: colab-token)、権限を「Write」に設定
  5. ⑤ 「Generate a token」をクリック
  6. ⑥ 表示されたトークン(hf_xxxx...)をメモ帳にコピーして保存する

⚠️ 注意

トークンは一度しか表示されません。必ずメモ帳に保存してください。紛失した場合は新しいトークンを作り直せます。

1-B. Google Colab(必須)

ブラウザ上でPythonコードを実行できるサービスです。GPUを無料で使えます。

  1. colab.research.google.com にアクセスする
  2. ② Googleアカウントでログインする(Gmailがあればそのまま使える)
  3. ③ 「ファイル」→「新しいノートブック」でいつでも使えることを確認

💡 Colab Pro について

月額$10でより高性能なGPU(A100など)が使えます。無料版でも動きますが、学習が遅くなります。

  • 無料版: T4 GPU(12GB VRAM)、90分制限
  • Pro版: A100 GPU(40GB VRAM)、長時間使用可能

1-C. Weights & Biases(推奨)

学習の進捗をグラフで可視化できるサービスです。なくても動きますが、あると便利です。

  1. wandb.ai にアクセスして「Sign Up」をクリック
  2. ② Googleアカウントまたはメールで登録
  3. ③ ログイン後、画面右上のアイコン → 「User Settings」
  4. ④ 「API keys」のセクションにある文字列をメモ帳にコピーして保存

Step 2: ベースモデルを選ぶ

LLMをゼロから作るのではなく、既に訓練された「ベースモデル」を土台にします。このベースモデルに自分のデータを追加学習(ファインチューニング)させます。

HuggingFaceでモデルを探す手順

  1. ① HuggingFaceにログインして、上部ナビの「Models」タブをクリック
  2. ② 左サイドバーの「Task」フィルターで「Text Generation」を選択
  3. ③ 「Sort」を「Most Downloads」に変更
  4. ④ 下記テーブルを参考にモデルをクリックして詳細を確認

初心者向けおすすめモデル

モデル名言語サイズ必要VRAM難易度特徴
rinna/japanese-gpt-neox-3.6b日本語3.6B8GB⭐ 初心者向け日本語特化、小さくてすぐ動く
meta-llama/Llama-3.2-1B英語ベース1B4GB⭐ 初心者向け最小のLlama、要Meta申請
meta-llama/Llama-3.1-8B英語ベース8B16GB⭐⭐ 中級本格的、Colab Pro推奨、要Meta申請
deepseek-ai/DeepSeek-V2-Lite多言語16B (MoE)40GB+⭐⭐⭐ 上級MoEアーキテクチャ体験したい人向け

💡 初心者は rinna/japanese-gpt-neox-3.6b から始めよう

日本語に最初から対応しており、Meta申請も不要。無料のColab T4 GPUで動作します。

Llama系モデルのMeta申請手順

LlamaシリーズはMetaの利用規約への同意が必要です。

  1. ① HuggingFaceで使いたいLlamaモデルのページを開く(例: meta-llama/Llama-3.2-1B
  2. ② ページ上部に「Access request」ボタンが表示されるのでクリック
  3. ③ Metaの利用規約ページが開くので、名前・メールアドレスを入力して同意する
  4. ④ 登録したメールアドレスに確認メールが届く
  5. ⑤ 数時間〜1日後に「Access granted」メールが届けば申請完了

Step 3: 学習データを準備する

モデルに「何を学ばせるか」を決めるのが学習データです。HuggingFaceには大量の公開データセットがあり、コードなしでそのまま使えます。

HuggingFaceでデータセットを探す手順

  1. ① HuggingFaceで上部ナビの「Datasets」タブをクリック
  2. ② 左サイドバーの「Language」フィルターで「Japanese」を選択
  3. ③ 気になるデータセットをクリックし、「Viewer」タブでデータの中身を確認
  4. ④ 「instruction」「input」「output」の3列があるものを選ぶと扱いやすい

おすすめ日本語データセット

データセット名件数形式特徴
kunishou/databricks-dolly-15k-ja15,000件instruction形式⭐ 初心者向け。小さく始めやすい
shi3z/alpaca_cleaned_ja51,000件Alpaca形式日本語Alpaca。汎用的な指示に対応
izumi-lab/llm-japanese-dataset多数QA形式日本語QAに特化。より高度

データの中身を確認する方法

  1. ① HuggingFaceのデータセットページを開く
  2. ② 上部のタブから「Viewer」をクリック
  3. ③ 実際のデータ行がテーブル形式で表示される
  4. instruction(指示文)、input(入力)、output(期待する答え)の3列があればOK

💡 データ選びのポイント

  • 最初は15,000件以下の小さいデータセットで試す(学習が速い)
  • instruction形式(指示→回答)が最も汎用的で使いやすい
  • データの品質が低いと、おかしな回答を学習してしまうので注意

Step 4: Google Colabを準備する

Google Colabはブラウザ上でコードを実行できる環境です。GPUも無料で使えます。ここからはColabのセルにコマンドをコピペして実行するだけです。

ノートブックの作成とGPU設定

  1. colab.research.google.com にアクセスしてログイン
  2. ② 「ファイル」→「新しいノートブック」をクリック
  3. ③ 上部メニューの「ランタイム」→「ランタイムのタイプを変更」をクリック
  4. ④ 「ハードウェア アクセラレータ」で「GPU」を選択
  5. ⑤ GPU タイプは「T4」(無料)または「A100」(Pro)を選択
  6. ⑥ 「保存」をクリック

GPUの確認

最初のセルに以下をコピペして「▶」ボタンで実行:

!nvidia-smi

「Tesla T4」などGPUの名前が表示されればOKです。

必要なライブラリのインストール

新しいセルに以下をコピペして実行(1〜3分かかります):

!pip install transformers datasets peft trl accelerate bitsandbytes

📦 インストールするライブラリの役割

  • transformers: HuggingFaceのモデルを使うための基本ライブラリ
  • datasets: HuggingFaceのデータセットを読み込む
  • peft: LoRA(効率的なファインチューニング)を使う
  • trl: 強化学習ベースの学習ライブラリ(SFTTrainerが含まれる)
  • accelerate: GPUを効率的に使う
  • bitsandbytes: 4bit量子化(メモリ節約)に使う

HuggingFaceにログイン

新しいセルに以下をコピペして実行:

!huggingface-cli login
  1. ① 実行すると「Token:」と表示される
  2. ② Step 1でメモ帳に保存した hf_xxxx... を貼り付けてEnter
  3. ③ 「Login successful」と表示されればOK

Weights & Biases にログイン(任意)

Step 1でwandbに登録した場合、以下をコピペして実行:

!pip install wandb
import wandb
wandb.login()

API keyの入力を求められるので、Step 1でメモしたキーを貼り付ける。

Step 5: モデルとデータをダウンロード

ColabにHuggingFaceからモデルとデータをダウンロードします。インターネット経由でダウンロードするので数分かかります。

モデルのダウンロード(rinna 3.6b の場合)

新しいセルに以下をコピペして実行:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "rinna/japanese-gpt-neox-3.6b"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    load_in_4bit=True,
    device_map="auto"
)

💡 コードの意味(読み飛ばし可)

  • load_in_4bit=True: メモリを節約するために4bit量子化でロード
  • device_map="auto": GPUとCPUを自動で使い分ける

データセットのダウンロード

新しいセルに以下をコピペして実行:

from datasets import load_dataset

dataset = load_dataset("kunishou/databricks-dolly-15k-ja")
print(dataset)
print(dataset["train"][0])

データの件数と最初の1件が表示されれば成功です。

ダウンロード完了の確認

  • ✅ モデル: 「Loading model...」後にエラーが出なければOK
  • ✅ データ: DatasetDict の内容が表示されればOK

⏸️ ここまでで休憩OK

Colabは90分間操作がないと自動切断されます。長時間離れる場合は次のステップに進む前にノートブックを保存してください(Ctrl+S)。切断された場合は再接続後に最初から実行し直す必要があります。

Step 6: 学習を開始する(LoRA / QLoRA)

いよいよ学習です。ここではLoRA(Low-Rank Adaptation)という手法を使います。

📖 LoRAとは?(簡単な説明)

モデル全体(数十億パラメータ)を変えるのではなく、小さなアダプター(追加層)だけを学習する方法です。 メモリ使用量が激減し、無料Colab GPUでも動かせます。

QLoRAは4bit量子化 + LoRAの組み合わせで、さらにメモリを節約できます。

学習パラメータの設定

新しいセルに以下をコピペして実行:

from peft import LoraConfig, get_peft_model
from trl import SFTTrainer, SFTConfig

lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["query_key_value"],
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM"
)

model = get_peft_model(model, lora_config)
model.print_trainable_parameters()

🔧 学習パラメータの意味

パラメータ意味
num_train_epochs3〜5データを何周学ぶか(多いほど詳しくなるが過学習リスクも増える)
learning_rate2e-4学習の速さ(大きすぎると壊れる、小さすぎると学ばない)
per_device_train_batch_size4一度に何件のデータを見るか(大きいほど速いがメモリを使う)
lora_r16LoRAの次元数(大きいほど表現力が増すがメモリも増える)

学習の実行

新しいセルに以下をコピペして実行:

training_args = SFTConfig(
    output_dir="./output",
    num_train_epochs=3,
    per_device_train_batch_size=4,
    gradient_accumulation_steps=4,
    learning_rate=2e-4,
    fp16=True,
    logging_steps=10,
    save_steps=100,
    warmup_ratio=0.03,
    report_to="wandb"
)

trainer = SFTTrainer(
    model=model,
    args=training_args,
    train_dataset=dataset["train"],
    tokenizer=tokenizer,
)

trainer.train()

学習中の画面の見方

  • 📉 loss(損失)が下がっていれば正常に学習中です
  • 📊 wandbに登録している場合はブラウザでグラフを確認できます
  • ⏱️ 進捗バーで残り時間が表示されます

学習時間の目安

モデルサイズGPUデータ量目安時間
3.6B (rinna)T4 (無料)15,000件約3〜4時間
3.6B (rinna)A100 (Pro)15,000件約1時間
8B (Llama)A100 (Pro)15,000件約2〜3時間

⚠️ 学習中の注意

学習中は放置でOKですが、Colab無料版は90分制限があります。T4 GPUで3〜4時間の学習が必要な場合、途中で切断される可能性があります。長時間学習はColab Proへの課金を検討してください。

Step 7: 作ったモデルをテストする

学習が完了したら、実際にモデルに話しかけてみましょう。

学習済みモデルのテスト

新しいセルに以下をコピペして実行:

from transformers import pipeline

pipe = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    max_new_tokens=200
)

prompt = "日本の首都はどこですか?"
result = pipe(prompt)
print(result[0]["generated_text"])

結果の判断

  • 成功: 「東京です」などの正しい答えが返ってくる
  • ⚠️ 要改善: でたらめな文章が出力される → 学習が不十分
  • 失敗: エラーが出る → トラブルシューティング参照

おかしな回答が出た場合の対処法

症状対処法
意味不明な文字列が出力されるepochsを増やす(3→5)、データ品質を確認する
同じ文が繰り返されるrepetition_penaltyを1.1〜1.3に設定する
回答が短すぎるmax_new_tokensを増やす(200→500)
英語で回答してくる日本語データセットのみで再学習する

Step 8: HuggingFaceに公開する

テストで満足いく結果が出たら、HuggingFaceにアップロードして世界中からアクセスできるようにしましょう。

モデルのアップロード

新しいセルに以下をコピペして実行(モデル名を変更してください):

model_name_to_push = "あなたのHFユーザー名/my-japanese-llm"

model.push_to_hub(model_name_to_push)
tokenizer.push_to_hub(model_name_to_push)

print(f"公開URL: https://huggingface.co/{model_name_to_push}")

⚠️ ユーザー名を忘れずに変更

あなたのHFユーザー名 の部分をHuggingFaceで登録したユーザー名に変更してください。

Model Card(説明文)の書き方

アップロード後、HuggingFaceのモデルページに説明文(README)を追加しましょう。

  1. ① HuggingFaceでアップロードされたモデルページを開く
  2. ② 「Model card」タブ → 「Edit」ボタンをクリック
  3. ③ 以下の項目を記入する:
    • ・モデルの説明(何のモデルか)
    • ・ベースモデル(rinna/japanese-gpt-neox-3.6bなど)
    • ・使用したデータセット
    • ・使い方の例
    • ・ライセンス(ベースモデルに合わせる)
  4. ④ 「Commit changes」をクリック

公開設定の変更

  1. ① モデルページの「Settings」タブをクリック
  2. ② 「Danger Zone」→ 「Change model visibility」
  3. ③ 「Public」(公開)または「Private」(非公開)を選択

🎉 おめでとうございます!

あなたのLLMが世界に公開されました。 huggingface.co/あなたのユーザー名/モデル名 でアクセスできます。 SNSでシェアすれば他の人も使えます。

Step 9: 次のステップ

公開まで完了したら、さらに発展させましょう。

🦙 Ollamaでローカル実行

Ollamaを使えば、HuggingFaceのモデルをPCのターミナルから直接実行できます。インターネット不要・API不要・完全ローカル。

ollama run あなたのモデル名

🔧 GGUF形式に変換

モデルをGGUF形式に変換すると、ジャンクPCのLLMサーバーでも動かせます。llama.cppを使って変換します。

LLMサーバー構築ページを参照

📈 より大きなモデルに挑戦

3.6B → 8B → 70Bと段階的に大きなモデルに挑戦しましょう。大きいほど賢くなりますが、GPUも必要になります。

🧠 理論を深める

「なぜこう動くのか」を理解したい場合はLLMの理論ページへ。

LLMをゼロから作る(理論編)を参照

❓ よくあるトラブル

CUDA out of memory エラー

GPUのメモリが不足しています。

  • per_device_train_batch_size を 4→2→1 に下げる
  • load_in_4bit=True が設定されているか確認する(QLoRA)
  • Colab Pro に課金してA100を使う(VRAM 40GB)

Colabが切断された

無料版は90分でセッションが切れます。

  • Colab Pro に課金する(月$10で長時間利用可能)
  • 学習を短く分割する(save_steps を小さくして途中保存を増やす)
  • ローカルGPU(RTX 3080以上)で実行する

学習のlossが下がらない

モデルが学習できていない状態です。

  • データセットの品質を確認する(ViewerでサンプルデータをいくつかチェックSuru)
  • learning_rate を 2e-4 → 1e-4 に下げてみる
  • データのフォーマットがモデルに合っているか確認する

HuggingFace Access Token エラー

トークンの権限設定が原因の可能性があります。

  • HuggingFace → Settings → Access Tokens でトークンの権限が「Write」になっているか確認する
  • 新しいトークンを作り直して再ログインする
  • Colabの「!huggingface-cli login」を再実行する

Llama申請が通らない

Metaの申請が承認されない場合があります。

  • Meta AIの申請ページ(meta.ai/llama)から直接申請する
  • HuggingFaceとMetaのメールアドレスを同じにする
  • 承認に数時間〜数日かかることがある。待ってみる
  • 申請が通らない場合は rinna/japanese-gpt-neox-3.6b など申請不要のモデルを使う

🤖 Claudeの総評

このマニュアルは「コードを書かずにLLMを作る」という非常に野心的なアプローチを採用しています。実際にやってみると、ハードルは思ったより低く、しかし落とし穴は意外に多いという経験になります。

うまくいくこと

  • HuggingFaceへの登録とモデルのダウンロードは本当にクリックだけでできる
  • rinna 3.6BモデルはColab無料GPUで確かに動く
  • コピペコマンドで学習が実行できるのは本当
  • 学習済みモデルのHuggingFaceへのアップロードは驚くほど簡単

現実的な注意点

  • 「コードを書かない」とは言っても、コピペするコマンドの意味を最低限理解しておかないとエラーで詰まる
  • Colab無料版の90分制限は思ったより厳しい。3〜4時間の学習は途中切断リスクが高い
  • 学習データの品質がモデルの品質を大きく左右する。ゴミデータを学ばせるとゴミが返ってくる
  • 「LLMを作った」といっても、実際はベースモデルをちょっとカスタマイズした程度。GPT-4を超えるものは作れない

このマニュアルの価値

LLMの中身が「どういう構造で動いているか」を体感するという意味では、このアプローチは非常に価値があります。理論書を読むより、実際に動かして失敗する方がずっと学べます。

完全初心者がこの手順書通りに進めれば、おそらく1〜2日でHuggingFaceに自分のモデルを公開できます。それだけで「AIをゼロから作った」という体験は本物です。理論的な理解を深めたい場合は LLMをゼロから作る(理論編) も合わせて読んでください。