ColossalAI 如何用 Energon-AI 镜像在 Docker 中启动分布式 OPT 推理 HTTP 服务? 📅 发布时间:2026/9/10 17:20:09 👁 浏览次数: ColossalAI 如何用 Energon-AI 镜像在 Docker 中启动分布式 OPT 推理 HTTP 服务【免费下载链接】ColossalAIMaking large AI models cheaper, faster and more accessible项目地址: https://gitcode.com/GitHub_Trending/co/ColossalAI这篇教程面向想在带 GPU 的机器上快速部署一个大模型推理接口的开发者。任务是用 ColossalAI 的推理子系统 Energon-AI 提供的预构建 Docker 镜像把 OPT-125M 模型跑起来并对外暴露一个基于 FastAPI 的 HTTP 生成服务。完成后你可以在浏览器里直接访问服务文档页并发送请求。完整文档见 英文教程 与 中文教程。先准备什么启动这个服务需要三样东西文档给出的前置步骤如下下载 OPT 模型检查点。为快速验证文档建议使用 OPT-125M其restored.pt检查点从 Hugging Face 下载教程文档中给出了直链地址加载其他体量的 OPT 模型时参考 EnergonAI 仓库examples/opt/script下的说明链接见上述教程文档。准备服务镜像。Energon-AI 是构建在 Colossal-AI 之上的服务系统提供张量并行与流水线并行的分布式推理、引擎封装通过 RPC 把多设备执行包装成单设备执行以及基于 FastAPI 的在线服务层。预构建镜像已经安装好 ColossalAI 推理组件从 Docker Hub 拉取即可docker pull hpcaitech/energon-ai:latest准备服务配置。服务入口是 bash 脚本server.shHTTP 服务的具体行为模型类型、检查点路径、并行策略、HTTP 设置由opt_config.py描述。这两个文件来自 EnergonAI 仓库提供的 OPT 示例教程文档给出了示例目录链接你需要在本地准备一个包含它们的配置目录其中必须包含server.sh作为服务入口。修改 opt_config.py在配置目录中的opt_config.py里按你的实际情况改三处模型类使用 OPT-125M 时设为model_class opt_125M检查点路径checkpoint your_file_path替换为你本地下载的 OPT 检查点文件路径文档中的占位符your_file_path就是要求你替换成真实路径张量并行度tp_init_size #gpu文档要求把它设成与 GPU 数量相同。用 Docker 启动 HTTP 服务把检查点目录和配置目录分别挂载进容器的/model_checkpoint和/config然后启动。文档给出的命令如下export CHECKPOINT_DIRyour_opt_checkpoint_path # the ${CONFIG_DIR} must contain a server.sh file as the entry of service export CONFIG_DIRconfig_file_path docker run --gpus all --rm -it -p 8020:8020 -v ${CHECKPOINT_DIR}:/model_checkpoint -v ${CONFIG_DIR}:/config --ipchost energonai:latest其中CHECKPOINT_DIR替换为你的 OPT 检查点所在路径CONFIG_DIR替换为包含server.sh与opt_config.py的目录--gpus all表示使用全部 GPU-p 8020:8020把容器的服务端口映射到宿主机 8020--rm会在容器退出后自动删除该容器。这里需要提醒一处文档自身的写法差异拉取镜像用的名称是hpcaitech/energon-ai:latest而docker run命令里写的是energonai:latest。两条命令均按原文保留实际执行前请以你本地docker images中实际存在的镜像名为准。验证服务是否启动文档给出的验证方式是在浏览器中打开https://[IP-ADDRESS]:8020/docs#把[IP-ADDRESS]换成运行容器的机器 IP。该页面是 FastAPI 自动生成的接口文档页可以在此直接发起生成请求并查看返回页面能打开并完成一次请求即可确认服务可用。可选批处理与缓存优化教程还在同一配置文件中给出两项性能参数均按需修改不属于最小启动路径批处理优化设置executor_max_batch_size为最大批处理大小例如executor_max_batch_size 16文档说明所有查询进入 FIFO 队列只有解码步数不超过队头、且 top_k、top_p、temperature 完全相同的 decoder 任务才会被合批left padding 用于保证正确性。批大小不宜过大以免增加延迟——文档给出的参考取值是 opt-30b 用executor_max_batch_size16opt-175b 用executor_max_batch_size4。缓存优化每个独立服务进程可以缓存最近的查询结果设置cache_size缓存的查询数与cache_list_size每个查询保存的结果数命中时随机返回一个缓存满时按 LRU 淘汰cache_size0表示关闭缓存。文档示例cache_size 50 cache_list_size 2适用边界本文覆盖的是单机多 GPU 的张量并行推理tp_init_size等于 GPU 数教程文档未包含多节点部署的配置说明。加载其他体量 OPT 模型的具体方式需参考 EnergonAI 仓库examples/opt/script下的脚本不在本文展开。服务行为端口、并行度、批处理与缓存都集中在opt_config.py中调整改完配置后重新执行 docker run 命令即可。【免费下载链接】ColossalAIMaking large AI models cheaper, faster and more accessible项目地址: https://gitcode.com/GitHub_Trending/co/ColossalAI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考