【vLLM 学习】Torchrun Example

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

本文介绍了使用torchrun进行张量并行推理的实验性支持,包括运行命令和示例代码,展示了如何创建提示和采样参数以生成输出,并提到跨进程传递控制消息的技巧。

🎯

关键要点

  • 本文介绍了使用torchrun进行张量并行推理的实验性支持。
  • 运行命令为:`torchrun --nproc-per-node=2 torchrun_example.py`,参数2需与`tensor_parallel_size`一致。
  • 示例代码展示了如何创建提示和采样参数以生成输出。
  • 使用`distributed_executor_backend="external_launcher"`配置,确保LLM引擎仅创建一个工作进程。
  • 所有rank将具有相同的输出。
  • 跨进程传递控制消息时,建议使用基于GLOO后端的CPU组。

延伸问答

如何使用torchrun进行张量并行推理?

使用命令`torchrun --nproc-per-node=2 torchrun_example.py`,参数2需与`tensor_parallel_size`一致。

示例代码中如何创建提示和采样参数?

示例代码中使用`prompts`列表创建提示,并使用`SamplingParams`类设置采样参数,如温度和top_p。

在使用torchrun时,如何确保LLM引擎只创建一个工作进程?

通过配置`distributed_executor_backend="external_launcher"`来确保LLM引擎仅创建一个工作进程。

跨进程传递控制消息时,推荐使用什么?

建议使用基于GLOO后端的CPU组来跨进程传递控制消息。

所有rank的输出是否相同?

是的,所有rank将具有相同的输出。

如何在rank 0执行特定操作?

可以通过检查`torch_rank`是否为0来执行特定操作,例如将结果保存到磁盘。

➡️

继续阅读