略微加速

略速 - 互联网笔记

wsl2本地部署Qwen-ASR

2025-11-24 leiting (17阅读)

标签 开发编程 算法 大模型

核心思路

  1. 确保基础环境:拥有一个支持 CUDA 的 NVIDIA 显卡、正确的 Windows 驱动、已启用 WSL2 并安装了 Ubuntu 发行版。

  2. 配置 WSL2 的 CUDA 支持:在 WSL2 内安装 NVIDIA CUDA Toolkit 和 cuDNN。

  3. 创建 Python 虚拟环境:避免与系统 Python 环境冲突。

  4. 安装依赖库:安装 PyTorch(GPU 版本)及其他必要的库。

  5. 获取并运行 Qwen-ASR 模型:从 ModelScope 或 Hugging Face 下载模型并进行推理。


详细步骤

阶段一:准备 Windows 和 WSL2 基础环境

  1. 检查显卡和驱动:

    • 确保您的 NVIDIA 显卡支持 CUDA。可以查阅 NVIDIA CUDA GPU 列表。

    • 在 Windows 上,下载并安装最新的 NVIDIA 显卡驱动。推荐通过 NVIDIA 官网或 GeForce Experience 安装。

  2. 安装 WSL2 和 Ubuntu(如果已安装可跳过):
    • 以管理员身份打开 PowerShell 或命令提示符,运行:

      wsl --install -d Ubuntu-22.04
    • 安装完成后,系统会提示您创建 UNIX 用户名和密码。
  3. 安装 NVIDIA CUDA Driver for WSL2:

    • 这是最关键的一步。您需要在 Windows 侧安装 专门支持 WSL 的 NVIDIA 驱动。

    • 访问 NVIDIA 官方下载页,下载并安装适用于 WSL 的 CUDA 驱动。通常这个驱动包的名字会包含 Windows Driver for WSL字样。

阶段二:在 WSL2(Ubuntu)内部配置环境

  1. 启动 WSL2 Ubuntu:
    • 在 Windows 开始菜单中搜索 "Ubuntu" 并启动,或直接在命令行中输入 wsl
  2. 更新系统包管理器:
    sudo apt update && sudo apt upgrade -y
  3. 安装 NVIDIA CUDA Toolkit(WSL2 内部):
    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
    sudo apt-get -y install cuda-toolkit-12-4
    • 注意:请选择与您模型兼容的 CUDA 版本(如 11.8, 12.1, 12.4 等)。Qwen-ASR 推荐使用较新的版本(如 12.x)。
    • 访问 NVIDIA CUDA Toolkit 下载页 ,选择 Linux > x86_64 > WSL-Ubuntu > 2.0 > deb (local) 格式。按照网站给出的安装指令操作,通常类似如下:
  4. (可选但推荐)安装 cuDNN:
    # 将 <version> 替换为实际版本
    tar -xvf cudnn-linux-x86_64-<version>.tar.xz
    sudo cp cudnn-*/include/cudnn*.h /usr/local/cuda/include/
    sudo cp -P cudnn-*/lib/libcudnn* /usr/local/cuda/lib64/
    sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
    • 访问 NVIDIA cuDNN 下载页 (需要注册登录)。
    • 下载适用于 Ubuntu 20.04/22.04 x86_64 且与您安装的 CUDA 版本对应的 cuDNN 本地安装文件(例如 cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz)。
    • 在 WSL2 中解压并复制文件:
  5. 配置环境变量:
    • 编辑您的 shell 配置文件(如 ~/.bashrc或 ~/.zshrc):
      nano ~/.bashrc
    • 在文件末尾添加以下行(请根据实际 CUDA 路径调整版本号):
      export PATH=/usr/local/cuda/bin:$PATH
      export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
      export CUDA_HOME=/usr/local/cuda
    • 使配置生效:
      source ~/.bashrc
  6. 验证 CUDA 安装:
    • 运行 nvcc --version检查 CUDA 编译器版本。
    • 运行 nvidia-smi。这个命令应该能在 WSL2 内直接运行,并显示出与 Windows 下类似的 GPU 信息,包括驱动版本和可用的 GPU。这是验证 WSL2 GPU 支持是否成功的关键标志。

