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% 的額外負擔。

Sources