成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用多Lora節省大模型部署成本

人工智能
近期,我們在大模型集群的部署過程中遇到了一些挑戰。公司有多個業務場景,每個場景都基于自身的數據進行微調,訓練出相應的大模型并上線。然而,這些場景的調用量并不高,同時大模型的部署成本較為昂貴,這造成了資源的浪費。

如何把多個大模型合并部署以節省成本呢?本文將深入探討這一技術與應用場景,利用多Lora合并部署大模型。

一、背景

近期,我們在大模型集群的部署過程中遇到了一些挑戰。公司有多個業務場景,每個場景都基于自身的數據進行微調,訓練出相應的大模型并上線。然而,這些場景的調用量并不高,同時大模型的部署成本較為昂貴,這造成了資源的浪費。

本文將介紹我們如何利用多Lora技術,將多個場景合并部署,從而有效解決這一問題。同時,我們也將探討大模型訓練與推理過程中Lora技術的應用。

二、Lora是什么

Lora的概念

如果你去網上搜索"Lora"這個關鍵字,你一定會搜到下面這篇論文。

圖片圖片

這就是Lora這個詞出處。這一概念是由著名人工智能研究員Edward J. Hu于2021年提出的。Lora完整名稱是低秩自適應(Low-Rank Adaptation)。雖然這個名稱比較復雜,但其核心概念卻相對容易理解。

以GPT3為例,該模型擁有1750億個參數。為了使大模型適應特定的業務場景,我們通常需要對其進行微調。如果對大模型進行全參數微調,因其參數數量龐大,成本將非常高。Lora技術的解決方案是,僅對不到2%的參數進行微調,其他參數則保持不變。相較于全參微調GPT-3(175B),Lora最多能夠將訓練參數的數量減少約10,000倍,GPU內存需求也減少三倍。

那么,Lora是如何凍結參數的呢?接下來,我們將展示Lora的經典原理圖。

圖片圖片

上圖中,W 表示大模型的一個原始參數矩陣。Lora的思路是將矩陣 W 拆分為兩個低秩矩陣 A 和 B。在訓練過程中,僅對 A 和 B 的參數進行訓練,這與訓練整個 W 的參數相比,能顯著減少所需的訓練參數數量,從而降低訓練成本。

如何開啟大模型的Lora微調

圖片圖片

雖然論文中Lora的原理較為復雜,但實際上開啟大模型的Lora微調過程相對簡單。許多算法框架都支持快速上手微調。以LLaMA-Factory這個微調大模型的框架為例,啟用Lora微調只需配置以下參數:

圖片圖片

接下來,執行訓練命令即可啟動Lora微調:

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml

通過這個命令,LLaMA-Factory框架將讀取配置文件,并開始進行Lora微調。整個過程相對簡便,使得用戶能夠快速適應并利用Lora技術進行大模型微調。

Lora微調完成后,將生成一個只包含部分參數(即Lora參數)的文件,稱為Lora Adapter。與整個大模型的所有參數相比,這個參數文件非常小。

三、如何基于Lora部署大模型

Lora參數合并

經過微調后,會生成一個Lora文件,里面僅包含部分參數。如何利用這個Lora文件來部署大模型呢?

圖片圖片

我們之前提到,Lora參數實際上是將大模型的其余參數凍結后剩下的部分。Lora參數本身也是大模型參數的一部分,通常占比小于整體的2%。將微調后的Lora參數與大模型的原始參數合并后,就可以生成一個新的微調大模型,之后只需直接部署這個新模型即可。

合并的操作步驟也比較簡單,以LLaMA-Factory這個大模型微調訓練框架為例。

首先,完成如下配置:

圖片圖片

接下來,執行命令

llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml

即可將參數合并成一個新的大模型。

如何部署合并后的大模型

