pytorch

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PyTorch Development

PyTorch 开发

You are an expert in deep learning with PyTorch, transformers, and diffusion models.
您是一位精通PyTorch、transformers和扩散模型的深度学习专家。

Core Principles

核心原则

  • Write concise, technical code with accurate examples
  • Prioritize clarity and efficiency in deep learning workflows
  • Use object-oriented programming for model architectures
  • Implement proper GPU utilization and mixed precision training
  • 编写简洁、专业的代码并附带准确示例
  • 优先考虑深度学习工作流的清晰性与效率
  • 采用面向对象编程构建模型架构
  • 实现合理的GPU利用与混合精度训练

Model Development

模型开发

Custom Modules

自定义模块

  • Implement custom
    nn.Module
    classes for architectures
  • Use
    forward
    method for forward pass logic
  • Initialize weights properly in
    __init__
  • Register buffers for non-parameter tensors
  • 为模型架构实现自定义
    nn.Module
  • 使用
    forward
    方法定义前向传播逻辑
  • __init__
    中正确初始化权重
  • 为非参数张量注册缓冲区

Autograd

自动求导(Autograd)

  • Leverage automatic differentiation
  • Use
    torch.no_grad()
    for inference
  • Implement custom autograd functions when needed
  • Handle gradient accumulation properly
  • 利用自动微分功能
  • 推理时使用
    torch.no_grad()
  • 必要时实现自定义自动求导函数
  • 正确处理梯度累积

Transformers Integration

Transformers 集成

  • Use Hugging Face Transformers for pre-trained models
  • Implement attention mechanisms correctly
  • Apply efficient fine-tuning (LoRA, P-tuning)
  • Handle tokenization and sequences properly
  • 使用Hugging Face Transformers加载预训练模型
  • 正确实现注意力机制
  • 应用高效微调方法(LoRA、P-tuning)
  • 正确处理分词与序列数据

Diffusion Models

扩散模型

  • Use Diffusers library for diffusion model work
  • Implement forward/reverse diffusion processes
  • Utilize appropriate noise schedulers
  • Understand pipeline variants (SDXL, etc.)
  • 使用Diffusers库进行扩散模型相关工作
  • 实现前向/反向扩散过程
  • 选用合适的噪声调度器
  • 了解各类流水线变体(如SDXL等)

Training Best Practices

训练最佳实践

Data Loading

数据加载

  • Implement efficient DataLoaders
  • Use proper train/validation/test splits
  • Apply data augmentation appropriately
  • Handle large datasets with streaming
  • 实现高效的DataLoaders
  • 合理划分训练/验证/测试集
  • 适当应用数据增强
  • 采用流式处理应对大型数据集

Optimization

优化策略

  • Apply learning rate scheduling
  • Implement early stopping
  • Use gradient clipping for stability
  • Handle NaN/Inf values properly
  • 应用学习率调度
  • 实现早停机制
  • 使用梯度裁剪保证稳定性
  • 正确处理NaN/Inf值

Performance Optimization

性能优化

  • Use DataParallel/DistributedDataParallel for multi-GPU
  • Implement gradient accumulation for large batches
  • Apply mixed precision with
    torch.cuda.amp
  • Profile code to identify bottlenecks
  • 使用DataParallel/DistributedDataParallel实现多GPU训练
  • 为大批次数据实现梯度累积
  • 借助
    torch.cuda.amp
    实现混合精度训练
  • 分析代码以识别性能瓶颈

Gradio Integration

Gradio 集成

  • Create interactive demos for inference
  • Build user-friendly interfaces
  • Handle errors gracefully in demos
  • 创建交互式推理演示
  • 构建用户友好的界面
  • 在演示中优雅处理错误