{"id":94,"date":"2026-08-05T19:29:37","date_gmt":"2026-08-05T11:29:37","guid":{"rendered":"https:\/\/www.mingchen.icu\/?p=94"},"modified":"2026-08-05T19:29:47","modified_gmt":"2026-08-05T11:29:47","slug":"%e4%bf%a1%e5%88%9barm%e7%8e%af%e5%a2%83%e4%b8%8b%e9%83%a8%e7%bd%b2qwen3-6-35b-a3b-w8a8%e6%a8%a1%e5%9e%8b","status":"publish","type":"post","link":"https:\/\/www.mingchen.icu\/?p=94","title":{"rendered":"\u4fe1\u521bArm\u73af\u5883\u4e0b\u90e8\u7f72Qwen3.6-35B-A3B-w8a8\u6a21\u578b"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u672c\u6587\u5c06\u5c1d\u8bd5\u5728\u5185\u7f51\u4fe1\u521b\u670d\u52a1\u5668\u73af\u5883\u4e0b\u90e8\u7f72Qwen3.6-35B-A3B-w8a8\u6a21\u578b<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u670d\u52a1\u5668\u914d\u7f6e\u4fe1\u606f\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>CPU<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u5185\u5b58<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u786c\u76d8<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>NPU<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">2*\u9cb2\u9e4f920 5220 32\u6838<\/td><td class=\"has-text-align-center\" data-align=\"center\">8*32G DDR4 2933<\/td><td class=\"has-text-align-center\" data-align=\"center\">2*SATA SSD 1TB Raid1<br>6*SAS HDD 1TB Raid5<\/td><td class=\"has-text-align-center\" data-align=\"center\">3* Atlas 300I Duo 96G<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ce8\uff1a\u56e0\u9009\u7528\u7684Qwen3.6\u6a21\u578b\u7279\u6027\uff0c\u4ec5\u5141\u8bb8\u8c03\u7528\u53cc\u6570GPU\uff0c\u4f46\u670d\u52a1\u5668\u914d\u7f6e\u7684Atlas 300I Duo\u662f\u53cc\u82af\u7b97\u529b\u5361\uff0c\u6240\u4ee5\u4e00\u5171\u67096\u4e2aNPU\u82af\u7247\uff0c\u6bcf\u4e2a\u82af\u7247\u4f7f\u752848G\u663e\u5b58\uff0c\u5177\u4f53\u80fd\u5426\u4f7f\u7528\u8981\u770b\u8be5\u6846\u67b6\u662f\u5426\u652f\u63016\u4e2aNPU\u5e76\u884c\u914d\u7f6e<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u57fa\u7840\u73af\u5883\u914d\u7f6e<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7531\u4e8e\u4fe1\u521b\u8981\u6c42\uff0c\u670d\u52a1\u5668\u64cd\u4f5c\u7cfb\u7edf\u9009\u62e9\u7edf\u4fe1UOS 20 1070A\u3001\u540c\u65f6\u5b89\u88c5Docker<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u5b89\u88c5\u9a71\u52a8<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u5b89\u88c5\u597d\u57fa\u7840\u73af\u5883\u540e\uff0c\u73b0\u5728\u5b89\u88c5\u8ba1\u7b97\u5361\u9a71\u52a8\uff0c\u8fdb\u5165\u6607\u817e\u793e\u533a\u5b98\u7f51\uff08<a href=\"https:\/\/www.hiascend.com\/\">www.hiascend.com<\/a>\uff09\uff0c\u9009\u62e9\u5bf9\u5e94\u8ba1\u7b97\u5361\u7684\u9a71\u52a8\uff0c\u8fd9\u91cc\u5148\u9009\u62e9\u5b89\u88c5\u4ee5\u4e0b2\u4e2a\u9a71\u52a8\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ascend-hdk-310p-npu-dirver_25.5.1_linux-aarch64.run<\/li>\n\n\n\n<li>Ascend-hdk-310p-npu-firmware_7.8.0.6.201.run<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0b\u8f7d\u597d\u540e\uff0c\u4e0a\u4f20\u81f3\u670d\u52a1\u5668\uff0c\u76f4\u63a5\u5b89\u88c5\u5373\u53ef<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x\nAscend-hdk-310p-npu-dirver_25.5.1_linux-aarch64.run\n.\/\nAscend-hdk-310p-npu-dirver_25.5.1_linux-aarch64.run\nchmod +x\nAscend-hdk-310p-npu-firmware_7.8.0.6.201.run\n.\/\nAscend-hdk-310p-npu-firmware_7.8.0.6.201.run<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u91cd\u542f\u670d\u52a1\u5668\uff0c\u9a8c\u8bc1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npu-smi info<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u80fd\u6b63\u5e38\u8f93\u51fa\u8ba1\u7b97\u5361\u4fe1\u606f\u5373\u53ef\uff0c\u6b63\u5e38\u5e94\u8be5\u53ef\u4ee5\u770b\u52306\u9897310P<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"655\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/001-1024x655.png\" alt=\"\" class=\"wp-image-97\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/001-1024x655.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/001-300x192.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/001-768x491.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/001.png 1179w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">\u5b89\u88c5CANN<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u5355\u6709\u9a71\u52a8\u8fd8\u662f\u4e0d\u5b8c\u6574\u7684\uff0c\u8fd8\u9700\u8981\u5b89\u88c5\u9a71\u52a8\u7248\u672c\u5bf9\u5e94\u7684CAAN\uff0c\u8fd9\u91cc\u9009\u62e9\u4ee5\u4e0b\u4e24\u4e2a\u5b89\u88c5\u5305\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ascend-cann-toolkit_9.0.0_linux-aarch64.run<\/li>\n\n\n\n<li>Ascend-cann-310p-ops_9.0.0_linux-aarch64.run<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0b\u8f7d\u5b8c\u6210\u540e\u4e0a\u4f20\u5230\u670d\u52a1\u5668\uff0c\u5148\u5b89\u88c5toolkit<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x\nAscend-cann-toolkit_9.0.0_linux-aarch64.run\n.\/\nAscend-cann-toolkit_9.0.0_linux-aarch64.run<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u811a\u672c\u540e\u53d1\u73b0\u670d\u52a1\u5668\u62a5\u9519\uff0c\u4fe1\u606f\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"106\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-5-1024x106.png\" alt=\"\" class=\"wp-image-100\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-5-1024x106.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-5-300x31.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-5-768x80.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-5.png 1174w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u4e2a\u62a5\u9519\u8868\u793a\u5b89\u88c5\u7a0b\u5e8f\u8981\u6c42\u6307\u5b9aScene\uff08\u5b89\u88c5\u573a\u666f\uff09\u4e0d\u662f\u5b89\u88c5\u5931\u8d25\uff0c\u800c\u662f\u5b89\u88c5\u547d\u4ee4\u53c2\u6570\u5199\u9519\u4e86\uff0c\u8fd9\u91cc\u6211\u4eec\u8981\u786e\u8ba4\u6b63\u786e\u7684\u53c2\u6570\u662f\u4ec0\u4e48\uff0c\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/Ascend-cann-toolkit_9.0.0_linux-aarch64.run --help<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa\u5982\u4e0b<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"626\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-7-1024x626.png\" alt=\"\" class=\"wp-image-102\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-7-1024x626.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-7-300x183.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-7-768x470.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-7.png 1300w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u8f93\u51fa\u6211\u4eec\u53d1\u73b0\uff0c\u6b63\u786e\u7684\u5b89\u88c5\u6307\u4ee4\u5e94\u8be5\u662f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/\nAscend-cann-toolkit_9.0.0_linux-aarch64.run --install<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u91cd\u65b0\u6267\u884c\u811a\u672c\uff0c\u5b89\u88c5\u5b8c\u6210\u540e\u53c8\u51fa\u73b0\u4e86\u62a5\u9519<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"45\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-8-1024x45.png\" alt=\"\" class=\"wp-image-103\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-8-1024x45.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-8-300x13.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-8-768x34.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-8-1536x68.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-8.png 1545w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u62a5\u9519\u770b\u51fa\u6765\uff0c\u662f\u672c\u5730\u7684python\u7248\u672c\u592a\u4f4e\uff08\u73b0\u5728\u5b89\u88c5\u7684\u662fpython3.6.8\uff09\uff0c\u800cCANN\u8981\u6c423.7\u6216\u66f4\u9ad8\u7248\u672c\uff0c\u627e\u5230\u95ee\u9898\u540e\uff0c\u6211\u4eec\u5c31\u9700\u8981\u5b89\u88c5\u4e00\u4e2a\u66f4\u65b0\u7248\u672c\u7684python\uff0c\u8fd9\u91cc\u6211\u4eec\u9009\u62e9\u4fdd\u7559\u539f\u670d\u52a1\u5668\u4e0a\u76843.6.8\uff0c\u91cd\u65b0\u5b89\u88c5\u4e00\u4e2a3.10\u7248\u672c\uff0c\u5728\u5b98\u7f51\u4e0a\u4e0b\u8f7d3.10\u7684\u6e90\u7801\u5305\u540e\uff0c\u4e0a\u4f20\u81f3\u670d\u52a1\u5668\uff0c\u5728\u7f16\u8bd1\u5b89\u88c5\u524d\uff0c\u786e\u8ba4\u670d\u52a1\u5668\u6709\u6240\u9700\u7684\u4f9d\u8d56:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gcc --version\nmake --version\nrpm -qa |grep -E \"openssl|zlib|libffi|sqlite|readline|xz|bzip2\"<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"653\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-9-1024x653.png\" alt=\"\" class=\"wp-image-105\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-9-1024x653.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-9-300x191.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-9-768x490.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-9.png 1059w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f9d\u8d56\u5168\u90e8\u6ee1\u8db3\u540e\uff0c\u5c06\u4e0b\u8f7d\u7684\u6e90\u7801\u5305\u89e3\u538b\uff0c\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/configure --prefix=\/opt\/python3.10 --enable-optimizations\nmake -j$(nproc)\nmake altinstall<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u8ff0\u547d\u4ee4\u786e\u4fdd\u6bcf\u4e00\u6b65\u65e0\u62a5\u9519\u540e\u4f9d\u6b21\u6267\u884c\uff0c\u5b8c\u6210\u540e\u9a8c\u8bc1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/opt\/python3.10\/bin\/python3.10 --version\n.\/opt\/python3.10\/bin\/python3.10 -c \"import ctypes;print('ctypes OK')\"\n.\/opt\/python3.10\/bin\/python3.10 -c \"import ssl;print(ssl OK)\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u663e\u793apython\u7248\u672c\u4e3a3.10.20\uff0cctypes OK\u548cssl OK\u540e\u4ee3\u8868\u6210\u529f\u5b89\u88c5<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7531\u4e8e\u6211\u4eec\u6ca1\u6709\u5220\u9664\u539f\u6765\u7684python3.6\uff0c\u7cfb\u7edf\u9ed8\u8ba4\u7684python\u8fd8\u662f3.6\uff0c\u6240\u4ee5\u8fd9\u91cc\u6211\u4eec\u9700\u8981\u4fee\u6539PATH<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vim \/root\/.bashrc\n#\u5728\u672b\u5c3e\u6dfb\u52a0\nexport PATH=\/opt\/python3.10\/bin:$PATH\nexport LD_LIBRARY_PATH=\/opt\/ptyhon3.10\/lib:$LD_LIBRARY_PATH\n#\u4fdd\u5b58\u9000\u51fa\u540e\uff0c\u6267\u884c\nsource \/root\/.bashrc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u56e0\u4e3a\u6211\u4eec\u5b89\u88c5\u7684python\u53ef\u6267\u884c\u6587\u4ef6\u53ebpython3.10\uff0c\u4e0d\u53ebpython3\uff0c\u8fd8\u9700\u8981\u5efa\u7acb\u4e00\u4e2a\u8f6f\u94fe\u63a5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/opt\/python3.10\/bin\/python3.10 \/opt\/python3.10\/bin\/python3\n#\u5237\u65b0shell\u7f13\u5b58\nhash -r<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u68c0\u67e5\u662f\u5426\u751f\u6548<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"297\" height=\"31\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-10.png\" alt=\"\" class=\"wp-image-106\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u786e\u8ba4\u751f\u6548\u540e\uff0c\u7ee7\u7eed\u5b89\u88c5Ascend-cann-toolkit_9.0.0_linux-aarch64.run\uff0c\u53d1\u73b0\u62a5\u9519\u4e86<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"302\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-11-1024x302.png\" alt=\"\" class=\"wp-image-109\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-11-1024x302.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-11-300x88.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-11-768x226.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-11.png 1245w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5176\u4e2d\u663e\u793amindstudio-TX\u5b89\u88c5\u5931\u8d25\u4e86\uff0c\u8fd9\u4e2a\u7ec4\u4ef6\u5728\u670d\u52a1\u5668\u73af\u5883\u4e0b\u662f\u4e0d\u9700\u8981\u7684\uff0c\u6240\u4ee5\u6211\u4eec\u91cd\u65b0\u5b89\u88c5\uff0c\u8fd9\u6b21\u4e0d\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u5378\u8f7d\u6b8b\u7559Toolkit\n\/usr\/local\/Ascend\/cann-9.0.0\/cann_uninstall.sh\n#\u4fee\u6539\u5b89\u88c5\u547d\u4ee4\uff0c\u91cd\u65b0\u5b89\u88c5\n.\/Ascend-cann-toolkit_9.0.0_linux-aarch64.run \\\n--install \\\n--install-path=\/usr\/local\/Ascend\/cann-9.0.0 \\\n--whitelist=nnae,nnrt,atc,hccl<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u770b\u5230\u4ee5\u4e0b\u65e5\u5fd7\u8f93\u51fa\u540e\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"109\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-12-1024x109.png\" alt=\"\" class=\"wp-image-111\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-12-1024x109.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-12-300x32.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-12-768x82.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-12.png 1524w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u63a5\u4e0b\u6765\u52a0\u8f7d\u73af\u5883<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source \/usr\/local\/Ascend\/cann-9.0.0\/cann\/set_env.sh\n#\u68c0\u67e5\u73af\u5883\u53d8\u91cf\necho #ASCEND_HOME_PATH\n#\u68c0\u67e5ATC\nwhich atc\n#\u67e5\u770bATC\u662f\u5426\u5b8c\u6574\natc --help | head -30<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u90fd\u80fd\u6b63\u5e38\u8f93\u51fa\u5219\u8bf4\u660eCANN\u5b89\u88c5\u5b8c\u6210<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u5b89\u88c5310 Ops<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u73b0\u5728CANN Toolkit\u5df2\u7ecf\u6b63\u5e38\uff0c\u53ef\u4ee5\u7ee7\u7eed\u5b89\u88c5310ops<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x \nAscend-cann-310p-ops_9.0.0_linux-aarch64.run\n.\/\nAscend-cann-310p-ops_9.0.0_linux-aarch64.run --install<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5\u5b8c\u6210\u540e\u7684\u65e5\u5fd7<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"247\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-13-1024x247.png\" alt=\"\" class=\"wp-image-116\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-13-1024x247.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-13-300x72.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-13-768x185.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-13-1536x370.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/07\/image-13.png 1548w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u9a8c\u8bc1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l \/usr\/local\/Ascend\/cann-9.0.0\/cann\/opp<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u53ef\u4ee5\u770b\u5230\u5b8c\u6574\u7684\u76ee\u5f55\u7ed3\u6784\uff0c\u5219\u8bf4\u660e\u5b89\u88c5\u5b8c\u6210<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b8c\u6210\u6240\u6709\u7684CANN\u5b89\u88c5\u540e\uff0c\u6700\u540e\u5b8c\u6574\u68c0\u67e5\u4e00\u904d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source \/usr\/local\/Ascend\/cann-9.0.0\/cann\/set_env.sh\nnpu-smi info\nwhich atc\necho $ASCEND_HOME_PATH\necho $ASCEND_OPP_PATH<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa\u90fd\u662f\u6b63\u5e38\uff0c\u8bf4\u660eCANN\u7684\u5b89\u88c5\u5df2\u7ecf\u5b8c\u6210\uff0c\u53ef\u4ee5\u7ee7\u7eed\u8fdb\u884c\u4e0b\u4e00\u6b65\u4e86<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">\u9a8c\u8bc1Docker<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u73b0\u5728\u9a8c\u8bc1\u5b89\u88c5\u7684docker\u662f\u5426\u5177\u5907\u5141\u8bb8Ascend\u5bb9\u5668\u7684\u57fa\u7840\u6761\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l \/dev\/davinci*\nls -l \/dev\/davinci_manager\nls -l \/dev\/devmmsvm\nls -l \/dev\/hisi_hdc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0a\u56db\u6761\u90fd\u80fd\u6b63\u5e38\u8f93\u51fa\uff0c\u8bf4\u660e\u5df2\u7ecf\u5177\u5907\u8fd0\u884cAscend\u5bb9\u5668\u7684\u57fa\u7840\u6761\u4ef6<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5230\u8fd9\u91cc\uff0c\u57fa\u7840\u73af\u5883\uff08\u9a71\u52a8+CANN+OPP\uff09\u5df2\u7ecf\u5168\u90e8\u5b89\u88c5\u5b8c\u6210<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u90e8\u7f72vLLM Ascend<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u90e8\u7f72vLLM\u67092\u79cd\u65b9\u5f0f\uff0c\u7b2c\u4e00\u79cd\u662f\u539f\u751f\u672c\u5730\u5b89\u88c5\uff0c\u7b2c\u4e8c\u79cd\u662fDocker+\u5b98\u65b9Ascend vLLM\u955c\u50cf\uff0c\u8fd9\u91cc\u9009\u62e9\u7b2c\u4e8c\u79cd\u90e8\u7f72\u65b9\u5f0f\uff0c\u539f\u56e0\u662f\uff1a\u4e0d\u6c61\u67d3\u5bbf\u4e3b\u673a\u7684python\u73af\u5883\uff1b\u540e\u7eed\u5347\u7ea7vLLM\u6216PyTorch\u66f4\u7b80\u5355\uff1b\u5bbf\u4e3b\u673a\u4e0a\u5df2\u6709\u4e1a\u52a1\uff0c\u7528docker\u98ce\u9669\u66f4\u4f4e\uff1b\u4e0e\u5b98\u65b9\u6587\u6863\u4e00\u81f4\uff0c\u540e\u7eed\u6392\u67e5\u95ee\u9898\u66f4\u65b9\u4fbf\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u56e0\u4e3a\u670d\u52a1\u5668\u662f\u5185\u7f51\u73af\u5883\uff0c\u9996\u5148\u4f7f\u7528\u4e00\u53f0\u6709\u4e92\u8054\u7f51\u7684windows\u7ec8\u7aef\uff0c\u5b89\u88c5docker desktop\uff0c\u5728\u8bbe\u7f6e\u4e2d\u53d6\u6d88\u52fe\u9009\u201cUse containerd for pulling and storing images\u201d\uff0c\u5728powersell\u4e2d\u6267\u884c\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker pull --platform linux\/arm64 quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7b49\u5f85\u4e0b\u8f7d\u5b8c\u6210\u540e\uff0c\u8fd8\u9700\u8981\u5c06\u955c\u50cf\u5bfc\u51fa\uff0c\u8fd9\u91cc\u9009\u62e9\u5c06\u955c\u50cf\u5bfc\u51fa\u5230D\u76d8\uff0c\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker save -o D:\\vllm-ascend-v0.22.1rc1-310p.tar quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bfc\u51fa\u5b8c\u6210\u540e\uff0c\u83b7\u5f97\u4e00\u4e2a.tar\u6587\u4ef6\uff0c\u5c06\u5b83\u4e0a\u4f20\u5230\u670d\u52a1\u5668\uff0c\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker load -i vllm-ascend-v0.22.1rc1-310p.tar<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bfc\u5165\u5b8c\u6210\u540e\uff0c\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker images | grep vllm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770b\u662f\u5426\u6709\u7c7b\u4f3c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>quay.io\/ascend\/vllm-ascend<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7684\u955c\u50cf\uff0c\u6709\u4e86\u4e4b\u540e\uff0c\u8bf4\u660evllm\u955c\u50cf\u5df2\u7ecf\u5bfc\u5165\uff0c\u53ef\u4ee5\u5f00\u59cb\u90e8\u7f72Qwen\u6a21\u578b\u4e86<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u90e8\u7f72Qwen\u6a21\u578b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u73b0\u5728\u51c6\u5907\u90e8\u7f72\u6a21\u578b\uff0c\u7b2c\u4e00\u6b65\uff0c\u4e0b\u8f7d\u6b63\u786e\u7684\u6a21\u578b\uff0c\u4ece\u53c2\u8003\u6587\u6863\u4e2d\u770b\uff0c\u63a8\u8350\u4ece\u9b54\u5854\u793e\u533a\u91cc\u4e0b\u8f7dw8a8\u91cf\u5316\u6a21\u578b\uff0c\u767b\u5f55\u9b54\u5854\u793e\u533a\uff08www.modelscope.cn\uff09\uff0c\u641c\u7d22\u6a21\u578b&#8221;Qwen3.6-35B-A3B-w8a8&#8243;\uff0c\u9009\u62e9\u201cEco-Tech\/Qwen3.6-35B-A3B-w8a8\u201d\uff0c\u4e0b\u8f7d\u8be5\u6a21\u578b\uff0c\u65b0\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939\uff0c\u547d\u540d\u4e3a\u201cQwen\u201d,\u6253\u5f00git\u547d\u4ee4\u884c\uff0c\u8f93\u5165<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git lfs install\ngit clone https:\/\/www.modelscope.cn\/Eco-Tech\/Qwen3.6-35B-A3B-w8a8.git<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0b\u8f7d\u5230\u5b8c\u6574\u7684\u6a21\u578b\u6587\u4ef6\u540e\uff0c\u5c06\u5176\u4e0a\u4f20\u81f3\u670d\u52a1\u5668\/opt\/Qwen3.6-35B-A3B-w8a8<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u670d\u52a1\u5668\u4e0a\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm -it \\<br>--name vllm-test \\<br>--net=host \\<br>--shm-size=10g \\<br>--device \/dev\/davinci0 \\<br>--device \/dev\/davinci1 \\<br>--device \/dev\/davinci2 \\<br>--device \/dev\/davinci3 \\<br>--device \/dev\/davinci4 \\<br>--device \/dev\/davinci5 \\<br>--device \/dev\/davinci_manager \\<br>--device \/dev\/devmm_svm \\<br>--device \/dev\/hisi_hdc \\<br>-v \/usr\/local\/dcmi:\/usr\/local\/dcmi \\<br>-v \/usr\/local\/bin\/npu-smi:\/usr\/local\/bin\/npu-smi \\<br>-v \/usr\/local\/Ascend\/driver\/lib64:\/usr\/local\/Ascend\/driver\/lib64 \\<br>-v \/usr\/local\/Ascend\/driver\/version.info:\/usr\/local\/Ascend\/driver\/version.info \\<br>-v \/etc\/ascend_install.info:\/etc\/ascend_install.info \\<br>-v \/opt\/Qwen3.6-35B-A3B-w8a8:\/models\/Qwen3.6-35B-A3B-w8a8 \\<br>quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p \\<br>bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fdb\u5165\u5bb9\u5668\u540e\uff0c\u5148\u6267\u884c4\u6761\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npu-smi info\npython -c \"import torch; import torch_npu; print(torch.__version__)\"\npython -c \"import vllm, vllm_ascend; print('OK')\"\nls \/models\/Qwen3.6-35B-A3B-w8a8<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npu-smi info<br>+--------------------------------------------------------------------------------------------------------+<br>| npu-smi 25.5.1 Version: 25.5.1 |<br>+-------------------------------+-----------------+------------------------------------------------------+<br>| NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page) |<br>| Chip Device | Bus-Id | AICore(%) Memory-Usage(MB) |<br>+===============================+=================+======================================================+<br>| 0 310P3 | OK | NA 82 0 \/ 0 |<br>| 0 0 | 0000:01:00.0 | 0 1643 \/ 44278 |<br>+-------------------------------+-----------------+------------------------------------------------------+<br>| 0 310P3 | OK | NA 80 0 \/ 0 |<br>| 1 1 | 0000:01:00.0 | 0 1316 \/ 43693 |<br>+===============================+=================+======================================================+<br>| 96 310P3 | OK | NA 82 0 \/ 0 |<br>| 0 2 | 0000:03:00.0 | 0 1371 \/ 44278 |<br>+-------------------------------+-----------------+------------------------------------------------------+<br>| 96 310P3 | OK | NA 80 0 \/ 0 |<br>| 1 3 | 0000:03:00.0 | 0 1592 \/ 43693 |<br>+===============================+=================+======================================================+<br>| 32896 310P3 | OK | NA 76 0 \/ 0 |<br>| 0 4 | 0000:84:00.0 | 0 1534 \/ 44278 |<br>+-------------------------------+-----------------+------------------------------------------------------+<br>| 32896 310P3 | OK | NA 74 0 \/ 0 |<br>| 1 5 | 0000:84:00.0 | 0 1426 \/ 43693 |<br>+===============================+=================+======================================================+<br>+-------------------------------+-----------------+------------------------------------------------------+<br>| NPU Chip | Process id | Process name | Process memory(MB) |<br>+===============================+=================+======================================================+<br>| No running processes found in NPU 0 |<br>+===============================+=================+======================================================+<br>| No running processes found in NPU 96 |<br>+===============================+=================+======================================================+<br>| No running processes found in NPU 32896 |<br>+===============================+=================+======================================================+<br>root@localhost:\/# python -c \"import torch; import torch_npu; print(torch.<strong>version<\/strong>)\"<br>2.10.0+cpu<br>root@localhost:\/# python -c \"import vllm, vllm_ascend; print('OK')\"<br>OK<br>root@localhost:\/# ls \/models\/Qwen3.6-35B-A3B-w8a8<br>Qwen3.5-35B-A3B_best_practice.yaml quant_model_weights-00004-of-00010.safetensors<br>README.md quant_model_weights-00005-of-00010.safetensors<br>chat_template.jinja quant_model_weights-00006-of-00010.safetensors<br>config.json quant_model_weights-00007-of-00010.safetensors<br>configuration.json quant_model_weights-00008-of-00010.safetensors<br>generation_config.json quant_model_weights-00009-of-00010.safetensors<br>merges.txt quant_model_weights-00010-of-00010.safetensors<br>preprocessor_config.json quant_model_weights.safetensors.index.json<br>quant_model_description.json tokenizer.json<br>quant_model_weights-00001-of-00010.safetensors tokenizer_config.json<br>quant_model_weights-00002-of-00010.safetensors video_preprocessor_config.json<br>quant_model_weights-00003-of-00010.safetensors vocab.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u91cc\u6839\u636e\u8f93\u51fa\u53ef\u4ee5\u770b\u5230\uff0c6\u4e2a310P\u6b63\u5e38\u3001\/dev\/davinci*\u6302\u8f7d\u6b63\u5e38\u3001Driver\u6302\u8f7d\u6b63\u5e38\u3001\u5bb9\u5668\u53ef\u4ee5\u8bbf\u95eeNPU\uff0c\u4f46\u6709\u4e00\u4e2a\u7ec6\u8282\u9700\u8981\u6ce8\u610f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python -c \"import torch; import torch_npu; print(torch.<strong>version<\/strong>)\"\n2.10.0+cpu<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6309\u7406\u6765\u8bf4\u5e94\u8be5\u8f93\u51fa2.6.x\u62162.x.x+npu\uff0c\u4f46\u8fd9\u91cc\u8f93\u51fa\u4e86+cpu\uff0c\u518d\u6b21\u786e\u8ba4\uff0c\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python - &lt;&lt;'EOF'\nimport torch\nimport torch_npu\nprint(torch.<strong>version<\/strong>)\nprint(torch.version.cuda)\nprint(torch.npu.is_available())\nprint(torch.npu.device_count())\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2.10.0+cpu\nNone\nTrue\n6<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bf4\u660e\u955c\u50cf\u91cc\u7684PyTorch\u662fCPU\u7248\uff0c\u4f46\u901a\u8fc7torch_npu\u63d2\u4ef6\u63a5\u7ba1NPU\uff0c\u8fd9\u4e0bAscend\u955c\u50cf\u91cc\u662f\u6b63\u5e38\u7684\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u63a5\u4e0b\u6765\uff0c\u786e\u8ba4\u662f\u5426\u6709Ascend\u91cf\u5316\u6a21\u5f0f\u548c\u662f\u5426\u652f\u6301tensor parallel<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vllm serve --help |grep quantization\nvllm serve --help |grep tensor-parallel-size<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa\u4e3a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"110\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-1024x110.png\" alt=\"\" class=\"wp-image-124\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-1024x110.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-300x32.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-768x83.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image.png 1513w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bf4\u660e\u6ca1\u6709\u95ee\u9898\uff0c\u53ef\u4ee5\u542f\u52a8\u4e86\uff0c\u4ee5\u4e0b\u64cd\u4f5c\u7ee7\u7eed\u5728\u5bb9\u5668\u91cc\u8fdb\u884c<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export VLLM_USE_V1=1<br>export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True<br>export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c\u542f\u52a8\u547d\u4ee4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--tensor-parallel-size 6<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa\u62a5\u9519\u4e3a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@localhost:\/# vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--tensor-parallel-size 6<br>INFO 08-04 09:58:21 &#91;<strong>init<\/strong>.py:44] Available plugins for group vllm.platform_plugins:<br>INFO 08-04 09:58:21 &#91;<strong>init<\/strong>.py:46] - ascend -&gt; vllm_ascend:register<br>INFO 08-04 09:58:21 &#91;<strong>init<\/strong>.py:49] All plugins in this group will be loaded. Set <code>VLLM_PLUGINS<\/code> to control which plugins to load.<br>INFO 08-04 09:58:21 &#91;<strong>init<\/strong>.py:238] Platform plugin ascend is activated<br>INFO 08-04 09:58:21 &#91;platform.py:60] Breakable cudagraph is force disabled on Ascend because DeepSeek V4 PIECEWISE cudagraph is not supported yet.<br>INFO 08-04 09:58:27 &#91;importing.py:69] Triton not installed or not compatible; certain GPU-related functions will not be available.<br>WARNING 08-04 09:58:30 &#91;registry.py:984] Model architecture DeepseekV4ForCausalLM is already registered, and will be overwritten by the new model class vllm_ascend.models.deepseek_v4:AscendDeepseekV4ForCausalLM.<br>WARNING 08-04 09:58:30 &#91;registry.py:984] Model architecture DeepSeekV4MTPModel is already registered, and will be overwritten by the new model class vllm_ascend.models.deepseek_v4_mtp:DeepSeekV4MTP.<br>INFO 08-04 09:58:30 &#91;<strong>init<\/strong>.py:115] Registered model loader <code>&lt;class 'vllm_ascend.model_loader.netloader.netloader.ModelNetLoaderElastic'&gt;<\/code> with load format <code>netloader<\/code><br>INFO 08-04 09:58:30 &#91;<strong>init<\/strong>.py:115] Registered model loader <code>&lt;class 'vllm_ascend.model_loader.rfork.rfork_loader.RForkModelLoader'&gt;<\/code> with load format <code>rfork<\/code><br>WARNING 08-04 09:58:30 &#91;<strong>init<\/strong>.py:87] The quantization method 'ascend' already exists and will be overwritten by the quantization config .<br>(APIServer pid=307) INFO 08-04 09:58:30 &#91;utils.py:344]<br>(APIServer pid=307) INFO 08-04 09:58:30 &#91;utils.py:344] \u2588 \u2588 \u2588\u2584 \u2584\u2588<br>(APIServer pid=307) INFO 08-04 09:58:30 &#91;utils.py:344] \u2584\u2584 \u2584\u2588 \u2588 \u2588 \u2588 \u2580\u2584\u2580 \u2588 version 0.22.1<br>(APIServer pid=307) INFO 08-04 09:58:30 &#91;utils.py:344] \u2588\u2584\u2588\u2580 \u2588 \u2588 \u2588 \u2588 model \/models\/Qwen3.6-35B-A3B-w8a8<br>(APIServer pid=307) INFO 08-04 09:58:30 &#91;utils.py:344] \u2580\u2580 \u2580\u2580\u2580\u2580\u2580 \u2580\u2580\u2580\u2580\u2580 \u2580 \u2580<br>(APIServer pid=307) INFO 08-04 09:58:30 &#91;utils.py:344]<br>(APIServer pid=307) INFO 08-04 09:58:30 &#91;utils.py:278] non-default args: {'model_tag': '\/models\/Qwen3.6-35B-A3B-w8a8', 'model': '\/models\/Qwen3.6-35B-A3B-w8a8', 'tensor_parallel_size': 6}<br>(APIServer pid=307) WARNING 08-04 09:58:30 &#91;envs.py:2057] Unknown vLLM environment variable detected: VLLM_USE_V1<br>(APIServer pid=307) INFO 08-04 09:58:47 &#91;model.py:617] Resolved architecture: Qwen3_5MoeForConditionalGeneration<br>(APIServer pid=307) INFO 08-04 09:58:47 &#91;model.py:1752] Using max model len 262144<br>(APIServer pid=307) <code>Qwen2VLImageProcessorFast<\/code> is deprecated. The <code>Fast<\/code> suffix for image processors has been removed; use <code>Qwen2VLImageProcessor<\/code> instead.<br>(APIServer pid=307) Traceback (most recent call last):<br>(APIServer pid=307) File \"\/usr\/local\/python3.12.13\/bin\/vllm\", line 6, in<br>(APIServer pid=307) sys.exit(main())<br>(APIServer pid=307) ^^^^^^<br>(APIServer pid=307) File \"\/vllm-workspace\/vllm\/vllm\/entrypoints\/cli\/main.py\", line 92, in main<br>(APIServer pid=307) args.dispatch_function(args)<br>(APIServer pid=307) File \"\/vllm-workspace\/vllm\/vllm\/entrypoints\/cli\/serve.py\", line 148, in cmd<br>(APIServer pid=307) uvloop.run(run_server(args))<br>(APIServer pid=307) File \"\/usr\/local\/python3.12.13\/lib\/python3.12\/site-packages\/uvloop\/<strong>init<\/strong>.py\", line 96, in run<br>(APIServer pid=307) return <strong>asyncio.run( (APIServer pid=307) ^^^^^^^^^^^^^^ (APIServer pid=307) File \"\/usr\/local\/python3.12.13\/lib\/python3.12\/asyncio\/runners.py\", line 195, in run (APIServer pid=307) return runner.run(main) (APIServer pid=307) ^^^^^^^^^^^^^^^^ (APIServer pid=307) File \"\/usr\/local\/python3.12.13\/lib\/python3.12\/asyncio\/runners.py\", line 118, in run (APIServer pid=307) return self._loop.run_until_complete(task) (APIServer pid=307) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (APIServer pid=307) File \"uvloop\/loop.pyx\", line 1518, in uvloop.loop.Loop.run_until_complete (APIServer pid=307) File \"\/usr\/local\/python3.12.13\/lib\/python3.12\/site-packages\/uvloop\/__init<\/strong>.py\", line 48, in wrapper<br>(APIServer pid=307) return await main<br>(APIServer pid=307) ^^^^^^^^^^<br>(APIServer pid=307) File \"\/vllm-workspace\/vllm\/vllm\/entrypoints\/openai\/api_server.py\", line 678, in run_server<br>(APIServer pid=307) await run_server_worker(listen_address, sock, args, **uvicorn_kwargs)<br>(APIServer pid=307) File \"\/vllm-workspace\/vllm\/vllm\/entrypoints\/openai\/api_server.py\", line 692, in run_server_worker<br>(APIServer pid=307) async with build_async_engine_client(<br>(APIServer pid=307) ^^^^^^^^^^^^^^^^^^^^^^^^^^<br>(APIServer pid=307) File \"\/usr\/local\/python3.12.13\/lib\/python3.12\/contextlib.py\", line 210, in <strong>aenter<\/strong><br>(APIServer pid=307) return await anext(self.gen)<br>(APIServer pid=307) ^^^^^^^^^^^^^^^^^^^^^<br>(APIServer pid=307) File \"\/vllm-workspace\/vllm\/vllm\/entrypoints\/openai\/api_server.py\", line 100, in build_async_engine_client<br>(APIServer pid=307) async with build_async_engine_client_from_engine_args(<br>(APIServer pid=307) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>(APIServer pid=307) File \"\/usr\/local\/python3.12.13\/lib\/python3.12\/contextlib.py\", line 210, in <strong>aenter<\/strong><br>(APIServer pid=307) return await anext(self.gen)<br>(APIServer pid=307) ^^^^^^^^^^^^^^^^^^^^^<br>(APIServer pid=307) File \"\/vllm-workspace\/vllm\/vllm\/entrypoints\/openai\/api_server.py\", line 124, in build_async_engine_client_from_engine_args<br>(APIServer pid=307) vllm_config = engine_args.create_engine_config(usage_context=usage_context)<br>(APIServer pid=307) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br>(APIServer pid=307) File \"\/vllm-workspace\/vllm\/vllm\/engine\/arg_utils.py\", line 2224, in create_engine_config<br>(APIServer pid=307) config = VllmConfig(<br>(APIServer pid=307) ^^^^^^^^^^^<br>(APIServer pid=307) File \"\/usr\/local\/python3.12.13\/lib\/python3.12\/site-packages\/pydantic\/_internal\/_dataclasses.py\", line 121, in <strong>init<\/strong><br>(APIServer pid=307) s.<strong>pydantic_validator<\/strong>.validate_python(ArgsKwargs(args, kwargs), self_instance=s)<br>(APIServer pid=307) pydantic_core._pydantic_core.ValidationError: 1 validation error for VllmConfig<br>(APIServer pid=307) Assertion failed, 8192 is not divisible by 6 &#91;type=assertion_error, input_value=ArgsKwargs((), {'model_co\u2026 'shutdown_timeout': 0}), input_type=ArgsKwargs]<br>(APIServer pid=307) For further information visit https:\/\/errors.pydantic.dev\/2.13\/v\/assertion_error<br>(APIServer pid=307) &#91;ERROR] 2026-08-04-09:58:47 (PID:307, Device:-1, RankID:-1) ERR99999 UNKNOWN applicaiton exception<br>(APIServer pid=307) sys:1: DeprecationWarning: builtin type swigvarlink has no <strong>module<\/strong> attribute<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u65e5\u5fd7\u770b\u51fa\uff0c\u5173\u952e\u62a5\u9519\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Assertion failed, 8192 is not divisible by 6<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u548c\u6211\u4eec\u4e4b\u524d\u60f3\u7684\u4e00\u6837\uff0cQwen3.6-35B-A3B\u7684attention hidden size \/tensor parallel\u5207\u5206\u8981\u6c42\u5fc5\u987b\u80fd\u88abTP\u6570\u6574\u9664\uff0c\u800c\u90e8\u7f72\u7684\u6a21\u578b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>hidden_size=2048\nnum_attention_heads=16\nhead_dim=256<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u91ccVLLM\u68c0\u67e5\u7684\u662fattention heads\u6216\u76f8\u5173\u7ef4\u5ea6\uff0c8192\u4e0d\u80fd\u88ab6\u6574\u9664\uff0c\u6240\u4ee5\uff0c3\u5f20\u5361\u4e0d\u652f\u6301\uff0c\u8fd9\u6b21\u5c1d\u8bd52\u5f20\u5361\uff0c\u4fee\u6539\u542f\u52a8\u811a\u672c\u4e3a\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\\n--tensor-parallel-size 4<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u542f\u52a8\u4f9d\u7136\u62a5\u9519<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"345\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-1-1024x345.png\" alt=\"\" class=\"wp-image-126\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-1-1024x345.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-1-300x101.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-1-768x259.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-1.png 1518w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ee7\u7eed\u6392\u67e5\uff0c\u5728\u5bb9\u5668\u91cc\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/usr\/local\/Ascend\/cann-9.1.0-beta.1 \\\n-name \"libfe<em>.so\" \\ -o -name \"libgraph<\/em>.so\" \\\n-o -name \"libge_executor.so\" \\\n-o -name \"libge_runner.so\"\n\npython3 - &lt;&lt;'EOF'\nimport os\nimport ctypes\n\nlibs = &#91;\n\"libgraph.so\",\n\"libge_executor.so\",\n\"libge_runner.so\",\n\"libfe.so\"\n]\n\nfor lib in libs:\n    try:\n        ctypes.CDLL(lib)\n        print(lib, \"OK\")\n    except Exception as e:\n        print(lib, e)\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>root@6f8bffe199ff:\/workspace# find \/usr\/local\/Ascend\/cann-9.1.0-beta.1 \\<br>-name \"libfe<em>.so\" \\ -o -name \"libgraph<\/em>.so\" \\<br>-o -name \"libge_executor.so\" \\<br>-o -name \"libge_runner.so\"<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/devlib\/libge_runner.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/devlib\/libgraph.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/devlib\/linux\/aarch64\/libge_runner.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/devlib\/linux\/aarch64\/libgraph.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/devlib\/linux\/x86_64\/libge_runner.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/devlib\/linux\/x86_64\/libgraph.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/devlib\/minios\/aarch64\/libgraph.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/lib64\/libge_executor.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/lib64\/libge_runner.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/lib64\/libgraph.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/lib64\/libgraph_base.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/lib64\/libgraphtuner_executor.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/lib64\/plugin\/opskernel\/libfe.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/aarch64-linux\/lib64\/plugin\/opskernel\/libgraph_tuner.so<br>\/usr\/local\/Ascend\/cann-9.1.0-beta.1\/python\/site-packages\/ge\/_capi\/libgraph_wrapper.so<br>root@6f8bffe199ff:\/workspace# python3 - &lt;&lt;'EOF'<br>import os<br>import ctypes<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">libs = [<br>&#8220;libgraph.so&#8221;,<br>&#8220;libge_executor.so&#8221;,<br>&#8220;libge_runner.so&#8221;,<br>&#8220;libfe.so&#8221;<br>]<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for lib in libs:<br>try:<br>ctypes.CDLL(lib)<br>print(lib, \"OK\")<br>except Exception as e:<br>print(lib, e)<br>EOF<br>libgraph.so OK<br>libge_executor.so \/usr\/local\/Ascend\/cann-9.1.0-beta.1\/lib64\/libhybrid_executor.so: undefined symbol: _ZN4gert16AllocatorFactory6CreateERKNS_15TensorPlacementE<br>libge_runner.so OK<br>libfe.so OK<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u8f93\u51fa\u770b\u5230\uff0c\u539f\u56e0\u53ef\u80fd\u662f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>libge_executor.so<br>\u2192 \u52a0\u8f7d libhybrid_executor.so<br>\u2192 \u627e\u4e0d\u5230 libgert.so \u4e2d\u7684\u7b26\u53f7<br>gert::AllocatorFactory::Create(gert::TensorPlacement const&amp;)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u770b\u65e5\u5fd7\u8f93\u51fa<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -n -i -E \\<br>\"error|failed|fail|invalid|not found|permission|initialize|optimizer|plugin|soc|opp|fe\" \\<br>\/root\/ascend\/log\/debug\/plog\/plog-672_* 2&gt;\/dev\/null | head -100<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"527\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-2-1024x527.png\" alt=\"\" class=\"wp-image-127\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-2-1024x527.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-2-300x154.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-2-768x395.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-2.png 1114w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u65e5\u5fd7\u4e2d\u53c8\u80fd\u770b\u5230\u65b0\u7684\u7ebf\u7d22<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>can not get realpath<br>path=\u2026\/bin\/asc_dumper<br>strerr=Operation not permitted<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u5730\u7684docker\u7248\u672c\u4e3a19.03.15\uff0c\u6000\u7591\u53ef\u80fd\u662f\u8001\u7248\u672cDocker\u7684\u9ed8\u8ba4seccomp\/capability\u9650\u5236\uff0c\u963b\u6b62\u4e86CANN\u7ec4\u4ef6\u9700\u8981\u7684\u7cfb\u7edf\u8c03\u7528\u6216\u8def\u5f84\u8bbf\u95ee\uff0c\u5bfc\u81f4FE\u521d\u59cb\u5316\u6d41\u7a0b\u6ca1\u6709\u5b8c\u6574\u6267\u884c\uff0c\u518d\u6b21\u5c1d\u8bd5\u9a8c\u8bc1\u95ee\u9898\uff0c\u9000\u51fa\u5f53\u524d\u5bb9\u5668\uff0c\u91cd\u65b0\u542f\u52a8\u4e00\u4e2aseccomp\u4e0d\u53d7\u9650\u7684\u5355\u5361\u6d4b\u8bd5\u5bb9\u5668\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm -it \\<br>--name vllm-seccomp-test \\<br>--security-opt seccomp=unconfined \\<br>--shm-size=1g \\<br>--device \/dev\/davinci0 \\<br>--device \/dev\/davinci_manager \\<br>--device \/dev\/devmm_svm \\<br>--device \/dev\/hisi_hdc \\<br>-v \/usr\/local\/dcmi:\/usr\/local\/dcmi \\<br>-v \/usr\/local\/bin\/npu-smi:\/usr\/local\/bin\/npu-smi \\<br>-v \/usr\/local\/Ascend\/driver\/lib64\/:\/usr\/local\/Ascend\/driver\/lib64\/ \\<br>-v \/usr\/local\/Ascend\/driver\/version.info:\/usr\/local\/Ascend\/driver\/version.info \\<br>-v \/etc\/ascend_install.info:\/etc\/ascend_install.info \\<br>quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p \\<br>bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fdb\u5165\u540e\u6d4b\u8bd5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export ASCEND_LAUNCH_BLOCKING=1\npython3 - &lt;&lt;'EOF'\nimport torch\nimport torch_npu\n\ntorch.npu.set_device(0)\nx = torch.zeros((10,), dtype=torch.float16, device=\"npu\")\ntorch.npu.synchronize()\n\nprint(\"NPU basic op OK\")\nprint(x.shape, x.dtype, x.device)\nEOF<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"270\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-3-1024x270.png\" alt=\"\" class=\"wp-image-128\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-3-1024x270.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-3-300x79.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-3-768x203.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-3.png 1511w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u6b21\u6267\u884c\u6210\u529f\u4e86\uff0c\u770b\u6765\u4e4b\u524d\u7684\u731c\u60f3\u662f\u6b63\u786e\u7684\uff0c\u539f\u56e0\u5c31\u662fDocker19.03\u7684\u9ed8\u8ba4seccomp\u7b56\u7565\u963b\u6b62\u4e86CANN9.1\u5bb9\u5668\u6240\u9700\u7684\u7cfb\u7edf\u8c03\u7528\uff0c\u5bfc\u81f4FEGraphOptimizer\u521d\u59cb\u5316\u5931\u8d25\uff0c\u63a5\u4e0b\u6765\uff0c\u53ef\u4ee5\u6b63\u5f0f\u521b\u5efa\u5bb9\u5668\u4e86\uff0c\u9000\u51fa\u5f53\u524d\u6d4b\u8bd5\u5bb9\u5668\uff0c\u5148\u6309\u7167\u5b98\u65b9\u9a8c\u8bc1\u65b9\u5f0f\u53ea\u4f7f\u7528\u4e00\u5f20Atlas 300I Duo\uff0c\u4e5f\u5c31\u662f\u8bbe\u59070\u30011\uff0cTP=2<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -it \\<br>--name qwen36-vllm \\<br>--net=host \\<br>--security-opt seccomp=unconfined \\<br>--shm-size=32g \\<br>--device \/dev\/davinci0 \\<br>--device \/dev\/davinci1 \\<br>--device \/dev\/davinci_manager \\<br>--device \/dev\/devmm_svm \\<br>--device \/dev\/hisi_hdc \\<br>-v \/usr\/local\/dcmi:\/usr\/local\/dcmi \\<br>-v \/usr\/local\/bin\/npu-smi:\/usr\/local\/bin\/npu-smi \\<br>-v \/usr\/local\/Ascend\/driver\/lib64\/:\/usr\/local\/Ascend\/driver\/lib64\/ \\<br>-v \/usr\/local\/Ascend\/driver\/version.info:\/usr\/local\/Ascend\/driver\/version.info \\<br>-v \/etc\/ascend_install.info:\/etc\/ascend_install.info \\<br>-v \/opt\/Qwen3.6-35B-A3B-w8a8:\/models\/Qwen3.6-35B-A3B-w8a8 \\<br>quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p \\<br>bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u91cc\u4e0d\u52a0\u53c2\u6570&#8211;rm\uff0c\u63a8\u51fa\u540e\u8fd8\u53ef\u4ee5\u518d\u8fdb\u5165\u5bb9\u5668\uff0c\u8fdb\u5165\u5bb9\u5668\u540e\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unset VLLM_USE_V1<br>export ASCEND_RT_VISIBLE_DEVICES=0,1<br>export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u518d\u542f\u52a8<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--host 0.0.0.0 \\<br>--port 8080 \\<br>--tensor-parallel-size 2 \\<br>--dtype float16 \\<br>--quantization ascend \\<br>--served-model-name qwen3.6 \\<br>--gpu-memory-utilization 0.90 \\<br>--max-model-len 20480 \\<br>--max-num-seqs 16 \\<br>--no-enable-prefix-caching \\<br>--trust-remote-code \\<br>--additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}'<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-4-1024x573.png\" alt=\"\" class=\"wp-image-130\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-4-1024x573.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-4-300x168.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-4-768x430.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-4-1536x859.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-4.png 1655w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ece\u542f\u52a8\u65e5\u5fd7\u6765\u770b\uff0c\u4f3c\u4e4e\u542f\u52a8\u6210\u529f\u4e86\uff0c\u6ca1\u6709\u62a5\u9519\uff0c\u7ee7\u7eed\u7b49\u5f85\u5b8c\u6210\u7f16\u8bd1\uff0c\u8fd9\u53ef\u80fd\u8fd8\u9700\u8981\u51e0\u5206\u949f\u5230\u51e0\u5341\u5206\u949f<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-6-1024x555.png\" alt=\"\" class=\"wp-image-132\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-6-1024x555.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-6-300x162.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-6-768x416.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-6-1536x832.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-6.png 1662w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u7b49\u5f85\u4e86\u4e00\u6bb5\u65f6\u95f4\uff0c\u53c8\u53d1\u73b0\u4e86\u62a5\u9519\uff0c\u4ece\u62a5\u9519\u770b\u5230\uff0c\u6a21\u578b\u5176\u5b9e\u5df2\u7ecf\u5b8c\u5168\u52a0\u8f7d\u6210\u529f\u4e86\uff0c\u5931\u8d25\u7684\u9636\u6bb5\u662f\u201cvLLM\u8fdb\u5165Graph Capture(ACLGraph\/CUDAGraph)\u4f18\u5316\u9636\u6bb5\u201d\uff0c\u95ee\u9898\u53ef\u80fd\u662f\u542f\u52a8\u547d\u4ee4\u91cc\u6ca1\u6709&#8211;enforce-eager\uff0c\u6240\u4ee5vLLM\u4ecd\u7136\u6309\u9ed8\u8ba4\u65b9\u5f0f\u8fdb\u5165\u4e86Capturing CUDA graphs (mixed prefill-decode, PIECEWISE)\uff0c\u518d\u6b21\u5c1d\u8bd5\u91cd\u65b0\u542f\u52a8<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\u505c\u6b62\u5f53\u524d\u5931\u8d25\u8fdb\u7a0b\npkill -9 -f vllm\n\/\/\u786e\u8ba4\u6ca1\u6709\u6b8b\u7559\nps -ef | grep -E 'vllm|EngineCore|Worker_TP' | grep -v grep\n\/\/\u6267\u884c\nunset ASCEND_LAUNCH_BLOCKING\nunset VLLM_USE_V1\n\nexport ASCEND_RT_VISIBLE_DEVICES=0,1\nexport PYTORCH_NPU_ALLOC_CONF=expandable_segments:True\n\/\/\u518d\u6b21\u542f\u52a8\nvllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\\n  --host 0.0.0.0 \\\n  --port 8080 \\\n  --tensor-parallel-size 2 \\\n  --dtype float16 \\\n  --quantization ascend \\\n  --served-model-name qwen3.6 \\\n  --gpu-memory-utilization 0.90 \\\n  --max-model-len 20480 \\\n  --max-num-seqs 16 \\\n  --no-enable-prefix-caching \\\n  --trust-remote-code \\\n  --enforce-eager \\\n  --additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}'<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-7-1024x570.png\" alt=\"\" class=\"wp-image-133\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-7-1024x570.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-7-300x167.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-7-768x427.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-7-1536x855.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-7.png 1657w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u6b21\u770b\u65e5\u5fd7\u5b8c\u5168\u542f\u52a8\u7ed3\u675f\uff0c\u800c\u4e14\u6210\u529f\u4e86\uff0c\u63a5\u4e0b\u6765\u6d4b\u8bd5\u6a21\u578b\uff0c\u5728\u5bbf\u4e3b\u673a\u4e0a\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl http:\/\/127.0.0.1:8080\/v1\/chat\/completions \\<br>-H \"Content-Type: application\/json\" \\<br>-d '{<br>\"model\":\"qwen3.6\",<br>\"messages\":&#91;<br>{<br>\"role\":\"user\",<br>\"content\":\"\u4f60\u597d\uff0c\u8bf7\u4ecb\u7ecd\u4e00\u4e0b\u4f60\u81ea\u5df1\u3002\"<br>}<br>],<br>\"temperature\":0.7,<br>\"max_tokens\":128<br>}'<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"339\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-8-1024x339.png\" alt=\"\" class=\"wp-image-134\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-8-1024x339.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-8-300x99.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-8-768x254.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-8-1536x509.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-8.png 1654w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6210\u529f\u4e86\uff0cQwen\u56de\u590d\u4e86\u95ee\u9898\uff0c\u4e0d\u8fc7\u4ed6\u8fd8\u8f93\u51fa\u4e86\u63a8\u7406\u8fc7\u7a0b\uff08CoT\uff09\uff0c\u683c\u5f0f\u4e0d\u5bf9\uff0c\u8fd8\u9700\u8981\u5fae\u8c03\uff0c\u8f93\u5165<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/models\/Qwen3.6-35B-A3B-w8a8\/config.json | grep -i reasoning\ncat \/models\/Qwen3.6-35B-A3B-w8a8\/generation_config.json<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8f93\u51fa\u4e3a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"313\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-9.png\" alt=\"\" class=\"wp-image-137\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-9.png 1019w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-9-300x92.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-9-768x236.png 768w\" sizes=\"auto, (max-width: 1019px) 100vw, 1019px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u7b2c\u4e00\u6761\u547d\u4ee4\u6ca1\u6709\u4efb\u4f55\u8f93\u51fa\uff0c\u7b2c\u4e8c\u6761\u547d\u4ee4\u7684\u8f93\u51fa\u91cc\u4e5f\u6ca1\u6709enable_thinking\u3001reasoning\u3001thinking\u3001chat_template\uff0c\u8bf4\u660e\u6a21\u578b\u914d\u7f6e\u672c\u8eab\u6ca1\u6709\u5f00\u542fthinking\uff0c\u518d\u8f93\u5165<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 -m vllm.entrypoints.openai.api_server --help |grep -i reasoning<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"102\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-10-1024x102.png\" alt=\"\" class=\"wp-image-138\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-10-1024x102.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-10-300x30.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-10-768x77.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-10.png 1385w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u91cc\u9762\u6709&#8211;reasoning-parser\uff0c\u8fd9\u8bf4\u660evLLM\u652f\u6301&#8211;reasoning-parser\uff0c\u8981\u5173\u95ed\u5b83\u53ea\u9700\u8981\u4fee\u6539\u542f\u52a8\u53c2\u6570<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u8981\u5173\u95ed\u601d\u8003\u6a21\u5f0f\uff0c\u8bf7\u6c42\u91cc\u589e\u52a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"chat_template_kwargs\": {<br>\"enable_thinking\": false<br>}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u8981\u4fdd\u7559\u601d\u8003\uff0c\u4f46\u5206\u5f00\u601d\u8003\u548c\u7b54\u6848\uff0c\u91cd\u542fvLLM\u65f6\u589e\u52a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--reasoning-parser qwen3<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u91cc\u4e0d\u9700\u8981\u4fdd\u7559\u601d\u8003\uff0c\u6240\u4ee5\u518d\u6b21\u6d4b\u8bd5\uff0c\u52a0\u4e0a\u53c2\u6570<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl http:\/\/127.0.0.1:8080\/v1\/chat\/completions \\\n-H \"Content-Type: application\/json\" \\\n-d '{\n\"model\": \"qwen3.6\",\n\"messages\": &#91;\n{\n\"role\": \"user\",\n\"content\": \"\u4f60\u597d\uff0c\u8bf7\u4ecb\u7ecd\u4e00\u4e0b\u4f60\u81ea\u5df1\uff1f\"\n}\n],\n\"temperature\": 0,\n\"max_tokens\": 64,\n\"chat_template_kwargs\": {\n\"enable_thinking\": false\n}\n}'<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"274\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-11-1024x274.png\" alt=\"\" class=\"wp-image-139\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-11-1024x274.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-11-300x80.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-11-768x206.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-11-1536x412.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-11.png 1657w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u6b21\u8f93\u51fa\u4e0d\u5e26\u601d\u8003\u4e86\uff0c\u4f46\u8fd4\u56de\u91cc\u6709<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"finish_reason\":\"length\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8bf4\u660e\u56de\u7b54\u88ab\u622a\u65ad\u4e86\uff0c\u56e0\u4e3a\u5bf9\u8bdd\u53c2\u6570\u8bbe\u7f6e\u7684&#8221;max_tokens&#8221;:64\uff0c\u540e\u7eed\u53ef\u4ee5\u6539\u6210512<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5355\u5361\u5bb9\u5668\u6d4b\u8bd5\u6ca1\u6709\u95ee\u9898\u540e\uff0c\u5f00\u59cb\u5c1d\u8bd5\u4f7f\u7528\u53cc\u5361\uff0c\u5148\u505c\u6389\u5f53\u524d\u53ccNPU\u5bb9\u5668<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps | grep vllm\ndocker stop qwen36-vllm\ndocker rm qwen36-vllm<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u5bbf\u4e3b\u673a\u6267\u884c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d \\<br>--name qwen36-vllm-prod \\<br>--restart unless-stopped \\<br>--net=host \\<br>--security-opt seccomp=unconfined \\<br>--shm-size=32g \\<br>--device \/dev\/davinci0 \\<br>--device \/dev\/davinci1 \\<br>--device \/dev\/davinci2 \\<br>--device \/dev\/davinci3 \\<br>--device \/dev\/davinci_manager \\<br>--device \/dev\/devmm_svm \\<br>--device \/dev\/hisi_hdc \\<br>-v \/usr\/local\/dcmi:\/usr\/local\/dcmi \\<br>-v \/usr\/local\/bin\/npu-smi:\/usr\/local\/bin\/npu-smi \\<br>-v \/usr\/local\/Ascend\/driver\/lib64\/:\/usr\/local\/Ascend\/driver\/lib64\/ \\<br>-v \/usr\/local\/Ascend\/driver\/version.info:\/usr\/local\/Ascend\/driver\/version.info \\<br>-v \/etc\/ascend_install.info:\/etc\/ascend_install.info \\<br>-v \/opt\/Qwen3.6-35B-A3B-w8a8:\/models\/Qwen3.6-35B-A3B-w8a8:ro \\<br>-e ASCEND_RT_VISIBLE_DEVICES=0,1,2,3 \\<br>-e PYTORCH_NPU_ALLOC_CONF=expandable_segments:True \\<br>-e OMP_PROC_BIND=false \\<br>-e OMP_NUM_THREADS=1 \\<br>quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p \\<br>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--host 0.0.0.0 \\<br>--port 8080 \\<br>--tensor-parallel-size 4 \\<br>--distributed-executor-backend mp \\<br>--dtype float16 \\<br>--quantization ascend \\<br>--served-model-name qwen3.6 \\<br>--gpu-memory-utilization 0.90 \\<br>--max-model-len 20480 \\<br>--max-num-seqs 32 \\<br>--max-num-batched-tokens 8192 \\<br>--no-enable-prefix-caching \\<br>--trust-remote-code \\<br>--enforce-eager \\<br>--reasoning-parser qwen3 \\<br>--additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7b2c\u4e00\u6b21\u542f\u52a8\u9700\u8981\u65f6\u95f4\uff0c\u76d1\u63a7\u65e5\u5fd7\u548cNPU\u4f7f\u7528\u60c5\u51b5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker logs -f qwen36-vllm-prod\nwatch -n 2 npu-smi info<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"565\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-12-1024x565.png\" alt=\"\" class=\"wp-image-141\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-12-1024x565.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-12-300x166.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-12-768x424.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-12-1536x847.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-12.png 1662w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u65e5\u5fd7\u53c8\u6709\u62a5\u9519\u4e86\uff0c\u8fd9\u6b21\u65e5\u5fd7\u663e\u793aHCCL\u591a\u5361\u901a\u4fe1\u5361\u6b7b\u4e86\uff0c\u5148\u6392\u9664\u786c\u4ef6\u95ee\u9898\uff0c\u7528\u7b2c\u4e8c\u5f20\u5361\u5355\u72ec\u8fd0\u884c\u5bb9\u5668\u8bd5\u8bd5<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"670\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-13-1024x670.png\" alt=\"\" class=\"wp-image-142\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-13-1024x670.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-13-300x196.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-13-768x502.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-13.png 1153w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u53d1\u73b0\u8fd8\u662f\u62a5\u9519\uff0c\u4ece\u5934\u5f00\u59cb\u6392\u67e5\uff0c\u5173\u95ed\u6240\u6709\u76f8\u5173\u7684\u5bb9\u5668\uff0c\u542f\u52a8\u4e00\u4e2a\u6d4b\u8bd5\u5bb9\u5668\uff0c\u4e0d\u542f\u52a8VLLM<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm -it \\\n  --name vllm-test \\\n  --net=host \\\n  --security-opt seccomp=unconfined \\\n  --shm-size=32g \\\n  --device \/dev\/davinci0 \\\n  --device \/dev\/davinci1 \\\n  --device \/dev\/davinci2 \\\n  --device \/dev\/davinci3 \\\n  --device \/dev\/davinci4 \\\n  --device \/dev\/davinci5 \\\n  --device \/dev\/davinci_manager \\\n  --device \/dev\/devmm_svm \\\n  --device \/dev\/hisi_hdc \\\n  -v \/usr\/local\/dcmi:\/usr\/local\/dcmi \\\n  -v \/usr\/local\/bin\/npu-smi:\/usr\/local\/bin\/npu-smi \\\n  -v \/usr\/local\/Ascend\/driver\/lib64:\/usr\/local\/Ascend\/driver\/lib64 \\\n  -v \/usr\/local\/Ascend\/driver\/version.info:\/usr\/local\/Ascend\/driver\/version.info \\\n  -v \/etc\/ascend_install.info:\/etc\/ascend_install.info \\\n  -v \/opt\/Qwen3.6-35B-A3B-w8a8:\/models\/Qwen3.6-35B-A3B-w8a8:ro \\\n  quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p \\\n  bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u786e\u8ba4\u955c\u50cf\u81ea\u5df1\u7684CANN\u8fd8\u5728<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"81\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-15.png\" alt=\"\" class=\"wp-image-144\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-15.png 524w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-15-300x46.png 300w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u518d\u6d4b\u8bd56\u4e2a\u903b\u8f91\u8bbe\u5907<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 - &lt;&lt;'EOF'\nimport torch\nimport torch_npu\nprint(\"device_count =\", torch.npu.device_count())\n\nfor i in range(torch.npu.device_count()):\ntry:\ntorch.npu.set_device(i)\nx = torch.zeros((1,), dtype=torch.float16, device=f\"npu:{i}\")\ntorch.npu.synchronize()\nprint(f\"device {i}: OK\")\nexcept Exception as e:\nprint(f\"device {i}: FAILED -> {e}\")\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">6\u4e2a\u903b\u8f91\u8bbe\u5907\u90fd\u6b63\u5e38\u540e\uff0c\u6d4b\u8bd5\u7b2c\u4e8c\u5f20\u5361<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export ASCEND_RT_VISIBLE_DEVICES=2,3<br>unset ASCEND_LAUNCH_BLOCKING<br>unset VLLM_USE_V1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u786e\u8ba4\u53ef\u89c1\u8bbe\u5907\u6570<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 - &lt;&lt;'EOF'\nimport torch\nimport torch_npu\n\nprint(\"device_count =\", torch.npu.device_count())\n\nfor i in range(torch.npu.device_count()):\ntorch.npu.set_device(i)\nx = torch.zeros((1,), dtype=torch.float16, device=f\"npu:{i}\")\ntorch.npu.synchronize()\nprint(\"logical device\", i, \"OK\")\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u90fd\u663e\u793aOK\u540e\uff0c\u542f\u52a8TP=2<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--host 0.0.0.0 \\<br>--port 8080 \\<br>--tensor-parallel-size 2 \\<br>--dtype float16 \\<br>--quantization ascend \\<br>--served-model-name qwen3.6 \\<br>--gpu-memory-utilization 0.90 \\<br>--max-model-len 20480 \\<br>--max-num-seqs 16 \\<br>--no-enable-prefix-caching \\<br>--trust-remote-code \\<br>--enforce-eager \\<br>--reasoning-parser qwen3 \\<br>--additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">2,3\u53ef\u4ee5\u542f\u52a8\u6210\u529f\uff0c\u540c\u6837\u7684\u65b9\u5f0f\u6d4b\u8bd54,5\uff0c\u4e5f\u6210\u529f\uff0c\u8bf4\u660e\u4e09\u5f20\u5361\u90fd\u6ca1\u95ee\u9898\uff0c\u4f46\u5361\u95f4\u901a\u4fe1\u6709\u95ee\u9898\uff0c\u53ef\u80fd\u7531\u4e8e\u591a\u4e2a\u539f\u56e0\uff08\u5b89\u88c5\u4e86\u4e09\u5f20\u5361\u4f46\u4f7f\u7528\u4e24\u5f20\uff09\uff0c\u5c31\u4e0d\u518d\u6df1\u7a76\u4e86\uff0c\u4f7f\u7528\u53e6\u4e00\u4e2a\u66ff\u4ee3\u65b9\u6848\uff0c\u4e09\u5f20\u5361\u5355\u72ec\u90e8\u7f72\u4e09\u5957TP=2\u7684\u6a21\u578b\uff0c\u7aef\u53e3\u5206\u522b\u662f8080\uff0c8081\u548c8082\uff0c\u4f7f\u7528nginx\u5206\u53d1\u8bf7\u6c42\uff0c\u5b9e\u73b0\u8d1f\u8f7d\u5747\u8861\uff0c\u56e0\u4e3a\u5355\u5361\u8dd1\u8be5\u6a21\u578b\u7ef0\u7ef0\u6709\u4f59\uff0c\u90e8\u7f72\u96c6\u7fa4\u53cd\u800c\u589e\u52a0\u4e86\u7cfb\u7edf\u7684\u7a33\u5b9a\u6027<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5173\u95ed\u6240\u6709qwen\u7684\u6d4b\u8bd5\u5bb9\u5668\uff0c\u786e\u4fdd\u4e09\u4e2a\u7aef\u53e3\u90fd\u901a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u521b\u5efa\u516c\u5171\u5bb9\u5668<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d \\\n--name qwen36-cluster \\\n--restart unless-stopped \\\n--net=host \\\n--ipc=host \\\n--privileged \\\n--security-opt seccomp=unconfined \\\n--shm-size=32g \\\n\\\n--device \/dev\/davinci0 \\\n--device \/dev\/davinci1 \\\n--device \/dev\/davinci2 \\\n--device \/dev\/davinci3 \\\n--device \/dev\/davinci4 \\\n--device \/dev\/davinci5 \\\n--device \/dev\/davinci_manager \\\n--device \/dev\/devmm_svm \\\n--device \/dev\/hisi_hdc \\\n\\\n-v \/usr\/local\/dcmi:\/usr\/local\/dcmi \\\n-v \/usr\/local\/bin\/npu-smi:\/usr\/local\/bin\/npu-smi \\\n-v \/usr\/local\/Ascend\/driver\/lib64:\/usr\/local\/Ascend\/driver\/lib64 \\\n-v \/usr\/local\/Ascend\/driver\/version.info:\/usr\/local\/Ascend\/driver\/version.info \\\n-v \/etc\/ascend_install.info:\/etc\/ascend_install.info \\\n-v \/opt\/Qwen3.6-35B-A3B-w8a8:\/models\/Qwen3.6-35B-A3B-w8a8:ro \\\n\\\nquay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p \\\nsleep infinity<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fdb\u5165\u5bb9\u5668<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it qwen36-cluster bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u542f\u52a8\u5b9e\u4f8b\u4e00\uff088080\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ASCEND_RT_VISIBLE_DEVICES=0,1 \\<br>OMP_NUM_THREADS=1 \\<br>OMP_PROC_BIND=false \\<br>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--host 0.0.0.0 \\<br>--port 8080 \\<br>--tensor-parallel-size 2 \\<br>--distributed-executor-backend mp \\<br>--dtype float16 \\<br>--quantization ascend \\<br>--served-model-name qwen3.6 \\<br>--gpu-memory-utilization 0.90 \\<br>--max-model-len 20480 \\<br>--max-num-seqs 16 \\<br>--no-enable-prefix-caching \\<br>--trust-remote-code \\<br>--enforce-eager \\<br>--reasoning-parser qwen3 \\<br>--additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u65b0\u5efa\u4e00\u4e2assh\u7a97\u53e3\uff0c\u8fdb\u5165\u5bb9\u5668\uff0c\u542f\u52a8\u5b9e\u4f8b\u4e8c\uff088081\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ASCEND_RT_VISIBLE_DEVICES=2,3 \\<br>OMP_NUM_THREADS=1 \\<br>OMP_PROC_BIND=false \\<br>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--host 0.0.0.0 \\<br>--port 8081 \\<br>--tensor-parallel-size 2 \\<br>--distributed-executor-backend mp \\<br>--dtype float16 \\<br>--quantization ascend \\<br>--served-model-name qwen3.6 \\<br>--gpu-memory-utilization 0.90 \\<br>--max-model-len 20480 \\<br>--max-num-seqs 16 \\<br>--no-enable-prefix-caching \\<br>--trust-remote-code \\<br>--enforce-eager \\<br>--reasoning-parser qwen3 \\<br>--additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u65b0\u5efa\u4e00\u4e2assh\u7a97\u53e3\uff0c\u8fdb\u5165\u5bb9\u5668\uff0c\u542f\u52a8\u5b9e\u4f8b\u4e09\uff088082\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ASCEND_RT_VISIBLE_DEVICES=4,5 \\<br>OMP_NUM_THREADS=1 \\<br>OMP_PROC_BIND=false \\<br>vllm serve \/models\/Qwen3.6-35B-A3B-w8a8 \\<br>--host 0.0.0.0 \\<br>--port 8082 \\<br>--tensor-parallel-size 2 \\<br>--distributed-executor-backend mp \\<br>--dtype float16 \\<br>--quantization ascend \\<br>--served-model-name qwen3.6 \\<br>--gpu-memory-utilization 0.90 \\<br>--max-model-len 20480 \\<br>--max-num-seqs 16 \\<br>--no-enable-prefix-caching \\<br>--trust-remote-code \\<br>--enforce-eager \\<br>--reasoning-parser qwen3 \\<br>--additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u90fd\u542f\u52a8\u6210\u529f\uff0c\u9a8c\u8bc1\u6ca1\u6709\u95ee\u9898\u540e\uff0c\u73b0\u5728\u5220\u9664\u5bb9\u5668\uff0c\u5f00\u59cb\u6b63\u5f0f\u73af\u5883\u542f\u52a8<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6301\u4e45\u5316\u542f\u52a8\u811a\u672c<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u5bbf\u4e3b\u673a\u4e0a\u521b\u5efa\u76ee\u5f55<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/opt\/qwen36-runtime\/logs<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efa\u542f\u52a8\u811a\u672c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat > \/opt\/qwen36-runtime\/start-all.sh &lt;&lt;'EOF'\n#!\/bin\/bash\n\nset -uo pipefail\n\nMODEL_PATH=\"\/models\/Qwen3.6-35B-A3B-w8a8\"\nLOG_DIR=\"\/runtime\/logs\"\n\nmkdir -p \"${LOG_DIR}\"\n\ncleanup() {\n    trap - EXIT INT TERM\n\n    echo \"Stopping all vLLM instances...\"\n\n    for pid_file in \"${LOG_DIR}\"\/*.pid; do\n        &#91; -f \"${pid_file}\" ] || continue\n        pid=\"$(cat \"${pid_file}\")\"\n\n        if kill -0 \"${pid}\" 2>\/dev\/null; then\n            kill \"${pid}\" 2>\/dev\/null || true\n        fi\n    done\n\n    wait 2>\/dev\/null || true\n}\n\ntrap cleanup EXIT INT TERM\n\nstart_instance() {\n    local devices=\"$1\"\n    local port=\"$2\"\n    local name=\"$3\"\n    local log_file=\"${LOG_DIR}\/${name}.log\"\n    local pid_file=\"${LOG_DIR}\/${name}.pid\"\n\n    echo \"Starting ${name}: devices=${devices}, port=${port}\"\n\n    env \\\n        ASCEND_RT_VISIBLE_DEVICES=\"${devices}\" \\\n        OMP_NUM_THREADS=1 \\\n        OMP_PROC_BIND=false \\\n        vllm serve \"${MODEL_PATH}\" \\\n            --host 0.0.0.0 \\\n            --port \"${port}\" \\\n            --tensor-parallel-size 2 \\\n            --distributed-executor-backend mp \\\n            --dtype float16 \\\n            --quantization ascend \\\n            --served-model-name qwen3.6 \\\n            --gpu-memory-utilization 0.90 \\\n            --max-model-len 20480 \\\n            --max-num-seqs 16 \\\n            --no-enable-prefix-caching \\\n            --trust-remote-code \\\n            --enforce-eager \\\n            --reasoning-parser qwen3 \\\n            --additional-config '{\"ascend_compilation_config\":{\"enable_npugraph_ex\":false}}' \\\n            >\"${log_file}\" 2>&amp;1 &amp;\n\n    echo $! > \"${pid_file}\"\n}\n\nrm -f \"${LOG_DIR}\"\/*.pid\n\nstart_instance \"0,1\" 8080 \"qwen36-01\"\n\necho \"Waiting for instance 1 initialization...\"\nsleep 90\n\nstart_instance \"2,3\" 8081 \"qwen36-02\"\n\necho \"Waiting for instance 2 initialization...\"\nsleep 90\n\nstart_instance \"4,5\" 8082 \"qwen36-03\"\n\necho \"All vLLM processes have been launched.\"\n\n# \u4efb\u4e00\u5b9e\u4f8b\u9000\u51fa\uff0c\u6574\u4e2a\u5bb9\u5668\u9000\u51fa\uff0c\u7531 Docker restart \u7b56\u7565\u91cd\u65b0\u62c9\u8d77\nwait -n\n\necho \"A vLLM instance exited unexpectedly.\"\nexit 1\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">,\u811a\u672c\u91cc\u5c06\u4e09\u4e2a\u5b9e\u4f8b\u542f\u52a8\u65f6\u95f4\u95f4\u969490\u79d2\uff0c\u907f\u514d\u4e09\u4e2a\u8fdb\u7a0b\u540c\u65f6\u542f\u52a8\uff0c\u8d44\u6e90\u5360\u7528\u8fc7\u5927\uff0c\u589e\u52a0\u6267\u884c\u6743\u9650<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x \/opt\/qwen36-runtime\/start-all.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u521b\u5efa\u6b63\u5f0f\u5bb9\u5668<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d \\<br>--name qwen36-cluster \\<br>--restart unless-stopped \\<br>--net=host \\<br>--security-opt seccomp=unconfined \\<br>--shm-size=64g \\<br>--device \/dev\/davinci0 \\<br>--device \/dev\/davinci1 \\<br>--device \/dev\/davinci2 \\<br>--device \/dev\/davinci3 \\<br>--device \/dev\/davinci4 \\<br>--device \/dev\/davinci5 \\<br>--device \/dev\/davinci_manager \\<br>--device \/dev\/devmm_svm \\<br>--device \/dev\/hisi_hdc \\<br>-v \/usr\/local\/dcmi:\/usr\/local\/dcmi \\<br>-v \/usr\/local\/bin\/npu-smi:\/usr\/local\/bin\/npu-smi \\<br>-v \/usr\/local\/Ascend\/driver\/lib64:\/usr\/local\/Ascend\/driver\/lib64 \\<br>-v \/usr\/local\/Ascend\/driver\/version.info:\/usr\/local\/Ascend\/driver\/version.info \\<br>-v \/etc\/ascend_install.info:\/etc\/ascend_install.info \\<br>-v \/opt\/Qwen3.6-35B-A3B-w8a8:\/models\/Qwen3.6-35B-A3B-w8a8:ro \\<br>-v \/opt\/qwen36-runtime:\/runtime \\<br>quay.io\/ascend\/vllm-ascend:v0.22.1rc1-310p \\<br>bash \/runtime\/start-all.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u67e5\u770b\u603b\u542f\u52a8\u72b6\u6001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps --filter name=qwen36-cluster<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e09\u4e2a\u5b9e\u4f8b\u7684\u65e5\u5fd7\u90fd\u5728\/opt\/qwen36-runtime\/logs\/\u8def\u5f84\u4e0b\uff0c\u4e09\u4e2a\u5b9e\u4f8b\u90fd\u542f\u52a8\u5b8c\u6210\u540e\uff0c\u9a8c\u8bc1<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for port in 8080 8081 8082; do<br>echo \"===== ${port} =====\"<br>curl -s --max-time 10 \"http:\/\/127.0.0.1:${port}\/v1\/models\"<br>echo<br>done<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"289\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-16-1024x289.png\" alt=\"\" class=\"wp-image-147\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-16-1024x289.png 1024w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-16-300x85.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-16-768x217.png 768w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-16-1536x434.png 1536w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-16.png 1572w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u6837\u5c31\u8bf4\u660e\u4e09\u4e2a\u5b9e\u4f8b\u90fd\u6210\u529f\u4e86<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u914d\u7f6eNginx\u8d1f\u8f7d\u5747\u8861<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b89\u88c5nginx\u5230\u4efb\u610f\u76ee\u5f55\uff0c\u8fd9\u91cc\u6211\u9009\u62e9\u5b89\u88c5\u5230\/opt\/nginx-1.28.3-qwen\/\u76ee\u5f55\u4e0b\uff0c\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u786e\u8ba4\u4e3b\u914d\u7f6e\u662f\u5426\u5305\u542bconf.d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -n 'conf.d' \/usr\/local\/nginx\/conf\/nginx.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ca1\u6709\u8f93\u51fa\uff0c\u5728http{&#8230;&#8230;}\u4e2d\u52a0\u5165\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>include \/opt\/nginx-1.28.3-qwen\/conf\/conf.d\/*.conf;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7136\u540e\u521b\u5efa\u76ee\u5f55<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/opt\/nginx-1.28.3-qwen\/conf\/conf.d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u521b\u5efaQwen\u4ee3\u7406\u914d\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat > \/opt\/nginx-1.28.3-qwen\/conf\/conf.d\/qwen36.conf &lt;&lt;'EOF'\nupstream qwen36_backend {\n    least_conn;\n\n    server 127.0.0.1:8080 max_fails=2 fail_timeout=30s;\n    server 127.0.0.1:8081 max_fails=2 fail_timeout=30s;\n    server 127.0.0.1:8082 max_fails=2 fail_timeout=30s;\n\n    keepalive 32;\n}\n\nserver {\n    listen 8088;\n    server_name _;\n\n    client_max_body_size 100m;\n\n    location = \/health {\n        access_log off;\n        default_type application\/json;\n        return 200 '{\"status\":\"ok\",\"service\":\"qwen3.6\"}';\n    }\n\n    location \/v1\/ {\n        proxy_pass http:\/\/qwen36_backend;\n\n        proxy_http_version 1.1;\n        proxy_set_header Connection \"\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\n        # \u6d41\u5f0f\u8f93\u51fa\u5fc5\u987b\u5173\u95ed\u7f13\u51b2\n        proxy_buffering off;\n        proxy_cache off;\n        proxy_request_buffering off;\n\n        proxy_connect_timeout 30s;\n        proxy_send_timeout 3600s;\n        proxy_read_timeout 3600s;\n\n        add_header X-Accel-Buffering no always;\n    }\n}\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5916\u90e8\u7edf\u4e00\u8bbf\u95ee\u5730\u5740\u4e3a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;\u670d\u52a1\u5668IP:\/\/8088\/v1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">nginx\u4f1a\u4f7f\u7528least_conn\uff0c\u4f18\u5148\u628a\u65b0\u8bf7\u6c42\u4ea4\u7ed9\u5f53\u524d\u8fde\u63a5\u6570\u8f83\u5c11\u7684\u5b9e\u4f8b\uff0c\u66f4\u9002\u5408\u957f\u6587\u751f\u6210<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u68c0\u67e5\u914d\u7f6e<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"73\" src=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-17.png\" alt=\"\" class=\"wp-image-148\" srcset=\"https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-17.png 920w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-17-300x24.png 300w, https:\/\/www.mingchen.icu\/wp-content\/uploads\/2026\/08\/image-17-768x61.png 768w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u6ca1\u95ee\u9898\u540e\uff0c\u542f\u52a8nginx<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/opt\/nginx-1.28.3-qwen\/sbin\/nginx<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6d4b\u8bd5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -s http:\/\/:127.0.0.1:8088\/v1\/models<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u666e\u901a\u751f\u6210\u6d4b\u8bd5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -s http:\/\/127.0.0.1:8088\/v1\/chat\/completions \\<br>-H \"Content-Type: application\/json\" \\<br>-d '{<br>\"model\": \"qwen3.6\",<br>\"messages\": &#91;<br>{<br>\"role\": \"user\",<br>\"content\": \"\u8bf7\u64b0\u5199\u4e00\u6bb5\u7ea6\u4e09\u767e\u5b57\u7684\u6b63\u5f0f\u5de5\u4f5c\u60c5\u51b5\u8bf4\u660e\u3002\"<br>}<br>],<br>\"temperature\": 0.1,<br>\"top_p\": 0.9,<br>\"max_tokens\": 1024,<br>\"chat_template_kwargs\": {<br>\"enable_thinking\": false<br>}<br>}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6d41\u5f0f\u751f\u6210\u6d4b\u8bd5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -N http:\/\/127.0.0.1:8088\/v1\/chat\/completions \\<br>-H \"Content-Type: application\/json\" \\<br>-d '{<br>\"model\": \"qwen3.6\",<br>\"messages\": &#91;<br>{<br>\"role\": \"user\",<br>\"content\": \"\u8bf7\u64b0\u5199\u4e00\u6bb5\u7b80\u77ed\u7684\u5de5\u4f5c\u603b\u7ed3\u3002\"<br>}<br>],<br>\"stream\": true,<br>\"temperature\": 0.1,<br>\"max_tokens\": 512,<br>\"chat_template_kwargs\": {<br>\"enable_thinking\": false<br>}<br>}'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u90fd\u80fd\u591f\u6b63\u5e38\u8f93\u51fa\uff0c\u8bf4\u660e\u8d1f\u8f7d\u5747\u8861\u4ee3\u7406\u5df2\u7ecf\u5b8c\u6210\uff0c\u8981\u6ce8\u610f\uff0c\u76ee\u524d\u8fd8\u6ca1\u6709\u52a0API-KEY\u9a8c\u8bc1\uff0c\u540e\u7eed\u53ef\u4ee5\u52a0\u4e0a\uff0c\u9632\u6b62\u4efb\u4f55\u4eba\u90fd\u80fd\u8bbf\u95ee<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u81f3\u6b64\uff0c\u6211\u4eec\u5c31\u5b8c\u6210\u4e86\u6574\u4e2a\u6a21\u578b\u7684\u90e8\u7f72\uff0c\u540e\u7eed\u518d\u4f18\u5316\u5f00\u673a\u81ea\u542f\uff0c\u5065\u5eb7\u5ea6\u68c0\u67e5\u7684\u529f\u80fd\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u53c2\u8003\u5b9e\u65bd\u6587\u6863\uff1a<a href=\"https:\/\/docs.vllm.ai\/projects\/ascend\/en\/latest\/tutorials\/models\/Qwen3.6-35B-A3B.html#31-model-weight\">https:\/\/docs.vllm.ai\/projects\/ascend\/en\/latest\/tutorials\/models\/Qwen3.6-35B-A3B.html#31-model-weight<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u5c06\u5c1d\u8bd5\u5728\u5185\u7f51\u4fe1\u521b\u670d\u52a1\u5668\u73af\u5883&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-94","post","type-post","status-publish","format-standard","hentry","category-note"],"_links":{"self":[{"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=\/wp\/v2\/posts\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=94"}],"version-history":[{"count":26,"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":150,"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=\/wp\/v2\/posts\/94\/revisions\/150"}],"wp:attachment":[{"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mingchen.icu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}