GPT Server 文档

目录

GPT Server是一个用于生产级部署LLMsEmbeddingRerankerASRTTS文生图图片编辑文生视频的开源框架。

项目地址https://github.com/shell-nlp/gpt_server

配置文件的详细说明(后续持续完善)

openai_api_server配置

yaml 复制代码
serve_args:
	enable: true 
	host: 0.0.0.0
	port: 8082
	controller_address: http://localhost:21001
  • 功能:OpenAI API服务的主入口配置
  • 参数说明:
    • enable:服务开关(true/false)
    • host:监听地址
    • port:服务暴露端口
    • controller_address:下游控制器服务地址
    • api_keys:用来设置 openai 密钥

控制器(controller)配置

yaml 复制代码
controller_args:
	enable: true 
	host: 0.0.0.0
	port: 21001
	dispatch_method: shortest_queue
  • 核心功能:请求调度中心
  • 参数说明:
    • enable:服务开关(true/false)
    • host:监听地址
    • port:服务暴露端口
    • dispatch_method:支持两种策略:
      • lottery:随机分配
      • shortest_queue(推荐):选择负载最低的Worker
  • 设计建议:生产环境建议保持shortest_queue以实现负载均衡

模型(worker)配置

yaml 复制代码
model_worker_args:
	host: 0.0.0.0
	controller_address: http://localhost:21001
	log_level: WARNING
	limit_worker_concurrency: 1024
  • 参数说明:
    • host:监听地址
    • controller_address:下游控制器服务地址
    • log_level:日志级别(DEBUG/INFO/WARNING/ERROR)
    • limit_worker_concurrency:单个Worker最大并发请求数
  • 端口说明:Worker端口由系统自动分配并注册到控制器

模型配置

大语言模型 示例:Qwen
yaml 复制代码
models:
- qwen: # 模型的自定义名称
	alias: gpt-4,gpt-3.5-turbo,gpt-3.5-turbo-16k # 模型的别名
	enable: false  # 模型开关(true/false)
	model_config:
	  model_name_or_path: /home/dev/model/qwen/Qwen2___5-7B-Instruct/ # 模型的路径
	  max_model_len: 65536 
	  gpu_memory_utilization: 0.8
	  enable_prefix_caching: true 
	  dtype: auto # 类型
	  kv_cache_quant_policy: 0
	  lora:  # lora 模型的路径
      	test_lora: /home/dev/project/LLaMA-Factory/saves/Qwen1.5-14B-Chat/lora/train_2024-03-22-09-01-32/checkpoint-100
	  
	model_type: qwen
	work_mode: lmdeploy-turbomind 
	device: gpu
	port: 8084  # 手动指定worker端口
	workers:
	  - gpus:
	  	- 1
  • 参数说明:
    • alias:模型的别名,用逗号分隔。例如 gpt4,gpt3,可以在不修改模型名称的情况下,使用替换为其它模型

    • enable:模型开关(true/false)

    • model_config:模型参数配置

      • model_name_or_path:模型的路径
      • max_model_len:模型最大token 长度
      • gpu_memory_utilization:显存的占用率,提前为模型的KV Cache占用显存的百分比
      • enable_prefix_caching:是否启用前缀缓存(true/false)
      • kv_cache_quant_policyKV Cache 的量化策略,0 表示不量化
      • lora:lora模型的路径,其值 key 为 lora 模型的命名,value 为 lora 的路径
    • model_type:模型类型,

    • work_mode:工作模式,即推理后端,现支持的类型有: [vllm,sglang, lmdeploy-turbomind, lmdeploy-pytorch,hf ]

    • device:设备类型,暂时只支持 gpu

    • port:可手动指定worker端口,不设置表示自动获取。

    • workers:这里控制每个模型使用的gpu编号,以及启动几份模型。(worker的含义就是一个进程,每个进程负责启动一个模型服务)

workers样例:

  • 启动一份该模型,该模型使用编号为12gpu ,同时也启动了张量并行TP=2
