在开发和调试大模型训练代码时,使用print语句进行调试往往效率低下且容易遗漏重要信息。本文将介绍三种使用VSCode进行交互式debug的方法,让你的调试过程更加高效和精确。
准备工作
在开始之前,请确保:
- 已安装VSCode和Python扩展
- 在你的项目中已设置好训练环境
- 了解基本的断点设置方法(在代码行号左侧点击即可设置断点)
方法一:直接启动调试
这是最简单且功能完整的方法,支持单卡和多卡训练场景。
步骤一:创建调试配置
- 点击VSCode左侧的"运行和调试"图标(或按下
Ctrl+Shift+D
) - 点击"创建launch.json文件"
- 在弹出的选项中,选择"Python Debugger"
- 再选择"Python文件"
步骤二:使用LLamaFactory调试配置转换器
为了简化配置过程,LLamaFactory提供了一个便捷的调试配置转换器。你只需要:
- 将原始的训练命令粘贴到转换器中
- 点击"转换"按钮
- 复制生成的配置
步骤三:配置launch.json
将转换器生成的配置替换到.vscode/launch.json
文件中。一个典型的多卡训练配置如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "debug.llamafactory.cn",
"type": "debugpy",
"request": "launch",
"module": "torch.distributed.run",
"console": "integratedTerminal",
"args": [
"--nproc_per_node",
"4",
"--master_port"