GLM-ASR-Nano-2512从零开始:Ubuntu22.04+CUDA12.4环境搭建全流程
GLM-ASR-Nano-2512从零开始Ubuntu22.04CUDA12.4环境搭建全流程1. 开篇为什么选择GLM-ASR-Nano-2512如果你正在寻找一个既强大又实用的语音识别解决方案GLM-ASR-Nano-2512绝对值得你的关注。这个拥有15亿参数的开源模型在多个测试中都超越了OpenAI Whisper V3的表现而且模型体积更小部署起来更加友好。想象一下这样的场景你需要处理大量的语音文件可能是会议录音、采访内容或者语音笔记。传统的手动转录既耗时又容易出错而GLM-ASR-Nano-2512可以在几分钟内完成这些工作准确率还相当不错。它支持中文包括普通话和粤语和英文识别甚至对低音量的语音也有很好的支持。最重要的是这个模型完全开源你可以在自己的服务器上部署不用担心数据隐私问题。接下来我会带你一步步在Ubuntu 22.04系统上配置CUDA 12.4环境完整部署这个强大的语音识别服务。2. 环境准备与系统要求在开始安装之前我们先确认一下你的系统是否满足要求。虽然GLM-ASR-Nano-2512也可以在CPU上运行但为了获得最佳性能我强烈建议使用NVIDIA显卡。2.1 硬件要求GPUNVIDIA显卡推荐RTX 4090/3090或同等级别内存16GB RAM或更多存储空间至少10GB可用空间操作系统Ubuntu 22.04 LTS2.2 软件要求CUDA版本12.4或更高驱动程序与CUDA 12.4兼容的NVIDIA驱动Docker最新版本推荐使用Docker部署如果你还没有安装Ubuntu 22.04可以先安装系统并更新到最新版本sudo apt update sudo apt upgrade -y3. 安装NVIDIA驱动和CUDA 12.4这是最关键的一步正确的驱动和CUDA环境是保证模型正常运行的基础。3.1 安装NVIDIA驱动首先添加官方的NVIDIA驱动仓库sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update查看可用的驱动版本ubuntu-drivers devices选择推荐的驱动版本进行安装sudo apt install nvidia-driver-535安装完成后重启系统sudo reboot重启后验证驱动是否安装成功nvidia-smi如果看到显卡信息说明驱动安装成功。3.2 安装CUDA 12.4现在安装CUDA 12.4工具包wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run sudo sh cuda_12.4.0_550.54.14_linux.run在安装界面中选择安装CUDA Toolkit其他选项可以保持默认。安装完成后配置环境变量echo export PATH/usr/local/cuda/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/cuda/lib64:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc验证CUDA安装nvcc --version如果显示CUDA 12.4版本信息说明安装成功。4. 安装Docker和NVIDIA容器工具使用Docker部署是最简单可靠的方式我们先安装Docker和相关的NVIDIA支持。4.1 安装Docker更新软件包索引并安装依赖sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common添加Docker官方GPG密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg添加Docker仓库echo deb [archamd64 signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null安装Docker引擎sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io将当前用户添加到docker组避免每次使用sudosudo usermod -aG docker $USER newgrp docker验证Docker安装docker run hello-world4.2 安装NVIDIA容器工具添加NVIDIA容器工具仓库distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list安装nvidia-container-toolkitsudo apt update sudo apt install nvidia-container-toolkit sudo systemctl restart docker验证NVIDIA容器支持docker run --rm --gpus all nvidia/cuda:12.4.0-base nvidia-smi如果看到显卡信息说明NVIDIA容器工具安装成功。5. 部署GLM-ASR-Nano-2512服务现在来到最令人兴奋的部分——实际部署语音识别服务。我会提供两种方式直接运行和Docker部署。5.1 方式一直接运行适合开发调试如果你想要直接查看和修改代码可以选择这种方式。首先克隆项目cd /root git clone https://github.com/THUDM/GLM-ASR-Nano-2512.git cd GLM-ASR-Nano-2512安装Python依赖pip3 install torch torchaudio transformers gradio下载模型文件这需要一些时间模型大小约4.5GBgit lfs install git lfs pull启动服务python3 app.py服务启动后在浏览器中访问 http://localhost:7860 就能看到Web界面了。5.2 方式二Docker部署推荐用于生产环境这是我最推荐的方式简单可靠且易于维护。首先创建DockerfileFROM nvidia/cuda:12.4.0-runtime-ubuntu22.04 # 安装系统依赖 RUN apt-get update apt-get install -y python3 python3-pip git-lfs # 安装Python依赖 RUN pip3 install torch torchaudio transformers gradio # 创建应用目录 WORKDIR /app # 复制项目文件 COPY . /app # 下载模型文件 RUN git lfs install git lfs pull # 暴露服务端口 EXPOSE 7860 # 启动服务 CMD [python3, app.py]构建Docker镜像docker build -t glm-asr-nano:latest .运行容器docker run --gpus all -p 7860:7860 glm-asr-nano:latest这样就完成了部署服务会在后台运行你可以随时访问使用。6. 使用语音识别服务现在你的GLM-ASR-Nano-2512服务已经运行起来了让我们看看怎么使用它。6.1 Web界面使用在浏览器中打开 http://localhost:7860你会看到一个简洁的界面麦克风录音点击录音按钮直接说话进行实时识别文件上传上传WAV、MP3、FLAC、OGG格式的音频文件语言选择支持中文普通话/粤语和英文识别界面非常直观上传文件后几秒钟就能看到识别结果。你可以直接复制文本或者下载为文本文件。6.2 API接口使用如果你想要在其他程序中调用识别服务可以使用提供的API接口import requests # API端点 url http://localhost:7860/gradio_api/ # 准备音频文件 files {file: open(audio.wav, rb)} # 发送请求 response requests.post(url, filesfiles) # 获取识别结果 result response.json() print(result[text])这样你就可以在自己的应用程序中集成语音识别功能了。7. 常见问题解决在部署和使用过程中你可能会遇到一些问题这里我列出几个常见的解决方法。7.1 显卡内存不足如果遇到内存不足的错误可以尝试以下方法# 在app.py中添加以下代码限制GPU内存使用 import torch torch.cuda.empty_cache() torch.cuda.set_per_process_memory_fraction(0.8) # 使用80%的显存7.2 模型下载缓慢如果git lfs下载很慢可以尝试手动下载模型文件# 下载主模型文件 wget -O model.safetensors https://huggingface.co/THUDM/GLM-ASR-Nano-2512/resolve/main/model.safetensors # 下载分词器文件 wget -O tokenizer.json https://huggingface.co/THUDM/GLM-ASR-Nano-2512/resolve/main/tokenizer.json7.3 端口冲突如果7860端口被占用可以改用其他端口# 修改app.py中的端口设置 demo.launch(server_port7861)或者使用Docker时映射到其他端口docker run --gpus all -p 7861:7860 glm-asr-nano:latest8. 总结通过这篇教程你已经成功在Ubuntu 22.04系统上搭建了GLM-ASR-Nano-2512语音识别环境。我们从驱动安装开始一步步配置了CUDA环境最后通过Docker部署了完整的语音识别服务。这个模型的强大之处在于它的准确性和实用性。无论是在会议记录、语音转文字还是其他需要处理音频的场景它都能提供很好的服务。而且完全本地部署保证了数据的安全性。如果你在部署过程中遇到任何问题或者想要了解更多高级用法欢迎在评论区留言讨论。语音识别技术正在快速发展GLM-ASR-Nano-2512无疑是一个值得尝试的优秀选择。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。