Phi-3-Mini-128K十分钟入门:WSL2中配置GPU加速推理环境
Phi-3-Mini-128K十分钟入门WSL2中配置GPU加速推理环境想在Windows电脑上体验最新的Phi-3-Mini-128K大模型又不想折腾复杂的虚拟机或双系统那你来对地方了。今天咱们就聊聊怎么用WSL2这个“神器”在Windows里轻松搭一个Linux环境然后把GPU资源用起来让Phi-3-Mini跑得飞快。WSL2也就是Windows Subsystem for Linux的第二版它最大的好处就是能让你在Windows里无缝运行一个完整的Linux系统而且性能损耗极小。更重要的是从某个版本开始它可以直接调用你Windows主机上的NVIDIA GPU了这对于咱们玩AI模型来说简直是福音。不用再为驱动兼容性头疼也不用在Windows和Linux之间反复重启切换。这篇文章就是为你准备的快速上手指南。咱们的目标很明确用最短的时间最清晰的步骤让你在WSL2里把Phi-3-Mini-128K的GPU推理环境给配好。整个过程顺利的话十分钟左右就能看到成果。准备好了吗咱们开始。1. 准备工作检查你的Windows环境在动手之前得先确认你的电脑“底子”够不够。这就像盖房子前得看看地基牢不牢。首先你的Windows版本必须得是Windows 10版本 2004 及更高内部版本 19041 及更高或者 Windows 11。这个是最低门槛。怎么查呢很简单按Win R键输入winver回车。弹出的窗口里就能看到具体的版本号和内部版本号。其次也是最关键的一点你得有一块NVIDIA的独立显卡。因为咱们要用的CUDA和相关的AI计算库目前对NVIDIA的GPU支持是最好的。你可以通过任务管理器里的“性能”标签页或者用NVIDIA控制面板来确认显卡型号。最后为了后续安装方便建议你先在Windows上安装好最新的NVIDIA显卡驱动。直接去NVIDIA官网根据你的显卡型号下载对应的Game Ready或者Studio驱动就行。装好驱动后最好重启一下电脑。2. 启用WSL2并安装Linux分发版基础打好了现在来安装WSL2的核心组件。2.1 启用WSL功能Windows系统默认是不开启WSL的我们需要手动把它打开。有两种方法选一种你觉得顺手的就行。方法一图形界面推荐新手在开始菜单搜索“启用或关闭Windows功能”打开它。在弹出的窗口里找到“适用于Linux的Windows子系统”和“虚拟机平台”这两项把它们前面的勾都打上。点击“确定”系统会开始安装必要的组件完成后会提示你重启电脑。一定要重启。方法二命令行更快以管理员身份打开PowerShell在开始菜单里右键点击PowerShell选择“以管理员身份运行”然后依次输入下面两条命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart执行完后同样需要重启电脑。2.2 设置WSL2为默认版本并安装Ubuntu重启后再次以管理员身份打开PowerShell输入下面的命令将WSL2设置为默认版本wsl --set-default-version 2接下来我们去微软商店安装一个Linux系统。这里我推荐使用Ubuntu 22.04 LTS。LTS代表长期支持版比较稳定社区资源也丰富对新手友好。打开微软商店Microsoft Store。在搜索框里输入“Ubuntu 22.04 LTS”。找到它点击“获取”进行安装。安装过程会自动下载速度取决于你的网络。安装完成后你可以在开始菜单里找到它点击启动。第一次启动会需要几分钟来初始化然后会提示你设置一个用户名和密码。这个用户名和密码是WSL里Linux系统的和你的Windows账户无关但请务必记住它以后安装软件、提权操作sudo时都会用到。3. 在WSL2中配置GPU支持Linux系统装好了但现在的WSL2还“看”不到你的显卡。我们需要打通这层壁垒。3.1 安装WSL2内核更新包为了让WSL2能稳定地使用GPU微软提供了一个专门的内核更新包。你需要去微软的官方下载页面搜索“WSL2 Linux kernel update package for x64 machines”并下载安装。安装过程就是一路下一步很简单。3.2 在WSL2中安装NVIDIA CUDA Toolkit这是核心步骤。我们不需要在Windows和Linux里装两遍驱动只需要在WSL2的Ubuntu里安装CUDA Toolkit就行。NVIDIA为WSL2提供了专门的CUDA版本。打开你的Ubuntu终端就是刚才安装的那个依次执行下面的命令更新软件包列表sudo apt update安装CUDA ToolkitWSL2专用sudo apt install -y cuda-toolkit-12-4这里安装的是CUDA 12.4版本这是一个比较新且稳定的版本对大多数AI框架支持良好。安装过程可能需要一些时间并且会占用几个G的磁盘空间。验证安装 安装完成后输入下面的命令来检查CUDA是否安装成功以及WSL2是否能识别到GPUnvidia-smi如果一切顺利你会看到一个表格显示了你的GPU型号、驱动版本、CUDA版本以及GPU当前的运行状态比如温度、风扇转速、显存使用情况。看到这个就恭喜你GPU通道已经打通了4. 配置Python环境与安装必要库有了CUDA我们还需要一个Python环境来运行模型代码。为了避免和系统自带的Python冲突也为了方便管理不同项目的依赖强烈建议使用conda或venv创建虚拟环境。这里我用conda举例因为它管理包更方便。4.1 安装Miniconda如果尚未安装如果你的WSL2里还没有conda先安装它。在Ubuntu终端里执行wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安装脚本运行后一直按回车阅读许可协议输入yes同意然后它会问你把conda安装到哪里直接回车用默认路径就行。最后会问你是否要初始化conda输入yes。安装完成后关闭当前终端重新打开一个新的这样conda才能生效。4.2 创建并激活虚拟环境新终端打开后你会看到命令行前面多了个(base)这表示你已经在conda的base环境里了。但我们不要用base环境自己新建一个# 创建一个名为 phi3 的Python 3.10环境 conda create -n phi3 python3.10 -y # 激活这个环境 conda activate phi3激活后命令行提示符前的(base)会变成(phi3)。4.3 安装PyTorch和Transformers库现在在这个干净的环境里安装我们运行Phi-3模型需要的核心库PyTorch带CUDA支持和Hugging Face的Transformers库。访问 PyTorch官网在安装命令生成器里选择PyTorch Build: StableYour OS: LinuxPackage: CondaLanguage: PythonCompute Platform: CUDA 12.4它会生成一条命令类似下面这样版本号可能略有不同conda install pytorch torchvision torchaudio pytorch-cuda12.4 -c pytorch -c nvidia把这条命令复制到你的(phi3)环境终端里执行。这会安装支持CUDA 12.4的PyTorch。接着安装Transformers库和加速库用于优化加载和推理速度pip install transformers accelerate5. 运行Phi-3-Mini-128K进行测试环境全部就绪是时候请出主角了。Phi-3-Mini-128K是一个参数规模较小但能力很强的模型特别适合在消费级GPU上运行。5.1 编写一个简单的推理脚本在你的WSL2家目录~或者任意你喜欢的位置创建一个Python文件比如叫test_phi3.pynano test_phi3.py然后把下面的代码粘贴进去。这段代码会从Hugging Face Hub下载模型第一次运行需要下载模型大约8GB并使用GPU进行文本生成。from transformers import AutoModelForCausalLM, AutoTokenizer import torch # 指定模型名称 model_id microsoft/Phi-3-mini-128k-instruct # 加载分词器和模型并指定使用GPU print(正在加载分词器...) tokenizer AutoTokenizer.from_pretrained(model_id) print(正在加载模型首次运行需要下载请耐心等待...) model AutoModelForCausalLM.from_pretrained( model_id, device_mapauto, # 自动将模型层分配到可用的设备GPU torch_dtypetorch.float16, # 使用半精度浮点数节省显存并加速 trust_remote_codeTrue ) # 将模型设置为评估模式 model.eval() # 准备对话提示词使用该模型支持的聊天格式 messages [ {role: user, content: 用简单的语言解释一下什么是人工智能} ] # 应用聊天模板 input_text tokenizer.apply_chat_template(messages, tokenizeFalse, add_generation_promptTrue) # 将输入文本转换为模型可接受的输入格式 inputs tokenizer(input_text, return_tensorspt).to(model.device) # 进行文本生成 print(\n模型正在思考...) with torch.no_grad(): # 禁用梯度计算推理时不需要 outputs model.generate( **inputs, max_new_tokens200, # 最多生成200个新token do_sampleTrue, # 使用采样方式使生成结果更多样 temperature0.7, # 控制随机性值越低越确定 top_p0.9 # 核采样参数控制生成质量 ) # 解码并打印生成的文本 # 跳过输入部分只打印模型新生成的部分 generated_ids outputs[0][inputs[input_ids].shape[1]:] # 获取新生成的token id response tokenizer.decode(generated_ids, skip_special_tokensTrue) print(\nPhi-3的回答) print(response)按Ctrl O保存文件再按Ctrl X退出nano编辑器。5.2 运行脚本并观察结果在终端里运行这个脚本python test_phi3.py第一次运行会花一些时间下载模型如果你的网络连接Hugging Face比较慢可能需要耐心等待一会儿。下载的模型会缓存在~/.cache/huggingface/hub目录下下次运行就快了。模型加载完成后你会看到“模型正在思考...”的提示稍等片刻它就会输出对“什么是人工智能”这个问题的回答。如果成功运行并看到了流畅的文本输出那么恭喜你整个WSL2下的Phi-3-Mini GPU推理环境就配置成功了6. 总结与后续建议走完这一趟你应该已经成功在WSL2里跑起了Phi-3-Mini。整个过程的核心其实就是三步把WSL2和GPU的桥搭好安装驱动和CUDA Toolkit、准备好一个干净的Python工作间用conda创建虚拟环境、最后把模型请进来运行下载并加载模型。用下来感觉WSL2这个方案对Windows用户确实很友好它把Linux的开发便利性和Windows的日常使用性结合在了一起不用做双系统那种“二选一”的纠结。特别是对于AI学习和轻度开发在本地有个能调用GPU的环境调试和实验起来会方便很多。如果你在配置过程中遇到了问题比如nvidia-smi命令报错或者模型加载时提示CUDA不可用别着急。大部分问题都可以通过检查驱动版本、确认WSL2内核更新包已安装、以及验证CUDA Toolkit安装是否正确来解决。多看看终端的错误信息通常都能找到线索。接下来你可以尝试用Phi-3-Mini做更多事情比如写个小脚本让它帮你总结长文章、生成代码片段或者试试它的长文本处理能力。也可以探索一下Hugging Face上其他有趣的模型有了这个环境很多模型都可以拉下来跑跑看。玩得开心获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。