🚀 ReluLLaMA-7B
ReluLLaMA-7B 是基於 ReLU 激活函數的大語言模型,通過微調現有模型轉換為 ReLU 激活版本,有望推動稀疏大語言模型的發展,在計算效率上具有一定潛力。
🚀 快速開始
本文檔將為你詳細介紹 ReluLLaMA-7B 模型,包括其背景、數據集、訓練細節、評估結果、推理工具等內容。
✨ 主要特性
- 稀疏計算潛力:模型在使用 ReLU 激活函數時展現出適合稀疏計算的特性,有望通過動態選擇模型參數進行計算,大幅提高效率。
- 知識蒸餾優化:在訓練中引入知識蒸餾目標,避免過擬合,增強模型的泛化能力。
- 多數據集評估:在多個數據集上進行評估,全面展示模型性能。
📚 詳細文檔
背景
稀疏計算正日益成為提升大語言模型(LLM)計算效率的重要方向。在各種方法中,以 Mixtral 等模型為代表的專家混合(MoE)方法表現出了特別的潛力。MoE 通過選擇性地激活不同的模型組件(專家),從而優化資源使用。
近期研究(Zhang el al., 2021; Liu et al., 2023; Mirzadeh et al., 2023)表明,當使用 ReLU 激活函數時,大語言模型本質上具有有利於稀疏計算的特性。這一發現為模型效率開闢了新途徑,類似於 MoE 的選擇性激活。通過動態選擇模型參數進行計算,我們可以大幅提高效率。
然而,基於 ReLU 的模型在大語言模型領域的廣泛應用仍然有限。參考現有工作的轉換方法(Zhang el al., 2021; Mirzadeh et al., 2023),我們通過微調將現有模型轉換為 ReLU 激活版本。我們希望這些開源的 ReLU 大語言模型能夠促進稀疏大語言模型的發展。
數據集
我們在約 50 億個標記上對模型進行微調,包括:
- Wikipedia
- Pile
- StackOverflow
我們樂觀地認為,通過繼續使用更多標記(涵蓋更廣泛的數據種類)進行訓練,模型將進一步接近其原始性能。
訓練細節
我們在傳統語言建模目標和知識蒸餾目標上聯合優化模型。知識蒸餾目標是最小化教師模型和學生模型之間的 KL 散度。教師模型是原始的大語言模型,學生模型是 ReLU 激活版本。由於微調數據的規模相對較小,我們引入知識蒸餾目標以避免過擬合,並增強模型的泛化能力,這也可以看作是一種標籤平滑技術。
參數 |
值 |
微調類型 |
全量微調 |
批量大小 |
2048 |
GPU |
8xA100(80G) |
學習率調度器 |
餘弦 |
學習率 |
3e - 5 |
評估
我們在 Open LLM Leaderboard 的數據集上對模型進行評估。結果如下:
指標 |
ReLU 值 |
原始值 |
ARC (25 - 樣本) |
49.48 |
53.07 |
HellaSwag (10 - 樣本) |
74.67 |
78.59 |
MMLU (5 - 樣本) |
44.84 |
46.87 |
TruthfulQA (0 - 樣本) |
39.04 |
38.76 |
Winogrande (5 - 樣本) |
69.37 |
74.03 |
GSM8K (5 - 樣本) |
10.61 |
14.48 |
平均值 |
48.00 |
50.97 |
推理工具
我們使用 PowerInfer 進行推理,這裡我們展示了使用 fp16 精度純 CPU 推理的推理速度。
CPU 配置包括一個 Intel i9 - 13900K 處理器(八個性能核心,主頻 5.4GHz)和 192GB 主機內存(內存帶寬 67.2 GB/s)。
- 密集推理:5.17 標記/秒
- 稀疏推理:8.21 標記/秒
許可證聲明
此模型受原始 Llama - 2 模型的許可證和使用限制約束,並且不提供任何形式的保證。
侷限性和偏差
Llama 2 及其微調變體是一種新技術,使用時存在風險。到目前為止進行的測試均使用英語,且未涵蓋也不可能涵蓋所有場景。因此,與所有大語言模型一樣,Llama 2 及其任何微調變體的潛在輸出無法提前預測,並且在某些情況下,模型可能會對用戶提示產生不準確、有偏差或其他令人反感的響應。因此,在部署 Llama 2 變體的任何應用程序之前,開發人員應針對其特定的模型應用進行安全測試和調整。
請參閱 負責任使用指南。
引用
請使用以下 BibTeX 進行引用:
@misc{sparsellm,
title={Sparse Large Language Models with ReLU Activation},
author={SpaseLLM Team},
year={2023}
}
致謝
此模型卡片修改自 ORCA_LLaMA_70B_QLoRA。