hugging-face-model-trainer について
Hugging Face Model Trainingは、TRLまたはUnslothでのLLM学習を計画・実行する開発者向けスキルです。SFT、DPO、GRPO、GGUF変換を扱い、小規模な試行や環境・予算の確認を重視します。
主な機能
- 01SFT・DPO・GRPOの学習計画
- 02TRLとUnslothのサンプル
- 03範囲を限定した試行と時間測定
- 04スクリプトによる算術的なコスト見積もり
- 05ジョブ状態・ログ・チェックポイントの確認
- 06ローカルでのGGUF変換準備
活用シーン
- 01承認済みモデルとデータで学習を準備
- 02承認予算内で学習設定を試験
- 03学習ジョブとチェックポイント復旧を確認
- 04モデルのGGUF変換を準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill hugging-face-model-trainerインストール後、Claude Code で/hugging-face-model-trainerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/reliability_principles.mdlocal_training_macos.mdhub_saving.mdtrackio_guide.mdhardware_guide.mdtraining_patterns.mdgguf_conversion.mdtraining_methods.mddetailed-guide.mdunsloth.mdtroubleshooting.mdscripts/convert_to_gguf.pytest_model_trainer_review.pyestimate_cost.pytrain_dpo_example.pytrain_sft_example.pytrain_grpo_example.pydataset_inspector.pyhf_benchmarks.pyunsloth_sft_example.py詳細
Hugging Face モデルトレーニング
使用するタイミング
TRL または Unsloth を使用した言語モデルの SFT、DPO、GRPO トレーニングの計画と実行、および GGUF 変換の準備に使用します。同梱の Unsloth の例はテキストトレーニングの例であり、ビジョントレーニングやストリーミングには対応していません。詳細ガイドを読み、タスクに必要な手法固有のリファレンスのみを参照してください。
実行前の確認
有料ジョブを実行する前に、トレーニングデータとモデルのリビジョン、保存先、ハードウェア、実行時間、計算予算の正確な内容について、ユーザーの承認を得てください。トレーニングの承認を得ても、公開 Hub リポジトリ、テレメトリ、トラッキング用 Spaces、非公開データセットのアップロードが自動的に許可されるわけではありません。最新のアカウント利用資格、クォータ、料金は実際のプロバイダーに確認してください。古い表から推測してはいけません。
実際に利用可能な、サポート対象の Jobs インターフェースを使用してください。送信前に現在のスキーマを確認してください。文字列 $HF_TOKEN は、あらゆる環境で使える汎用のシークレット補間プロトコルではありません。認証情報を表示したり、ソースコードに記載したり、無関係なログインセッションを変更したりせず、ホストで文書化されているシークレットのバインド方法を使用してください。読み取り専用操作に書き込みトークンは必要ありません。書き込みアクセスは、承認済みの成果物保存先にのみ付与してください。
計算リソースを予約する前に、サンプル値、型、チャットロール、モデルのチャットテンプレート、および上限を設定したトレーニングサブセット全体を検証してください。列名だけでは互換性を証明できません。GRPO では、明示的に定義し、テスト済みの報酬関数も必要です。レビュー済みの依存関係のバージョンと、変更不可能なモデル/データセットのリビジョンを固定してください。リモートモデルコードが必要な場合は、別途レビューしてください。デフォルトでは trust_remote_code=False に設定してください。
ワークフロー
- 手法とベースラインを確認し、同梱の例を調整する前に内容を確認してください。
- ステップ数とサンプル数に明確な上限を設けて、小規模なパイロットを実行してください。実際のシーケンス長、精度、オプティマイザーでメモリ使用量を確認してください。複数の GPU を使用するには、サポート対象の分散起動が必要です。各 GPU のメモリが自動的に共有プールになるわけではありません。
- 実測したパイロットの所要時間と、ユーザーから提供された最新の料金を使って、
scripts/estimate_cost.py --measured-hours 0.1 --hourly-rate 2を実行してください。この例の数値は計算に使う入力値であり、プロバイダーの料金ではありません。 - 承認済みの予算内で期限を設定してください。一時的なジョブを開始する前に、非公開の永続的なチェックポイント、または承認済みの保存先を設定してください。Hub へのアップロードは選択肢の一つですが、公開は必須ではありません。
- ジョブの状態と、サニタイズされたログを確認してください。実行の成功と判断する前に、チェックポイントからの復旧を確認し、ホールドアウトデータで評価してください。結果が不明なジョブは、状態が確認できるまで再送信しないでください。
例
SFT では、scripts/train_sft_example.py を承認済みのモデルとテキストまたはチャットのデータセットに合わせて調整してください。選好学習では scripts/train_dpo_example.py を確認してください。オンライン報酬では scripts/train_grpo_example.py を確認してください。これらは環境ごとの検証が必要な例であり、本番環境での実行が保証されているジョブではありません。
ローカル変換では、使用前に scripts/convert_to_gguf.py を確認してください。llama.cpp とその依存関係をレビューし、バージョンを固定してください。変換と、別途承認されたアップロードが成功するまでは、中間成果物を保持してください。ベースモデル、アダプター、データのライセンスを遵守してください。生成されたモデルカードによって、保有していない権利が付与されることはありません。
制限事項
Unsloth のパフォーマンスとサポート対象のアーキテクチャは、バージョン、カーネル、ハードウェア、ワークロードによって異なります。パーセンテージは保証値ではありません。コスト計算ツールが行うのは計算のみであり、メモリサイズの算出、実行時間の予測、リアルタイムの見積もりは行いません。このソースレビューでは、GPU トレーニング、モデルの読み込み、アップロード、外部トラッキングは実行していません。リファレンスに古い API バージョンが記載されている場合があります。実行前に、固定した環境に合わせて確認してください。メモリ不足への汎用的な対処として、MPS のメモリウォーターマークを無効にしないでください。