GPT Server 文檔

目錄

    • 配置文件的詳細說明(后續持續完善)
      • openai_api_server配置
      • 控制器(controller)配置
      • 模型(worker)配置
      • 模型配置
        • 大語言模型 示例:Qwen
        • Embedding模型 示例:Conan-embedding-v1
        • TTS文本轉語音模型 示例: Spark-TTS
        • T2I 文生圖模型示例: flux
        • IE 圖片編輯模型 示例: Qwen-Image-Edit
        • ASE 語音轉文字模型 示例: SenseVoiceSmall

GPT Server是一個用于生產級部署LLMsEmbeddingRerankerASRTTS文生圖圖片編輯文生視頻的開源框架。

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

配置文件的詳細說明(后續持續完善)

openai_api_server配置

serve_args:enable: true host: 0.0.0.0port: 8082controller_address: http://localhost:21001
  • 功能:OpenAI API服務的主入口配置
  • 參數說明:
    • enable:服務開關(true/false)
    • host:監聽地址
    • port:服務暴露端口
    • controller_address:下游控制器服務地址
    • api_keys:用來設置 openai 密鑰

控制器(controller)配置

controller_args:enable: true host: 0.0.0.0port: 21001dispatch_method: shortest_queue
  • 核心功能:請求調度中心
  • 參數說明:
    • enable:服務開關(true/false)
    • host:監聽地址
    • port:服務暴露端口
    • dispatch_method:支持兩種策略:
      • lottery:隨機分配
      • shortest_queue(推薦):選擇負載最低的Worker
  • 設計建議:生產環境建議保持shortest_queue以實現負載均衡

模型(worker)配置

model_worker_args:host: 0.0.0.0controller_address: http://localhost:21001log_level: WARNINGlimit_worker_concurrency: 1024
  • 參數說明:
    • host:監聽地址
    • controller_address:下游控制器服務地址
    • log_level:日志級別(DEBUG/INFO/WARNING/ERROR)
    • limit_worker_concurrency:單個Worker最大并發請求數
  • 端口說明:Worker端口由系統自動分配并注冊到控制器

模型配置

大語言模型 示例:Qwen
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.8enable_prefix_caching: true dtype: auto # 類型kv_cache_quant_policy: 0lora:  # lora 模型的路徑test_lora: /home/dev/project/LLaMA-Factory/saves/Qwen1.5-14B-Chat/lora/train_2024-03-22-09-01-32/checkpoint-100model_type: qwenwork_mode: lmdeploy-turbomind device: gpuport: 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
workers:- gpus:- 1- 2
  • 啟動兩份該模型,模型副本1加載到 gpu 1, 模型副本2 加載到 gpu2 ,相當于 數據并行 DP=2
 workers:- gpus:- 1- gpus:- 2
Embedding模型 示例:Conan-embedding-v1
models:
- Conan-embedding-v1:alias: text-embedding-ada-002enable: truemodel_config:model_name_or_path: /home/dev/model/TencentBAC/Conan-embedding-v1/task_type: auto # auto 、embedding 、 reranker 或者 classify 不設置這個參數,默認為 auto,自動識別可能會識別錯誤model_type: embeddingwork_mode: infinitydevice: gpuworkers:- gpus:- 4
  • 參數說明(大部分配置 同 大語言模型示例:Qwen ,重復不再描述 ):
    • model_config:模型參數配置
      • task_type:該模型的任務類型,包括:autoembeddingreranker 或者 classify, 默認為 auto,自動識別可能會識別錯誤
    • model_type:模型類型,僅支持 embedding
    • work_mode:工作模式,即推理后端,現支持的類型有: [vllm, infinity, sentence_transformers],但并不是所有后端都支持
TTS文本轉語音模型 示例: Spark-TTS
- tts:alias: nullenable: truemodel_config:model_name_or_path: /home/dev/model/SparkAudio/Spark-TTS-0___5B/model_type: spark_ttswork_mode: vllmdevice: gpuworkers:- gpus:- 6
  • 參數說明(大部分配置 同 大語言模型示例:Qwen ,重復不再描述 ):

    • model_type:模型類型,僅支持 spark_tts
    • work_mode:工作模式,即推理后端,現支持的類型有: [vllm, sglang, torch]
