lnp_ml/SERVER_DEPLOY.md

1.8 KiB
Raw Blame History

GPU 服务器测试与部署

这个代码包不包含大模型权重。解压后,请先在项目根目录放好以下运行时文件:

models/final/model.pt
models/mpnn/all_amine_split_for_LiON/cv_0/fold_0/model_0/model.pt
models/mpnn/all_amine_split_for_LiON/cv_1/fold_0/model_0/model.pt
models/mpnn/all_amine_split_for_LiON/cv_2/fold_0/model_0/model.pt
models/mpnn/all_amine_split_for_LiON/cv_3/fold_0/model_0/model.pt
models/mpnn/all_amine_split_for_LiON/cv_4/fold_0/model_0/model.pt
models/qwen2.5-7b-instruct/config.json
models/qwen2.5-7b-instruct/                 # 其余 tokenizer/权重文件
data/interim/internal.csv

.pt 必须是真实二进制权重,不能是 100 多字节的 Git LFS pointer。

1. 服务器预检

nvidia-smi
docker compose -f docker-compose-gpu.yml config
bash server_gpu_test.sh preflight

2. 构建并启动测试服务

LLM_INFERENCE_BATCH_SIZE=4 bash server_gpu_test.sh start

对 24GB 显卡可将微批设为 2;48GB/80GB 显卡通常可使用 4。这个参数只控制 Qwen 内部微批,不会限制 API 一次提交的条数。

3. 单条与 32 条 LLM 冒烟测试

bash server_gpu_test.sh smoke

另开一个终端观察峰值:

watch -n 0.5 nvidia-smi

预期:两个请求都返回 HTTP 200,日志中出现 LLM inference micro-batching,32 条请求不再把 32 条同时送入 Qwen。

4. 确认后上线

如果当前机器就是正式机,start 启动的已是 Compose 中的正式服务。检查:

docker compose -f docker-compose-gpu.yml ps
docker compose -f docker-compose-gpu.yml logs --tail=200 api
curl -fsS http://127.0.0.1:18000/

回滚时保留旧代码目录,然后在旧目录里重新执行 docker compose up -d --build。