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

如何采用最少的代碼啟動LLM API服務器

譯文
人工智能
本文介紹了兩種無需編寫代碼即可設置開源LLM API服務器的解決方案。

譯者 | 李睿

審校 | 重樓

近幾個月來,開源的大型語言模型一直在迅速發(fā)展。Meta公司發(fā)布了LLaMA,隨后又發(fā)布了一系列其他模型,這導致很多企業(yè)運行自己的LLM的興趣激增。

擁有自己的LLM(例如LLaMA2)提供了一些優(yōu)勢:企業(yè)可以更好地控制大型語言模型的使用,確保數(shù)據(jù)的隱私,允許定制以適應特定需求,并促進與現(xiàn)有系統(tǒng)的無縫集成。然而,企業(yè)運行自己的LLM也有許多挑戰(zhàn),其中包括設置必要的IT基礎設施,選擇適當?shù)腖LM,使用自己的數(shù)據(jù)運行并可能微調(diào)模型,擴展模型以滿足需求,以及解決許可問題。

幸運的是,有許多可用的解決方案可以簡化開始使用開源LLM的過程。本文將介紹兩種無需編寫代碼即可設置開源LLM API服務器的解決方案。

為什么選擇Web API服務器?

web應用程序和LLM服務器如何交互

機器學習項目的固有挑戰(zhàn)之一是開發(fā)周期長。當企業(yè)希望將LLM功能添加到現(xiàn)有產(chǎn)品中時,將開發(fā)和部署模型所需的時間最小化是至關(guān)重要的。

開源LLM尤其具有挑戰(zhàn)性,因為這些大型語言模型是用各種編程語言和框架編寫的。當嘗試將這些模型合并到現(xiàn)有應用程序中時,這種多樣性可能會帶來集成挑戰(zhàn)。

最小化開發(fā)和集成時間的一個解決方案是建立一個Web API。如果企業(yè)已經(jīng)在使用像GPT-4或Cohere這樣的商業(yè)LLM API,那么為企業(yè)的開源LLM設置一個API可以讓企業(yè)在對現(xiàn)有代碼進行最小更改的情況下測試和比較模型。這種方法提供了在開源API和商業(yè)API之間輕松切換的靈活性。

除了集成之外,Web API還可以解決其他挑戰(zhàn)。例如,企業(yè)的Web應用程序可能運行在無服務器或虛擬機上,而沒有用于運行LLM的專用硬件。

在這種情況下,LLM API允許企業(yè)解耦應用程序的不同部分并分別運行它們。例如,可以將LLM部署在配備A100 GPU的單獨虛擬機上,并使Web服務器可以通過API端點訪問它。這種解耦意味著隨著模型的開發(fā),可以修改底層服務器并對其進行擴展,而無需對Web服務器進行任何更改。

需要注意的是,API部署可能不是應用程序的最終解決方案。隨著企業(yè)在開發(fā)過程中的試驗和進展,可能會發(fā)現(xiàn)將LLM集成到應用程序中的更有效的方法。當企業(yè)從原型轉(zhuǎn)移到生產(chǎn),保持靈活和開發(fā)的方法,因為可以深入了解其選擇的LLM的能力和潛力。

應該使用哪種語言模型?

開源LLM領域的多樣性也使得為其應用程序選擇正確的模型變得困難。LLaMA是一個很好的起點。其受歡迎程度使其成為一個引人注目的選擇,因為許多庫和項目都支持它。此外,已經(jīng)在LLaMA和LLaMA2之上構(gòu)建了許多模型,這意味著如果企業(yè)構(gòu)建的產(chǎn)品可以與其中一個模型一起工作,那么使其項目適應其他模型的可能性很大。

尤其是LLaMA2,其令人印象深刻的基準在開源模型中脫穎而出。如果企業(yè)的目標是盡可能接近最先進的API LLM,那么LLaMA2可能是其最好的選擇。它也有不同的大小,從70億個到700億個參數(shù)不等。這種可擴展性允許企業(yè)調(diào)整模型的復雜性,而無需對應用程序進行重大更改(盡管需要檢查硬件設置以適應模型的大小)。

