详细步骤
阶段一:准备工作(Windows 侧)
1.确认显卡和驱动
确保你拥有一块 NVIDIA 显卡。
最重要的一步:更新你的 NVIDIA 显卡驱动到最新版本。访问 NVIDIA 驱动程序下载页面,选择对应的产品型号进行下载安装。最新版的驱动通常包含了兼容性最好的 CUDA 驱动。
2.安装和配置 WSL2
如果你尚未安装 WSL2,请以管理员身份打开 PowerShell 或命令提示符,并运行:
wsl --install
这个命令会默认安装 Ubuntu 发行版。你也可以通过 wsl --list --online查看可用的发行版,然后用 wsl --install -d <DistroName>安装特定版本。
将 WSL2 设置为默认版本:wsl --set-default-version 2
阶段二:配置 WSL2 中的 NVIDIA CUDA 支持
3.安装 NVIDIA CUDA on WSL 的驱动
访问 NVIDIA 官网的 CUDA on WSL页面。
下载并安装 NVIDIA GPU Driver for Windows。注意:你下载的是在 Windows 上运行的驱动,这个驱动包含了在 WSL2 内使用 GPU 所需的组件。直接下载那个为 WSL 准备的 .exe安装程序即可。安装过程中选择“精简”安装。
4.在 WSL2 中安装 CUDA Toolkit
打开你的 WSL2 发行版(例如 Ubuntu)。
添加 NVIDIA 的 CUDA 仓库并安装必要的工具包。以下是针对 Ubuntu 的命令:
# 1. 更新系统包 sudo apt update && sudo apt upgrade -y # 2. 安装基础依赖 sudo apt install -y build-essential # 3. 添加 NVIDIA 的包仓库 wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update # 4. 安装 CUDA Toolkit(这个版本通常与PyTorch稳定版兼容) # 你可以根据PyTorch官方建议的版本安装,例如: sudo apt-get -y install cuda-12.1
注意:CUDA 版本不必追求绝对最新,应与 PyTorch 官方推荐的版本匹配。可以查看 PyTorch 官网获取推荐版本。
5.验证 CUDA 是否可用
在 WSL2 终端中,运行:
nvidia-smi
如果配置成功,你会看到一个表格,显示了你的 GPU 型号、驱动版本、CUDA 版本以及当前 GPU 的运行状态。这证明 WSL2 已经可以识别并使用你的显卡了。
阶段三:安装 Python 环境和 Whisper
6.安装 Miniconda/Pyenv(推荐,用于管理 Python 环境)
为了避免包冲突,强烈建议使用 Conda 或 Venv 创建独立的 Python 环境。
安装 Miniconda:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh # 按照屏幕提示操作,安装完成后重启终端或运行 `source ~/.bashrc`
7.创建并激活 Conda 环境
# 创建一个名为 whisper-env 的 Python 3.10 环境 conda create -n whisper-env python=3.10 -y conda activate whisper-env
8.安装 PyTorch(带 CUDA 支持)
前往 PyTorch 官方网站。
选择你的配置,比如:
PyTorch Build: Stable (2.1.2)
Your OS: Linux
Package: Pip
Language: Python
Compute Platform: CUDA 12.1(这个版本需要与你之前安装的 CUDA Toolkit 版本匹配)
你会得到一个安装命令,例如:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
在 WSL2 的 Conda 环境中运行该命令。
9.验证 PyTorch 是否能识别 GPU
在 Python 交互界面中验证:
python3
在 Python 中逐行输入以下代码:
import torch # 检查CUDA是否可用 print(torch.cuda.is_available()) # 查看GPU数量 print(torch.cuda.device_count()) # 查看当前GPU型号 print(torch.cuda.get_device_name(0))
如果输出 True,1(或更多)以及你的显卡型号(如 "NVIDIA GeForce RTX 4070"),那么恭喜你,PyTorch 的 GPU 加速已经配置成功!
10.安装 OpenAI Whisper
# 确保还在 whisper-env 环境中
pip install openai-whisper
Whisper 会自动安装其依赖项,包括 ffmpeg。如果遇到 ffmpeg相关问题,可以在 WSL2 中单独安装:sudo apt install ffmpeg。
阶段四:运行 Whisper 进行语音识别
11.基本使用
假设你有一个名为 audio.wav的音频文件放在 WSL2 的家目录(~/)下。
运行以下命令进行转录:
whisper audio.wav --model medium --device cuda
参数解释:
--model medium: 指定使用的 Whisper 模型。模型从小到大为:tiny, base, small, medium, large-v1, large-v2, large-v3。模型越大,精度越高,但消耗的显存和计算时间也越长。请根据你的 GPU 显存选择(例如,8G 显存建议从 small或 medium开始尝试)。
--device cuda: 明确指定使用 CUDA(即 GPU)进行计算。这是实现加速的关键参数。如果不加此参数,Whisper 默认会使用 CPU,速度极慢。
12.更多实用参数
whisper audio.wav \ --model medium \ --device cuda \ --output_dir ./transcription_results \ # 指定输出目录 --language Chinese \ # 指定音频语言,提升识别精度和速度 --task translate # 如果音频是英文,这个参数会直接输出英文字幕
常见问题与故障排除
报错:OutOfMemoryError
原因:你选择的 Whisper 模型(如 large-v3)对于你的 GPU 来说太大了。
解决:换一个更小的模型,例如 medium或 small。
报错:找不到 libcudart.so等 CUDA 相关库
原因:WSL2 中的环境变量可能未正确设置。
解决:将 CUDA 库路径添加到环境变量中。在 ~/.bashrc文件末尾添加:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
然后运行 source ~/.bashrc使其生效。
速度没有明显提升
确认:运行命令时是否加了 --device cuda参数。
确认:是否按照步骤 8 和 9 正确安装了 CUDA 版本的 PyTorch。可以用 conda list | grep torch查看 PyTorch 版本,确认是 cu121等后缀。
如何利用 GPU 监控
在 WSL2 中打开一个终端,运行 watch -n 1 nvidia-smi,可以实时查看 GPU 的使用情况。在另一个终端运行 Whisper 命令,如果 GPU 利用率(Volatile GPU-Util)升高,说明加速正在起作用。
遵循以上步骤,你应该可以成功在 WSL2 中部署 GPU 加速的 Whisper 模型。享受飞快的语音转录速度吧!
最新评论: