Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 0品質スコア 50/100

nanogpt

約300行で実装された学習用のGPTコードで、OpenWebTextデータセットを使用してGPT-2(124Mパラメータ)を再現します。Andrej Karpathyによる、シンプルでカスタマイズしやすい構成のため、Transformerアーキテクチャをゼロから理解するのに最適です。シェイクスピアデータセット(CPU)やOpenWebText(マルチGPU)を使ったトレーニングにも対応しています。

description の原文を見る

Educational GPT implementation in ~300 lines. Reproduces GPT-2 (124M) on OpenWebText. Clean, hackable code for learning transformers. By Andrej Karpathy. Perfect for understanding GPT architecture from scratch. Train on Shakespeare (CPU) or OpenWebText (multi-GPU).

SKILL.md 本文

nanoGPT - ミニマリスト GPT トレーニング

クイックスタート

nanoGPT は、学習と実験向けに設計された簡略版 GPT 実装です。

インストール:

pip install torch numpy transformers datasets tiktoken wandb tqdm

Shakespeare でトレーニング (CPU フレンドリー):

# データを準備
python data/shakespeare_char/prepare.py

# トレーニング (CPU で 5 分)
python train.py config/train_shakespeare_char.py

# テキスト生成
python sample.py --out_dir=out-shakespeare-char

出力例:

ROMEO:
What say'st thou? Shall I speak, and be a man?

JULIET:
I am afeard, and yet I'll speak; for thou art
One that hath been a man, and yet I know not
What thou art.

一般的なワークフロー

ワークフロー 1: 文字レベルの Shakespeare

完全なトレーニングパイプライン:

# ステップ 1: データを準備 (train.bin, val.bin を作成)
python data/shakespeare_char/prepare.py

# ステップ 2: 小さいモデルをトレーニング
python train.py config/train_shakespeare_char.py

# ステップ 3: テキスト生成
python sample.py --out_dir=out-shakespeare-char

設定 (config/train_shakespeare_char.py):

# モデル設定
n_layer = 6          # 6 個のトランスフォーマーレイヤー
n_head = 6           # 6 個のアテンションヘッド
n_embd = 384         # 384 次元の埋め込み
block_size = 256     # 256 文字のコンテキスト

# トレーニング設定
batch_size = 64
learning_rate = 1e-3
max_iters = 5000
eval_interval = 500

# ハードウェア
device = 'cpu'  # または 'cuda'
compile = False # PyTorch 2.0 では True に設定

トレーニング時間: 約 5 分 (CPU)、約 1 分 (GPU)

ワークフロー 2: GPT-2 (124M) を再現

OpenWebText でのマルチ GPU トレーニング:

# ステップ 1: OpenWebText を準備 (約 1 時間かかります)
python data/openwebtext/prepare.py

# ステップ 2: DDP で GPT-2 124M をトレーニング (8 GPU)
torchrun --standalone --nproc_per_node=8 \
  train.py config/train_gpt2.py

# ステップ 3: トレーニング済みモデルからサンプリング
python sample.py --out_dir=out

設定 (config/train_gpt2.py):

# GPT-2 (124M) アーキテクチャ
n_layer = 12
n_head = 12
n_embd = 768
block_size = 1024
dropout = 0.0

# トレーニング
batch_size = 12
gradient_accumulation_steps = 5 * 8  # 総バッチサイズ ~0.5M トークン
learning_rate = 6e-4
max_iters = 600000
lr_decay_iters = 600000

# システム
compile = True  # PyTorch 2.0

トレーニング時間: 約 4 日 (8× A100)

ワークフロー 3: 事前学習済み GPT-2 をファインチューン

OpenAI チェックポイントから開始:

# train.py または設定ファイル内
init_from = 'gpt2'  # オプション: gpt2, gpt2-medium, gpt2-large, gpt2-xl

# モデルが OpenAI の重みを自動的に読み込みます
python train.py config/finetune_shakespeare.py

設定例 (config/finetune_shakespeare.py):

# GPT-2 から開始
init_from = 'gpt2'

