譯者 | 布加迪
審校 | 重樓
隨著最近應(yīng)用迅速普及開來、人工智能(AI)得到廣泛采用,大語言模型(LLM)已變得備受廣大公司企業(yè)、開發(fā)人員和非開發(fā)人員的歡迎,因?yàn)樗鼈優(yōu)橛脩籼峁┝酥T多好處。它們幫助開發(fā)人員調(diào)試代碼并生成代碼片段,還幫助澄清看似復(fù)雜的編程概念和任務(wù),從而提高生產(chǎn)力。
只要用于訓(xùn)練的數(shù)據(jù)集涵蓋主題,使用LLM的非開發(fā)人員就可以受益于對問題做出快速且定制的響應(yīng)和答復(fù)。
LLM簡介
大語言模型(LLM)是能夠理解和生成文本以及處理其他任務(wù)的AI模型。它們使用龐大的數(shù)據(jù)集加以訓(xùn)練,所以它們被稱為“大語言模型”。
Transformer算法是訓(xùn)練LLM所使用的主要算法。LLM高度依賴數(shù)據(jù),模型的質(zhì)量與用于訓(xùn)練模型的數(shù)據(jù)的質(zhì)量成正比。
LLM的實(shí)際應(yīng)用
LLM被廣泛應(yīng)用于各種應(yīng)用領(lǐng)域,包括但不限于:
- 客戶支持服務(wù)
LLM被公司企業(yè)用來以自然流暢的方式為客戶的常見問題提供量身定制的回答。由于具有多語言功能,LLM可以理解和回答使用不同語言的查詢,這可以惠及不同國籍的客戶。
- 內(nèi)容生成
LLM具有生成能力。它們可以根據(jù)用戶提示或輸入生成文本內(nèi)容,比如詩歌、商業(yè)提案和電子郵件等。然而,一些生成的內(nèi)容可能不正確、過時(shí)或不道德。始終建議對LLM生成的內(nèi)容進(jìn)行驗(yàn)證。
- 情緒分析
LLM可以分析文本的情感和語氣。企業(yè)以多種方式使用這種能力。比如說,它們對客戶反饋進(jìn)行情緒分析,以確定滿意度。
- 幫助研究
LLM可以幫助用戶研究新的課程或概念,生成學(xué)習(xí)路線圖,并在遇到挑戰(zhàn)時(shí)解釋低級概念。
- 醫(yī)療保健
LLM用于醫(yī)療保健管理、衛(wèi)生人員支持、研究用途以及在沒有醫(yī)療人員在場的情況下對患者提供虛擬幫助。用于醫(yī)療保健領(lǐng)域的這些LLM使用經(jīng)過驗(yàn)證的龐大醫(yī)療數(shù)據(jù)集、文獻(xiàn)甚至新的發(fā)現(xiàn)成果加以訓(xùn)練。
- 搜索引擎
傳統(tǒng)的搜索引擎基于關(guān)鍵字算法,這使得它們在處理拼寫錯(cuò)誤以及理解人類語言、上下文和意圖方面的效率略低于LLM。然而隨著LLM目前被用于搜索引擎,這種情況已發(fā)生了變化,搜索引擎能夠更有效地返回搜索結(jié)果。
在現(xiàn)有軟件系統(tǒng)中集成LLM的方法
明確目的是成功地將LLM集成到現(xiàn)有軟件系統(tǒng)中的關(guān)鍵;這樣,可以實(shí)施正確的方法來克服挑戰(zhàn),又不會造成額外的開銷。
以下是將LLM集成到現(xiàn)有軟件系統(tǒng)中的建議步驟:
1. 選擇合適的LLM或API提供商
根據(jù)業(yè)務(wù)需求、技術(shù)團(tuán)隊(duì)具備的技能、時(shí)間限制以及針對某些技術(shù)的熟悉程度,可以選擇合適的預(yù)訓(xùn)練模型進(jìn)行集成。在選擇要集成到項(xiàng)目中的模型時(shí),還應(yīng)該考慮其他因素,比如模型的準(zhǔn)確性、模型延遲、可擴(kuò)展性以及運(yùn)行模型的成本。
下面列出了一些可用的選項(xiàng)和相關(guān)鏈接:
- OpenAI API提供了對GPT-3和GPT-4模型的訪問:https://platform.openai.com/docs/models
- Azure認(rèn)知服務(wù):https://azure.microsoft.com/en-us/services/cognitive-services/openai-service/
- Facebook的LlaMA:https://ai.meta.com/blog/large-language-model-llama-meta-ai/
- 谷歌的BERT:https://research.google/blog/open-sourcing-bert-state-of-the-art-pre-training-for-natural-language-processing/
- Hugging Face
- 自定義訓(xùn)練LLM(這可以通過使用PyTorch、TensorFlow或Hugging Face的Transformers等框架使用可用數(shù)據(jù)集以訓(xùn)練模型來實(shí)現(xiàn))。
2. 選擇所需的集成機(jī)制
LLM可以通過針對公開可用的模型、托管的微調(diào)模型或任何滿足你需求的模型進(jìn)行API調(diào)用加以集成。通過針對公共模型的API調(diào)用加以集成始終是更容易的選擇。
你只需要操心通過API密鑰獲得訪問的成本,不必?fù)?dān)心基礎(chǔ)設(shè)施或軟件更新;LLM API提供商會為你處理所有這一切。
托管自定義LLM便于你微調(diào)和利用滿足特定業(yè)務(wù)需求的模型。托管你的自定義模型可以讓你控制成本和性能,并且與公共API服務(wù)相比,它還提供了隱私。
在托管自定義模型時(shí),你需要做以下工作:
- 從Hugging Face之類的存儲庫選擇并下載公開可用的或開源的預(yù)訓(xùn)練LLM,比如GPT2、GPT3、BERT甚至T5。
- 根據(jù)你的特定數(shù)據(jù)集對模型進(jìn)行微調(diào),以便與你的用例或應(yīng)用場景保持一致;這樣,響應(yīng)針對特定領(lǐng)域進(jìn)行定制,從而使模型更有效(可選步驟)。
3. 搭建基礎(chǔ)設(shè)施
如果你決定自行托管自定義模型而不是使用公共API服務(wù),這個(gè)步驟必不可少。托管LLM需要擁有強(qiáng)大算力的硬件,因此最好使用搭載GPU的硬件以獲得更好的性能。
可用于托管LLM的兩個(gè)選項(xiàng)是:
- 自托管(本地)
- 云托管
4. 服務(wù)模型
Flask或FastApi是連接和服務(wù)LLM模型最常用的兩種后端框架。你可以使用其中任何一種與LLM交互并返回響應(yīng)。
如果你不想處理硬件購買、冷卻、維護(hù)、軟件升級及其他相關(guān)任務(wù),可以選擇云托管這個(gè)選項(xiàng)。這涉及使用基于云GPU的虛擬機(jī)來部署LLM。Azure、AWS或谷歌云等云提供商提供了良好的服務(wù)。
5. 處理數(shù)據(jù)
確保發(fā)送到LLM的數(shù)據(jù)得到正確的清理和標(biāo)記,以便更好地理解模型并提高響應(yīng)質(zhì)量。
6. 錯(cuò)誤處理
建立允許“優(yōu)雅退化”的機(jī)制。無論何時(shí)發(fā)生錯(cuò)誤,都可以返回默認(rèn)響應(yīng),而不是讓整個(gè)應(yīng)用程序崩潰。
7. 安全/隱私方面的考量
模型在進(jìn)行推理時(shí)不能暴露敏感信息,因此必須采取措施以保證重要信息的隱蔽性。
將LLM集成到軟件系統(tǒng)中的缺點(diǎn)
盡管將LLM集成到現(xiàn)有軟件中有諸多優(yōu)點(diǎn),但也有一些缺點(diǎn)值得注意和考慮。
- 由于嚴(yán)重依賴高端GPU和TPU,訓(xùn)練模型和模型推理期間需要計(jì)算成本。
- 頻繁調(diào)用API可能成本高昂,對于高流量應(yīng)用而言更是如此。
- 如果將敏感數(shù)據(jù)發(fā)送到LLM,敏感數(shù)據(jù)可能會加以處理、存儲和暴露給另一個(gè)用戶,特別是當(dāng)所使用的LLM可供公眾訪問時(shí)。
- 除了適當(dāng)微調(diào)的自定義模型外,大多數(shù)LLM只能提供開放式和通用的響應(yīng),而無法提供專業(yè)領(lǐng)域知識。
- 訓(xùn)練LLM需要消耗大量能源,這可能導(dǎo)致碳排放量高和環(huán)境污染。
結(jié)論
如果操作得當(dāng),將LLM集成到現(xiàn)有軟件系統(tǒng)中大有助益,Meta、谷歌和X等許多知名的科技公司已經(jīng)這么做了。它使軟件智能化,能夠解決當(dāng)代的復(fù)雜任務(wù)。
在將現(xiàn)有的軟件與LLM集成之前,你必須先定義希望它解決的問題和具體用例,然后選擇合適的模型,并采用集成機(jī)制。
原文標(biāo)題:Integrating Language Models into Existing Software Systems,作者:Shittu Olumide