如何使用 Vscode 调试 llama2 推理命令?

How to debug the llama2 inference command with Vscode?

提问人:Yneedtobeserious 提问时间:11/4/2023 更新时间:11/6/2023 访问量:52

问:

我正在尝试使用 vscode 调试模式运行 LLAMA2 推理脚本(如下所示):

    torchrun --nproc_per_node 1 example_text_completion.py \
    --ckpt_dir models/7B-Chat \
    --tokenizer_path tokenizer.model \
    --max_seq_len 128 --max_batch_size 4

在此之前,我可以用我的命令行界面成功运行它,这表明我的 python 环境是正确的。

我尝试了以下两个调试配置:

  1.  {
         "name": "Python: run_llama2_inference",
         "type": "python",
         "request": "launch",
         "module": "torchrun",
         "args": [
             "--nproc_per_node=1",
             "example_chat_completion.py",
             "--ckpt_dir=models/7B-Chat/",
             "--tokenizer_path=tokenizer.model",
             "--max_seq_len=512",
             "--max_batch_size=4",
         ],
         "console": "integratedTerminal",
         "justMyCode": true,
         "env": {
             "PYTHONPATH": "${workspaceFolder}"
         }
     },
    

    相应的错误消息:“没有名为 torchrun 的模块”

  2.  {
         "name": "Python: run_llama2_inference",
         "type": "python",
         "request": "launch",
         "module": "torch.distributed.launch",
         "args": [
             "--use-env",
             "example_chat_completion.py",
             "--nproc_per_node=1",
             "--ckpt_dir=models/7B-Chat/",
             "--tokenizer_path=tokenizer.model",
             "--max_seq_len=512",
             "--max_batch_size=4",
         ],
         "console": "integratedTerminal",
         "justMyCode": true,
         "env":
             "PYTHONPATH": "${workspaceFolder}"
         }
     },
    

    相应的错误消息:“无法使用 arg: --nproc_per_node=1”

两种配置均未按预期工作。我想向在线专家寻求建议。提前感谢您的想法或建议!

python visual-studio-code 调试 llama

评论


答:

0赞 MingJie-MSFT 11/6/2023 #1

您可以使用该字段指定要运行的 Python 脚本 (),并使用该字段传递其余参数。"program"example_text_completion.py"args"

下面是如何修改启动配置的示例:

{
    "name": "Python: run_llama2_inference",
    "type": "python",
    "request": "launch",
    "program": "${workspaceFolder}/example_chat_completion.py",
    "args": [
        "--ckpt_dir=models/7B-Chat/",
        "--tokenizer_path=tokenizer.model",
        "--max_seq_len=512",
        "--max_batch_size=4",
    ],
    "console": "integratedTerminal",
    "justMyCode": true,
    "env": {
        "PYTHONPATH": "${workspaceFolder}"
    }
}

评论

0赞 Yneedtobeserious 11/6/2023
嗨,明杰,感谢您的回复。请问如何在调试器中添加“torchrun”?
0赞 Yneedtobeserious 11/6/2023
我尝试了几种组合,但都失败了。我猜“torchrun”命令只能从终端而不是调试器模式运行,但想向 python 或火炬专家寻求建议。
0赞 MingJie-MSFT 11/7/2023
@Yneedtobeserious很抱歉我错过了。该命令是 PyTorch 提供的用于运行 PyTorch 脚本的实用程序,它不是 Python 模块。它不能直接在 VSCode 的调试器配置中使用。torchrun
0赞 Yneedtobeserious 11/7/2023
非常感谢。我就是这么猜的。感谢您的建议!