保姆级教程:在Ubuntu系统上部署南北阁Nanbeige 4.1-3B大模型

张开发
2026/4/18 21:03:57 15 分钟阅读

分享文章

保姆级教程:在Ubuntu系统上部署南北阁Nanbeige 4.1-3B大模型
保姆级教程在Ubuntu系统上部署南北阁Nanbeige 4.1-3B大模型想试试最近挺火的南北阁Nanbeige 4.1-3B大模型但被复杂的部署步骤劝退了别担心这篇教程就是为你准备的。咱们今天不谈复杂的理论就做一件事手把手带你在Ubuntu服务器上把这个模型稳稳当当地跑起来。我理解很多朋友看到“模型部署”几个字就头疼又是环境又是依赖一步错了就卡半天。所以这篇教程会尽量避开那些弯弯绕绕直接告诉你每一步该敲什么命令该点哪个按钮。只要你有一台安装了Ubuntu 20.04 LTS的服务器带GPU最好跟着走下来半小时左右就能看到模型成功运行的界面。我们的目标很简单从零开始完成部署并跑通一个最简单的测试让你亲眼看到模型“活”了。准备好了吗咱们开始。1. 准备工作检查你的“工具箱”在动手部署之前我们先花几分钟把准备工作做好。这就像做饭前要备好菜和调料一样能避免过程中手忙脚乱。1.1 确认服务器环境首先你需要一台运行Ubuntu 20.04 LTS或更高版本的服务器。我个人推荐20.04 LTS因为它长期稳定社区支持好遇到问题也容易找到解决方案。打开你的终端连上服务器先看看系统版本对不对lsb_release -a如果看到Description: Ubuntu 20.04 LTS之类的信息那就没问题。接下来强烈建议你的服务器配有NVIDIA GPU。大模型推理非常吃算力有GPU和只用CPU的速度是天壤之别。检查一下GPU是否就绪nvidia-smi如果这条命令能正常输出显卡信息比如型号、驱动版本、显存占用说明GPU环境基本OK。如果提示命令未找到你可能需要先安装NVIDIA驱动和CUDA工具包这个步骤稍微复杂点你可以搜索“Ubuntu 安装 NVIDIA 驱动”找到很多详细指南。1.2 安装基础依赖系统自带的软件包可能不够新我们更新一下并安装一些必要的工具。逐条执行下面的命令# 更新软件包列表 sudo apt update # 升级已安装的包 sudo apt upgrade -y # 安装一些基础工具比如curl、wget后面可能会用到 sudo apt install -y curl wget git vim1.3 确保Docker环境就绪我们将使用Docker来部署这是目前最省心、最不容易出环境冲突的方式。检查Docker是否已安装docker --version如果已经安装你会看到Docker的版本信息。如果没有安装别慌用下面这个官方的一键安装脚本非常方便# 下载并执行Docker安装脚本 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh # 将当前用户加入docker组这样就不用每次都加sudo了 sudo usermod -aG docker $USER重要提示执行完usermod命令后你需要完全退出当前的终端会话然后重新登录用户组变更才会生效。简单关掉终端窗口再打开一个新的SSH连接就行。重新登录后验证一下不加sudo是否能运行dockerdocker run hello-world如果能看到“Hello from Docker!”的欢迎信息恭喜你Docker环境搞定。2. 获取与启动模型镜像环境准备好了现在我们来获取最重要的东西——已经打包好模型和运行环境的Docker镜像。这里我们利用现成的镜像能省去自己配置Python环境、安装依赖库等一系列繁琐操作。2.1 拉取预置镜像假设你已经在一个提供了预置AI镜像的平台例如一些云平台的镜像市场找到了南北阁Nanbeige 4.1-3B的镜像。通常你只需要知道镜像的名称。拉取镜像的命令格式如下docker pull [镜像仓库地址]/[镜像名]:[标签]例如镜像名可能是nanbeige-4.1-3b-inference标签是latest。具体的镜像地址需要根据你所在的平台来定。拉取过程会下载几个GB的文件时间取决于你的网络速度喝杯咖啡耐心等待一下。2.2 启动模型服务容器镜像拉取成功后就是最关键的一步运行它。我们需要把容器内的服务端口映射到宿主机的端口上这样我们才能从外面访问。docker run -d --name nanbeige \ --gpus all \ -p 8000:8000 \ -v /path/to/your/models:/app/models \ [镜像仓库地址]/[镜像名]:[标签]我来解释一下这条命令的几个关键部分-d让容器在后台运行。--name nanbeige给容器起个名字方便后续管理。--gpus all这是关键它把宿主机的所有GPU都透传给容器使用让模型能在GPU上推理。-p 8000:8000端口映射。把容器内部的8000端口映射到宿主机的8000端口。之后我们通过访问服务器的8000端口来调用模型。-v /path/to/your/models:/app/models数据卷挂载。:前面是你服务器上的一个目录路径后面是容器内的目录。这样可以把模型文件持久化保存在服务器上而不是容器里即使容器删除模型还在。你可以把/path/to/your/models改成你喜欢的路径比如/home/username/models。最后是镜像名。运行命令后可以用下面的命令查看容器是否在正常运行docker ps你应该能看到一个名为nanbeige的容器状态是Up。2.3 查看服务日志排错必备启动后模型服务需要一点时间加载。怎么知道它加载好了呢查看日志docker logs -f nanbeige-f参数可以实时滚动显示日志。当你看到日志中出现类似“Running on http://0.0.0.0:8000”或者“Model loaded successfully”、“Uvicorn running”这样的信息时通常意味着服务已经启动就绪在8000端口等待请求了。如果启动失败日志会打印出错误信息这是排查问题最重要的依据。常见问题可能是端口被占用换一个映射端口比如-p 8080:8000或者GPU驱动不兼容。3. 与模型对话第一次测试服务跑起来了怎么验证它真的在工作呢我们来发送一个最简单的请求。3.1 使用CURL进行API测试打开另一个终端窗口或者在你服务器的本地使用curl命令来调用模型的API接口。通常这类推理镜像会提供一个简单的文本生成接口。curl -X POST http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: nanbeige-4.1-3b, messages: [ {role: user, content: 你好请介绍一下你自己。} ], max_tokens: 100 }注意上面的接口路径/v1/chat/completions和请求格式是示例。具体API端点Endpoint和参数格式请务必查阅你所使用的镜像的官方文档或说明。不同的镜像封装方式可能不同有的可能是/generate有的参数名可能叫prompt而不是messages。如果一切正常你会收到一个JSON格式的响应其中choices字段里就包含了模型生成的回答。看到它回复你那一刻的成就感是最棒的3.2 编写一个简单的Python测试脚本用命令行测试有点不直观我们写个简单的Python脚本看得更清楚。在服务器上创建一个文件比如叫test_model.py。import requests import json # 定义API地址如果是本地服务器就是 localhost远程服务器就换成IP地址 url http://localhost:8000/v1/chat/completions # 准备请求头和数据 headers { Content-Type: application/json } data { model: nanbeige-4.1-3b, messages: [ {role: user, content: 用一句话解释什么是人工智能。} ], max_tokens: 150, temperature: 0.7 # 控制回答的随机性0.0最确定1.0最随机 } # 发送POST请求 response requests.post(url, headersheaders, datajson.dumps(data)) # 打印响应 if response.status_code 200: result response.json() # 提取并打印模型的回复 reply result[choices][0][message][content] print(模型回复, reply) else: print(请求失败状态码, response.status_code) print(错误信息, response.text)保存文件后运行它python3 test_model.py你需要确保服务器上安装了requests库如果没有先安装一下pip3 install requests。运行脚本后你应该能在终端看到模型对你问题的回答。这就证明从部署到调用整个链路已经完全打通了4. 常见问题与小贴士第一次部署难免会遇到一些小坑。这里我总结几个常见的情况和解决办法。问题docker: Error response from daemon: could not select device driver...原因Docker的NVIDIA容器运行时没装好。解决安装nvidia-container-toolkit。可以尝试运行sudo apt-get install -y nvidia-container-toolkit然后重启Docker服务sudo systemctl restart docker。问题容器启动后马上退出docker ps看不到。原因容器内部应用启动失败。解决查看退出的容器的日志来找原因docker logs nanbeige即使容器已停止也能看到它的输出日志。常见原因是端口冲突、模型文件路径不对、或者内存/显存不足。问题API请求返回404或连接被拒绝。检查1确认容器是否在运行docker ps。检查2确认端口映射是否正确以及你请求的端口号是否和映射出来的主机端口一致。检查3确认API的URL路径是否正确参考镜像的使用说明。性能小贴士如果服务器内存足够可以在docker run命令中加上-e参数设置环境变量例如-e NUM_GPUS1来指定使用的GPU数量或者设置-e MAX_MODEL_LEN2048来控制生成文本的最大长度这有助于控制显存使用。第一次加载模型到显存会比较慢耐心等待。后续的推理请求就会快很多。5. 总结与下一步跟着步骤走下来你应该已经成功在Ubuntu上把南北阁Nanbeige 4.1-3B模型跑起来了。整个过程的核心其实就是利用Docker把复杂的环境打包我们只需要做好端口映射和GPU透传就能轻松享受大模型的能力。部署成功只是第一步好玩儿的才刚刚开始。你可以试着用我们写的Python脚本问它更多问题看看它的知识面和逻辑能力。也可以尝试修改请求参数比如把temperature调高让它的回答更有创意或者把max_tokens调大让它写更长篇的内容。如果想把它集成到自己的项目里比如做个简单的聊天机器人或者内容辅助工具现在这个提供HTTP API的服务就是最好的基础。你可以用任何你熟悉的编程语言Python、Node.js、Go等来调用这个接口。当然这个部署方式比较适合自己学习和测试。如果考虑生产环境可能还需要关注服务的高可用、负载均衡、监控和安全性配置那就是另一个话题了。不过千里之行始于足下先把模型跑起来亲眼看到它工作就是最重要、最坚实的第一步。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章