mcpField
A
axolotl

axolotl

github.com/kalarislabs開発9657 回インストール3 日前に更新
リポジトリ

axolotl について

axolotlを扱う開発者向けのドキュメントベースのスキルです。機能の説明、実装パターン、デバッグ資料を提供し、学習設定などのワークフローを構成するための例とリファレンスをまとめています。

主な機能

  1. 01Axolotl APIと機能の案内
  2. 02学習設定のパターン
  3. 03データセット形式のリファレンス
  4. 04コード例とAPI資料
  5. 05トラブルシューティング手順

活用シーン

  1. 01FSDP学習の設定
  2. 02GPU転送のボトルネック確認
  3. 03axolotlコードのデバッグ

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill axolotl

インストール後、Claude Code で/axolotlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api.md
dataset-formats.md
index.md
other.md

詳細

Axolotl スキル

公式ドキュメントから生成された、Axolotl の開発を包括的に支援します。

このスキルを使用するタイミング

次の場合にこのスキルを使用してください。

  • Axolotl を使用している場合
  • Axolotl の機能や API について質問する場合
  • Axolotl のソリューションを実装する場合
  • Axolotl のコードをデバッグする場合
  • Axolotl のベストプラクティスを学ぶ場合

クイックリファレンス

よく使われるパターン

パターン 1: トレーニングジョブで許容可能なデータ転送速度が得られることを検証するには、NCCL Tests を実行するとボトルネックの特定に役立ちます。例:

./build/all_reduce_perf -b 8 -e 128M -f 2 -g 3

パターン 2: Axolotl の yaml で、モデルが FSDP を使用するように設定します。例:

fsdp_version: 2
fsdp_config:
  offload_params: true
  state_dict_type: FULL_STATE_DICT
  auto_wrap_policy: TRANSFORMER_BASED_WRAP
  transformer_layer_cls_to_wrap: LlamaDecoderLayer
  reshard_after_forward: true

パターン 3: context_parallel_size は、GPU の総数を割り切れる値にする必要があります。例:

context_parallel_size

パターン 4: 例:- シーケンス並列化なしで GPU が 8 台の場合:ステップごとに異なるバッチを 8 つ処理します - GPU が 8 台で context_parallel_size=4 の場合:ステップごとに異なるバッチを 2 つだけ処理します(各バッチは 4 台の GPU に分割されます)- GPU ごとの micro_batch_size が 2 の場合、グローバルバッチサイズは 16 から 4 に減少します

context_parallel_size=4

パターン 5: 設定で save_compressed: true にすると、モデルを圧縮形式で保存できます。これにより、次のことが可能になります。- ディスク容量の使用量を約 40% 削減します - 高速な推論のための vLLM との互換性を維持します - さらなる最適化(例:量子化)のための llmcompressor との互換性を維持します

save_compressed: true

パターン 6: 注意:インテグレーションを integrations フォルダーに配置する必要はありません。Python 環境にあるパッケージにインストールされていれば、どこに配置してもかまいません。例については、このリポジトリをご覧ください:https://github.com/axolotl-ai-cloud/diff-transformer

integrations

パターン 7: 単一サンプルとバッチデータの両方を処理します。- 単一サンプル:sample[‘input_ids’] は list[int] です - バッチデータ:sample[‘input_ids’] は list[list[int]] です

utils.trainer.drop_long_seq(sample, sequence_len=2048, min_sequence_len=2)
コードパターンの例

例 1(python):

cli.cloud.modal_.ModalCloud(config, app=None)

例 2(python):

cli.cloud.modal_.run_cmd(cmd, run_folder, volumes=None)

例 3(python):

core.trainers.base.AxolotlTrainer(
    *_args,
    bench_data_collator=None,
    eval_data_collator=None,
    dataset_tags=None,
    **kwargs,
)

例 4(python):

core.trainers.base.AxolotlTrainer.log(logs, start_time=None)

例 5(python):

prompt_strategies.input_output.RawInputOutputPrompter()

リファレンスファイル

このスキルには、references/ に包括的なドキュメントが含まれています。

  • api.md - API ドキュメント
  • dataset-formats.md - データセット形式のドキュメント
  • other.md - その他のドキュメント