LLaMA2的另一個優(yōu)點是其允許商業(yè)使用的許可。這實際上意味著可以將其用于幾乎任何應用程序。許可證中有一些關(guān)于用戶數(shù)量的警告,但這些限制只適用于很少的產(chǎn)品。

然而,一旦企業(yè)使用選擇的模型進行了測試,可能想要探索其他系列LLM。MPT和Cerebras GPT系列模型也具有很高的性能,并且可以為企業(yè)的特定用例提供獨特的優(yōu)勢。

在選擇了LLM之后,下一步是找到一個框架,該框架可以將LLM作為API端點服務,只需很少的編碼或不需要編碼。以下將探討兩個框架,它們可以幫助企業(yè)快速有效地啟動并運行LLM API服務器。

使用vLLM啟動API服務器

vLLM是一個功能強大的Python庫,可以快速方便地訪問各種模型。vLLM由加州大學伯克利分校的研究人員開發(fā),不僅支持LLaMA和LLaMA2,還支持其他先進的開源語言模型,例如MPT、OPT、Falcon、Dolly和BLOOM。

vLLM最引人注目的特性之一是它運行的速度。在一些實驗中,它吞吐量已經(jīng)證明比Hugging Face的LLM要高14~24倍。這種速度加上其現(xiàn)成的API端點功能,使vLLM成為啟動語言模型Web API服務器的高效工具。

要運行vLLM,需要一臺配備Python3.8或更高版本、CUDA 11.0-11.8和合適GPU的Linux服務器。或者,可以使用NVIDIA PyTorch Docker鏡像,該鏡像附帶了所有必要的預安裝包和庫。(如果選擇Docker鏡像,必須在使用vLLM之前卸載Pytorch)。

使用一個簡單的命令就可以輕松安裝vLLM:

pip install vllm

其安裝過程可能需要幾分鐘,具體取決于網(wǎng)絡連接。在安裝之后,啟動LLaMA2 API端點就像運行以下命令一樣簡單:

python -m vllm.entrypoints.api_server --env MODEL_NAME=openlm-research/open_llama_13b

該命令在http://localhost:8000上啟動服務器。企業(yè)可以使用-host和-port參數(shù)指定地址和端口,并且可以用自己的模型的名稱替換MODEL_NAME參數(shù)。

要檢查服務器,可以運行curl命令:

curl http://localhost:8000/generate \
    -d '{
        "prompt": "The most famous book of J.R.R. Tolkien is",
        "temperature": 0,
        "max_tokens": 50
    }'

如果一切正常,應該從服務器接收模型的輸出。

vLLM的主要優(yōu)點之一是它與OpenAI API的兼容性。如果其應用程序已經(jīng)與OpenAI模型一起工作,可以運行一個模仿OpenAI API的vLLM服務器:

python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-2-13b-hf

之后,只需要改變其代碼指向API調(diào)用到服務器,而不是OpenAI API:

openai.api_key = "EMPTY"
openai.api_base = "http://localhost:8000/v1"

如果使用-host和-port參數(shù)更改默認設置,可以相應地更改api_base變量。

vLLM還支持跨多個服務器的并行GPU推理和分發(fā)。如果服務器有多個GPU,可以通過使用tensor-parallel-size參數(shù)輕松調(diào)整vLLM來利用它們:

python -m vllm.entrypoints.api_server \
    --env MODEL_NAME=openlm-research/open_llama_13b \
    --tensor-parallel-size 4

這個特性對于需要高計算能力的應用程序特別有用。

vLLM的另一個顯著特性是令牌流。這意味著模型可以在生成輸出標記時返回它們,而不是等待整個序列完成。如果企業(yè)的應用程序生成較長的響應,并且不想讓用戶等待很長時間,則這一特性特別有用。

但是vLLM并非沒有其局限性。它不支持LoRA和QLoRA適配器,這是在不修改原始模型權(quán)重的情況下對開源LLM進行微調(diào)的常用技術(shù)。vLLM也不支持量化,量化是一種使LLM足夠緊湊以適應較小GPU的技術(shù)。盡管存在這些限制,vLLM仍然是快速測試LLM的非常方便的工具。

創(chuàng)建OpenLLM服務器

OpenLLM是另一個廣泛使用的為語言模型創(chuàng)建Web服務器的平臺。它以其簡單性和多功能性而聞名,使其成為開發(fā)人員和研究人員的熱門選擇。

