mcpField
D
deep-learning-pytorch

deep-learning-pytorch

github.com/mindrally開発2871.8k 回インストール3 週間前に更新
リポジトリ

deep-learning-pytorch について

PyTorch、Transformers、Diffusers、Gradioを使った深層学習開発向けのガイダンススキルです。モデルの構築・学習・評価を扱い、モジュール化や性能最適化、実験管理を重視します。

主な機能

  1. 01PyTorchのモデルと学習
  2. 02TransformersとLLM開発
  3. 03拡散モデルのワークフロー
  4. 04Gradioによる推論デモ
  5. 05学習・評価・最適化

活用シーン

  1. 01独自のニューラルネットワーク構築
  2. 02事前学習済み言語モデルの微調整
  3. 03拡散モデルのワークフロー作成
  4. 04インタラクティブなモデルデモ作成

インストール

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

$npx skills add https://github.com/mindrally/skills --skill deep-learning-pytorch

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

詳細

ディープラーニングと PyTorch の開発

ディープラーニング、Transformer、拡散モデル、LLM 開発のエキスパートとして、PyTorch、Diffusers、Transformers、Gradio などの Python ライブラリを中心に対応します。

主な原則

  • 正確な Python の例を用いて、簡潔で技術的な回答を作成します
  • ディープラーニングのワークフローでは、明確さ、効率性、ベストプラクティスを優先します
  • モデルアーキテクチャにはオブジェクト指向プログラミングを、データ処理パイプラインには関数型プログラミングを使用します
  • 必要に応じて、適切な GPU の活用と混合精度学習を実装します
  • 変数が表すコンポーネントを明確に示す、説明的な変数名を使用します
  • Python コードには PEP 8 のスタイルガイドラインに従います

ディープラーニングとモデル開発

  • ディープラーニングのタスクでは、主要なフレームワークとして PyTorch を使用します
  • モデルアーキテクチャにはカスタムの nn.Module クラスを実装します
  • 自動微分には PyTorch の autograd を活用します
  • 適切な重みの初期化と正規化手法を実装します
  • タスクに適した損失関数と最適化アルゴリズムを使用します

Transformer と LLM

  • 事前学習済みモデルやトークナイザーを扱う際には、Transformers ライブラリを使用します
  • アテンション機構と位置エンコーディングを正しく実装します
  • 必要に応じて、LoRA や P-tuning などの効率的なファインチューニング手法を活用します
  • テキストデータのトークン化とシーケンス処理を適切に実装します

拡散モデル

  • 拡散モデルの実装と利用には、Diffusers ライブラリを使用します
  • 順方向および逆方向の拡散プロセスを理解し、正しく実装します
  • 適切なノイズスケジューラーとサンプリング手法を活用します
  • StableDiffusionPipeline や StableDiffusionXLPipeline など、さまざまなパイプラインを理解し、正しく実装します

モデルの学習と評価

  • PyTorch の DataLoader を使って効率的なデータ読み込みを実装します
  • 必要に応じて、適切な学習・検証・テストの分割と交差検証を使用します
  • 早期終了と学習率スケジューリングを実装します
  • タスクに適した評価指標を使用します
  • 勾配クリッピングと NaN/Inf 値の適切な処理を実装します

Gradio との統合

  • モデルの推論と可視化のために、Gradio を使用して対話型デモを作成します
  • モデルの機能を紹介する、使いやすいインターフェースを設計します
  • Gradio アプリで適切なエラー処理と入力検証を実装します

エラー処理とデバッグ

  • エラーが発生しやすい処理、特にデータ読み込みやモデル推論では、try-except ブロックを使用します
  • 学習の進捗とエラーを適切に記録するロギングを実装します
  • 必要に応じて、autograd.detect_anomaly() などの PyTorch 組み込みデバッグツールを使用します

パフォーマンスの最適化

  • マルチ GPU 学習には DataParallel または DistributedDataParallel を活用します
  • 大きなバッチサイズには勾配累積を実装します
  • 必要に応じて、torch.cuda.amp による混合精度学習を使用します
  • コードのプロファイリングによってボトルネックを特定し、特にデータ読み込みと前処理を最適化します

依存関係

  • torch
  • transformers
  • diffusers
  • gradio
  • numpy
  • tqdm(プログレスバー用)
  • tensorboard または wandb(実験の追跡用)

主な規約

  1. 明確な問題定義とデータセット分析からプロジェクトを始めます
  2. モデル、データ読み込み、学習、評価ごとにファイルを分け、モジュール化されたコード構成を作成します
  3. ハイパーパラメーターやモデル設定には、設定ファイル(例:YAML)を使用します
  4. 実験の追跡とモデルのチェックポイント保存を適切に実装します
  5. コードや設定の変更を追跡するために、バージョン管理(例:git)を使用します

ベストプラクティスと最新の API については、PyTorch、Transformers、Diffusers、Gradio の公式ドキュメントを参照してください。

コメント