LLM 應用架構與硬體配置
LLM 應用架構: 雲端閉源、本地開源
目前企業內部要應用LLM(大語言模型),可以採取雲端或本地端方案。 雲端方案為相關服務呼叫提供LLM服務的供應商,通常依照使用量計費,企業內則不架設機房。 常見的雲端LLM服務供應商:
- OpenAI: GPT 系列 (GPT-4o, GPT-4)。
- Google: Gemini 系列 (Gemini 1.5 Pro)。
- Anthropic: Claude 系列 (Claude 3 Opus, Claude 3 Sonnet)。
如果對於將資料傳輸到雲端有疑慮,或者企業內有足夠人力維護設備,則可以採取本地端方案,運行開源的LLM model即可運作。 許多廠商都提供開源LLM模型,例如:
- Meta: Llama 3 8B
- Google: Gemma 7B
- Microsoft: Phi-3 Mini
- Mistral AI: Mistral 7B Instruct
- 01.AI: Yi-6B
- Cohere: Command R 35B
本地LLM 硬體需求
影響LLM回應品質的主要有三項:模型載入速度、推理速度、推理精度。 以下我們以Ollama
、Llama 3 8B
為架構案例,一一整理、分析相關的硬體需求。
- 儲存空間 (Storage): 硬碟採用SSD讀取速度會較快。
- 載入模型 (Model Loading): CPU會將模型從硬碟讀出,載入到VRAM,如果VRAM不夠,則載入到RAM中。
- 推理生成 (Inference/Generation): 以GPU在VRAM中執行,如果VRAM不足,Ollama會使用主機的 RAM 和 CPU 來執行,這會大大降低推理速度。
Llama 3 8B
Llama 3 8B
指的是 參數數量 (parameters)大約 80 億參數Llama 3 8B
各種量化版本所需要的影體儲存空間,其中FP16精度最高,Q4經過壓縮以減少RAM/VRAM使用,推理之精度較低。- 模型的精度表示其理解、推理能力,精度高較能確實按照指令與方向執行、生成。
- 推理時所佔用的RAM/VRAM比載入時會再增加50%以上,例如
Llama 3 8B Q4
原本約4.5GB至5GB,推理時RAM/VRAM大約會使用到6GB至7GB之間。
量化版本 | 每個參數 bit 數 | 8B 模型大小 | 精度 |
---|---|---|---|
Q4 | 4-bit | ~5 GB | 較低 |
Q8 | 8-bit | ~8.5 GB | 其次 |
FP16 | 16-bit | ~16 GB+ | 最高精度 |
模擬載入與推理速度
以「16 核心 CPU、40 核心 GPU、128GB 統一記憶體」此規格模擬
量化版本 | 每個參數 bit 數 | 8B 模型大小 | 推估載入時間 | 推估推理速度(t/s) |
---|---|---|---|---|
Q4 | 4-bit | ~5 GB | 3–8 秒 | 100–140 t/s |
Q8 | 8-bit | ~8.5 GB | 5–12 秒 | 70–90 t/s |
FP16 | 16-bit | ~16 GB+ | 8–20 秒 | 45–60 t/s |
本地LLM 商務應用
- Ollama 並沒有載入模型後就不是放的設定,但大約閒置30分鐘左右會釋放記憶體,因此若固定時間間隔呼叫Ollama,讓其不要釋放模型,可節省載入時間,但需要考慮到主機硬體可使用壽命以及額外的電力損耗。
- 中小企業應比較適合使用
Llama 3 8B Q4
這個量化版本,否則推理速度太慢,影響使用體驗。