Mindspeed训练完成后的模型部署问题

mindspeed训练完成后的权重文件和原有模型权重文件在vllm上如何部署

要在 vLLM 上部署 mindspeed 训练完成后的权重文件,需确保权重文件目录下包含原始模型的所有配置文件(如 config.json 等),并将 mindspeed 训练得到的权重文件与这些配置文件放在同一目录。vLLM 只支持通过本地文件夹或 HuggingFace Hub 目录加载模型,不能直接加载内存中的模型对象。你只需将 model 参数指向包含完整权重和配置的本地目录即可,例如:

from vllm import LLM
llm = LLM(model="/path/to/your/model_dir")

如果 mindspeed 只输出了权重(如 .pt 文件),需手动将其与原始模型的 config.json 等文件合并到同一目录,否则 vLLM 会报缺少配置文件的错误。权重格式需与 HuggingFace Transformers 兼容,建议用 save_pretrained 方法保存权重和配置文件。参考1 参考2 参考3

需要更详细的操作步骤吗?

Sources:

有latest_checkpointed_iteration.txt,model_optim_rng.pt该怎么和原有的权重合并

我的理解是,vLLM 只支持 HuggingFace Transformers 格式的权重文件(如 .bin 或 .safetensors)和 config.json 等配置文件,并不直接支持 mindspeed 训练生成的 latest_checkpointed_iteration.txt、model_optim_rng.pt 这类文件。你需要将 mindspeed 训练得到的权重(通常在 .pt 文件中)转换为 HuggingFace 支持的格式,并与原始模型的 config.json 等文件合并到同一目录。参考 参考

目前数据源中没有关于如何直接合并 latest_checkpointed_iteration.txt、model_optim_rng.pt 与原始权重的明确方法。建议用 HuggingFace Transformers 的 from_pretrained 和 save_pretrained 先加载 mindspeed 的权重,再保存为标准格式后与原始配置文件合并。

需要详细的转换和合并操作步骤吗?

Sources:

NPU out of memory. Tried to allocate 1.45 GiB (NPU 0; 60.97 GiB total capacity; 59.59 GiB already allocated; 59.59 GiB current active; 542.48 MiB free; 60.09 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.

你遇到的“NPU out of memory”错误,说明你的模型或推理任务超出了NPU的可用内存。官方建议可以通过设置环境变量 max_split_size_mb 来减少内存碎片化,但这只是PyTorch的通用建议。vLLM本身没有专门针对NPU的详细内存管理参数,且数据源未提及 NPU 相关的特殊配置。参考

你可以尝试:

  1. 减小 batch size、max_model_len 或 max_num_seqs;
  2. 调整 gpu_memory_utilization(NPU 场景下同理);
  3. 设置 PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128(或更小);
  4. 若支持,尝试 enforce_eager 模式以减少图捕获带来的额外内存消耗。参考

需要更详细的排查和参数调整建议吗?

Sources:

ImportError: cannot import name ‘PoolingParams’ from ‘vllm’ (unknown location)

出现 ImportError: cannot import name ‘PoolingParams’ from ‘vllm’ (unknown location) 的常见原因是你的 Python 环境中存在同名的本地 vllm 文件夹,或 vllm 没有正确安装。官方文档和社区多次提到,如果你的脚本和 vllm 源码目录在同一目录下,Python 会优先导入本地文件夹,导致无法找到正确的包。参考1 参考2

建议:

  1. 检查当前目录下是否有名为 vllm 的文件夹或文件,若有请重命名或移除;
  2. 确认已通过 pip install vllm 正确安装;
  3. 尝试将你的脚本移到其他目录再运行。

需要更详细的排查步骤吗?

Sources:

@whwususu vLLM Ascend load model weight the same as vLLM. You should make sure vLLM support it first.