詳細情報が必要な場合は、view を使用して特定のリファレンスファイルを読み込んでください。

このスキルの使用方法

初心者向け

基本的な概念を学ぶには、getting_started または tutorials のリファレンスファイルから始めてください。

特定の機能について

詳しい情報を得るには、該当するカテゴリのリファレンスファイル(api、guides など)を使用してください。

コード例について

上記のクイックリファレンスには、公式ドキュメントから抽出したよく使われるパターンが含まれています。

リソース

references/

公式ソースから抽出したドキュメントを整理して格納しています。次の内容が含まれています。

  • 詳細な説明
  • 言語注釈付きのコード例
  • 元のドキュメントへのリンク
  • すばやく移動するための目次
scripts/

よく使う自動化タスク用のヘルパースクリプトをここに追加します。

assets/

テンプレート、ボイラープレート、サンプルプロジェクトをここに追加します。

メモ

  • このスキルは公式ドキュメントから自動生成されています
  • リファレンスファイルでは、ソースドキュメントの構造と例が維持されています
  • コード例には、シンタックスハイライトを向上させるための言語検出情報が含まれています
  • クイックリファレンスのパターンは、ドキュメント内のよくある使用例から抽出されています

更新

このスキルを最新のドキュメントで更新するには:

  1. 同じ設定でスクレーパーを再実行します
  2. 最新情報を反映してスキルが再構築されます

エージェントの運用手順

  1. 環境を確認します。 GPU の種類、メモリ、ドライバー/CUDA のバージョン(nvidia-smi)、フレームワークのバージョン、データセットの場所とサイズを確認します。
  2. 入力を確定します。 データまたはユーザーに確認して、形式、識別子、パラメーターを確定します。結果に影響する値を推測せず、確認してください。
  3. まず小規模に実行します。 スモークテストとして、小さなモデルまたはサブセットを使い、少ないステップ数で実行して、損失が減少し、チェックポイントが保存されることを確認します。
  4. 上記の手順と参考情報に従って、タスク全体を実行します。
  5. 結果を検証します。 保留データの指標を追跡し、ベースラインと比較して、シード、設定、ハードウェアを記録します。
  6. 報告します。 実行した内容(バージョン、コマンド、パラメーター)、確認した内容、未解決の点を明示します。
次の状況が発生した場合対応方法
CUDA のメモリ不足バッチサイズを減らす、勾配累積/チェックポイントまたは混合精度を有効にする、あるいはモデルをシャーディングします。
損失が NaN になる、または発散する学習率を下げ、データに無効な値がないか確認し、勾配クリッピングを有効にします。
これらの手順に記載された関数、フラグ、エンドポイントがインストール済みバージョンにないインストール済みバージョンのドキュメント(help()、--help、公式ドキュメント)を確認し、適宜対応して、ユーザーに伝えます。API を決して捏造しないでください。
必須の入力、識別子、パラメーターが曖昧ユーザーに確認するか、実行前に仮定を明示します。

誠実さに関するルール

  • 結果、パラメーター、識別子、引用、統計情報を決して捏造しないでください。実行または検証できない場合は、そのことを明確に伝えてください。
  • ログなしに学習結果を主張しないでください。大規模なジョブを開始する前に、計算コストを見積もってください。
  • ここに記載されているバージョン固有の詳細は古くなっている可能性があります。インストール済みバージョンの公式ドキュメントで確認してください。
  • 費用が発生する、共有 GPU やクラウドのクォータを消費する、個人データや患者データに触れる、または取り消せない操作を行う前に、必ず確認してください。

関連スキル

  • llama-factory:LLaMA-Factory を使用した大規模言語モデルのファインチューニングを案内します。WebUI のノーコードインターフェース、100 種類以上の対応モデルを使った学習などを扱います…
  • unsloth:Unsloth を使用した大規模言語モデルのファインチューニングを案内します。LoRA および QLoRA を使用し、より高速かつ少ないメモリで学習するライブラリです。基盤…
  • peft-fine-tuning:Hugging Face PEFT を使用して LLM をファインチューニングします。LoRA、QLoRA、IA3、AdaLoRA、prefix tuning、prompt tuning を使用し、パラメーターの 1% 未満で…

コメント