Baichuan-M2-32B-GPTQ-Int4在Ubuntu20.04上的Docker-Compose部署
本文介绍了如何在星图GPU平台上自动化部署【vllm】Baichuan-M2-32B-GPTQ-Int4镜像,快速搭建医疗AI助手。该方案基于Docker-Compose,集成了模型服务、数据库和缓存,开箱即用,可高效处理医疗咨询、症状分析和健康建议等自然语言生成任务。
Baichuan-M2-32B-GPTQ-Int4在Ubuntu20.04上的Docker-Compose部署
1. 引言
想快速部署一个强大的医疗AI助手吗?Baichuan-M2-32B-GPTQ-Int4作为百川智能推出的医疗增强推理模型,在医疗领域表现卓越,现在通过Docker-Compose可以轻松在Ubuntu20.04上部署。本文将手把手带你完成整个部署过程,无需深厚的技术背景,跟着步骤走就能搞定。
这个部署方案最大的优势是一键启动,不仅包含了Baichuan-M2模型服务,还集成了MySQL和Redis等配套服务,开箱即用。无论你是想进行医学研究、健康咨询还是临床辅助决策,这个方案都能为你提供稳定可靠的服务基础。
2. 环境准备与系统要求
在开始部署之前,先确认你的系统环境是否符合要求。Ubuntu20.04是最佳选择,其他Linux发行版可能需要适当调整。
2.1 硬件要求
要流畅运行Baichuan-M2-32B-GPTQ-Int4模型,建议配置:
- GPU:至少RTX 4090(24GB显存)或同等级别显卡
- 内存:32GB以上系统内存
- 存储:100GB可用磁盘空间(模型文件约60GB)
- CPU:8核以上处理器
2.2 软件依赖
确保系统已安装以下基础软件:
# 更新系统包
sudo apt update && sudo apt upgrade -y
# 安装基础工具
sudo apt install -y curl wget git python3 python3-pip
2.3 Docker环境安装
如果系统还没有Docker,需要先安装:
# 安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 将当前用户加入docker组
sudo usermod -aG docker $USER
newgrp docker
安装完成后,验证Docker是否正常工作:
docker --version
docker-compose --version
3. 部署文件准备
接下来我们需要准备部署所需的配置文件。创建一个项目目录来存放所有相关文件。
3.1 创建项目结构
# 创建项目目录
mkdir baichuan-m2-deployment
cd baichuan-m2-deployment
# 创建必要的子目录
mkdir -p configs/models data/mysql data/redis logs
3.2 Docker-Compose配置文件
创建docker-compose.yml文件,这是整个部署的核心:
version: '3.8'
services:
# Baichuan-M2模型服务
baichuan-m2:
image: ghcr.io/huggingface/text-generation-inference:latest
container_name: baichuan-m2-service
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
ports:
- "8080:80"
environment:
- MODEL_ID=baichuan-inc/Baichuan-M2-32B-GPTQ-Int4
- QUANTIZE=gptq
- GPTQ_BITS=4
- GPTQ_GROUPSIZE=128
- MAX_INPUT_LENGTH=4096
- MAX_TOTAL_TOKENS=8192
- MAX_BATCH_PREFILL_TOKENS=8192
- MAX_BATCH_TOTAL_TOKENS=16384
volumes:
- ./models:/data
- ./logs:/logs
command: --model-id ${MODEL_ID} --quantize ${QUANTIZE} --gptq-bits ${GPTQ_BITS} --gptq-groupsize ${GPTQ_GROUPSIZE}
depends_on:
- redis
- mysql
restart: unless-stopped
# MySQL数据库服务
mysql:
image: mysql:8.0
container_name: baichuan-mysql
environment:
MYSQL_ROOT_PASSWORD: baichuan_root_password
MYSQL_DATABASE: baichuan_db
MYSQL_USER: baichuan_user
MYSQL_PASSWORD: baichuan_password
volumes:
- ./data/mysql:/var/lib/mysql
- ./configs/mysql.cnf:/etc/mysql/conf.d/custom.cnf
ports:
- "3306:3306"
restart: unless-stopped
# Redis缓存服务
redis:
image: redis:7-alpine
container_name: baichuan-redis
volumes:
- ./data/redis:/data
ports:
- "6379:6379"
command: redis-server --appendonly yes
restart: unless-stopped
# 可选:Web管理界面
adminer:
image: adminer:latest
container_name: baichuan-adminer
ports:
- "8081:8080"
depends_on:
- mysql
restart: unless-stopped
networks:
default:
driver: bridge
3.3 环境变量配置
创建.env文件来管理环境变量:
# 模型配置
MODEL_ID=baichuan-inc/Baichuan-M2-32B-GPTQ-Int4
QUANTIZE=gptq
GPTQ_BITS=4
GPTQ_GROUPSIZE=128
# 服务配置
MAX_INPUT_LENGTH=4096
MAX_TOTAL_TOKENS=8192
MAX_BATCH_PREFILL_TOKENS=8192
MAX_BATCH_TOTAL_TOKENS=16384
# 数据库配置
MYSQL_ROOT_PASSWORD=baichuan_root_password
MYSQL_DATABASE=baichuan_db
MYSQL_USER=baichuan_user
MYSQL_PASSWORD=baichuan_password
4. 部署与启动
一切准备就绪后,现在开始部署服务。
4.1 启动所有服务
# 在项目根目录下执行
docker-compose up -d
这个命令会在后台启动所有服务。首次运行时会下载所需的Docker镜像,这可能需要一些时间,具体取决于你的网络速度。
4.2 查看服务状态
# 查看所有容器状态
docker-compose ps
# 查看日志输出
docker-compose logs -f baichuan-m2
如果一切正常,你应该看到类似下面的输出:
baichuan-m2-service | Starting text generation inference
baichuan-m2-service | Downloading model files...
baichuan-m2-service | Model loaded successfully
4.3 模型下载说明
首次启动时,系统会自动从Hugging Face下载模型文件。由于模型较大(约60GB),下载可能需要较长时间。你可以通过以下命令查看下载进度:
docker-compose logs -f baichuan-m2 | grep -i "download"
如果下载中断,可以重新启动服务,下载会从中断处继续。
5. 服务验证与测试
部署完成后,需要验证服务是否正常工作。
5.1 检查服务健康状态
# 检查模型服务健康状态
curl http://localhost:8080/health
# 检查MySQL连接
docker exec -it baichuan-mysql mysql -ubaichuan_user -pbaichuan_password -e "SELECT 1"
# 检查Redis连接
docker exec -it baichuan-redis redis-cli ping
5.2 测试模型推理
创建一个测试脚本来验证模型功能:
# test_inference.py
import requests
import json
url = "http://localhost:8080/generate"
headers = {"Content-Type": "application/json"}
payload = {
"inputs": "出现蚊虫叮咬后肿胀很大,需要帮助消肿",
"parameters": {
"max_new_tokens": 512,
"temperature": 0.7,
"top_p": 0.9
}
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
result = response.json()
print("生成的文本:")
print(result["generated_text"])
运行测试脚本:
python3 test_inference.py
如果一切正常,你应该能看到模型生成的医疗建议文本。
5.3 使用Web界面
通过Adminer管理数据库:
- 访问:http://你的服务器IP:8081
- 系统:MySQL
- 服务器:mysql
- 用户名:baichuan_user
- 密码:baichuan_password
- 数据库:baichuan_db
6. 常用管理命令
日常运维中可能会用到的一些命令:
6.1 服务管理
# 停止所有服务
docker-compose down
# 重启特定服务
docker-compose restart baichuan-m2
# 查看服务资源使用情况
docker stats
# 进入容器内部
docker exec -it baichuan-m2-service bash
6.2 日志管理
# 查看实时日志
docker-compose logs -f
# 查看特定服务的日志
docker-compose logs baichuan-m2
# 清理旧日志
sudo find ./logs -name "*.log" -type f -mtime +7 -delete
6.3 备份与恢复
# 备份数据库
docker exec baichuan-mysql sh -c 'exec mysqldump -ubaichuan_user -p"baichuan_password" baichuan_db' > backup.sql
# 恢复数据库
docker exec -i baichuan-mysql sh -c 'exec mysql -ubaichuan_user -p"baichuan_password" baichuan_db' < backup.sql
7. 常见问题解决
部署过程中可能会遇到的一些问题及解决方法:
7.1 GPU相关问题
问题:GPU无法识别
# 检查NVIDIA驱动
nvidia-smi
# 安装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
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
7.2 内存不足问题
如果遇到内存不足的错误,可以调整Docker资源限制:
# 编辑Docker配置
sudo nano /etc/docker/daemon.json
# 增加以下内容
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
}
}
7.3 模型下载缓慢
如果从Hugging Face下载模型速度慢,可以考虑预先下载:
# 使用huggingface-hub工具下载
pip install huggingface-hub
huggingface-cli download baichuan-inc/Baichuan-M2-32B-GPTQ-Int4 --local-dir ./models
8. 总结
通过本文的步骤,你应该已经成功在Ubuntu20.04上部署了Baichuan-M2-32B-GPTQ-Int4模型及其配套服务。这个Docker-Compose方案提供了完整的一键部署体验,包含了模型服务、数据库和缓存等必要组件。
实际使用中,这个部署方案表现稳定,医疗推理能力强大,特别适合需要处理医疗相关任务的场景。如果遇到任何问题,可以参考常见问题解决部分,或者查看相关日志来排查问题。
记得定期检查服务状态和资源使用情况,确保服务稳定运行。如果需要扩展或调整配置,可以相应修改docker-compose.yml文件来满足你的具体需求。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)