【自然語言處理與大模型】vLLM部署本地大模型②

?????????舉例上一篇文章已經過去了幾個月,大模型領域風云變幻,之前的vLLM安裝稍有過時,這里補充一個快速安裝教程:? ? ? ?

# 第一步:創建虛擬環境并激活進入
conda create -n vllm-0.8.4 python=3.10 -y
conda activate vllm-0.8.4# 第二步:通過pip安裝指定版本的vllm
pip install vllm==0.8.4

????????通過上面這種方式,只要你是使用vLLM0.8.4版本,就無須考慮cuda的安裝和pytorch的安裝,?pip會幫你一鍵搞定,不用像我上一篇文章中那么費力了。

????????然后再開啟本文內容。在之前的vLLM文章中我介紹了最簡單快速的OpenAI風格的api server部署。這篇文章繼續介紹vLLM框架的兩個常用推理功能,它們分別是:分布式部署和在線量化推理

若友友們忘記了之前內容可以看這里:vllm部署本地大模型①https://blog.csdn.net/qq_39780701/article/details/144571846

一、分布式部署

? ? ? ? 顧名思義,將一個模型放在多張顯卡上面,這樣做的目的是為了能夠加載更大參數的模型。vLLM實現起來非常簡單,不賣關子了,直接給出CLI命令:

  • 單機單卡(無分布式):如果您的模型規模適中,能夠完全加載到一個GPU上,那么無需采用分布式推理方案。此時,僅需利用單一GPU執行推理任務即可滿足需求。

# 舉例:單機單卡
vllm serve 模型路徑
  • 單機多卡(張量并行):當模型規模超出單個GPU的容量,但可以在配備多個GPU的單一服務器內全部加載時,可以采取張量并行的方法進行推理。這里所說的張量并行度即代表您計劃使用的GPU數量。例如,在擁有2個GPU的單一節點環境下,您可以將張量并行度設置為2,以充分利用這些資源。

# 舉例:單機雙卡
vllm serve 模型路徑 --tensor-parallel-size 2
vllm單機多卡serve后臺日志
vllm單機多卡顯存占用

?

【注】其實就是設置 tensor-paralled-size 參數。這里可以和lmdeploy對比記憶,它是設置 tp 參數。 還有一個和lmdeploy框架一樣的地方,vllm推理框架也會在一開始就向系統申請大約90%的顯存空間。哪怕是你做了量化,顯存占用依舊是90%,這并不意味著量化無效。

  • 多節點多 GPU(張量并行 + 流水線并行):對于那些龐大到連單個節點也無法承載的模型,可以結合使用張量并行與流水線并行來實現跨節點的分布式推理。在這種情況下,張量并行度表示每個節點中參與運算的GPU數目,而流水線并行度則對應于參與計算的節點數。舉例來說,若您在2個節點中共有8個GPU(每個節點4個),則可將張量并行度設為4,并將流水線并行度設定為2,以此最大化資源利用率和處理效率。

# 舉例:雙機八卡 
vllm serve gpt2 \--tensor-parallel-size 4 \--pipeline-parallel-size 2

【注】流水線并行其實就是設置 pipeline-parallel-size 參數。我這里沒有環境去測試,具體的操作希望大家可以參考官方文檔去實踐,我就不誤人子弟了,鏈接在這里:分布式推理與服務

二、在線量化推理

????????vLLM 也引入了 KV-Cache 量化技術,通過將 KV 緩存量化為 FP8 格式以減少內存占用。這種優化不僅增加了緩存中可存儲的 token 數量,還進一步提升了系統的吞吐能力。具體來說,vLLM 的 FP8 KV 緩存實現主要是通過大約翻倍的 KV 緩存分配空間來增強吞吐量。這樣的改進使(面試題:在線量化推理的作用是什么?):

  • 能夠處理具有更長上下文長度的單個請求
  • 能夠同時處理更多的并發請求批次

廢話少說上命令吧,更多的參數值見下表:

