lnp_ml/SERVER_DEPLOY.md

60 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# GPU 服务器测试与部署
这个代码包不包含大模型权重。解压后,请先在项目根目录放好以下运行时文件:
```text
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. 服务器预检
```bash
nvidia-smi
docker compose -f docker-compose-gpu.yml config
bash server_gpu_test.sh preflight
```
## 2. 构建并启动测试服务
```bash
LLM_INFERENCE_BATCH_SIZE=4 bash server_gpu_test.sh start
```
对 24GB 显卡可将微批设为 `2`;48GB/80GB 显卡通常可使用 `4`。这个参数只控制 Qwen 内部微批,不会限制 API 一次提交的条数。
## 3. 单条与 32 条 LLM 冒烟测试
```bash
bash server_gpu_test.sh smoke
```
另开一个终端观察峰值:
```bash
watch -n 0.5 nvidia-smi
```
预期:两个请求都返回 HTTP 200,日志中出现 `LLM inference micro-batching`,32 条请求不再把 32 条同时送入 Qwen。
## 4. 确认后上线
如果当前机器就是正式机,`start` 启动的已是 Compose 中的正式服务。检查:
```bash
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`。