合并后的大模型只有一些參數文件,若要進行部署,還需選擇合適的推理引擎。目前推薦使用 VLLM 這個開源推理引擎,它得到了眾多大廠模型的廣泛支持。無論從性能還是易用性來看,VLLM 都非常出色。

圖片圖片

VLLM最初由加州大學伯克利分校的一支三人博士團隊發起,創始人開創性地提出了PageAttention這一概念。這一創新顯著提高了大模型的吞吐量,提升幅度達到幾十倍。PageAttention目前已成為各大推理引擎的必備技能。

圖片圖片

如果想用VLLM來部署一個大模型,其步驟非常簡單。首先,執行下面的命令安裝VLLM:

pip install vllm

然后執行下面命令,即可啟動服務。

vllm serve {模型文件地址}

這樣的部署流程有什么問題?

首先,讓我們回顧一下之前的訓練和部署流程。

圖片圖片

對于每個業務場景,我們首先通過微調訓練生成一個Lora參數文件,然后將Lora參數文件與基礎大模型合并,最后進行大模型的部署。這是一個經典的流程。

然而,如果業務場景眾多且每個場景的流量較小,就需要部署多套大模型。以常見的7B大模型為例,至少需要一塊22G顯存的顯卡才能運行,而14B模型需要兩塊22G顯存的顯卡,70B的大模型則需要更高的成本。這種情況可能導致GPU資源的浪費。

圖片圖片

四、多Lora部署大模型又是什么

多Lora的技術原理是什么

在上述部署流程中,微調大模型后會生成一個Lora文件,該文件需要與基礎大模型合并成一個新的大模型。然而,實際上,我們可以選擇不合并Lora文件,而是直接在顯存中加載原有的大模型參數和Lora參數,然后進行推理。這種方法同樣是可行的。

圖片圖片

參考上面的Lora原理圖,W表示大模型的一個原始參數矩陣。Lora的思路是將矩陣W拆分為兩個低秩矩陣A和B,并對這兩個矩陣進行訓練。訓練結束后,我們可以選擇將A和B矩陣與W矩陣合并,也可以不合并,而是分別使用W和A/B進行計算,然后再將計算結果進行合并,最終效果是一樣的。

因此,我們的部署流程可以進行如下調整:業務方在進行Lora微調后生成一個Lora文件。接下來,我們在顯存中加載基礎大模型,同時也加載業務方的Lora文件,直接進行推理。如果有多個業務方參與,每個業務方都會產生一個Lora文件,于是這一部署流程可以推廣至如下圖所示。

圖片圖片

每個業務場景都基于自己的業務數據訓練一個Lora文件。在部署時,我們只需選擇一個基礎大模型,并在顯存中同時加載多個Lora文件。這樣,便可以使用一塊顯卡同時滿足多個業務場景的需求。當用戶發出請求時,要在請求中指定需要調用的Lora模型是哪個。

多Lora適應于什么場景

圖片圖片

多Lora適用于以下場景:

  • 業務場景多樣化:當你的業務場景較多,并且每個場景都需要根據其特定數據進行微調生成一份自己的大模型。
  • 調用量較小:如果每個業務場景的調用量相對較少,那么單獨為每個場景部署一份大模型的成本將顯得很高。

采用多Lora的方式來部署大模型可以有效解決這些問題。通過只加載一份基礎大模型,同時在顯存中加載多個較小的Lora文件,我們能夠顯著減少因重復部署帶來的成本。這樣,便可以為多個業務場景提供支持,同時保持資源的高效利用。

哪些推理框架支持多Lora

目前,支持多Lora的推理框架中,VLLM是一個推薦的選擇。我們對VLLM的多Lora性能進行了壓測,結果顯示它在性能和易用性方面表現都非常不錯。

如果你想使用VLLM來部署多Lora,只需執行以下命令即可:

vllm serve {你的模型地址} --enable-lora --lora-modules {lora1的地址} {lora2的地址}

這樣,你就可以輕松地在VLLM中啟用多Lora的功能。