T2I 文生圖模型示例: flux
- flux:alias: nullenable: truemodel_config:model_name_or_path: /home/dev/model/MusePublic/489_ckpt_FLUX_1/model_type: fluxwork_mode: hf # 不使用這個參數,所以隨便填都可以device: gpuworkers:- gpus:- 7
  • 參數說明(大部分配置 同 大語言模型示例:Qwen ,重復不再描述 ):

    • model_type:模型類型,僅支持 flux
IE 圖片編輯模型 示例: Qwen-Image-Edit
- image-edit: alias: nullenable: truemodel_config:model_name_or_path: /home/dev/model/Qwen/Qwen-Image-Edit/model_type: qwen_image_editwork_mode: hf # 不使用這個參數,所以隨便填都可以device: gpuworkers:- gpus:- 7
  • 參數說明(大部分配置 同 大語言模型示例:Qwen ,重復不再描述 ):

    • model_type:模型類型,僅支持 qwen_image_edit
ASE 語音轉文字模型 示例: SenseVoiceSmall
- SenseVoiceSmall:alias: nullenable: truemodel_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 # 類型只能是 funasrwork_mode: hf # 不使用這個參數,所以隨便填都可以device: gpuworkers:- gpus:- 2
  • 參數說明(大部分配置 同 大語言模型示例:Qwen ,重復不再描述 ):
    • model_config:模型參數配置

      • vad_model: VAD模型
    • model_type:模型類型,僅支持 funasr

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921761.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921761.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921761.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

中國移動云電腦一體機-創維LB2004_瑞芯微RK3566_2G+32G_開啟ADB ROOT安卓固件-方法3

中國移動云電腦一體機-創維LB2004_瑞芯微RK3566_2G32G_開啟ADB ROOT安卓固件-方法3 聲明,這個安卓固件root一旦恢復出廠設置,會變回原樣,雖然root,但也無法自行操作。 建議按照:中國移動云電腦一體機-創維LB2004_瑞芯微…

設計模式(策略,觀察者,單例,工廠方法)