vllm serve 模型絕對路徑 --kv_cache_dtype fp8
kv_cache_dtype?參數值描述支持條件
"auto"使用模型的默認“未量化”數據類型,不進行額外的量化處理無特殊要求
"fp8"?或?"fp8_e4m3"使用 FP8 格式(E4M3 版本)存儲 KV 緩存,減少內存占用并提升性能CUDA 11.8+ 或 ROCm(AMD GPU)
"fp8_e5m2"使用 FP8 格式(E5M2 版本)存儲 KV 緩存,適合更高精度需求的場景CUDA 11.8+
未開啟KV-Cache時后臺日志

?

開啟KV-Cache時后臺日志

?【注】為了防止混淆,我們回憶一下lmdeploy的kv-cache參數 “--quant-policy”

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

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

相關文章

26 Arcgis軟件常用工具有哪些

一、畫圖改圖工具(矢量編輯)? ?挪位置工具(移動工具)? 干哈的??選中要素?(比如地塊、道路)直接拖到新位置,或者用坐標?X/Y偏移?批量移動,適合“整體搬家”。 ?磁…

QNX/LINUX/Android系統動態配置動態庫.so文件日志打印級別的方法

背景 通常我們會在量產的產品上,配置軟件僅打印少量日志,以提升產品的運行性能。同時我們要考慮預留方法讓軟件能夠擁有能力可以在燒錄版本后能夠通過修改默寫配置,打印更多日志。因為量產后的軟件通常開啟熔斷與加密,不能夠輕松…

WebGL圖形編程實戰【4】:光影交織 × 逐片元光照與渲染技巧

現實世界中的物體被光線照射時,會反射一部分光。只有當反射光線進人你的眼睛時,你才能夠看到物體并辯認出它的顏色。 光源類型 平行光(Directional Light):光線是相互平行的,平行光具有方向。平行光可以看…

【Hive入門】Hive基礎操作與SQL語法:DDL操作全面指南

目錄 1 Hive DDL操作概述 2 數據庫操作全流程 2.1 創建數據庫 2.2 查看數據庫 2.3 使用數據庫 2.4 修改數據庫 2.5 刪除數據庫 3 表操作全流程 3.1 創建表 3.2 查看表信息 3.3 修改表 3.4 刪除表 4 分區與分桶操作 4.1 分區操作流程 4.2 分桶操作 5 最佳實踐與…

YOLO數據處理

YOLO(You Only Look Once)的數據處理流程是為了解決目標檢測領域的核心挑戰,核心目標是為模型訓練和推理提供高效、規范化的數據輸入。其設計方法系統性地解決了以下關鍵問題,并對應發展了成熟的技術方案: 一、解決的問…

Ubuntu-Linux中vi / vim編輯文件,保存并退出

1.打開文件 vi / vim 文件名(例: vim word.txt )。 若權限不夠,則在前方添加 sudo (例:sudo vim word.txt )來增加權限; 2.進入文件,按 i 鍵進入編輯模式。 3.編輯結…

PCL繪制點云+法線

讀取的點云ASCII碼文件&#xff0c;每行6個數據&#xff0c;3維坐標3維法向 #include <iostream> #include <fstream> #include <vector> #include <string> #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pc…

如何在學習通快速輸入答案(網頁版),其他學習平臺通用,手機上快速粘貼

目錄 1、網頁版&#xff08;全平臺通用&#xff09; 2、手機版&#xff08;學習通&#xff0c;其他平臺有可能使用&#xff09; 1、網頁版&#xff08;全平臺通用&#xff09; 1、首先CtrlC復制好答案 2、在學習通的作業里輸入1 3、對準1&#xff0c;然后鼠標右鍵 &#xff…

002 六自由度舵機機械臂——姿態解算理論

00 DH模型的核心概念 【全程干貨【六軸機械臂正逆解計算及仿真示例】】 如何實現機械臂的逆解計算-機器譜-robotway DH模型是機器人運動學建模的基礎方法&#xff0c;通過??四個參數??描述相鄰關節坐標系之間的變換關系。其核心思想是將復雜的空間位姿轉換分解為繞軸旋轉…

pymongo功能整理與基礎操作類

以下是 Python 與 PyMongo 的完整功能整理&#xff0c;涵蓋基礎操作、高級功能、性能優化及常見應用場景&#xff1a; 1. 安裝與連接 (1) 安裝 PyMongo pip install pymongo(2) 連接 MongoDB from pymongo import MongoClient# 基礎連接&#xff08;默認本地&#xff0c;端口…