# データセット
dataset = 'shakespeare_char'
batch_size = 1
block_size = 1024

# ファインチューニング
learning_rate = 3e-5  # ファインチューニング用に低めの学習率
max_iters = 2000
warmup_iters = 100

# 正則化
weight_decay = 1e-1

ワークフロー 4: カスタムデータセット

独自のテキストでトレーニング:

# data/custom/prepare.py
import numpy as np

# データを読み込み
with open('my_data.txt', 'r') as f:
    text = f.read()

# 文字マッピングを作成
chars = sorted(list(set(text)))
stoi = {ch: i for i, ch in enumerate(chars)}
itos = {i: ch for i, ch in enumerate(chars)}

# トークン化
data = np.array([stoi[ch] for ch in text], dtype=np.uint16)

# 訓練/検証に分割
n = len(data)
train_data = data[:int(n*0.9)]
val_data = data[int(n*0.9):]

# 保存
train_data.tofile('data/custom/train.bin')
val_data.tofile('data/custom/val.bin')

トレーニング:

python data/custom/prepare.py
python train.py --dataset=custom

使用時期と代替案

nanoGPT を使用する場合:

  • GPT の仕組みを学習する
  • トランスフォーマーバリアントを実験する
  • 教育/学習目的
  • 高速プロトタイピング
  • コンピュートが限定的 (CPU で実行可能)

シンプルさの利点:

  • 約 300 行: model.py 内の全モデル
  • 約 300 行: train.py 内のトレーニングループ
  • ハッカブル: 変更が簡単
  • 抽象化なし: 純粋な PyTorch

代わりに別の選択肢を使用する場合:

  • HuggingFace Transformers: 本番環境での使用、多数のモデル
  • Megatron-LM: 大規模な分散トレーニング
  • LitGPT: より多くのアーキテクチャ、本番対応
  • PyTorch Lightning: 高レベルフレームワークが必要

よくある問題

問題: CUDA のメモリ不足

バッチサイズまたはコンテキスト長を削減:

batch_size = 1  # 12 から削減
block_size = 512  # 1024 から削減
gradient_accumulation_steps = 40  # 有効バッチを維持するために増加

問題: トレーニングが遅い

コンパイルを有効化 (PyTorch 2.0+):

compile = True  # 2 倍の高速化

混合精度を使用:

dtype = 'bfloat16'  # または 'float16'

問題: 生成の品質が低い

より長くトレーニング:

max_iters = 10000  # 5000 から増加

温度を低下:

# sample.py 内
temperature = 0.7  # 1.0 から低下
top_k = 200       # Top-K サンプリングを追加

問題: GPT-2 の重みが読み込めない

transformers をインストール:

pip install transformers

モデル名を確認:

init_from = 'gpt2'  # 有効な値: gpt2, gpt2-medium, gpt2-large, gpt2-xl

高度なトピック

モデルアーキテクチャ: references/architecture.md を参照して、GPT ブロック構造、マルチヘッドアテンション、MLP レイヤーについてシンプルに解説しています。

トレーニングループ: references/training.md を参照して、学習率スケジュール、勾配蓄積、分散データパラレルセットアップについて説明しています。

データ準備: references/data.md を参照して、トークン化戦略 (文字レベル vs BPE) とバイナリフォーマットの詳細について説明しています。

ハードウェア要件

  • Shakespeare (文字レベル):

    • CPU: 5 分
    • GPU (T4): 1 分
    • VRAM: <1GB
  • GPT-2 (124M):

    • 1× A100: 約 1 週間
    • 8× A100: 約 4 日
    • VRAM: GPU あたり約 16GB
  • GPT-2 Medium (350M):

    • 8× A100: 約 2 週間
    • VRAM: GPU あたり約 40GB

パフォーマンス:

  • compile=True を使用: 2 倍の高速化
  • dtype=bfloat16 を使用: 50% のメモリ削減

リソース

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
davila7
リポジトリ
davila7/claude-code-templates
ライセンス
MIT
最終更新
不明

Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: davila7 · davila7/claude-code-templates · ライセンス: MIT