yaml 复制代码
workers:
    - gpus:
    	- 1
    	- 2
  • 启动两份该模型,模型副本1加载到 gpu 1, 模型副本2 加载到 gpu2 ,相当于 数据并行 DP=2
yaml 复制代码
 workers:
     - gpus:
     	- 1
     - gpus:
     	- 2
Embedding模型 示例:Conan-embedding-v1
yaml 复制代码
models:
- Conan-embedding-v1:
    alias: text-embedding-ada-002
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/TencentBAC/Conan-embedding-v1/
      task_type: auto # auto 、embedding 、 reranker 或者 classify 不设置这个参数,默认为 auto,自动识别可能会识别错误
    model_type: embedding
    work_mode: infinity
    device: gpu
    workers:
    - gpus:
      - 4
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):
    • model_config:模型参数配置
      • task_type:该模型的任务类型,包括:autoembeddingreranker 或者 classify, 默认为 auto,自动识别可能会识别错误
    • model_type:模型类型,仅支持 embedding
    • work_mode:工作模式,即推理后端,现支持的类型有: [vllm, infinity, sentence_transformers],但并不是所有后端都支持
TTS文本转语音模型 示例: Spark-TTS
yaml 复制代码
- tts:
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/SparkAudio/Spark-TTS-0___5B/
    model_type: spark_tts
    work_mode: vllm
    device: gpu
    workers:
    - gpus:
      - 6
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):

    • model_type:模型类型,仅支持 spark_tts
    • work_mode:工作模式,即推理后端,现支持的类型有: [vllm, sglang, torch]
T2I 文生图模型示例: flux
yaml 复制代码
- flux:
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/MusePublic/489_ckpt_FLUX_1/
    model_type: flux
    work_mode: hf # 不使用这个参数,所以随便填都可以
    device: gpu
    workers:
    - gpus:
      - 7
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):

    • model_type:模型类型,仅支持 flux
IE 图片编辑模型 示例: Qwen-Image-Edit
yaml 复制代码
- image-edit: 
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/Qwen/Qwen-Image-Edit/
    model_type: qwen_image_edit
    work_mode: hf # 不使用这个参数,所以随便填都可以
    device: gpu
    workers:
    - gpus:
      - 7
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):

    • model_type:模型类型,仅支持 qwen_image_edit
ASE 语音转文字模型 示例: SenseVoiceSmall
yaml 复制代码
- SenseVoiceSmall:
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/iic/SenseVoiceSmall 
      # VAD模型,可以不设置
      vad_model: /home/dev/model/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch/
 
    model_type: funasr # 类型只能是 funasr
    work_mode: hf # 不使用这个参数,所以随便填都可以
    device: gpu
    workers:
    - gpus:
      - 2
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):
    • model_config:模型参数配置

      • vad_model: VAD模型
    • model_type:模型类型,仅支持 funasr

相关推荐
机器之心4 小时前
苹果发布会:耳机测心率、手表听音乐、iPhone Air超级薄
人工智能·openai
万少14 小时前
一手实测,文心x1.1的升级很惊喜啊
百度·openai·文心一言
GitLqr17 小时前
AI洞察 | 新一代 Agent 框架与 3D 桌面伴侣智能体
agent·ai编程·mcp
大模型教程17 小时前
12天带你速通大模型基础应用(一)Prompt提示词工程
程序员·llm·agent
新智元17 小时前
不到 10 天,国产「香蕉」突袭!一次 7 图逼真还原,合成大法惊呆歪果仁
人工智能·openai
新智元19 小时前
学哲学没出路?不好意思,现在哲学就业碾压 CS!
人工智能·openai
机器之心19 小时前
DPad: 扩散大语言模型的中庸之道,杜克大学陈怡然团队免训推理加速61倍
人工智能·openai
coder_pig19 小时前
👦抠腚男孩的AI学习之旅 | 6、玩转 LangChain (二)
langchain·aigc·agent
算家计算19 小时前
OpenAI百亿美元造芯计划曝光,算力争夺战进入新阶段?
人工智能·openai·资讯