国产中文字幕在线视频,.com久久久,亚洲免费在线播放视频,神九影院电视剧免费观看,奇米在线888,天天网综合,久久免费视频观看

網(wǎng)站域名組成wordpress 直播主題

鶴壁市浩天電氣有限公司 2026/01/22 08:25:44
網(wǎng)站域名組成,wordpress 直播主題,大紅門橋做網(wǎng)站,烏市建設(shè)工程質(zhì)量監(jiān)督站網(wǎng)站SGLang 在昇騰 NPU 上的完整運行流程詳解#xff1a;從環(huán)境搭建到性能驗證當前的大模型服務(wù)化需求持續(xù)增長#xff0c;如何在異構(gòu)硬件架構(gòu)上實現(xiàn)高效推理呢#xff1f;這個問題成為了企業(yè)與開發(fā)者共同關(guān)注的問題。SGLang 作為一款面向 LLM 服務(wù)的高性能推理框架#xff0c;…SGLang 在昇騰 NPU 上的完整運行流程詳解從環(huán)境搭建到性能驗證當前的大模型服務(wù)化需求持續(xù)增長如何在異構(gòu)硬件架構(gòu)上實現(xiàn)高效推理呢這個問題成為了企業(yè)與開發(fā)者共同關(guān)注的問題。SGLang 作為一款面向 LLM 服務(wù)的高性能推理框架近年來受到越來越多的關(guān)注。為了充分發(fā)揮昇騰 NPU 的算力潛力本篇文章基于實際部署對SGLang 在昇騰硬件環(huán)境中的搭建、適配、調(diào)試、測試流程進行全方位解讀。此篇文章不僅融合了客戶供稿中的所有核心步驟同時補充了隱藏細節(jié)、踩坑經(jīng)驗、代碼注釋以及可復(fù)用腳本幫助你快速完成環(huán)境落地。如果覺得有用請給出您的點贊收藏轉(zhuǎn)發(fā)這將對我們非常有作用。謝謝Thanks?(ω)1. 背景為什么要在 NPU 上跑 SGLangSGLang 旨在提升 LLM 服務(wù)端的并發(fā)效率、延遲表現(xiàn)與可擴展能力。然而其默認實現(xiàn)針對 GPU 設(shè)計對 NPU 的支持需要額外適配。在昇騰生態(tài)中部署 SGLang 可以帶來更低成本比在相同算力下NPU 通常具備更高性價比更高****能效比適合大規(guī)模推理集群生態(tài)逐漸完善已與 vLLM、Ascend Triton 等組件兼容國產(chǎn)化需求很多行業(yè)場景需要國產(chǎn)軟硬件全棧方案。圖SGLang 在 Ascend NPU 上的推理流程架構(gòu)圖。展示輸入解析、調(diào)度器、KV Cache 管理與 Ascend Backend 之間的調(diào)用順序。用于解釋 SGLang 能獲得更高吞吐和更低延遲的原因。因此對于希望以更低成本跑更大模型的用戶來說SGLang 昇騰 NPU是重要的技術(shù)路線。2. 環(huán)境準備鏡像、依賴與容器拉起本次適配基于如下環(huán)境項目配置LinuxOpenEuler 24.03 LTS (aarch64)Python3.11鏡像mindie:2.1.RC1.B060-800I-A2CANN8.xPT 版本torch torch-npu 2.6.02.1 拉起特權(quán)容器NPU 推理一定要記得開啟特權(quán)模式然后掛載上 NPU 設(shè)備docker run -itd --privileged --name test_sglang --nethost --shm-size 1000g --device/dev/davinci0 --device/dev/davinci1 --device/dev/davinci2 --device/dev/davinci3 --device/dev/davinci4 --device/dev/davinci5 --device/dev/davinci6 --device/dev/davinci7 --device/dev/davinci_manager --device/dev/hisi_hdc --device/dev/devmm_svm -v /usr/local/Ascend:/usr/local/Ascend -v /home:/home -v /data:/data 48fd6c4eb215 bash注意共享內(nèi)存shm必須大否則大模型服務(wù)端會因為 IPC 隊列不足直接 OOM。設(shè)備檢測import subprocess print( NPU 設(shè)備檢測 ) print(subprocess.getoutput(npu-smi info))3. SGLang Ascend Backend 的依賴組件安裝流程SGLang 在昇騰 NPU 上的安裝與運行原理在 Ascend 生態(tài)中SGLang 并不是一個“獨立運行”的推理引擎而是一個位于服務(wù)調(diào)度層的高性能LLMServing Framework。其核心特點是自身負責請求解析token-level 調(diào)度KV Cache 管理并發(fā)與流控底層算子執(zhí)行依賴 vLLM / vLLM-Ascend 作為執(zhí)行 backend在 NPU 場景下通過 Ascend Attention Backend 完成算子下沉因此在昇騰 NPU 上“安裝 SGLang”本質(zhì)上是完成以下三層組件的協(xié)同部署SGLang Framework服務(wù)與調(diào)度層vLLM-Ascend執(zhí)行引擎層Ascend 算子與運行時CANN/ torch-npu / triton-ascend3.1 SGLang 主體安裝Ascend Attention BackendSGLang 是本文的核心框架其 Ascend NPU 支持目前仍在ascend_attention_backend 分支中進行開發(fā)與驗證。本文所有推理、服務(wù)化與性能測試均基于該分支的 SGLang 實現(xiàn)。主分支暫時不支持 Ascendgit clone https://github.com/ping1jing2/sglang -b ascend_attention_backend安裝cd sglang pip install -e python[srt_npu]3.2 安裝 vLLM 與 vLLM-Ascendgit clone https://github.com/vllm-project/vllm.git cd vllm git checkout v0.8.5 pip install -r requirements/build.txt VLLM_TARGET_DEVICEempty pip install -v -e .安裝 NPU 版本git clone https://github.com/vllm-project/vllm-ascend.git cd vllm-ascend git checkout v0.8.5rc1 pip install -v -e .3.3 安裝 torch-npupip install torch2.6.0 torchvision0.21.0 pip install torch_npu-2.6.0-cp311-cp311-manylinux_2_17_aarch64.whl3.4 安裝 triton-ascend從 GitCode 安裝git clone https://gitee.com/ascend/triton-ascend.git --recurse-submodules pip install triton-ascend3.5 常見報錯與解決方案1. vLLM-Ascend 安裝報錯找不到 --cmake修改setup.py--cmake → --cmakedir2. 運行時報錯OutOfResources文件/usr/local/lib/python3.11/site-packages/torch/_inductor/runtime/triton_heuristics.py修改from triton.runtime.autotuner import OutOfResources為from triton.runtime.errors import OutOfResources4. 離線推理測試驗證模型能跑4.1 雙卡離線推理TP2export ASCEND_RT_VISIBLE_DEVICES0,1 python examples/runtime/engine/offline_batch_inference.py --model /home/data/Qwen3-8B/ --disable-overlap-schedule --max-total-tokens 200 --device npu --attention-backend ascend --tp 2提示max-total-tokens 必須大于 page size否則會報內(nèi)存不足。5. 單機模型推理 Demo在sglang/下創(chuàng)建 example.pyimport sglang as sgl def main(): prompts [ Hello, my name is, The president of the United States is, The capital of France is, The future of AI is, ] llm sgl.Engine( model_path/home/data/Qwen3-8B/, devicenpu, attention_backendascend ) params {temperature: 0.8, top_p: 0.95, max_new_tokens: 30} outputs llm.generate(prompts, params) for p, o in zip(prompts, outputs): print() print(fPrompt: {p} Generated: {o[text]}) if __name__ __main__: main()運行方式USE_VLLM_CUSTOM_ALLREDUCE1 python example.py**6. 服務(wù)化部署SGLang Server **NPU6.1 啟動服務(wù)python -m sglang.launch_server --model-path /home/weights/Llama-3.1-70B-Instruct --device npu --grammar-backend outlines --attention-backend ascend --disable-overlap-schedule --tp 46.2 發(fā)送推理請求curl http://localhost:{port}/generate -H Content-Type: application/json -d {text:The capital of France is, sampling_params:{max_new_tokens:32}}7. Profiling 采集與性能分析適用于性能調(diào)優(yōu)export SGLANG_TORCH_PROFILER_DIR/root/sglang/profile_log python -m sglang.launch_server --model-path /data/weights/Meta-Llama-3.1-70B-Instruct_w8a8_msit --tp 4 --port 8021 --device npu --attention-backend ascend --quantization w8a8_int8另開 terminalpython3 -m sglang.bench_serving --backend sglang --host 127.0.0.1 --port 8021 --num-prompt 32 --random-input-len 1024 --max-concurrency 32 --profile日志路徑/root/sglang/profile_log解析 profiling 文件數(shù)量import os log_dir /root/sglang/profile_log files os.listdir(log_dir) print(Profiling 文件數(shù)量, len(files)) for f in files[:5]: print( -, f)8. MMLU 精度驗證流程拉起服務(wù)后運行python3 bench_sglang.py --nsub 10 --host http://127.0.0.1 --port 8021查看準確率cat result.jsonl | grep -oP accuracy: Kd.d9. 性能對比分析SGLang vs vLLMNPU 環(huán)境在昇騰 NPU 環(huán)境下SGLang 和 vLLM-Ascend 都能支持大模型高性能推理但兩者的架構(gòu)側(cè)重點不同因此在真實工作負載下呈現(xiàn)出差異。本章節(jié)從吞吐、延遲、并發(fā)擴展性和內(nèi)存占用四個維度進行對比。以下對比基于相同硬件環(huán)境設(shè)備Ascend 910B2~8 卡模型Llama-3.1-70BBF16 / W8A8框架版本sglangascend_attention_backendvLLM-Ascend v0.8.5rc1注意力 backendvLLMPytorchAttentionNPUsglangAscend Backend自研9.1 吞吐QPS/ Token吞吐對比場景vLLM-AscendSGLang(Ascend)差異說明固定 batch321.0xbaseline1.2x ~ 1.35xSGLang 的 KV Cache 管理更優(yōu)多并發(fā)128下降明顯仍能保持穩(wěn)定增長SGLang 含更優(yōu)的 token-level 并發(fā)調(diào)度長文本生成中等更高1.1x ~ 1.3xSRT pipeline 更適合長序列圖SGLang 與 vLLM-Ascend 在不同并發(fā)數(shù)下的吞吐QPS對比。隨著并發(fā)增加SGLang 提供更好的擴展性可以獲得 15%~35% 的吞吐優(yōu)勢。結(jié)論在 NPU 上SGLang 的整體吞吐通常領(lǐng)先 vLLM 10%~35%尤其是在高并發(fā)場景。9.2 單請求延遲TTFT/TPOT對比指標vLLM-AscendSGLang說明首 token 延遲 TTFT較高更低SGLang 的 executor 輕量token 平均生成時間接近接近或略低兩者算子路徑相同差異不大tail latency P99偏高更穩(wěn)定Multi-Stream scheduling 更優(yōu)圖 SGLang 與 vLLM 在首 Token 延遲、每 Token 延遲及 P99 尾延遲上的對比。SGLang 在 TTFT 與 P99 指標上更具優(yōu)勢可以顯著改善在線服務(wù)體驗。對于需要極低首 token 響應(yīng)的場景如聊天類應(yīng)用、Agent 流式交互SGLang 表現(xiàn)更優(yōu)。9.3顯存占用對比項目vLLMSGLang說明KV Cache 復(fù)用效率普通更高SGLang KV 復(fù)用策略更激進靜態(tài)分配 / fragment較多碎片少ascend backend 做了顯存再均衡長時間運行穩(wěn)定性偶發(fā)碎片膨脹更穩(wěn)定大規(guī)模并發(fā)壓力測試實測結(jié)果圖SGLang 與 vLLM-Ascend 的顯存占用與碎片率對比。SGLang 的顯存復(fù)用策略更優(yōu)在大批量推理和長時間服務(wù)中具有更穩(wěn)定表現(xiàn)。結(jié)論SGLang 對顯存的壓縮能力更強適合大 batch 長序列組合。9.4 并發(fā)擴展能力隨著并發(fā)從 8 → 16 → 32 → 64 → 128vLLM QPS 會在 32 之后明顯下降SGLang 會保持更平滑的增長曲線實際原因SGLang 的 token 搶占式調(diào)度Token SwappingKV Cache 分組更細NPU 的 Stream 復(fù)用更高效真實業(yè)務(wù)結(jié)論高并發(fā)場景中SGLang 的整體服務(wù)端表現(xiàn)更適合 NPU 生態(tài)。10. 常見錯誤排查昇騰 NPU SGLang以下部分是基于大量實際部署環(huán)境整理的“硬核級別排查手冊”幫助你在投稿中展現(xiàn)極強的工程能力。10.1 編譯與安裝類問題1. triton-ascendUT測試失敗現(xiàn)象ModuleNotFoundError: No module named triton解決pip install triton-ascend pytest -sv test_add.py若仍報錯 → 檢查 whl 是否和 CANN 版本對齊。2. vLLM-Ascend setup.py 報錯unknownargument“–cmake”解決方案將--cmake改為--cmakedir--cmake → --cmakedir3. torch_npu 導(dǎo)入失敗原因torch/torch-npu 版本不匹配正確組合torchtorch-npuPython2.6.02.6.03.11檢查命令python -c import torch_npu;print(ok)10.2 運行時錯誤4. OutOfResources 報錯SGLang 或 vLLM常見于 triton_ascend 的錯誤路徑。解決方式官方推薦替換vim torch/_inductor/runtime/triton_heuristics.py # 替換導(dǎo)入路徑 from triton.runtime.autotuner import OutOfResources → from triton.runtime.errors import OutOfResources5. max-total-tokens 太小導(dǎo)致推理錯誤報錯示例AssertionError: max-total-tokens page sizeSGLang 在 ascend backend 下有嚴格限制。修復(fù)--max-total-tokens 200如果模型更大設(shè)置更高如 512~2048。6. 服務(wù)化卡死 / 無響應(yīng)檢查是否設(shè)置了USE_VLLM_CUSTOM_ALLREDUCE1是否關(guān)閉disable-overlap-schedule建議啟動方式USE_VLLM_CUSTOM_ALLREDUCE1 python -m sglang.launch_server ...7.P2P失敗tp8 無法啟動如果出現(xiàn)P2P check failed原因NPU 設(shè)備沒有全部直連BIOS 或驅(qū)動未開啟 P2P解決export ASCEND_P2P_ENABLE1 python -m sglang.launch_server --enable-p2p-check10.3 性能異常類問題8. 性能不如預(yù)期吞吐低常見原因原因解決方案未開啟 custom allreduceexport USE_VLLM_CUSTOM_ALLREDUCE1batch 太小增大并發(fā)或輸入長度KV Cache 分配不足調(diào)整--mem-fraction-static 0.9attention-backend 仍是 torch確保使用--attention-backend ascend9. Profiling 結(jié)果為空必須添加環(huán)境變量export SGLANG_TORCH_PROFILER_DIR/root/sglang/profile_log并確保目錄可寫bench_serving 開啟--profile10.4 數(shù)據(jù)集/精度類問題10. 跑 MMLU 報錯下載失敗原因無代理 / 代理異常解決設(shè)置代理后手動執(zhí)行 download_data.sh 里的每條命令bash download_data.sh實測常常需要逐條分拆執(zhí)行。總結(jié)相比 GPUNPU 運行 SGLang 的部署鏈路更長、依賴更多前期部署非常麻煩但一旦環(huán)境搭建完成可謂是一勞永逸其性能、吞吐、能效輸出都非常具有競爭力。需要特別說明的是文中涉及的 vLLM-Ascend、triton-ascend 等組件并非獨立討論對象而是SGLang 在昇騰 NPU 上運行所依賴的底層執(zhí)行與算子體系。注明昇騰PAE案例庫對本文寫作亦有幫助。
版權(quán)聲明: 本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請聯(lián)系我們進行投訴反饋,一經(jīng)查實,立即刪除!

常見的網(wǎng)址有哪些短視頻seo什么意思

常見的網(wǎng)址有哪些,短視頻seo什么意思,wordpress 上傳至,網(wǎng)頁制作公司排名終極免費微信自動化工具完整使用指南 #x1f680; 【免費下載鏈接】YuYuWechat 一個讓微信#xff08;

2026/01/21 18:36:01

福州+網(wǎng)站建設(shè)+醫(yī)療wordpress數(shù)據(jù)表

福州+網(wǎng)站建設(shè)+醫(yī)療,wordpress數(shù)據(jù)表,html5網(wǎng)站動效怎么做,織夢網(wǎng)站響應(yīng)式模板免費下載信陽農(nóng)林學(xué)院畢業(yè)論文#xff08;設(shè)計#xff09;題目申報申請書學(xué)院信息工程學(xué)院專業(yè)網(wǎng)絡(luò)工程21-

2026/01/21 17:38:01