Ollama如何分别使用2张H100GPU和4张A100部署GPT-OSS-120B全指南:硬件配置与负载均衡实战 - 实践

单台H100即可运行120B大模型,但高效利用多卡需解决负载分配与并发控制

在大模型推理场景中,如何高效利用多GPU资源运行超大规模模型(如GPT-OSS-120B)是开发者面临的核心挑战。本文以Ollama为框架,深入解析多GPU部署的完整方案,涵盖硬件选型多实例隔离部署负载均衡配置性能优化技巧


一、硬件配置要求与建议

GPT-OSS-120B作为高推理能力模型,其部署需谨慎规划硬件资源:

  1. GPU选型基准

    • 最低配置:单卡需80GB显存(如H100/H200)
    • 推荐配置:多卡统一架构(如4×A100 80G或2×H100),避免混合不同显存容量的GPU
    • 显存带宽建议 > 2 TB/s(H100的带宽为3.35TB/s)
  2. 异构环境警告
    Ollama当前版本(2025年8月)不支持按比例分配异构GPU显存。若使用不同规格GPU(如A100 40G + A100 80G),系统将平等对待所有设备,可能导致小显存卡OOM。


二、多GPU部署核心方案

方案1:多实例硬分配(生产环境推荐)

通过启动多个Ollama实例绑定指定GPU,实现物理隔离:

# 实例1绑定GPU0-1(大模型专用)
CUDA_VISIBLE_DEVICES=0,1 ollama serve --port 11435
# 实例2绑定GPU2-3(小模型/任务隔离)
CUDA_VISIBLE_DEVICES=2,3 ollama serve --port 11436

优势:资源强隔离,避免大模型挤占小任务资源
适用场景

  • GPT-OSS-120B需跨2卡运行
  • 同时部署120B与20B模型
  • 高优先级任务需独占资源
方案2:自动负载均衡(开发环境适用)

通过环境变量开启全局调度:

# 修改systemd配置
Environment="CUDA_VISIBLE_DEVICES=0,1,2,3"
Environment="OLLAMA_SCHED_SPREAD=1" # 强制跨卡均衡
Environment="OLLAMA_KEEP_ALIVE=-1" # 模型常驻内存

效果验证
执行nvidia-smi应显示所有GPU均参与计算,显存占用均衡分布


三、负载均衡层实现

Nginx反向代理配置

通过上游集群管理多实例,实现请求分发:

upstream ollama_cluster {
least_conn;                # 最小连接数策略
server localhost:11435 max_conns=8;
server localhost:11436 max_conns=8;
}
server {
listen 11434;
location / {
proxy_pass http://ollama_cluster;
}
}

关键参数

  • max_conns:限制单实例并发,防止过载
  • least_conn:优先选择负载最低的实例
高级路由策略(模型级分发)

使用LiteLLM实现请求到指定实例的路由:

model_mapping:
- model_name: gpt-oss-120b
api_base: http://localhost:11435 # 指向大模型实例
- model_name: gpt
posted @ 2025-08-16 12:23  yjbjingcha  阅读(202)  评论(0)    收藏  举报