2026/1/24 16:36:14
网站建设
项目流程
网站编辑怎么赚钱,wordpress批量换网址,深圳建筑人才网官方网站,济南建网站的网站前言
近两年大语言模型的推理需求爆发式增长#xff0c;推理引擎成为了AI工程落地的核心基础设施。举个例子#xff0c;爆发式增长的推理需求相当于一群车过马路#xff0c;传统的推理引擎就是“单车道马路”#xff0c;容易拥堵。而vLLM是业界领先的开源推理框架#xf…前言近两年大语言模型的推理需求爆发式增长推理引擎成为了AI工程落地的核心基础设施。举个例子爆发式增长的推理需求相当于一群车过马路传统的推理引擎就是“单车道马路”容易拥堵。而vLLM是业界领先的开源推理框架相当于“十车道高速公路”让AI的响应更快更迅速、成本也更低。为了支持昇腾AI芯片生态vLLM社区在去年年底推出了vLLM-Ascend硬件插件。就像是为昇腾芯片量身定制的“适配器”巴适得很。截至 2025 年 12 月vLLM-Ascend 已支持 Llama、Qwen、ChatGLM、Mixtral 等主流架构并具备 Expert ParallelismEP、多模态、Embedding 模型等高级能力。本篇文章带大家深入了解一下vLLM-Ascend 开源仓库的结构并且实际体验一下环境部署、基础配置与推理测试。vLLM-Ascend 开源仓开源仓的git地址是https://github.com/vllm-project/vllm-ascend可以看到每天都在更新还是非常的给力。vLLM-Ascend 是 vLLM 官方维护的硬件插件仓库采用“主干对齐 插件扩展”的开发模式。其代码结构在保持与上游 vLLM 高度兼容的同时新增了针对 Ascend NPU 的适配层。关键机制说明插件化架构通过vllm_ascend/目录实现硬件抽象层HAL在运行时动态替换 vLLM 默认的 CUDA 后端。算子融合csrc/ascend/中使用Ascend C或ACL C API编写高性能算子并通过 PyTorch CustomOp 注册。版本对齐每个 release tag如v0.9.1严格对应上游 vLLM 同名版本确保 API 兼容性。CI 验证main 分支持续通过 Ascend CI 测试保障质量。注意注意大家不用修改原有的vLLM调用代码只需要安装vllm-ascend系统自动会启用Ascend后端。版本与分支策略项目采用清晰的版本管理策略确保与上游 vLLM 主库同步分支/标签状态说明main维护中对应 vLLMmain分支持续集成测试用于开发最新特性。v0.9.1-dev维护中对应 vLLM 官方v0.9.1版本提供稳定生产级支持。v0.7.3-dev仅修复文档旧版本不再新增功能。rfc/feature-name临时用于特定 RFC 或新功能的协作开发。重要提示我们一定要使用与插件分支严格匹配的 vLLM 主库源码通常为releases/vX.Y.Z不能直接pip install vllm。环境部署全流程这次环境部署我在gitcode上面进行。首先在gitcode上面找到“我的Notebook”点激活资源选择如下创建好如下部署以不同场景划分为离线在线、单机、多机、PD混布、PD分离。这次就用单机来演示。点击Terminal打开一个终端。环境检查与验证在开始之前请确保我们的系统满足以下条件1. 硬件华为 Atlas 系列 NPU 设备例如Atlas 800I A2 / A3 (推理)Atlas A2 / A3 (训练)2. 软件操作系统Linux推荐 EulerOS、CentOS 或 UbuntuPython 版本3.9, 3.12本文使用 Python 3.11CANN 版本8.2.rc1请根据你的 NPU 驱动版本安装对应 CANNPyTorch torch-npu需使用 Ascend 官方提供的版本然后可以通过以下命令检查 NPU 状态npu-smi info # 应显示 1 张 910B 卡 python -c import torch; import torch_npu; print(torch.npu.is_available()) # 应输出 True安装 vLLM 与 vLLM-Ascend1、设置 pip 源加速pip config set global.extra-index-url https://mirrors.huaweicloud.com/ascend/repos/pypi2、克隆并安装 vLLMv0.9.1git clone https://github.com/vllm-project/vllm.git cd vllm git checkout releases/v0.9.1 VLLM_TARGET_DEVICEempty pip install -v -e .3、克隆并安装 vLLM-Ascendv0.9.1-devcd .. git clone https://github.com/vllm-project/vllm-ascend.git cd vllm-ascend git checkout v0.9.1-dev pip install -v -e .4、验证插件是否加载成功python -c import vllm_ascend; print(✅ vLLM-Ascend plugin loaded!)如果无报错说明安装成功下载模型与推理测试点开notebook的python下载 Qwen2.5-7B-Instruct 模型from modelscope import snapshot_download model_dir snapshot_download(Qwen/Qwen2.5-7B-Instruct, cache_dir./models) print(fModel saved to: {model_dir})模型验证测试curl http:// ip:port /v1/completions -H Content-Type: application/json -d {model: qwen-2.5b, prompt: Beijing is a,max_tokens: 5,temperature: 0}前置准备使用gsm8k数据集: https://github.com/openai/grade-school-math 将解压后的gsm8k/文件夹部署到AISBench评测工具根路径下的ais_bench/datasets文件夹下查找配置文件位置ais_bench --models vllm_api_general_chat --datasets demo_gsm8k_gen_4_shot_cot_chat_prompt --search修改查找到的vllm_api_general_chat.py内容主要修改path、model、ip、portfrom ais_bench.benchmark.models import VLLMCustomAPIChat models [ dict( attrservice, typeVLLMCustomAPIChat, abbrvllm-api-general-chat, path, modelqwen-2.5b, # 指定服务端已加载模型名称依据实际VLLM推理服务拉取的模型名称配置配置成空字符串会自动获取 request_rate 0, retry 2, host_ip localhost, # 指定推理服务的IP host_port 8080, # 指定推理服务的端口 max_out_len 512, batch_size1, generation_kwargs dict( temperature 0.5, top_k 10, top_p 0.95, seed None, repetition_penalty 1.03, ) ) ]执行命令设置在*号卡运行使用,隔开使用几张卡就写几个export ASCEND_RT_VISIBLE_DEVICES0,1,2,3,4,5,6,7,8第一次执行建议加上--debug可以输出具体日志ais_bench --models vllm_api_general_chat --datasets demo_gsm8k_gen_4_shot_cot_chat_prompt --debug ais_bench --models vllm_api_general_chat --datasets demo_gsm8k_gen_4_shot_cot_chat_prompt --summarizer example输出结果推理性能表现以本次测试使用的Qwen2.5-7B-Instruct模型为例在Atlas 800I A2搭载 8×Ascend 910B单机环境下开启Continuous Batching Expert ParallelismEP后实测性能如下场景Batch Size平均首 Token 延迟 (ms)平均吞吐量 (tokens/s)单请求无批处理1~120 ms~35 tokens/s连续批处理动态 batch8动态~140 ms~280 tokens/s开启 EP8 专家并行动态~160 ms~320 tokens/s 注意注意以上数据基于max_tokens512、temperature0.5、输入长度 ≈ 128 tokens 的典型对话场景使用 AISBench 工具采集。常见问题与调优建议这次实验过程中还是遇到了不少问题主要问题如下问题现象根本原因1.ImportError: cannot import name register_model_loadervllm-ascend插件v0.9.1-dev分支依赖 vLLM 主库中的特定 API但系统中安装的是官方vllm0.9.1PyPI 版该版本未包含 Ascend 所需的扩展接口。2.ModuleNotFoundError: No module named vllm._C官方 vLLM 编译时默认针对 CUDA未为 Ascend 编译_C扩展模块而vllm-ascend需要自己的 C/NPU 后端实现。3. Git 分支混乱执行git pull origin v0.9.1-dev失败本地处于main分支远程v0.9.1-dev与之历史 divergentGit 拒绝自动合并导致你以为切换了分支实际仍在main从而加载了不兼容的插件代码。4. 依赖冲突compressed-tensors0.10.1vs0.12.2官方 vLLM 0.9.1 锁定旧版compressed-tensors而vllm-ascend要求新版造成 pip resolver 警告甚至运行时异常。总结vLLM-Ascend 作为 vLLM 官方支持的昇腾插件标志着国产 AI 芯片在大模型推理领域的成熟与开放。通过本文的介绍相信大家对于vLLM-Ascend有了一个深入的了解。本文参考了昇腾PAE案例库推荐大家去学习学习。未来随着Expert ParallelismEP、多模态支持和量化推理的持续增强vLLM-Ascend 定将进一步降低大模型在国产硬件上的应用门槛。