Core Concepts
大型語言模型 (LLM) 正迅速融入企業應用程式生態系統,為有效利用 LLM 的潛力,需要一個專門的中介軟體來應對部署和整合方面的挑戰,特別是在 LLM 作為服務或閘道器運作的進階使用案例中。
Abstract
大型語言模型中介軟體:挑戰與架構
這篇研究論文探討了將大型語言模型 (LLM) 整合到企業軟體生態系統中所面臨的挑戰和機遇。LLM,例如 ChatGPT,展現出近似真正人工智慧的能力,促使企業紛紛尋求採用。然而,獨立託管 LLM 的複雜性、與現有系統的整合問題以及對可靠性和可擴展性的需求,為企業採用帶來了重大障礙。
本文主張開發一個專門的中介軟體架構,以簡化企業 LLM 的部署和採用。作者概述了這種中介軟體的願景,重點關注其在兩種主要使用案例中的作用:LLM 作為服務和 LLM 作為閘道器。
LLM 作為服務
在此案例中,LLM 增強了現有服務,但不需要直接與它們互動。中介軟體的主要挑戰包括:
- 複雜性: 與傳統軟體相比,將 LLM 封裝和託管為服務更具挑戰性。
- 資源分配和多租戶: 有效利用 GPU 資源對於 LLM 效能至關重要,需要複雜的多租戶機制。
- 可擴展性和彈性: LLM 對話服務的狀態性使得彈性擴展變得困難。
- 快取: 在多個層級實施快取對於最佳化效能和降低成本至關重要。
- 可解釋性: 了解 LLM 輸出背後的推理對於建立信任和可靠性至關重要。
- 維護和更新: LLM 需要與傳統軟體一樣嚴格的 DevOps 週期,包括監控和更新。
LLM 作為閘道器
在更進階的案例中,LLM 可以作為現有服務的閘道器,充當新的前端,並需要與後端元件緊密互動。中介軟體在促進這種整合方面發揮著至關重要的作用,它提供服務探索、路由和協調。
中介軟體架構
本文提出了一個中介軟體架構,以解決與 LLM 部署相關的挑戰。該架構包含以下關鍵元件:
- 使用者登錄處: 管理使用者存取和服務許可權。
- 排程器: 將工作負載分配給適當的資源,例如 GPU 或 CPU。
- 快取: 儲存 LLM 響應和會話狀態以提高效能。
- 可觀察性: 監控系統行為和效能,包括輸入和輸出分佈的變化。
- 可解釋性: 提供對 LLM 推理的見解,並減輕幻覺或有偏差輸出的風險。
服務探索和路由
中介軟體的一個關鍵方面是服務探索和路由,它允許 LLM 與其他服務互動。本文探討了兩種主要方法:
- 將服務路由作為語句排名: 這種方法將服務探索視為一個排名問題,其中 LLM 根據相關性對服務進行排名。
- 透過 LLM 進行服務識別和繫結: 在這種方法中,LLM 積極參與識別和繫結到適當的服務。
原型和評估
作者展示了一個概念驗證原型,重點關注透過 LLM 進行服務繫結和協定調整。初步結果證明了使用外部服務(例如計算器應用程式)來增強 LLM 功能的潛力。
總之,本文強調了專用中介軟體在促進企業採用 LLM 方面的必要性。所提出的架構和概念驗證原型為未來的研究和開發工作提供了一個有希望的方向。
Stats
對於包含 2 個參數(兩個要相加的數字)的提示,LLM 需要 1.031 秒才能產生響應。
隨著參數數量增加到 5 個,響應時間增加到 1.685 秒。
對於 15 個參數和 20 個參數,響應時間進一步增加到 2.235 秒和 3.108 秒。
當兩個進程共用 GPU 時,具有 2 個參數的查詢的響應時間從 1.031 秒增加到 2.058 秒。
當三個進程共用 GPU 時,相同查詢類型的響應時間從 1.031 秒增加到 8.548 秒。