Falcon-Edge:強大、通用且可微調的 1.58 位元 LLM
Falcon-Edge 是一系列基於 BitNet 架構的三元語言模型,旨在於邊緣裝置上達到極致效能。透過使用三元權重({-1, 0, 1}),這些模型實現了「無矩陣乘」的設計,與傳統浮點模型相比,可大幅降低記憶體使用量並提升推論速度。
主要模型變體與可用性
Falcon-Edge 提供兩種規模——1B 與 3B 參數,每種規模皆有基礎版與指令微調版。為了支援多樣的部署與開發需求,團隊引入了一種預訓練範式,能從單一訓練過程產生三種不同的變體:
- Native BitNet Model: 標準的三元格式模型,針對超高效推論進行最佳化。
- bfloat16 Variant: 一種非量化版本,透過注入權重比例來近似 BitNet 模型,因而可透過標準 Hugging Face transformers 載入。
- Pre-quantized Variant: 專為輕鬆微調與持續預訓練而設計的權重。
技術架構與效能
Falcon-Edge 模型使用 WSD 學習率排程器,在約 1.5 Tera Tokens 的內部資料混合上進行預訓練。
在使用 Hugging Face leaderboard v2 基準測試的評估中,Falcon-Edge 展現出與其他同等規模模型相當或更佳的效能。模型在 leaderboard v1 任務上亦能與微軟的 BitNet 模型競爭,證明 BitNet 架構可在多領域中訓練出強大的表現。
通用性近似
團隊發現,在量化權重後注入權重比例,即可為 BitNet 模型建立 bfloat16 對應版本。此近似使模型能以非 BitNet 形式運作,同時保持高效能,這在 1B 與 3B 基礎模型的端到端評估中得到驗證。
使用 onebitllms 進行微調
為了超越僅限推論的發布,Falcon-LLM 團隊推出了 onebitllms Python 套件。此工具組提供微調預量化 BitNet 模型所需的實用工具,否則在標準 nn.Linear 層中執行會產生亂碼輸出。
onebitllms 提供以下核心功能:
- Checkpoint Conversion: 將預量化模型檢查點轉換為 BitNet 訓練格式,以供如 Hugging Face 的
trl函式庫等微調框架使用。 - Quantization Utilities: 用於將已訓練的檢查點量化為 BitNet 與
bfloat16兩種格式的工具。 - Low-level Components: 純粹的
BitnetLinear層與 Triton 核心,用於整合至自訂的預訓練框架。
目前,此套件支援完整微調;對 BitNet 模型的參數效率微調(PEFT)仍是未解決的研究議題。
未來研究方向
Falcon-Edge 與 onebitllms 的發布指出了三元 LLM 未來發展的多個關鍵領域:
- GPU Inference Kernels: 開發專用核心,使 BitNet 模型在 GPU 上的速度超過原生浮點模型,類似
bitnet.cpp的目標。 - PEFT Support: 探索將參數效率微調應用於 1 位元模型的可能性。
- Universality Optimization: 進一步縮小 BitNet 檢查點與其
bfloat16對應版本之間的效能差距。 - Multi-modal Expansion: 利用這些基礎模型打造首個多模態 BitNet 視覺語言模型(VLM)。
- Training Efficiency: 優化 BitNet 訓練核心,以降低目前在預訓練期間相較於非 BitNet 模型約 20% 的額外負擔。