多Lora的性能怎么樣,有哪些限制

為了驗證多Lora的性能,我們特意用Llama3-8b模型,L20GPU顯卡進行了壓測對比,數據如下:

圖片圖片

可見,多Lora對推理的吞吐與速度的影響幾乎可以忽略。

那么,多Lora在使用時有哪些限制呢?

圖片圖片

  • 共享基礎大模型:所有希望一起部署的多個業務場景必須使用相同的基礎大模型。這是因為在多Lora部署時,基礎大模型只需加載一份,以支持多個Lora的推理。
  • Lora秩的限制:如果使用VLLM進行多Lora部署,微調訓練時,Lora的秩R的值不要超過64。大多數情況下,這個條件都是可以滿足的,但在特定場景中需要注意這一點。

因此,在進行多Lora部署之前,需確保滿足上述要求,以保證系統的正常運行。

五、總結

本文從如何節省多業務場景部署大模型的成本入手,逐步介紹了Lora的概念、如何對大模型進行Lora微調,以及微調后如何合并Lora參數以部署大模型。接著,我們提出了一個問題:在多個業務場景的部署中,如何降低大模型的部署成本。為此,我們介紹了利用多Lora的方式,以合并多個業務場景的部署。

文章最后,我們分享了對多Lora部署模式的壓測效果,結果顯示,多Lora與合并后部署的方式相比,性能幾乎可以忽略不計。我們還推薦了支持多Lora的推理引擎,幫助讀者更好地應用這一技術。

當然,在使用多Lora時也需注意一些限制條件,比如多個場景必須使用相同的基礎大模型。如果你有類似的場景或對大模型技術感興趣,歡迎與我們交流學習,共同進步。

責任編輯:武曉燕 來源: 得物技術
相關推薦

2023-09-22 10:54:28

播放器點播成本

2023-11-23 18:19:15

騰訊騰訊混元Angel

2023-06-01 08:18:47

GPT大語言模型

2017-04-02 14:36:22

2024-12-26 00:46:25

機器學習LoRA訓練

2021-09-29 08:00:00

Kubernetes集群容器

2024-05-23 14:04:14

2012-10-18 11:11:58

桌面虛擬化

2024-09-02 08:25:11

2013-09-16 09:16:42

云成本云成本節省云應用

2024-12-02 11:45:48

2023-08-29 10:07:15

人工智能AI

2016-07-20 12:29:35

云計算

2011-05-07 17:03:15

打印機

2025-01-08 08:21:16

2009-09-18 08:37:48

Windows 7企業部署節約成本

2020-07-08 10:11:45

云計算云服務私有云

2012-12-28 10:02:42

2023-10-20 17:53:05

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 污书屋 | 亚洲91精品 | 一区二区三区国产在线观看 | 精品国产乱码一区二区三区a | 欧美区在线 | 久久久久久久一区 | 精品美女在线观看视频在线观看 | 日韩精品免费在线观看 | 欧美视频精品 | 精品亚洲一区二区 | 91成人| 亚洲乱码一区二区三区在线观看 | 99国产精品久久久 | 密桃av | www.狠狠干 | 91av免费看| 在线观看国产视频 | 亚洲高清中文字幕 | 精品一区二区三区91 | 久久精品99 | 欧美日韩亚洲一区二区 | 天天色图 | 精品欧美乱码久久久久久 | 久久精品国产一区 | 91色视频在线 | 久久久蜜臀国产一区二区 | 逼逼视频 | 久久国产一区二区 | 欧美精品在线视频 | av网站免费在线观看 | 玖玖视频国产 | 99久久精品国产一区二区三区 | 日日操操 | 亚洲欧美综合 | 成人高清在线 | 青青久在线视频 | 日韩成人一区 | 国产高清在线精品一区二区三区 | 又爽又黄axxx片免费观看 | 大象视频一区二区 | www亚洲一区 |