调试工具使能文档
概述
本文档介绍常见框架中调试工具的使能方法,包括dump工具和monitor工具的配置位置。
1. Dump工具使能
工具资料说明
文档地址: Data Dump for PyTorch
工具添加位置查找方法
想要找该在哪加工具的时候,我们可以任意打印一个API的调用栈信息出来看,从调用栈里找应该在哪加工具。
比如打印linear的调用栈代码有以下两种方式:
方法1:在torch里直接打印调用栈

方法2:在启动脚本里替换掉原有linear
import torch
import torch.nn.functional as F
import traceback
# 保存原始函数
original_linear = F.linear
# 替换functional中的linear,使用*args和**kwargs适配所有参数
def custom_linear(*args, **kwargs):
print("="*50)
print("调用F.linear,调用栈如下:")
traceback.print_stack()
# 将接收的参数原封不动地传给原始函数
return original_linear(*args, **kwargs)
F.linear = custom_linear
说明: 有了调用栈之后就很好找工具的添加位置了。

各框架工具添加位置
MindSpeed-LLM

MindSpeed-MM

LLaMA-Factory

accelerate + DeepSpeed

torchtitan (FSDP2后端)

VERL (fsdp后端)
使能确定性的位置:

generate_sequencesces

以上使能方式只针对vllm eager模式后端或配置不同使能方式可能会变
update_actor

compute_log_prob

compute_ref_log_prob

注意: 以上使能方式只针对vllm eager模式后端,不同配置或使能方式可能会变化。