Trae+DeepSeek學習Python開發MVC框架程序筆記(四):使用sqlite存儲查詢并驗證用戶名和密碼

繼續通過Trae向DeepSeek發問并修改程序&#xff0c;實現程序運行時生成數據庫&#xff0c;用戶在系統登錄頁面輸入用戶名和密碼后&#xff0c;控制器通過模型查詢用戶數據庫表來驗證用戶名和密碼&#xff0c;驗證通過后顯示登錄成功頁面&#xff0c;驗證失敗則顯示登錄失敗頁面…

如何識別金融欺詐行為并進行分析預警

金融行業以其高效便捷的服務深刻改變了人們的生活方式。然而,伴隨技術進步而來的,是金融欺詐行為的日益猖獗。從信用卡盜刷到復雜的龐氏騙局,再到網絡釣魚和洗錢活動,金融欺詐的形式層出不窮,其規模和影響也在不斷擴大。根據全球反欺詐組織(ACFE)的最新報告,僅2022年,…

紛析云:開源財務管理軟件的創新與價值

在企業數字化轉型中&#xff0c;紛析云作為一款優秀的開源財務管理軟件&#xff0c;正為企業財務管理帶來新變革&#xff0c;以下是其核心要點。 一、產品概述與技術架構 紛析云采用微服務架構&#xff0c;功能組件高內聚低耦合&#xff0c;可靈活擴展和定制。前端基于現代框…

蛋白質大語言模型ESM介紹

ESM(Evolutionary Scale Modeling)是 Meta AI Research 團隊開發的一系列用于蛋白質的預訓練語言模型。這些模型在蛋白質結構預測、功能預測和蛋白質設計等領域展現出了強大的能力。以下是對 ESM 的詳細介紹: 核心特點 大規模預訓練:基于大規模蛋白質序列數據進行無監督學…

OpenCv高階(七)——圖像拼接

目錄 一、圖像拼接的原理過程 1. 特征檢測與描述&#xff08;Feature Detection & Description&#xff09; 2. 特征匹配&#xff08;Feature Matching&#xff09; 3. 圖像配準&#xff08;Image Registration&#xff09; 4. 圖像變換與投影&#xff08;Warping&…

Native層Trace監控性能

一、基礎實現方法 1.1 頭文件引用 #include <utils/Trace.h> // 基礎版本 #include <cutils/trace.h> // 兼容舊版本1.2 核心宏定義 // 區間追蹤&#xff08;推薦&#xff09; ATRACE_BEGIN("TraceTag"); ...被監控代碼... ATRACE_END();// 函數級自…

金融行業微服務架構設計與挑戰 - Java架構師面試實戰

金融行業微服務架構設計與挑戰 - Java架構師面試實戰 本文通過模擬一位擁有十年Java研發經驗的資深架構師馬架構與面試官之間的對話&#xff0c;深入探討了金融行業項目在微服務架構下的技術挑戰與解決方案。 第一輪提問 面試官&#xff1a; 馬架構&#xff0c;請介紹一下您…

服務器虛擬化:技術解析與實踐指南

在信息技術飛速發展的今天,企業對服務器資源的需求日益增長,傳統物理服務器存在資源利用率低、部署周期長、管理成本高等問題。服務器虛擬化技術應運而生,它通過將物理服務器的計算、存儲、網絡等資源進行抽象和整合,劃分成多個相互隔離的虛擬服務器,從而提高資源利用率、…

OpenCV 圖形API(54)顏色空間轉換-----將圖像從 RGB 色彩空間轉換到 HSV色彩空間RGB2HSV()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 將圖像從 RGB 色彩空間轉換為 HSV。該函數將輸入圖像從 RGB 色彩空間轉換到 HSV。R、G 和 B 通道值的常規范圍是 0 到 255。 輸出圖像必須是 8 位…

Spring Boot的優點:賦能現代Java開發的利器

Spring Boot 是基于 Spring 框架的快速開發框架&#xff0c;自 2014 年發布以來&#xff0c;憑借其簡潔性、靈活性和強大的生態系統&#xff0c;成為 Java 后端開發的首選工具。尤其在 2025 年&#xff0c;隨著微服務、云原生和 DevOps 的普及&#xff0c;Spring Boot 的優勢更…