要安裝OpenLLM,需要確保其服務器滿足必要的先決條件。一旦確認,安裝過程就很簡單了。執(zhí)行如下命令:

pip install openllm

在成功安裝后,可以直接從命令行啟動服務器。下面是如何做到這一點的一個例子:

openllm start llama --model-id openlm-research/open_llama_7b_v2 \
  --max-new-tokens 200 \
  --temperature 0.95 \

OpenLLM的一個突出特性是它對適配器(如LoRA)的支持。該特性允許企業(yè)將完整的LLM和幾個輕量級適配器組合在一起,從而使企業(yè)能夠在單個模型上運行多個應用程序。

OpenLLM還與LangChain等流行庫無縫集成。這種集成簡化了編寫應用程序或?qū)⒋a移植到新的LLM的過程,節(jié)省了開發(fā)人員寶貴的時間和精力。

然而,OpenLLM也不是沒有缺點。與vLLM不同,它不支持批處理推理,這可能成為高使用率應用程序的瓶頸。此外,OpenLLM缺乏對跨多個GPU的分布式推理的內(nèi)置支持。盡管存在這些限制,OpenLLM仍然是部署語言模型服務器的健壯且用戶友好的平臺。它對于構(gòu)建LLM應用程序的原型特別有用,特別是如果想要進行LLM微調(diào)的話。

原文標題:How to launch an LLM API server with minimal coding,作者:Ben Dickson

鏈接:https://bdtechtalks.com/2023/08/14/llm-api-server-nocode/。

想了解更多AIGC的內(nèi)容,請訪問:

51CTO AI.x社區(qū)

http://m.ekrvqnd.cn/aigc/

責任編輯:姜華 來源: 51CTO內(nèi)容精選
相關(guān)推薦

2023-08-25 13:25:00

云計算云平臺

2010-07-19 21:24:34

啟動Telnet服務器

2011-02-21 17:58:40

vsFTPd

2010-05-12 18:15:05

IIS服務器

2019-05-29 15:58:28

分段排查法服務器

2011-03-07 09:37:32

Vsftpd啟動CentOS

2011-02-24 09:57:40

vsFTPd啟動關(guān)閉

2011-02-22 14:19:28

vsFTPd啟動關(guān)閉

2017-05-31 09:15:34

HPEIntegrity服務器

2010-04-19 13:07:58

服務器IDC

2009-02-26 21:02:20

虛擬服務器VMwareEMC

2011-06-30 09:57:45

Unix服務器刀片服務器云計算

2010-01-04 16:54:00

Ubuntu DNS

2010-07-27 16:38:11

Debian NFS服

2014-09-22 09:52:06

2011-06-22 10:24:57

服務器CPU數(shù)據(jù)中心

2013-01-04 13:28:23

云服務器SaaSPaaS

2012-12-27 10:17:21

云服務器

2010-12-28 17:13:32

管理服務器

2011-11-23 13:02:27

戴爾
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: www国产亚洲精品久久网站 | 国产高清在线精品一区二区三区 | 91精品国产综合久久精品 | 视频精品一区二区三区 | 一区二区三区视频在线免费观看 | 成人三级视频在线观看 | 欧美日本韩国一区二区 | 丁香婷婷在线视频 | 女同videos另类| 天天弄| 一级黄a视频 | 超碰在线免费 | 视频在线观看一区 | 一区二区电影网 | 国产一区二区电影 | 日本亚洲一区 | 老司机成人在线 | 成人免费视频7777777 | 免费一区| 国内自拍偷拍视频 | 亚洲视频精品在线 | 精品一区二区三区入口 | 亚洲精品久久久一区二区三区 | 午夜视频免费网站 | 一级毛片在线播放 | 日本a视频 | 成人午夜精品 | 大香在线伊779 | 精品在线一区 | 黄a网站 | a欧美 | 国产伦精品一区二区 | 欧洲亚洲一区二区三区 | 亚洲一区 中文字幕 | 久久久精品一区 | 亚洲精彩视频在线观看 | 欧美 日韩 国产 成人 | 欧美一级二级在线观看 | 一级二级三级黄色 | 欧美激情精品久久久久久变态 | 国产精品久久久 |