# 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`。