接續上一篇「從深度學習到大語言模型」,介紹了語言模型的發展與使用方式後,這一篇將探討大模型在落地上,可能會遇到的硬體問題,以及目前發展出的克服方法。
文章回顧:
- AI 大模型的硬體瓶頸與探討(一):從深度學習到大語言模型
無論是雲端呼叫大模型,或是在地端部署用於邊緣裝置,最大的挑戰始終是硬體成本。大模型的腦容量(模型尺寸)太巨大,執行上更為耗時,且無論放在哪裡,都需要一個足夠有效率的硬體來容納,這意味著需要高性能的 GPU 和大量的記憶體。
當大模型開始工作,它需要大量的食物和穩定的環境,也就是驚人的耗電量和散熱問題。此外,還需要定期維護,包括更新知識庫,確保其性能和穩定性。以下是一些需要關注的重點:
- 模型體積:大模型需要強大的硬體支持。
- 功耗:高耗電量帶來高昂的電費。
- 推論時間:需要高效的硬體來縮短回應時間。
- 彈性:硬體設備需要可擴展性和靈活性,包括模型權重的更新能力。
- 散熱:高效的散熱系統是必要的。
- 維護:硬體的維護和知識庫升級成本不容忽視。
模型壓縮的主流技術
剪枝(Pruning):
剪枝技術將模型中一些數字較小,或是不重要的權重和連接移除掉,雖然能減少模型的計算量和存儲需求,但可能降低模型的表現,並且剪枝後的模型通常需要再訓練以恢復或保持其性能,應用於大型模型的成本較為高昂。
量化(Quantization):
量化技術將模型權重從高精度的轉換為低精度的數值,大大減少模型的存儲需求並加速推論速度,但會損失一些模型的表現,是目前大型模型常見的壓縮方案。
知識蒸餾(Knowledge Distillation):
知識蒸餾技術是通過讓較大的模型(教師模型)教導較小的模型(學生模型),來達到壓縮模型的目的。大模型就像是知識量豐富的老師,能夠從海量的數據中推導出複雜的物理公式。學生模型只需記住老師推導出的公式即可。通過這種方式,學生模型在較小的體積下達到類似於教師模型的性能,並針對特定問題產生特化模型,減少模型的大小和計算需求。
低秩因子分解(Low-Rank Factorization):
低秩因子分解技術通過將模型的權重分解成較小的近似矩陣,來減少參數數量和計算複雜度。這就像是把一個複雜的數學公式拆解成幾個簡單的部分,讓計算變得更加高效且容易處理。
舉例來說,LoRA(Low-Rank Adaptation)技術可以讓我們先訓練一個較小的模型,然後將這個小模型貼在原有的大模型上,從而優化大模型的某些特定功能。這樣就不需要重新訓練整個大模型,而是通過小的調整來達到同樣的效果,是在資源有限情況下,作大模型 Fine-tuning 訓練的最佳方案之一。
推薦閱讀:A Survey on Model Compression for Large Language Models (2023)