使用 LM Studio 或 Ollama 等工具在本地執行大型語言模型(LLM)有許多優點,包括隱私、成本低和離線可用性。不過,這些模型可能是資源密集型的,需要適當最佳化才能高效執行。
在本文中,我們將指導您最佳化設定,在這種情況下,我們將使用 LM Studio,其友好的使用者介面和簡便的安裝使事情變得更容易一些。我們將介紹模型選擇和一些效能調整,幫助您充分利用 LLM 設定。
我假設您已安裝 LM Studio;否則,請檢視我們的文章:如何使用 LM Studio 在本地計算機上執行 LLM。
安裝並在計算機上執行 LLM 後,我們就可以開始了:
選擇正確的模型
選擇正確的大型語言模型(LLM)對於獲得高效、準確的結果非常重要。就像為工作選擇合適的工具一樣,不同的 LLM 更適合不同的任務。
在選擇模型時,我們可以注意以下幾點:
1. 模型引數
將引數視為 LLM 內部的“knobs”和“dials”,在訓練過程中進行調整。它們決定了模型理解和生成文字的方式。
引數的數量通常用來描述模型的“size”。你通常會看到模型被稱為 2B(20 億個引數)、7B(70 億個引數)、14B 等。
Ollama 中的模型引數選擇
引數越多的模型學習語言中複雜模式和關係的能力越強,但通常也需要更多的記憶體和處理能力才能高效執行。
以下是根據系統資源選擇模型時可以採取的一些實用方法:
資源水平 | RAM | 推薦模型 |
---|---|---|
有限資源 | 小於 8GB | 小型模型(如 4B 或更小) |
中等資源 | 8GB – 16GB | 中等模型(如 7B 至 13B 引數) |
充足資源 | 16GB 以上+獨立顯示卡 | 較大模型(如 30B 引數及以上) |
沒什麼概念?也無所謂,如下圖所示,LM Studio 會根據系統資源自動突出顯示最合適的模型,您只需選擇即可。
2. 模型特徵
擁有數十億引數的模型固然重要,但它並不是效能或資源需求的唯一決定因素。不同的模型設計有不同的架構和訓練資料,這對它們的能力有很大影響。
如果您需要一個用於通用任務的模型,以下模型可能是不錯的選擇:
如果您專注於編碼,那麼專注於編碼的模型會更合適,例如
如果您需要處理影像,則應使用具有多模態功能的 LLM,如
最適合您的模型取決於您的具體使用情況和要求。如果您不確定,可以先使用通用模型,然後根據需要進行調整。
3. 量化模型
最佳化 LLM 設定的另一種方法是使用量化模型。
想象一下,你有一大堆照片,而每張照片都佔據了硬碟的大量空間。量化就像是壓縮這些照片以節省空間。你可能會損失一點點影像質量,但卻獲得了大量額外的可用空間。
量化級別通常用表示每個值的位元數來描述。較低的位值,如從 8 位變為 4 位,會帶來更高的壓縮率,從而降低記憶體使用率。
在LM Studio 中,您可以找到一些量化模型,如 Llama 3.3 和 Hermes 3。
您可以找到這些模型的多個下載選項。
如上圖所示,4 位量化的量化模型(標有 Q4_K_M
)比 8 位版本(標有 Q8_0
)小 1 GB 以上。
如果遇到記憶體問題,可以考慮使用量化模型來減少記憶體使用量。
效能調整
LM Studio 提供多種設定,讓您可以微調所選模型的效能。
透過這些設定,您可以控制模型如何使用計算機資源和生成文字,從而最佳化速度、記憶體使用或特定任務要求。
您可以在每個下載模型的“My Models”部分找到這些設定。
讓我們來探討一些關鍵選項:
上下文長度(Context Length)
這一設定決定了模型在生成應答時“記憶”了多少之前的對話內容。較長的上下文長度可以讓模型在較長時間的交流中保持一致性,但需要更多記憶體。
如果您的任務較短或記憶體有限,縮短上下文長度可以提高效能。
GPU解除安裝(GPU Offload)
此設定可讓您利用 GPU 的強大功能來加速推理。如果你有專用的顯示卡,啟用 GPU offload 可以顯著提高效能。
CPU執行緒池大小(CPU Thread Pool Size)
該設定決定了有多少個 CPU 核心可用於處理。增加執行緒池大小可以提高效能,尤其是在多核處理器上。
您可以嘗試找出適合您系統的最佳配置。
K快取/V快取量化型別(K Cache/V Cache Quantization Type)
這些設定決定了模型的鍵和值快取的量化方式。與模型量化類似,快取量化可減少記憶體使用量,但可能會對準確性造成輕微影響。
您可以嘗試使用不同的量化級別,以找到效能和準確性之間的最佳平衡點。
限制響應長度(Limit Response Length)
此設定可控制模型在單個響應中生成的最大標記數(大致相當於單詞或子單詞單位)。它直接影響效能,主要體現在處理時間和資源使用方面。
限制響應長度的主要代價是,如果超過指定的限制,模型的響應可能會被截斷或不完整。如果您需要詳細或全面的回答,這可能會造成問題。
小結
在本地執行大型語言模型為各種任務提供了強大的工具,從文字生成到回答問題,甚至是協助編碼。
然而,在資源有限的情況下,透過仔細選擇模型和調整效能來最佳化 LLM 設定至關重要。透過選擇合適的模型並微調其設定,可以確保在系統上高效執行。
評論留言