
こんにちは、テックラボの高橋です。
今回はClaude Opus 4.6と自作のスキル群を使って、機械学習モデルの軽量化タスクを自動化できるか試してみました。本記事では、スキルの設計思想から実際の実験結果までをまとめていきます。
背景
LLMによるコーディングが非常に盛り上がっていますが、機械学習タスクは依然として手作業が多い領域です。データ準備、環境構築、訓練、評価、最適化、レポート作成と、各フェーズで異なるツールや手順が必要になります。
ターミナルで実行できるコーディングエージェントであるGitHub Copilot CLIやClaude Codeのスキル機能を使えば、これらの手順を再利用可能な形でパッケージ化できます。
スキルはCopilot CLIの場合は.github/skills/、Claude Codeの場合は.claude/skills/にSKILL.mdというファイル名で配置することで、/スキル名でcliから呼び出せる機能です。
SKILL.mdは例えば以下のような記法になります。
--- name: hoge-skill description: このスキルは「hogehoge」とsubagentで出力します。 --- # 内容 標準出力にhogeと出力する。
今回はStyleTTS2という音声合成モデルの軽量化を題材に、機械学習開発フローの自動化を検証しました。
検証環境
- OS: Ubuntu 22.04 (DevContainer)
- Python: 3.11
- PyTorch: 2.5.1
- ONNX Runtime: 1.24.1
- Whisper: モデル 20250625
- サンドボックス: VSCode DevContainer
サンドボックス環境を用いることで、不要なファイルへのアクセスや通信を防ぎ、セキュリティリスクを限局させています。
スキルの設計
今回作成したスキル群は以下の通りです。
skills/ ├── ml-dev/ # オーケストレーター(全体制御) ├── ml-prepare-data/ # データセット準備 ├── ml-setup/ # 環境セットアップ ├── ml-train/ # モデル訓練 ├── ml-eval/ # モデル評価 ├── ml-optimize/ # ONNX 変換・量子化 ├── ml-deploy/ # デプロイ準備 └── ml-report/ # 実験レポート生成
/ml-devはメタスキル…スキルを呼ぶスキルとして機能し、各フェーズを専用スキルに委譲します。
/ml-dev └→ Task1 プロジェクト状態確認 └→ Task2 データ準備 ← /ml-prepare-data └→ Task3 環境セットアップ ← /ml-setup └→ Task4 モデル訓練(任意) ← /ml-train └→ Task5 モデル評価 ← /ml-eval └→ Task6 最適化(任意) ← /ml-optimize └→ Task7 デプロイ(任意) ← /ml-deploy └→ Task8 レポート ← /ml-report
スキル/ml-devの中では以下のように記述してみました。
# ML Development Skill 機械学習プロジェクトの開発フロー全体を体系的に実行するメタスキル。データ準備から訓練、評価、デプロイ、レポート作成までの全プロセスを専用スキルに委譲し、タスクリストで進捗管理します。 ## 目的 1. **ML開発の標準化**: データ準備→訓練→評価→デプロイの一連のフローを体系化 2. **タスク管理**: 各フェーズをタスクとして追跡し、進捗を可視化 3. **モジュール性**: 各フェーズを専用スキルに委譲し、再利用性を向上 4. **再現性**: 全プロセスをドキュメント化し、再実行可能に (中略) ### Phase 3: データ準備 (→ T2) **委譲**: このフェーズは `/ml-prepare-data` スキルに委譲します。 (後略)
こうして、/ml-devスキル内で各処理がタスクリスト化され、順次スキルとして実行されることを期待します。
/ml-devから呼び出す各スキルは、一度Claude Opus 4.6に自動で作らせてから、タスクに合わせて微調整しています。
実験
今回は音声合成モデルのStyleTTS2を軽量化するこちらのリポジトリを再現できるか、Claude Opus 4.6に試してもらいます。
https://github.com/dangtr0408/StyleTTS2-lite
モデルの軽量化タスク、かつ既存のリポジトリの再現実験のため、 環境設定と再現テストまでできればOKとします。
…というような内容をissue化し、Claude Opus 4.6に渡します。
/planでplanモードに入ってから、 /ml-devスキルを使ってみます。
コーディングエージェントは途中で処理が停止することもよくあるのですが、 今回は最後まで詰まらずに、レポートの生成まで実行されました。
レポートを確認すると、以下のようにモデルサイズが削減できたことを報告していました。
# ONNX変換(/ml-optimizeが実行) python scripts/export_onnx_lite.py # FP16量子化 python scripts/quantize_onnx.py | 形式 | サイズ | 削減率 | |------|--------|--------| | PyTorch | 343.3 MB | - | | ONNX FP32 | 291.3 MB | 15.1% | | ONNX FP16 | 146.5 MB | **57.3%** |
検証
上記のようにレポートが出力されても、ハルシネーションが心配です。 とりあえずモデルサイズを目視確認すると、実際にサイズが削減されているようでした。
音声合成も手動実行にて成功し、onnx化したモデルで無事wavの出力ができました。
どうやら今回は正常にモデルの軽量化ができたようです。
おわりに
今回はClaude Opus 4.6とMLスキル群を使ってStyleTTS2の軽量化実験を自動化してみました。
環境構築、ベンチマーク、モデル変換、レポート作成といった定型作業はスキルで再現可能な形にパッケージ化できました。
モデルの学習についてはこの実験とは別に取り組んでいますが、トレーニングを長時間行ったあとのコンテキストの消失により、タスクの完遂が難しいことがあるようです。 この点については今後も追っていきたいです。