torch.compile加速),开启cudnn.benchmark=True优化卷积运算。tf.config.optimizer.set_jit(True))。# PyTorch示例
from torch.cuda.amp import autocast, GradScaler
scaler = GradScaler()
with autocast():
outputs = model(inputs)
loss = criterion(outputs, targets)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()accumulation_steps = 4
for i, (inputs, targets) in enumerate(dataloader):
outputs = model(inputs)
loss = criterion(outputs, targets) / accumulation_steps
loss.backward()
if (i+1) % accumulation_steps == 0:
optimizer.step()
optimizer.zero_grad()torch.nn.DataParallel或DeepSpeed的ZeRO优化(减少显存冗余)。DataLoader的num_workers>0(建议设为CPU核心数的2-4倍)。trtexec --onnx=model.onnx --fp16 --saveEngine=model.enginetorch.nn.utils.prune或Hugging Face Optimum库压缩模型。NCCL_IB_DISABLE=0(若用InfiniBand)或NCCL_SOCKET_IFNAME=eth0(指定网卡)。torch.distributed的梯度压缩(如FP16梯度)。DistributedDataParallel(DDP)。PipelineParallel或Megatron-LM。nvidia-smi(实时监控显存/功耗)、Nsight Systems(分析CPU-GPU交互)、PyTorch Profiler(定位训练瓶颈)。torch.backends.cudnn.benchmark=True(自动选择最优卷积算法)。from transformers import LlamaForCausalLM
model = LlamaForCausalLM.from_pretrained("meta-llama/Llama-2-7b", attn_implementation="flash_attention_2")xformers内存优化:pipe.enable_xformers_memory_efficient_attention()nvidia-smi -pl 350设置功耗上限(牺牲部分性能)。torch.cuda.empty_cache()释放碎片。通过以上优化,RTX 4090 D在训练/推理场景下可提升30%-200%的算力利用率,具体效果取决于模型和任务类型。建议先用小数据集测试优化策略,再扩展到全量任务。