阶段三:部署 Qwen-ASR 模型

  1. 安装 Miniconda/Anaconda(推荐):
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    bash Miniconda3-latest-Linux-x86_64.sh
    # 按照提示操作,安装完成后重启终端或运行 `source ~/.bashrc`
    • 这可以方便地管理 Python 环境。
  2. 创建并激活虚拟环境:
    conda create -n qwen-asr python=3.10 -y
    conda activate qwen-asr
  3. 安装 GPU 版本的 PyTorch:
    • 前往 PyTorch 官网 获取安装命令。
    • 选择稳定的版本,您的 OS(Linux)、包管理器(pip)、语言(Python)以及 在阶段二中安装的 CUDA 版本(例如 CUDA 12.4)。
    • 例如,对于 CUDA 12.4:
      pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
  4. 安装 ModelScope 和相关依赖:
    pip install modelscope
    # 如果需要进行音频处理,可能需要安装以下库
    pip install soundfile librosa torchaudio
    # 对于 Qwen-Audio 系列模型,可能需要特定运行时
    pip install modelscope[audio]
    • Qwen-ASR 通常通过 ModelScope 库来使用。
  5. 编写推理代码:
    from modelscope.pipelines import pipeline
    from modelscope.utils.constant import Tasks
    
    # 选择模型。可以去 ModelScope 官网查找最新版本的 Qwen-ASR 模型。
    # 例如,可能是 "Qwen/Qwen-Audio", "Qwen/Qwen-Audio-Chat" 等。
    model_id = "qwenaudio/Qwen2-Audio-7B-Instruct" # 示例模型,请替换为实际模型名
    
    # 创建语音识别管道
    # 如果首次运行,会自动从网上下载模型,请耐心等待。
    pipe = pipeline(
    
        task=Tasks.auto_speech_recognition,
    
        model=model_id,
    
        device="cuda:0"  # 指定使用 GPU,如果有多卡可以指定 "cuda:1" 等
    )
    
    # 指定要识别的音频文件路径(支持 wav, mp3 等常见格式)
    audio_path = "your_audio_file.wav" # 请替换为你的音频文件路径
    
    # 进行推理
    result = pipe(audio_path)
    
    # 打印识别结果
    print("识别结果:", result["text"])
    • 创建一个 Python 文件,例如 qwen_asr_demo.py
    • 以下是使用 Qwen-Audio 系列模型进行语音识别的示例代码:

阶段四:运行和测试

  1. 准备音频文件:将一个音频文件(如 test.wav)放在 WSL2 文件系统中,并记下路径。
  2. 运行脚本:
    python qwen_asr_demo.py
  3. 观察输出:
    • 首次运行会下载模型(可能很大,几个 GB),请确保网络通畅和磁盘空间充足。
    • 如果一切正常,您将看到语音识别的文本结果。
    • 同时,可以运行 nvidia-smi来观察 GPU 是否被占用,以确认加速是否生效。

常见问题与故障排除

  • nvidia-smi在 WSL2 中报错或不显示 GPU:
    • 确认已在 Windows 侧安装了正确的 WSL 专用 NVIDIA 驱动 。
    • 确保 WSL2 内核是最新的(通过 wsl --update更新)。
  • 运行 PyTorch 时提示找不到 CUDA:
    • 检查 WSL2 内的 CUDA 版本 (nvcc --version) 和安装 PyTorch 时指定的 CUDA 版本是否匹配。
    • 检查环境变量(LD_LIBRARY_PATHCUDA_HOME)是否正确设置。
  • 模型下载慢或失败:
    • 可以考虑配置 ModelScope 的镜像源(如果可用)。
    • 或者,手动从 ModelScope 或 Hugging Face 下载模型文件,然后通过 model=“/path/to/local/model”的方式加载。
  • 显存不足(OOM):
    • Qwen-ASR 的某些版本(如 7B)对显存要求较高。尝试使用更小的模型(如 1.8B)。
    • 在管道中设置 batch_size=1或 torch_dtype=torch.float16来减少显存占用。

按照以上步骤,您应该可以成功在 WSL2 中利用 GPU 加速部署和运行 Qwen-ASR 模型。祝您顺利!


北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3