ml-engineering について
機械学習エンジニア向けに、モデルの学習、評価、量子化、推論サービング、デプロイ後の保守を扱う方法論スキルです。参考資料、記録テンプレート、監査スクリプトで再現可能な比較と回帰分析を支援し、統計モデリングや個別エンジンの運用は対象外です。
主な機能
- 01LoRA、QLoRA、全量ファインチューニングの手法
- 02ベンチマークと回帰評価の設計
- 03GGUF、GPTQ、AWQ などの量子化判断
- 04推論サービングとデプロイ計画
- 05学習・系譜・ドリフトの記録テンプレート
- 06データ重複とタスク結果の監査スクリプト
活用シーン
- 01ファインチューニング実験と再現性記録の計画
- 02評価セットの設計とモデル回帰の追跡
- 03量子化候補と品質基準の比較
- 04デプロイ計画やドリフト対応のレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ magnus919/ agent-skills --skill ml-engineeringインストール後、Claude Code で/ml-engineeringを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdevals/evals.jsonspecialization-challenges.mdreferences/evaluation-and-lineage.mdevaluation.mdfine-tuning.mdnli-classification.mdnli-evaluation.mdnli-sources.mdquantization-inference.mdsequence-sources.mdspecialization-decisions.mdspecialization-evidence.mdtabular-foundations.mdtabular-representations.mdtask-specific-extraction.mdtask-specific-summarization.mdtext-model-sources.mdtraining-infrastructure.mdtransaction-sequences.mdscripts/audit_sequence_windows.pyaudit_text_outcomes.pycheck-eval-overlap.pycompare_task_runs.pynli_score_contract.pytest_audit_sequence_windows.pytest_audit_text_outcomes.pytest_check_eval_overlap.pytest_compare_task_runs.pytest_nli_score_contract.py詳細
ML エンジニアリングの方法論
機械学習エンジニアリングは、モデル研究と本番システムをつなぐ役割を担います。この方法論では、ML モデルを確実にトレーニング、評価、デプロイ、保守するために必要なエンジニアリングの専門分野を取り上げます。
ML エンジニアの担当領域
| 担当すること | 担当しないこと |
|---|---|
| モデルのトレーニング — LoRA/QLoRA によるファインチューニング、フルファインチューニング、分散トレーニング | 統計モデリングと実験計画 — これはデータサイエンティストの担当です |
| モデルの評価 — ベンチマークスイート、カスタム評価セット、回帰テスト | 因果推論と仮説検定 — これはデータサイエンティストの担当です |
| 量子化 — GGUF、GPTQ、AWQ、bitsandbytes | トレーニングデータの収集とラベリング — これはデータ/ML オプスチームの担当です |
| 推論サービング — vLLM、llama.cpp、TGI、Triton | ビジネス指標と KPI の定義 — これはプロダクトマネージャーの担当です |
| 評価ハーネス — lm-eval-harness、カスタムパイプライン | データパイプラインのアーキテクチャ — これはデータエンジニアの担当です |
| モデルのデプロイ — コンテナ化、バージョン管理、A/B テスト | インフラストラクチャのプロビジョニング — これはプラットフォームエンジニアの担当です |
参考ファイル
| 参考資料 | 読み込むタイミング |
|---|---|
references/nli-classification.md | NLI の前提/仮説の契約、二値/三値ヘッド、スコアモードと切り捨て |
references/nli-evaluation.md | ドメイン/言語の検証、キャリブレーション、棄権、コストと適応実験 |
references/nli-sources.md | NLI の一次エビデンスと制約 |
references/task-specific-extraction.md | スパン/エンコーダー/生成による抽出、オフセット、ソースへの根拠付け、重要な再現率とレシート |
references/task-specific-summarization.md | 抽出型/抽象型モデルの選択、ソース/ターゲットの保持、事実性と下流での圧縮 |
references/text-model-sources.md | 抽出/要約に関する一次エビデンスと不確実性 |
references/tabular-representations.md | 自己教師あり表形式エンコーダー、破損/対照目的関数、行コンテキストと公平な比較 |
references/sequence-sources.md | 表形式およびシーケンス表現に関する一次資料の知見と不確実性 |
references/transaction-sequences.md | 順序付きイベント表現、ウィンドウ、ラベルの成熟度、前向き/エンティティ単位の検証とステートフルサービング |
references/specialization-decisions.md | ルール/分類器/ゼロショット/プロンプト/SFT/RL の選択、固定予算の比較設計、検証器やケーススタディの主張の解釈 |
references/specialization-evidence.md | 一次資料の知見、相反する結果、ローカル検証の限界 |
references/fine-tuning.md | LoRA/QLoRA/フルファインチューニングの実行設定 — データ準備、ハイパーパラメーター、検証戦略 |
references/evaluation.md | モデルの評価 — ベンチマークの選定、カスタム評価セット、回帰の追跡、比較手法 |
references/evaluation-and-lineage.md | 指標/設定の決定、確率的な比較の反復、エンドツーエンドのリネージ、時間的特徴のパリティ、ドリフトへの対応、適応/サービングのトレードオフ |
references/quantization-inference.md | モデルの量子化とサービング — GGUF/GPTQ/AWQ/bitsandbytes の比較、キャリブレーションデータの戦略、KV キャッシュの量子化、vLLM/llama.cpp/TGI/Triton のアーキテクチャ、本番環境での考慮事項 |
references/training-infrastructure.md | トレーニングインフラストラクチャの選定とプロビジョニング — GPU の選定、VRAM の予算策定、マルチ GPU 戦略(DDP/FSDP/DeepSpeed)、クラウドとオンプレミス、ストレージ、モニタリング |
テンプレート
| テンプレート | 使用する場面 |
|---|---|
templates/nli-experiment.md、templates/nli-logits.json | NLI 調査用ワークシートと、合成保存ロジットの契約 |
templates/text-model-record.md、templates/extraction-receipt.json、templates/summary-receipt.json | タスク/系譜のワークシートと、合成抽出/要約の契約 |
templates/sequence-model-record.md | 表現、事前学習でのデータ露出、時間/ウィンドウ/状態、評価の記録 |
templates/sequence-windows.json | 合成の時間認識型ウィンドウ監査契約 |
templates/specialization-study.md | タスクに合致する代替案、データの凍結、品質/リソースのガードレール、停止ルールの事前登録 |
templates/task-run-baseline.json、templates/task-run-candidate.json | 合成保存レシート契約の例。モデルの結果ではありません |
templates/training-run-record.md | 学習またはファインチューニングの実行を再現できるように記録します。モデルとデータのバージョン、完全な設定、環境、評価結果を含みます |
templates/eval-regression-table.md | 実行間のモデル品質を追跡し、リグレッションをトリアージします。評価ケースまたは機能サブセットごとに1行を記録します |
templates/quantization-decision-record.md | 量子化の判断を記録します。ベースライン、比較した候補、品質しきい値、ロールバック経路を含みます |
templates/model-lineage-record.md | データ/特徴量、コード/設定、実行、成果物、評価、レジストリの状態、デプロイ済みのサービングバージョンを関連付けます |
templates/drift-response-record.md | ドリフトのシグナル、しきい値、診断、再学習/ロールバックの判断、アクション後の証拠を記録します |
スクリプト
| スクリプト | 使用する場面 |
|---|---|
scripts/nli_score_contract.py | 保存済みNLIスコアの算術とマッピング/形状のチェック。モデルの実行やキャリブレーションは行いません |
scripts/audit_text_outcomes.py | 厳密なソース範囲と要約レシートの整合性チェック。モデルによる判断や意味的な判断は行いません |
scripts/audit_sequence_windows.py | 宣言されたウィンドウの利用可能性、同一性、結果、分割境界をスクリーニングします。モデルの実行は行いません |
scripts/compare_task_runs.py | ピン留め項目/ロスターを一致させた記述的な対応タスク比較。不完全な証拠を却下し、グループブートストラップを実行します。リリースの承認は行いません |
scripts/check-eval-overlap.py | 学習コーパスと評価コーパスの間で、共有n-gramを使ってテストセットのリークをチェックします。CIでは--jsonを指定します。評価ファイルが重複しきい値を超えると終了コード1を返します |
評価
evals/evals.json — このスキルの出力品質評価マニフェストです。ファインチューニング計画のレビュー、評価セットの設計、量子化の判断、デプロイ計画、リグレッションのトリアージ、学習実行の再現性を対象とします。
特化の判断境界
まず、必要な成果と予測時に利用できる情報を確認します。 適切な場合は、より単純なルールや教師あり/ゼロショット分類器も 含めます。分類スコアが自動的にキャリブレーション済み確率となる わけではありません。独自LLMのケーススタディは参考情報であり、 アーキテクチャの最適性を証明するものではありません。一致させた コンテキスト/ポリシー/予算を比較し、重大なリグレッションを 記録し、昇格前に登録済みのすべてのガードレールを必須とします。 新しいヘルパーの終了コード0が示すのは、記述的な比較の完了だけです。 モデルの実行とリリースには、それぞれ別の証拠が必要です。
学習オペレーションはunslothへ、型付きの判断は system-oneへ、ラベル/来歴は training-data-annotationへ、実験の 分析/キャリブレーションはdata-scientistへ、 エージェントレベルの評価は agent-evals-and-observabilityへ 案内してください。
表形式の基盤モデルの選択についてはreferences/tabular-foundations.mdを
参照してください。TabPFNの設定/コンテキスト/推論/ファインチューニング
については、tabpfnを使用してください。
基本原則
最適化の前に測定する — ベースラインの性能を測定せずに、モデルを量子化、プルーニング、蒸留してはいけません。測定を伴わない最適化は、当てずっぽうです。
再現性は必須です — すべてのトレーニング実行には、シード、データのバージョン、ハイパーパラメーター、評価方法を含む再現可能な設定が必要です。再現できないものは、リリースできません。
まずベースラインを確認する — コストのかかるファインチューニングを実行する前に、ベースモデルでベースラインを確立してください。ベースモデルで十分な性能が得られている場合、ファインチューニングの予算は別の用途に使うほうが有効です。
境界でテストする — モデル評価で最も有益な情報が得られるのは、能力分布の中央ではなく端の部分です。難しい例は、簡単な例より多くのことを明らかにします。
評価セットはリスク要因です — 評価セットのすべての例が、テストセットへの情報漏洩につながる可能性があります。ホールドアウトセットを使用し、例を入れ替え、重複チェッカーで定期的に汚染を監査してください。
使用しない場合
統計モデリング、実験計画、因果推論にはこのスキルを使用しないでください。これらはデータサイエンティストの専門分野です。特定の推論エンジンの操作にも使用しないでください。llama.cpp のインストール、モデルの読み込み、ベンチマーク、トラブルシューティングには、代わりに llama-cpp ツールスキルを読み込んでください。vLLM のデプロイ、モデル設定、ベンチマーク、バッチ処理のチューニング、GPU の操作、アップグレードやロールバックには、代わりに vllm ツールスキルを読み込んでください。このスキルが提供するのは方法論(評価セットの設計、量子化のトレードオフ、デプロイ計画、リグレッションの切り分け)であり、実行手順書はツールスキルが担います。