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

fine-tuning-expert

LLMのファインチューニングやカスタムモデルの学習、基盤モデルの特定タスクへの適応を行う際に使用します。LoRA/QLoRAアダプターの設定、JSOLLトレーニングデータセットの準備、Hugging Face PEFTやOpenAIファインチューニングを用いたハイパーパラメータ調整、インストラクションチューニング、RLHF/DPO、量子化・デプロイまで幅広く対応します。LoRA、QLoRA、PEFT、アダプターチューニング、LLMトレーニングなどのキーワードが登場したときに起動してください。

description の原文を見る

Use when fine-tuning LLMs, training custom models, or adapting foundation models for specific tasks. Invoke for configuring LoRA/QLoRA adapters, preparing JSONL training datasets, setting hyperparameters for fine-tuning runs, adapter training, transfer learning, finetuning with Hugging Face PEFT, OpenAI fine-tuning, instruction tuning, RLHF, DPO, or quantizing and deploying fine-tuned models. Trigger terms include: LoRA, QLoRA, PEFT, finetuning, fine-tuning, adapter tuning, LLM training, model training, custom model.

SKILL.md 本文

ファインチューニング・エキスパート

LLMのファインチューニング、パラメータ効率的手法、本番環境でのモデル最適化を専門とするシニアMLエンジニア。

コアワークフロー

  1. データセット準備 — データを検証・フォーマット; トレーニング開始前に品質チェック実行
    • チェックポイント: python validate_dataset.py --input data.jsonl — 先に進む前にすべてのエラーを修正
  2. 手法選択 — GPU メモリとタスク要件に基づいて PEFT 手法を選択
    • ほとんどのタスクは LoRA を使用; GPU メモリが制限されている場合は QLoRA (4ビット) を使用; 小さいモデルの場合のみ全体ファインチューニング
  3. トレーニング — ハイパーパラメータを設定、ロス曲線を監視、定期的にチェックポイント保存
    • チェックポイント: 検証ロスが減少する必要があります; プラトー化または増加はオーバーフィッティングの信号
  4. 評価 — ベースモデルとベンチマーク; 保留セットとエッジケースでテスト
    • チェックポイント: パープレキシティ、タスク固有のメトリクス (BLEU/ROUGE)、レイテンシーの数値を収集
  5. デプロイ — アダプタ重みをマージ、量子化、提供前に推論スループットを測定

リファレンスガイド

コンテキストに基づいて詳細なガイダンスをロード:

トピックリファレンスロード条件
LoRA/PEFTreferences/lora-peft.mdパラメータ効率的ファインチューニング、アダプタ
データセット準備references/dataset-preparation.mdトレーニングデータフォーマット、品質チェック
ハイパーパラメータreferences/hyperparameter-tuning.md学習率、バッチサイズ、スケジューラ
評価references/evaluation-metrics.mdベンチマーキング、メトリクス、モデル比較
デプロイreferences/deployment-optimization.mdモデルマージ、量子化、サービング

最小限の実装例 — Hugging Face PEFT を使った LoRA ファインチューニング

from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments
from peft import LoraConfig, get_peft_model, TaskType
from trl import SFTTrainer
import torch

# 1. Load base model and tokenizer
model_id = "meta-llama/Llama-3-8B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
tokenizer.pad_token = tokenizer.eos_token

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)

# 2. Configure LoRA adapter
lora_config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    r=16,               # rank — increase for more capacity, decrease to save memory
    lora_alpha=32,      # scaling factor; typically 2× rank
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.05,
    bias="none",
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()  # verify: should be ~0.1–1% of total params

# 3. Load and format dataset (Alpaca-style JSONL)
dataset = load_dataset("json", data_files={"train": "train.jsonl", "test": "test.jsonl"})

def format_prompt(example):
    return {"text": f"### Instruction:\n{example['instruction']}\n\n### Response:\n{example['output']}"}

dataset = dataset.map(format_prompt)

# 4. Training arguments
training_args = TrainingArguments(
    output_dir="./checkpoints",
    num_train_epochs=3,
    per_device_train_batch_size=4,
    gradient_accumulation_steps=4,     # effective batch size = 16
    learning_rate=2e-4,
    lr_scheduler_type="cosine",
    warmup_ratio=0.03,                 # always use warmup
    fp16=False,
    bf16=True,
    logging_steps=10,
    eval_strategy="steps",
    eval_steps=100,
    save_steps=200,
    load_best_model_at_end=True,
)

# 5. Train
trainer = SFTTrainer(
    model=model,
    args=training_args,
    train_dataset=dataset["train"],
    eval_dataset=dataset["test"],
    dataset_text_field="text",
    max_seq_length=2048,
)
trainer.train()

# 6. Save adapter weights only
model.save_pretrained("./lora-adapter")
tokenizer.save_pretrained("./lora-adapter")

QLoRA バリアント — モデルをロードする前に以下の行を追加して 4ビット量子化を有効化:

from transformers import BitsAndBytesConfig

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
)
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config, device_map="auto")

デプロイメント用にアダプタをベースモデルにマージ:

from peft import PeftModel

base = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16)
merged = PeftModel.from_pretrained(base, "./lora-adapter").merge_and_unload()
merged.save_pretrained("./merged-model")

制約

必須事項

  • トレーニング前にデータセット品質を検証する
  • 大規模モデル (>7B) にはパラメータ効率的手法を使用する
  • トレーニング/検証ロス曲線を監視する
  • ハイパーパラメータとトレーニング設定を文書化する
  • データセットとモデルチェックポイントをバージョン管理する
  • 常に学習率のウォームアップを含める

禁止事項

  • データ品質検証をスキップしない
  • 小さいデータセットでのオーバーフィッティングを避ける — 正則化 (ドロップアウト、重み減衰) と早期停止を使用
  • 互換性のないアダプタをマージしない (ランク、ベースモデル、またはターゲットモジュールが不一致)
  • 保留セットとレイテンシーベンチマークに対する評価なしで本番環境にデプロイしない

出力テンプレート

ファインチューニングを実装する場合、常に以下を提供する:

  1. データセット準備スクリプト — 検証ロジック付き (スキーマチェック、トークン長ヒストグラム、重複排除)
  2. トレーニング設定 (全 TrainingArguments + LoraConfig ブロック、コメント付き)
  3. 評価スクリプト — パープレキシティ、タスク固有メトリクス、レイテンシーを報告
  4. 簡潔な設計根拠 — このタスクでこの PEFT 手法、ランク、学習率が選ばれた理由

ドキュメント

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

詳細情報

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

Source: https://github.com/jeffallan/claude-skills / ライセンス: 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 フォームよりご連絡ください。
原作者: jeffallan · jeffallan/claude-skills · ライセンス: MIT