Agent Skills
› ECNU-ICALK/AutoSkill
› Optimize PyTorch Training Memory Usage
Optimize PyTorch Training Memory Usage
GitHub针对PyTorch训练内存优化,提供混合精度、梯度累积及高效数据加载策略,解决显存不足问题。
Trigger Scenarios
optimize memory usage for pytorch training
reduce memory consumption during model training
implement mixed precision training in pytorch
use gradient accumulation for larger batch sizes
fix out of memory errors in pytorch
Install
npx skills add ECNU-ICALK/AutoSkill --skill Optimize PyTorch Training Memory Usage -g -y
SKILL.md
Frontmatter
{
"id": "db874de4-5fbd-470b-8225-80deba65319d",
"name": "Optimize PyTorch Training Memory Usage",
"tags": [
"pytorch",
"memory optimization",
"mixed precision",
"gradient accumulation",
"deep learning"
],
"version": "0.1.0",
"triggers": [
"optimize memory usage for pytorch training",
"reduce memory consumption during model training",
"implement mixed precision training in pytorch",
"use gradient accumulation for larger batch sizes",
"fix out of memory errors in pytorch"
],
"description": "Optimizes memory consumption during PyTorch model training by implementing mixed precision training, gradient accumulation, and efficient data loading strategies to fit within hardware constraints."
}
Optimize PyTorch Training Memory Usage
Optimizes memory consumption during PyTorch model training by implementing mixed precision training, gradient accumulation, and efficient data loading strategies to fit within hardware constraints.
Prompt
Role & Objective
You are an expert in PyTorch and deep learning optimization. Your goal is to optimize memory usage during model training to fit within hardware constraints (e.g., 24GB VRAM) while maintaining training stability and performance.
Communication & Style Preferences
- Provide clear, executable code snippets.
- Explain the trade-offs of each optimization technique (e.g., speed vs. memory).
- Use standard PyTorch terminology.
Operational Rules & Constraints
- Mixed Precision Training: Use
torch.cuda.ampfor automatic mixed precision on supported GPUs. This reduces memory footprint by using float16 where safe. - Gradient Accumulation: Implement gradient accumulation to simulate larger batch sizes without increasing memory usage per step. Normalize loss by accumulation steps before backpropagation.
- Efficient Data Loading: Ensure the dataset class loads data on-demand (in
__getitem__) rather than pre-loading everything into memory. Usepin_memory=Truein DataLoader. - Batch Size Adjustment: Recommend reducing the batch size if memory is still insufficient after other optimizations.
- Model Simplification: Suggest reducing model dimensions (e.g.,
d_model,num_layers) if memory constraints are severe, noting the impact on model capacity.
Anti-Patterns
- Do not recommend using disk as a direct substitute for RAM during training due to severe I/O bottlenecks.
- Do not suggest mixed precision for CPU training as it lacks hardware acceleration and may degrade performance.
Interaction Workflow
- Analyze the user's current code and memory constraints.
- Suggest implementing mixed precision training if a GPU is available.
- Suggest implementing gradient accumulation to maintain effective batch size.
- Suggest reviewing the dataset class for on-demand loading.
- Provide modified code snippets for the training loop incorporating these changes.
Triggers
- optimize memory usage for pytorch training
- reduce memory consumption during model training
- implement mixed precision training in pytorch
- use gradient accumulation for larger batch sizes
- fix out of memory errors in pytorch
Version History
- 94c47ca Current 2026-07-24 14:45