文章目錄1. 設計模式核心概念與C語言實現基礎2. 常用設計模式詳解模式一:策略模式(Strategy Pattern)模式二:觀察者模式(Observer Pattern)模式三:單例模式(Singleton Pattern&#…

terraform入門

一、概念 1、Terraform 的“基礎設施即代碼”是什么 基礎設施即代碼 (IaC) 工具允許您使用配置文件而非圖形用戶界面來管理基礎設施。通過定義可版本控制、可重用和可共享的資源配置,IaC 允許您以安全、一致且可重復的方式構建、更改和管理您的基礎設施。 Terraform…

ARM 體系結構與存儲器

一、RAM 分類SRAM (Static RAM)用 觸發器/晶體管 存儲 0/1。特點:速度快、功耗低(靜態保持),但成本高、容量小。應用:片上緩存、寄存器文件、單片機內存。DRAM (Dynamic RAM)用 電容充放電 存儲 0/1。特點:…

Jenkins運維之路(初識流水線)

1.初次使用流水線前面我們用自由風格的流水線進行了項目部署,但是自由風格的流水線只能應付一些簡單且項目規模不是很大的部署。為了讓流水線能夠靈活、通用、邏輯清晰且更加容易維護,現在一般企業都是采取使用了Pipeline的方式來對流水線進行構建&#…

【智能協同云圖庫】基于統一接口架構構建多維度分析功能、結合 ECharts 可視化與權限校驗實現用戶 / 管理員圖庫統計、通過 SQL 優化與流式處理提升數據

摘要:本節圍繞提升空間圖庫管理分析能力,先分用戶與管理員兩類梳理資源使用、分類、標簽等 6 大分析需求,再設計統一實現流程與接口方案,最后通過分層開發完成各需求后端功能,覆蓋權限校驗、數據處理與接口編寫。 本節…

HTML第八課:HTML4和HTML5的區別

HTML第八課&#xff1a;HTML4和HTML5的區別html4 與 html 5的區別快速學習平臺html4 與 html 5的區別 示例圖 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> &…

CS336——1. Overview

文章目錄1. CS336介紹2. 概覽2.1 為什么會有這門課程2.1.1 LLM的參數和訓練成本2.2.2 小語言模型和LLM的區別2.2 你可以學到什么&#xff1f;2.2.1 Intuitions2.2.2 The bitter lesson3. 全景圖(current landscape)/發展歷史4. 可執行的課件說明5. 課程設計6. 課程內容6. 1 bas…

ncnn-Android-mediapipe_hand 踩坑部署實錄

目錄 同時有 nanodet 和yolox,可以做到10fps 沒測試:yolox hand ncnn-Android-mediapipe_hand hand 關鍵點21個模型: ncnn版本: 跑通后,手部關鍵點集中在圖像左上角,經過排查,原因是ncnn版本不對。 CMakeLists.txt 同時有 nanodet 和yolox,可以做到10fps 無訓練…

OSPF實驗:外部路由引入

OSPF外部路由引入實驗目的&#xff1a;除了內部通信外&#xff0c;企業還需要與外部網絡進行通信&#xff0c;不同企業網絡之間存在互訪需求。假設A公司網絡部署OSPF協議實現內部通信&#xff0c;因業務發展&#xff0c;需要訪問B公司的一臺WEB服務器。網絡拓撲圖&#xff1a;公…

網絡上那些在線 PDF 轉換工具安全嗎?轉換 PDF 需要注意什么

PDF 格式憑借跨設備兼容、格式穩定的優勢&#xff0c;早已成為個人辦公、企業協作中不可或缺的文件格式。無論是壓縮 PDF 以滿足郵件附件大小限制&#xff0c;還是將 Word 文檔轉成 PDF 確保排版不變&#xff0c;我們總能遇到需要 PDF 工具的場景。也正因如此&#xff0c;網上涌…

生成對抗網絡(GAN)

目錄 1 引言 2 生成對抗網絡的基本原理 2.1 生成器與判別器 2.2 對抗訓練過程 2.3 與傳統生成模型的比較 3 GAN的衍生模型 3.1 架構創新與深度卷積GAN 3.2 損失函數優化與Wasserstein GAN 3.3 條件生成與可控合成 3.4 跨域轉換與CycleGAN 3.5 高分辨率生成與規模化演…

Vue 3.6 Alien Signals:讓響應式性能飛躍式提升

概述 Vue 3.6 引入了革命性的 Alien Signals 技術&#xff0c;這是一種全新的響應式系統&#xff0c;基于細粒度響應式原理&#xff0c;為 Vue 應用帶來了前所未有的性能提升和開發體驗優化。 什么是 Alien Signals&#xff1f; Alien Signals 是 Vue 3.6 內置的輕量級響應式…

React Hooks 報錯?一招解決useState問題

文章目錄問題分析問題 在使用import { useState } from "react";時報錯&#xff1a;Youre importing a component that needs useState. This React Hook only works in a Client Component. To fix, mark the file (or its parent) with the “use client” direct…

數據集成平臺怎么選?從ETL到CDC再到iPaaS的全景對比

前言&#xff1a;一個制造企業的真實困境 近期在為某家制造企業做系統改造時&#xff0c;我們遇到了一個典型的數據集成難題。這家企業運營著獨立的ERP、CRM和MES等30業務系統&#xff0c;看似完備的信息化基礎卻存在嚴重的數據割裂問題。 銷售團隊在CRM中查看的庫存數據總是滯…

驅動開發系列72 - GLSL編譯器實現 - 指令選擇(二)

前面介紹過,在指令選擇時會執行一系列優化過程,本節介紹下“比特級常量傳播優化”的實現。 一:什么是比特級常量傳播優化 舉一個GLSL語言例子: #version 450layout(location = 0) in vec4 inColor; layout(location = 0) out vec4 outColor;void main() {vec4 tmp = inCo…

Redis(緩存)

一 什么是緩存1. 生活上的例子比如有一個行李箱和一個手機&#xff0c;每次把手機放到行李箱在拿出來肯定很麻煩&#xff0c;如果放到褲兜里就會方便很多&#xff0c;所以褲兜算作行李箱的一個緩存&#xff0c;不僅僅是褲兜&#xff0c;甚至可以一直拿在手上等其他有存儲介質的…

openssl簡介

一、openssl是什么 OpenSSL是一個開源的、功能強大的軟件庫和工具包,它實現了傳輸層安全(TLS) 和安全套接層(SSL) 協議以及一個全面的密碼學原語庫。它是用 C 語言編寫的,為其帶來了高性能和跨平臺的特性。 作為庫(Library):開發者可以將其代碼集成到自己的應用程序(…

左值引用與右值引用

左值和右值 左值&#xff08;lvalue&#xff09;&#xff1a;在表達式結束后仍然存在&#xff0c;可以取地址。簡單理解&#xff1a;有名字、有存儲位置。 比如變量、數組元素、對象等。 右值&#xff08;rvalue&#xff09;&#xff1a;臨時值&#xff0c;表達式結束后就消失&…