
干過這行的都知道vLLM 這東西官方文檔默認(rèn)只講 LinuxWindows 上想跑起來第一反應(yīng)基本是“別想了”。但實(shí)際項(xiàng)目里有時(shí)候你手上就一臺(tái) Windows 工作站顯卡是 RTX 4090臨時(shí)要起個(gè) OpenAI 兼容的服務(wù)來測(cè) Qwen3-8B-FP8總不能為這個(gè)專門裝個(gè) Linux 雙系統(tǒng)吧。我折騰過幾次之后總結(jié)出一套還比較順的流程不用 Docker Desktop不碰原生 Windows Python直接通過 WSL2 來跑 vLLM從零到把 Qwen3-8B-FP8 的接口調(diào)通整個(gè)鏈路是完整且可復(fù)現(xiàn)的。這篇文章就把這套流程掰開揉碎講清楚包括每一步背后的原因、容易踩的坑、以及我實(shí)際跑模型時(shí)遇到的各種怪異問題。適合手里有 N 卡、想在 Windows 下快速驗(yàn)證模型效果的人也適合剛接觸 vLLM 想少走彎路的同學(xué)。1. 為什么 Windows 跑 vLLM 要先繞道 WSL21.1 vLLM 的底層依賴決定了它不適合直接在 Windows 上跑先從根源說。vLLM 不是一個(gè)普通的 Python 庫(kù)它為了提高推理吞吐做了很多底層優(yōu)化比如 PagedAttention 管理 KV Cache、連續(xù)批處理、以及多卡場(chǎng)景下的 NCCL 通信。這些能力大量依賴 Linux 內(nèi)核的特性比如大頁(yè)內(nèi)存、設(shè)備文件映射、CUDA 驅(qū)動(dòng)的用戶態(tài)接口、NCCL 的 socket 和 shared memory 機(jī)制。Windows 雖然也能跑 CUDA 程序但在這些細(xì)顆粒度的系統(tǒng)接口上和 Linux 內(nèi)核不是一回事。vLLM 官方在 Windows 上既沒有提供正式的 wheel 包也沒有保證可用的運(yùn)行時(shí)強(qiáng)行在 Windows 的 Python 環(huán)境里pip install vllm經(jīng)常會(huì)在編譯或者運(yùn)行時(shí)掛掉尤其是那些依賴 NCCL 的環(huán)節(jié)。打個(gè)比方vLLM 就像一臺(tái)為 Linux 精心調(diào)校過的跑車Windows 是條水泥路不是說完全不能開但輪子、懸掛、變速箱全都是按賽道設(shè)計(jì)的硬上容易爆缸。所以想省心就要先給它鋪一條 Linux 兼容層也就是 WSL2。1.2 三條可行路徑對(duì)比原生、Docker、WSL2我試過三種方式先說結(jié)論日常調(diào)試最推薦 WSL2沒有之一。方案優(yōu)點(diǎn)缺點(diǎn)適合場(chǎng)景原生 Windows 安裝 vLLM操作直觀不用裝子系統(tǒng)依賴 Python、CUDA 環(huán)境容易沖突vLLM 官方不提供 Windows 支持編譯過程非常痛苦不推薦Docker DesktopWindows 容器隔離干凈能復(fù)用現(xiàn)有鏡像團(tuán)隊(duì)協(xié)作方便與 WSL2 相比多了一層虛擬化磁盤占用大GPU 直通需要額外配置文件掛載路徑容易混亂已有 Docker 基礎(chǔ)設(shè)施、需要統(tǒng)一部署環(huán)境WSL2 Ubuntu輕量啟動(dòng)快與 Windows 共享 GPU 驅(qū)動(dòng)vLLM 兼容性好首次安裝有幾步配置網(wǎng)絡(luò)是 NAT 模式少數(shù)端口需要手動(dòng)處理本地開發(fā)、推理測(cè)試、腳本調(diào)試我最常用另外Docker Desktop 在 Windows 上本身也有 WSL2 后端等于套了兩層性能上會(huì)有額外開銷。而直接使用 WSL2相當(dāng)于在 Windows 里跑了一個(gè)精簡(jiǎn)的 Linux 虛擬機(jī)vLLM 的 CUDA 調(diào)用能直接穿透到宿主的顯卡驅(qū)動(dòng)上損耗很小。1.3 為什么推薦 WSL2 而不是 VM 虛擬機(jī)如果你用過 VirtualBox 或 VMware 裝 Ubuntu 跑 GPU 任務(wù)會(huì)發(fā)現(xiàn)一個(gè)痛點(diǎn)顯卡直通要么需要額外配置要么性能損失明顯。WSL2 用的是 Windows 自己這套 Hyper-V 虛擬化底層對(duì) GPU 的支持經(jīng)過了專門優(yōu)化NVIDIA 驅(qū)動(dòng)在 Windows 里裝好后WSL2 內(nèi)部直接就能用nvidia-smi不需要再裝一遍 Linux 驅(qū)動(dòng)。這一點(diǎn)是省時(shí)省力的關(guān)鍵。而且 WSL2 不只解決了 GPU 的問題文件系統(tǒng)集成也很自然。你可以在 Windows 的D:\models目錄下放模型文件然后在 WSL2 里通過/mnt/d/models直接訪問雖然跨文件系統(tǒng)讀寫性能一般但模型權(quán)重這種只讀文件完全能接受。比開機(jī)切系統(tǒng)或者來回拷貝方便太多。這也是我最終選擇 WSL2 的原因。2. 基礎(chǔ)環(huán)境準(zhǔn)備Windows WSL2 顯卡驅(qū)動(dòng)2.1 Windows 側(cè)開啟 WSL 功能開始之前先確認(rèn) Windows 版本。最好用 Windows 10 21H2 以上或者 Windows 11老版本雖然也能裝但坑更多。打開 PowerShell管理員權(quán)限執(zhí)行wsl --install這個(gè)命令會(huì)安裝 WSL2 所需的全部組件然后重啟一次系統(tǒng)。如果你之前已經(jīng)裝過舊版 WSL建議先升級(jí)到最新版本wsl --update重啟之后在 PowerShell 里查看版本wsl --status wsl --list --verbose正常情況下會(huì)顯示默認(rèn)版本是 2。如果還是 1手動(dòng)改成 2wsl --set-default-version 2這一步很關(guān)鍵因?yàn)?vLLM 對(duì) WSL1 的兼容性極差很多 Linux 系統(tǒng)調(diào)用在 WSL1 上是模擬出來的跑起來容易出莫名其妙的問題。2.2 安裝 Ubuntu 發(fā)行版繼續(xù)在 PowerShell 里執(zhí)行wsl --install -d Ubuntu-22.04裝完會(huì)自動(dòng)彈出 Ubuntu 窗口第一次啟動(dòng)會(huì)讓你設(shè)置用戶名和密碼。這個(gè)密碼不需要和 Windows 登錄密碼一致記好就行。裝完以后后續(xù)用 Windows Terminal 進(jìn)入非常方便。我習(xí)慣用 Ubuntu 22.04原因是它的 glibc 和系統(tǒng)庫(kù)版本比較新兼容 vLLM 預(yù)編譯 wheel 的要求。Ubuntu 20.04 也見過能跑的但遇到編譯安裝時(shí)容易因?yàn)?GCC 版本過老而失敗沒必要給自己添堵。進(jìn)入 Ubuntu 以后先做基礎(chǔ)更新sudo apt update sudo apt upgrade -y2.3 顯卡驅(qū)動(dòng)和 WSL2 的 GPU 透?jìng)鬟@一步很多人會(huì)卡住其實(shí)比你想象的簡(jiǎn)單。WSL2 不需要在 Linux 內(nèi)部安裝 NVIDIA 驅(qū)動(dòng)只需要確保 Windows 側(cè)已經(jīng)裝好了 NVIDIA 顯卡驅(qū)動(dòng)而且版本不能太老。在 Ubuntu 終端里直接執(zhí)行nvidia-smi如果能看到顯卡信息說明 GPU 透?jìng)髡!H绻崾菊也坏矫钕葯z查 Windows 下nvidia-smi是否正常再確認(rèn) WSL 已經(jīng)更新到最新版。NVIDIA 官方驅(qū)動(dòng)安裝包一般自帶 WSL 支持我遇到的一次問題是驅(qū)動(dòng)版本太舊升級(jí)到最新驅(qū)動(dòng)后就解決了。驗(yàn)證 CUDA 版本時(shí)要注意這里的 CUDA 版本顯示的是驅(qū)動(dòng)支持的版本不一定要和你后面安裝的 PyTorch 完全一致。vLLM 的預(yù)編譯 wheel 通常自帶 CUDA runtime所以不需要在 WSL 里再裝一套完整 CUDA Toolkit。這個(gè)知識(shí)點(diǎn)很多人搞混以為必須先裝 CUDA其實(shí)沒必要。2.4 安裝 Miniconda 并創(chuàng)建干凈環(huán)境為了不污染系統(tǒng) Python建議用 Miniconda 管理環(huán)境。在 Ubuntu 終端里執(zhí)行wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安裝過程一路默認(rèn)最后記得勾選初始化 conda。如果當(dāng)時(shí)忘了安裝完執(zhí)行source ~/.bashrc然后創(chuàng)建獨(dú)立的 Python 環(huán)境conda create -n vllm python3.10 -y conda activate vllmPython 版本建議 3.10 或 3.11。vLLM 對(duì) 3.12 的支持這幾年已經(jīng)跟上來了但 3.10 是最穩(wěn)的選擇尤其是跑 Qwen3 這種模型時(shí)很少因?yàn)?Python 版本踩坑。如果你想讓 WSL2 分到更多內(nèi)存可以在 Windows 用戶目錄下創(chuàng)建一個(gè).wslconfig文件內(nèi)容類似[wsl2] memory32GB processors16 swap8GB改完執(zhí)行wsl --shutdown再重新進(jìn)入否則不會(huì)生效。這個(gè)文件對(duì)資源管理非常有用特別是你要同時(shí)開 Windows 側(cè)的瀏覽器、編輯器再跑一個(gè)大模型推理不限制內(nèi)存的話 WSL2 可能把整個(gè)電腦吃滿。3. 安裝 vLLM 的版本選擇和依賴關(guān)系3.1 vLLM 安裝前必須理解的兩件事第一vLLM 的安裝包是依賴 PyTorch 的而且它要求 PyTorch 的 CUDA 版本要匹配。不過現(xiàn)在 pip 安裝vllm的時(shí)候會(huì)自動(dòng)拉取合適的 PyTorch一般不需要手動(dòng)裝。如果你之前手動(dòng)裝過 CPU 版本的 PyTorch一定要先卸掉不然 vLLM 會(huì)在運(yùn)行時(shí)直接報(bào) CUDA error。第二vLLM 的預(yù)編譯 wheel 包只支持特定架構(gòu)和特定 CUDA 版本。WSL2 的環(huán)境是 x86_64 Linux市面上主流的 vLLM 版本都能找到匹配的 wheel不需要從源碼編譯。網(wǎng)上有些教程讓你先克隆倉(cāng)庫(kù)再構(gòu)建那是開發(fā)環(huán)境的玩法正常使用pip install就夠了構(gòu)建一次能吃掉你兩三個(gè)小時(shí)。3.2 執(zhí)行安裝并驗(yàn)證在 conda 環(huán)境激活后pip install vllm如果你希望指定 CUDA 版本或者想要最新的 nightly 版本可以查一下官方索引。一般情況下直接裝最新穩(wěn)定版就好Qwen3-8B-FP8 這種比較新的模型需要相對(duì)較新的 vLLM 版本才能正確識(shí)別 FP8 量化。我裝的時(shí)候 vLLM 已經(jīng)發(fā)布到 0.6.x 之后了很順利。安裝完成后先跑一個(gè)最低限度的驗(yàn)證python -c import vllm; print(vllm.__version__)再跑一行檢查 GPU 是否被 vLLM 正確識(shí)別python -c from vllm.utils import get_device; print(get_device())不過最直接的驗(yàn)證還是啟動(dòng)一個(gè)小模型試跑。下面會(huì)講 Qwen3-8B-FP8 的完整部署你可以直接用它當(dāng)“試金石”。3.3 關(guān)于 FP8 模型和顯卡架構(gòu)的兼容問題Qwen3-8B-FP8 是 8B 參數(shù)的 FP8 量化版本權(quán)重文件大小比 BF16 版本小很多推理時(shí)顯存占用也更低。但有一個(gè)容易忽視的點(diǎn)FP8 計(jì)算需要顯卡支持相應(yīng)的指令集目前消費(fèi)級(jí)顯卡里比較合適的是 Ada Lovelace 架構(gòu)RTX 40 系列以及更新的 Blackwell 架構(gòu)RTX 50 系列。如果你是 RTX 30 系列雖然顯存可能夠但 FP8 的核心算子不一定能用硬件加速vLLM 可能會(huì)報(bào)不支持或者性能很差。我實(shí)際測(cè)試時(shí)用了 RTX 409024GB 顯存跑 Qwen3-8B-FP8 非常舒服。如果你的卡是 RTX 3080 或者更低建議不要硬上這個(gè)模型版本直接換 Qwen3-8B 的 BF16 版本或者降低并發(fā)和上下文長(zhǎng)度再試試。4. 下載 Qwen3-8B-FP8 并啟動(dòng) vLLM 服務(wù)4.1 下載模型文件Qwen3-8B-FP8 的模型文件我直接用 ModelScope 下載。原因很簡(jiǎn)單不用額外配置就能拉下來斷點(diǎn)續(xù)傳也比較穩(wěn)。先安裝相關(guān)依賴pip install modelscope然后在 Python 里執(zhí)行from modelscope import snapshot_download model_dir snapshot_download(Qwen/Qwen3-8B-FP8, local_dir/data/models/Qwen3-8B-FP8) print(model_dir)如果你希望放在 Windows 盤上共享可以指定 local_dir 為/mnt/d/models/Qwen3-8B-FP8。不過我不建議這么做因?yàn)榭缥募到y(tǒng)讀文件速度會(huì)有損失最好還是放在 WSL2 自己的文件系統(tǒng)里例如~/models/Qwen3-8B-FP8。下載完成后檢查一下目錄內(nèi)容里面應(yīng)該包含config.json、多個(gè)*.safetensors文件、tokenizer.json等。注意看權(quán)重文件的后綴FP8 版本一般是*fp8*.safetensors或者統(tǒng)一在model.safetensors.index.json里記錄分片。如果你更喜歡用 Hugging Face 的倉(cāng)庫(kù)也可以直接pip install huggingface_hub huggingface-cli download Qwen/Qwen3-8B-FP8 --local-dir ~/models/Qwen3-8B-FP8只要能穩(wěn)定下載渠道無所謂的。4.2 vLLM 啟動(dòng)推理服務(wù)模型放在~/models/Qwen3-8B-FP8之后啟動(dòng)命令非常簡(jiǎn)單vllm serve ~/models/Qwen3-8B-FP8 \ --served-model-name qwen3-8b \ --gpu-memory-utilization 0.85 \ --max-model-len 32768 \ --port 8000解釋一下這幾個(gè)參數(shù)--served-model-name對(duì)外暴露的模型名稱這個(gè)名稱要和后續(xù)調(diào)用接口時(shí)填的model字段一致。我這里寫的是qwen3-8b你也可以改成Qwen3-8B-FP8。--gpu-memory-utilization允許 vLLM 使用的 GPU 顯存比例。0.85 表示最多用 85%剩下 15% 留給顯卡驅(qū)動(dòng)和其他應(yīng)用避免顯存爆掉。如果你只有 16GB 顯存可以試著改成 0.75。--max-model-len最大上下文長(zhǎng)度。我設(shè)為 32768也就是 32K tokens。Qwen3 本身支持更長(zhǎng)的上下文但越長(zhǎng)占用的 KV Cache 顯存越多。如果你的顯存不夠要先把這里調(diào)低。--port服務(wù)端口。默認(rèn)是 8000也可以改成其他端口。啟動(dòng)后日志里會(huì)顯示模型加載進(jìn)度、顯存占用等信息。重點(diǎn)關(guān)注下面幾行INFO: Shard 0: gpu_memory_usage 18.2 GiB INFO: Graph capturing finished in 3 sec. INFO: Maximum concurrency for 32768 tokens per request: 8看到Graph capturing finished意味著模型已經(jīng)編譯好計(jì)算圖服務(wù)準(zhǔn)備就緒。隨后日志尾端會(huì)出現(xiàn)類似這樣的信息Uvicorn running on http://0.0.0.0:8000這就說明服務(wù)已經(jīng)起來了。4.3 為什么啟動(dòng)時(shí)沒有強(qiáng)制指定量化參數(shù)很多第一次玩 FP8 模型的人會(huì)問啟動(dòng)時(shí)要不要加--quantization fp8。大多數(shù)情況下不需要vLLM 會(huì)從模型的config.json里自動(dòng)讀取量化配置。如果你強(qiáng)制指定反而可能因?yàn)榘姹炯嫒輪栴}報(bào)錯(cuò)。只有一種情況需要顯式加參數(shù)你下載的模型沒有標(biāo)準(zhǔn)的quantization_config字段或者 vLLM 版本較舊識(shí)別不了此時(shí)再手動(dòng)加vllm serve ~/models/Qwen3-8B-FP8 --quantization fp8如果這樣還報(bào)錯(cuò)先升級(jí) vLLM別浪費(fèi)時(shí)間排查。5. 調(diào)用 OpenAI 兼容接口5.1 用 curl 快速驗(yàn)證vLLM 啟動(dòng)后默認(rèn)提供 OpenAI 風(fēng)格的/v1/chat/completions接口。在 WSL2 里可以直接用 curl 測(cè)試curl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen3-8b, messages: [ {role: user, content: 你好請(qǐng)用一句話介紹你自己} ], max_tokens: 512 }如果一切正常返回的 JSON 里會(huì)包含choices數(shù)組里面有模型生成的文本。注意這里的model字段必須和啟動(dòng)時(shí)的--served-model-name保持一致否則會(huì)報(bào)model not found。5.2 用 Python 封裝調(diào)用實(shí)際項(xiàng)目中不會(huì)用 curl而是通過 requests 或 OpenAI SDK 來調(diào)用。看一個(gè)最小示例import requests url http://localhost:8000/v1/chat/completions payload { model: qwen3-8b, messages: [ {role: system, content: 你是一個(gè)有用的助手。}, {role: user, content: 解釋一下什么是 KV Cache} ], temperature: 0.7, max_tokens: 1024 } resp requests.post(url, jsonpayload) data resp.json() print(data[choices][0][message][content])如果使用 OpenAI SDK只需要設(shè)置base_url指向 vLLM 服務(wù)from openai import OpenAI client OpenAI( api_keyEMPTY, base_urlhttp://localhost:8000/v1 ) resp client.chat.completions.create( modelqwen3-8b, messages[{role: user, content: 你好}], max_tokens512 ) print(resp.choices[0].message.content)5.3 Windows 側(cè)訪問 WSL2 里的服務(wù)比較舒服的一點(diǎn)是WSL2 里的服務(wù)默認(rèn)通過localhost就能在 Windows 側(cè)訪問。也就是說你可以在 Windows 瀏覽器里直接打開http://localhost:8000/docs查看接口文檔或者在 Python 腳本里直接調(diào)用不需要額外端口轉(zhuǎn)發(fā)。不過偶爾會(huì)出現(xiàn)localhost不通的情況尤其在 WSL 版本較老或者配置被改動(dòng)過的時(shí)候。排查方法很簡(jiǎn)單在 WSL2 里執(zhí)行ip addr找到 eth0 的 IPv4 地址然后在 Windows 瀏覽器里訪問http://WSL_IP:8000。如果這樣才能訪問說明 localhost 轉(zhuǎn)發(fā)沒有自動(dòng)生效可能需要重啟 WSL 或重置端口轉(zhuǎn)發(fā)規(guī)則。6. 常見問題與性能調(diào)優(yōu)實(shí)錄6.1 WSL2 內(nèi)存不足導(dǎo)致 OOM這是所有 vLLM 跑大模型最容易遇到的問題。WSL2 默認(rèn)內(nèi)存占用上限通常是物理內(nèi)存的 50% 或者 8GB而 Qwen3-8B-FP8 加載后光權(quán)重就要 9GB 左右再加上 KV Cache 和計(jì)算圖整體內(nèi)存很容易超過 16GB。如果服務(wù)啟動(dòng)后立刻被 kill或者日志里出現(xiàn)Killed字樣十有八九是 OOM。解決辦法是前面提到的.wslconfig文件把 memory 調(diào)到你模型實(shí)際需要的數(shù)值。我一般設(shè)成 32GB這樣 WSL2 里有足夠的頁(yè)緩存給模型權(quán)重和 CUDA context 使用。6.2 GPU 顯存不足或 KV Cache 分配失敗顯存不足的表現(xiàn)有兩種一種是啟動(dòng)時(shí)報(bào) OutOfMemory另一種是啟動(dòng)成功但一旦請(qǐng)求變長(zhǎng)就崩潰。先說第一種啟動(dòng)時(shí)分配 GPU 顯存失敗主要原因是--gpu-memory-utilization設(shè)置得太高或者同時(shí)有其他程序占用了顯存。你可以在 Windows 的任務(wù)管理器里看 GPU 顯存占用也可以在 WSL2 里執(zhí)行nvidia-smi查看。把參數(shù)從 0.9 降到 0.8一般就好了。第二種情況請(qǐng)求變長(zhǎng)后崩潰多半是--max-model-len設(shè)得太高導(dǎo)致 KV Cache 預(yù)分配不夠。解決辦法是降低--max-model-len。比如從 32768 降到 16384再配合--gpu-memory-utilization 0.85基本能緩解。KV Cache 本質(zhì)上是用顯存換并發(fā)上下文越長(zhǎng)同一個(gè)批次能處理的請(qǐng)求越少。6.3 模型下載慢或中斷如果你發(fā)現(xiàn) ModelScope 下載速度很慢或者下載到一半斷了先檢查磁盤空間。Qwen3-8B-FP8 的權(quán)重文件加起來接近 10GBWSL2 默認(rèn)磁盤大小會(huì)隨使用自動(dòng)增長(zhǎng)但如果宿主 C 盤空間不夠下載會(huì)失敗。建議用snapshot_download的local_dir參數(shù)指定放在空間足夠的分區(qū)。另外 ModelScope 是支持?jǐn)帱c(diǎn)續(xù)傳的重新執(zhí)行一遍下載命令它會(huì)自動(dòng)檢查已下載的文件。不要因?yàn)槭【蛣h掉重來先去目標(biāo)目錄看看有些文件已經(jīng)完整落盤了。6.4 啟動(dòng)時(shí)出現(xiàn) NCCL 相關(guān)報(bào)錯(cuò)vLLM 在 WSL2 里單卡運(yùn)行一般不會(huì)觸發(fā)復(fù)雜的 NCCL 問題。但如果看到類似[1/0] NCCL error: unhandled system error大概率是 WSL2 的共享內(nèi)存或網(wǎng)絡(luò)配置出了問題。一個(gè)有效的處理方式是檢查本機(jī)是否同時(shí)運(yùn)行了 Docker Desktop兩個(gè)虛擬化組件搶占資源時(shí)NCCL 的初始化容易失敗。先退出 Docker Desktop重啟 WSLwsl --shutdown再重新進(jìn)入啟動(dòng) vLLM。6.5 我實(shí)測(cè)下來的性能數(shù)據(jù)最后分享一個(gè)參考數(shù)據(jù)。我在 RTX 4090、24GB 顯存、AMD Ryzen 9 5900X、WSL2 環(huán)境下用默認(rèn)參數(shù)啟動(dòng) Qwen3-8B-FP8單請(qǐng)求輸出 2000 tokens 時(shí)吞吐大約在每秒 120-150 tokens 左右。并發(fā) 8 個(gè)請(qǐng)求時(shí)整體吞吐能到 500 tokens/s 以上但單請(qǐng)求延遲會(huì)上升。如果你用的是 16GB 顯存的卡建議把--max-model-len限制在 16384 以內(nèi)否則長(zhǎng)文本生成時(shí)很容易頂?shù)斤@存上限。對(duì)于只是做接口測(cè)試或原型驗(yàn)證這個(gè)性能已經(jīng)非常夠用了。真正上生產(chǎn)、追求高并發(fā)吞吐的話還是建議放到 Linux 服務(wù)器上配置多卡并行和持續(xù)批處理優(yōu)化那樣 vLLM 的潛力能發(fā)揮得更完整。回到最開始的問題Windows 上跑 vLLM 真的可行嗎我用 WSL2 跑了非常多輪之后可以負(fù)責(zé)任地說完全可行。剛開始遇到的那些亂七八糟的坑基本上都是環(huán)境沒理順或者顯存分配策略不合適。把 WSL2 的基礎(chǔ)配置、驅(qū)動(dòng)版本、顯存參數(shù)這三件事處理好Qwen3-8B-FP8 從零到跑通一個(gè)下午的時(shí)間足夠了。