Skip to main content

deep-learning-expert

Use this skill when user needs to design deep learning models, perform training optimization, interpret papers, or solve engineering practice issues. Trigger keywords: deep learning, neural networks, model training, overfitting, gradient vanishing, PyTorch, TensorFlow, pretrained models, fine-tuning, model deployment, inference optimization, CV (Computer Vision), NLP (Natural Language Processing), reinforcement learning. Applicable to full-cycle scenarios of deep learning modeling, training, debugging, and deployment.

Quellinformationen

Repository
Miaoge-Ge/coding-agent-skills
Letzte Quellaktivität
31. Mai 2026 um 13:27
Erkannte Sprache von SKILL.md
Englisch
Sterne
7
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
deep-learning-expert
description
Use this skill when user needs to design deep learning models, perform training optimization, interpret papers, or solve engineering practice issues. Trigger keywords: deep learning, neural networks, model training, overfitting, gradient vanishing, PyTorch, TensorFlow, pretrained models, fine-tuning, model deployment, inference optimization, CV (Computer Vision), NLP (Natural Language Processing), reinforcement learning. Applicable to full-cycle scenarios of deep learning modeling, training, debugging, and deployment.
# Deep Learning Modeling and Optimization ## Description Provide deep learning model design, training optimization, problem diagnosis, and engineering practice guidance to ensure models meet requirements for accuracy, efficiency, and deployability. ## When to Use - User requests "design a deep learning model" or "how to train XX task" - User asks about training issues (overfitting, underfitting, gradient vanishing/explosion, NaN, slow convergence) - User needs paper reproduction or cutting-edge technology analysis (Transformer, Diffusion, ViT, etc.) - User seeks framework usage recommendations (PyTorch, TensorFlow, JAX) or code implementation - User asks about best practices in CV, NLP, reinforcement learning domains - User needs model compression, quantization, deployment, or inference optimization solutions - User requests data processing, data augmentation, or sampling strategy recommendations - User compares different model architectures or training strategies ## When NOT to Use - User only needs traditional machine learning methods (e.g., decision trees, SVM, linear regression) without deep learning - User's problem is pure data analysis or statistics without model training - User only needs data preprocessing or feature engineering without model design - User's problem is algorithm competition or pure programming without deep learning modeling - User needs MLOps platform setup or team management rather than specific technical solutions ## Input ```typescript { task: { type: string // Task type (classification/detection/segmentation/generation/sequence-modeling/RL) domain: string // Application domain (CV/NLP/audio/multimodal/time-series) specificTask?: string // Specific task (e.g., image-classification → CIFAR-10) } data: { size?: string // Dataset size (e.g., "10k samples") quality?: string // Data quality description (noise, annotation quality) distribution?: string // Class distribution (balanced/long-tail) labelAvailability?: string // Labeling status (fully-supervised/weakly-supervised/unsupervised) augmentationNeeded?: boolean // Whether data augmentation is needed } constraints: { computeResources?: string // Compute resources (single-GPU/multi-GPU/TPU/CPU) latencyRequirement?: string // Latency requirement (e.g., "inference <50ms") accuracyTarget?: string // Accuracy target (e.g., "top-1 acc >90%") modelSizeLimit?: string // Model size limit (e.g., "<100MB") budget?: string // Budget constraints (affects pretrained model selection/compute resources) } challenges?: string[] // Known challenges (few-shot/domain-shift/real-time/long-tail) existingSetup?: { framework?: string // Existing framework (PyTorch/TensorFlow/JAX) baseModel?: string // Existing base model trainingIssues?: string[] // Current training issues } } ``` ## Output ```typescript { modelDesign: { architecture: string // Recommended architecture (CNN/Transformer/RNN/GNN/Diffusion/Hybrid) rationale: string // Architecture selection rationale (inductive bias/parameter count/computational complexity) pretrainedModel?: { name: string // Pretrained model (e.g., ResNet-50, BERT-base, ViT-B/16) source: string // Source (HuggingFace/TorchVision/OpenAI) adaptation: string // Adaptation method (full fine-tuning/LoRA/Adapter/freeze partial layers) } tradeoff: string // Train from scratch vs fine-tuning vs transfer learning tradeoff analysis codeFramework?: string // PyTorch/TensorFlow code framework (if applicable) } trainingStrategy: { dataProcessing: { normalization: string // Normalization method augmentation?: string[] // Data augmentation strategies samplingStrategy?: string // Sampling strategy (balanced sampling/hard negative mining) batchSize: string // Batch size recommendation (considering memory and convergence) } optimizer: { type: string // Optimizer type (SGD/AdamW/Lion) learningRate: string // Initial learning rate scheduler?: string // Learning rate scheduler (Cosine/StepLR/ReduceLROnPlateau) weightDecay?: string // Weight decay } trainingTechniques: { gradientClipping?: string // Gradient clipping threshold mixedPrecision?: boolean // Mixed precision training (FP16/BF16) gradientAccumulation?: number // Gradient accumulation steps ema?: boolean // Exponential moving average } regularization?: string[] // Regularization methods (Dropout/Batch Norm/Label Smoothing) } debuggingGuidance: { visualization: string[] // Visualization recommendations (loss curves/weight distributions/activation heatmaps) checkpoints: string[] // Checkpoints (weight norms/gradient norms/data statistics) commonIssues: { issue: string // Issue type (overfitting/underfitting/NaN/non-convergence) diagnosis: string // Diagnosis method solution: string[] // Solutions }[] } engineeringPractice: { modelCompression?: { pruning?: string // Pruning strategy quantization?: string // Quantization method (INT8/FP16) distillation?: string // Knowledge distillation } inferenceOptimization?: { format: string[] // Inference formats (ONNX/TensorRT/CoreML) batching?: string // Batching strategy caching?: string // Caching strategy } distributedTraining?: { strategy: string // Distributed strategy (DDP/DeepSpeed/FSDP) configuration: string // Configuration recommendations } } expectedPerformance?: { accuracy?: string // Expected accuracy trainingTime?: string // Expected training time inferenceLatency?: string // Expected inference latency } } ``` ## Execution Workflow Copy the following checklist before starting, and explicitly mark status after completing each step. ### Step 1: Task Requirement Analysis - Clarify task type (classification/detection/segmentation/generation/sequence-modeling/RL) - Confirm application domain (CV/NLP/audio/multimodal/time-series) - Quantify data situation (size, quality, labeling, distribution) - Identify constraints (compute resources, latency, accuracy, model size) - Extract core challenges (few-shot, domain shift, long-tail distribution, real-time) **Feedback Loop**: If critical information is missing (e.g., data size, compute resources), MUST ask user to provide details. Avoid designing based on assumptions. ### Step 2: Model Architecture Selection - List candidate architectures (CNN/Transformer/RNN/GNN/Diffusion/hybrid) - Explain each architecture's inductive bias (e.g., CNN's locality, Transformer's long-range dependencies) - Compare parameter count, computational complexity, data requirements - Assess pretrained model availability (HuggingFace/TorchVision/OpenAI) - Tradeoff train from scratch vs fine-tuning vs transfer learning **Architecture Selection Principles**: - **Small data (<10k)**: Prioritize transfer learning or fine-tuning pretrained models - **Medium data (10k-100k)**: Fine-tuning + data augmentation - **Large data (>100k)**: Can consider training from scratch or light fine-tuning - **Real-time requirements**: Prioritize lightweight architectures (MobileNet/EfficientNet/DistilBERT) **Feedback Loop**: If user is indecisive about multiple architectures, provide detailed comparison of 2-3 options (accuracy/speed/resource consumption). ### Step 3: Training Strategy Design - Data processing: Normalization methods (ImageNet stats/adaptive), augmentation strategies (AutoAugment/RandAugment) - Optimizer selection: SGD (vision tasks) vs AdamW (language/multimodal tasks) - Learning rate scheduling: Warmup + Cosine Annealing (recommended) / StepLR / ReduceLROnPlateau - Training techniques: Gradient clipping (prevent explosion), mixed precision (accelerate training), gradient accumulation (simulate large batch) - Regularization: Dropout, weight decay, label smoothing **Training Recipe Template**: ```python # Example: Image classification training recipe optimizer = AdamW(model.parameters(), lr=1e-3, weight_decay=0.01) scheduler = CosineAnnealingLR(optimizer, T_max=epochs) scaler = GradScaler() # Mixed precision # Data augmentation: RandomCrop + RandomHorizontalFlip + ColorJitter ``` **Feedback Loop**: If user reports training instability (loss oscillation/NaN), immediately check learning rate, data normalization, gradient norms. ### Step 4: Experiment Execution and Monitoring - Establish baseline experiment (simplest viable model) - Set monitoring metrics (train/val loss, accuracy, gradient norm, learning rate) - Configure visualization tools (TensorBoard/WandB) - Save key checkpoints (best model, last model, every N epochs) **Monitoring Checklist**: - [ ] Training loss smoothly decreases (no oscillation) - [ ] Val loss and train loss gap is reasonable (<2x) - [ ] Gradient norm is stable (no explosion/vanishing) - [ ] Learning rate decays as expected - [ ] Data loading has no bottleneck (GPU utilization >80%) **Feedback Loop**: If val loss doesn't decrease early, check data pipeline (label errors/normalization issues/excessive augmentation). ### Step 5: Problem Diagnosis and Tuning Diagnose and resolve common issues based on training performance: #### Overfitting (high train acc, low val acc) - **Diagnosis**: Train/val loss curves diverge, val accuracy stops improving - **Solutions**: - Enhance data augmentation (AutoAugment/MixUp/CutMix) - Increase Dropout rate or weight decay - Use Early Stopping - Reduce model capacity (fewer layers/channels) - Acquire more training data #### Underfitting (both train/val acc low) - **Diagnosis**: Training loss doesn't decrease for long, accuracy below random guess - **Solutions**: - Increase model capacity (deeper/wider network) - Reduce regularization strength (lower Dropout/weight decay) - Check data quality (annotation errors/class imbalance) - Increase training epochs or adjust learning rate #### NaN/Inf (training interruption) - **Diagnosis**: Loss suddenly becomes NaN, gradient explosion - **Solutions**: - Reduce learning rate (10x smaller) - Enable gradient clipping (clip_grad_norm=1.0) - Check input data (contains NaN/Inf) - Add numerical stability operations (e.g., add epsilon in log) #### Slow Convergence - **Diagnosis**: Loss decreases slowly, training time too long - **Solutions**: - Increase learning rate (careful, may be unstable) - Use more aggressive learning rate schedule (e.g., OneCycleLR) - Enable mixed precision training (2-3x speedup) - Optimize data loading (multi-process, prefetch) **Feedback Loop**: If multiple tuning attempts still don't improve, revisit Step 2 (architecture selection) or Step 1 (task definition) for reasonableness. ### Step 6: Model Compression and Deployment Optimization (if applicable) - Assess compression needs (model size/inference latency meets constraints) - Choose compression strategy: - **Pruning**: Structured pruning (reduce channels/layers) vs unstructured pruning (reduce parameters) - **Quantization**: PTQ (post-training quantization) vs QAT (quantization-aware training), INT8/FP16 - **Distillation**: Use large model (teacher) to train small model (student) - Convert inference format (ONNX/TensorRT/CoreML) - Optimize inference pipeline (batching/operator fusion/memory optimization) **Compression Tradeoffs**: - **Pruning**: Medium accuracy drop (1-3%), high compression ratio (2-5x) - **Quantization**: Small accuracy drop (<1%), medium compression ratio (2-4x) - **Distillation**: Controllable accuracy drop, compression ratio depends on student model size **Feedback Loop**: If accuracy drop after compression exceeds expectation (>5%), consider relaxing compression ratio or using distillation compensation. ### Step 7: Performance Validation and Documentation - Validate final performance on test set (accuracy, F1, mAP, etc.) - Measure inference latency (single sample/batching) - Record model version, training configuration, dataset version - Generate Model Card: purpose, performance, limitations, ethical considerations **Performance Benchmark Comparison**: - Compare with public benchmarks (SOTA) - Compare with simple baseline (e.g., linear model) - Analyze failure cases (which classes/samples are error-prone) **Feedback Loop**: If performance doesn't meet target and no obvious improvement space, discuss with user whether to adjust targets or increase resource investment. ## Failure Handling ### Insufficient or Poor Quality Data - **Symptom**: User provides extremely small data (<1000 samples) or poor annotation quality - **Action**: - Recommend data augmentation + pretrained model fine-tuning - Suggest active learning or semi-supervised learning - If budget allows, suggest outsourcing annotation or synthetic data generation ### Insufficient Compute Resources - **Symptom**: User only has CPU or single low-end GPU, but task requires large model - **Action**: - Recommend lightweight architectures (MobileNet/DistilBERT/TinyLlama) - Suggest using pretrained models + freezing partial layers - Provide cloud platform solutions (Colab/Kaggle/AWS SageMaker) ### Training Persistently Fails to Converge - **Symptom**: Trying multiple learning rates/optimizers still doesn't converge - **Action**: - Check data pipeline (visualize batch samples) - Simplify model (start from minimal viable model) - Check labels are correct (cross-validate annotation quality) ### Post-Deployment Performance Falls Short - **Symptom**: Model performs well on test set but poorly in production - **Action**: - Analyze train/production data distribution difference (domain shift) - Use domain adaptation techniques (DANN/CORAL) - Collect production data for incremental training ### Over-Reliance on Pretrained Models - **Symptom**: User unconditionally uses large pretrained models, ignoring task characteristics - **Action**: Explain pretrained model applicable scenarios, compare cost/benefit of training from scratch, recommend moderate solutions ## See Also - `llm-testing-expert` — evaluating and stress-testing the models you train, especially LLMs. - `python-expert` — idiomatic PyTorch/NumPy code and data-pipeline performance. - `software-architect` — serving, scaling, and deploying models as part of a larger system.
Auf GitHub ansehen