🚀 Transformers庫之Falcon-E模型
本項目的Falcon-E模型是由相關機構開發的強大語言模型,具有特定的架構和語言支持,適用於多種自然語言處理任務,在推理和微調方面都有相應的使用方法,並且在評估中展現出了一定的性能優勢。
🚀 快速開始
目前,若要使用此模型,你可以依賴Hugging Face的transformers庫或 BitNet 庫。根據你的目標用途,有多種方式可以與模型進行交互。對於每個Falcon - E系列模型,你有三種變體:BitNet模型、用於微調的預量化檢查點以及BitNet模型的bfloat16
版本。
✨ 主要特性
- 開發方:https://www.tii.ae
- 模型類型:因果解碼器 / 基礎版本
- 架構:純Transformer - 1.58bit版本
- 語言(NLP):英語
- 許可證:Falcon - LLM許可證
📦 安裝指南
若要使用此模型,你可以通過以下方式安裝所需依賴:
- 若使用Hugging Face的transformers庫,可通過常規的Python包管理工具進行安裝。
- 若使用 BitNet 庫,可運行以下命令:
git clone https://github.com/microsoft/BitNet && cd BitNet
pip install -r requirements.txt
💻 使用示例
基礎用法
使用transformers庫進行推理
若要對BitNet檢查點進行推理,可運行以下代碼:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "tiiuae/Falcon-E-1B-Base"
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
).to("cuda")
若要使用經典的bfloat16
版本,可運行以下代碼:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "tiiuae/Falcon-E-1B-Base"
revision = "bfloat16"
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
revision=revision,
).to("cuda")
使用BitNet庫進行推理
git clone https://github.com/microsoft/BitNet && cd BitNet
pip install -r requirements.txt
python setup_env.py --hf-repo tiiuae/Falcon-E-1B-Base -q i2_s
python run_inference.py -m models/Falcon-E-1B-Base/ggml-model-i2_s.gguf -p "You are a helpful assistant" -cnv
高級用法
模型微調
若要對模型進行微調,你應該加載模型的prequantized
版本,並使用onebitllms
Python包,示例代碼如下:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from trl import SFTTrainer
from onebitllms import replace_linear_with_bitnet_linear, quantize_to_1bit
model_id = "tiiuae/Falcon-E-1B-Base"
tokenizer = AutoTokenizer.from_pretrained(model_id, revision="prequantized")
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
revision="prequantized"
)
model = replace_linear_with_bitnet_linear(model)
trainer = SFTTrainer(
model,
...
)
trainer.train()
quantize_to_1bit(output_directory)
📚 詳細文檔
評估結果
以下表格展示了該模型在內部管道基準測試中的評估結果(評估結果為前Hugging Face排行榜v2任務的標準化分數):
1B規模及以下模型
模型 |
參數數量 |
內存佔用 |
IFEVAL |
Math - Hard |
GPQA |
MuSR |
BBH |
MMLU - Pro |
平均分 |
Qwen - 2.5 - 0.5B |
0.5B |
1GB |
16.27 |
3.93 |
0.0 |
2.08 |
6.95 |
10.06 |
6.55 |
SmolLM2 - 360M |
0.36B |
720MB |
21.15 |
1.21 |
0.0 |
7.73 |
5.54 |
1.88 |
6.25 |
Qwen - 2.5 - 1.5B |
1.5B |
3.1GB |
26.74 |
9.14 |
16.66 |
5.27 |
20.61 |
4.7 |
13.85 |
Llama - 3.2 - 1B |
1.24B |
2.47GB |
14.78 |
1.21 |
4.37 |
2.56 |
2.26 |
0 |
4.2 |
SmolLM2 - 1.7B |
1.7B |
3.4GB |
24.4 |
2.64 |
9.3 |
4.6 |
12.64 |
3.91 |
9.58 |
Falcon - 3 - 1B - Base |
1.5B |
3GB |
24.28 |
3.32 |
11.34 |
9.71 |
6.76 |
3.91 |
9.89 |
Hymba - 1.5B - Base |
1.5B |
3GB |
22.95 |
1.36 |
7.69 |
5.18 |
10.25 |
0.78 |
8.04 |
Falcon - E - 1B - Base |
1.8B |
635MB |
32.9 |
10.97 |
2.8 |
3.65 |
12.28 |
17.82 |
13.40 |
3B規模模型
模型 |
參數數量 |
內存佔用 |
IFEVAL |
Math - Hard |
GPQA |
MuSR |
BBH |
MMLU - Pro |
平均分 |
Falcon - 3 - 3B - Base |
3B |
6.46GB |
15.74 |
11.78 |
21.58 |
6.27 |
18.09 |
6.26 |
15.74 |
Qwen2.5 - 3B |
3B |
6.17GB |
26.9 |
14.8 |
24.3 |
11.76 |
24.48 |
6.38 |
18.1 |
Falcon - E - 3B - Base |
3B |
999MB |
36.67 |
13.45 |
8.67 |
4.14 |
19.83 |
27.16 |
18.32 |
以下是指令微調模型的結果:
1B規模及以下模型
模型 |
參數數量 |
內存佔用 |
IFEVAL |
Math - Hard |
GPQA |
MuSR |
BBH |
MMLU - Pro |
平均分 |
Qwen - 2.5 - 0.5B - Instruct |
500M |
1GB |
30.71 |
0 |
8.43 |
0.94 |
7.75 |
0 |
6.59 |
SmolLM2 - 360M - Instruct |
360M |
720MB |
38.42 |
1.51 |
4.17 |
2.77 |
1.3 |
0.67 |
8.14 |
Qwen - 2.5 - 1.5B - Instruct |
1.5B |
3.1GB |
44.76 |
22.05 |
19.81 |
3.19 |
19.99 |
0.78 |
18.43 |
SmolLM2 - 1.7B |
1.7B |
3.4GB |
53.68 |
5.82 |
10.92 |
4.1 |
11.71 |
0 |
15.02 |
Falcon - 3 - 1B - Instruct |
1.5B |
3GB |
55.57 |
6.34 |
12.96 |
10.56 |
9.32 |
2.24 |
16.16 |
Hymba - 1.5B - Instruct |
1.5B |
3GB |
60.09 |
2.72 |
4.59 |
1.05 |
11.56 |
5.515 |
14.19 |
Falcon - E - 1B - Instruct |
1.8B |
635MB |
54.35 |
9.12 |
16.5 |
2.51 |
19.42 |
9.64 |
18.59 |
3B規模模型
模型 |
參數數量 |
內存佔用 |
IFEVAL |
Math - Hard |
GPQA |
MuSR |
BBH |
MMLU - Pro |
平均分 |
Falcon - 3 - 3B - Instruct |
3B |
6.46GB |
69.77 |
25 |
26.29 |
11.13 |
22.28 |
5.15 |
26.6 |
Qwen2.5 - 3B - Instruct |
3B |
6.17GB |
64.75 |
36.78 |
25.8 |
7.57 |
25.05 |
3.02 |
27.16 |
Falcon - E - 3B - Instruct |
3B |
999MB |
60.97 |
15.3 |
23.59 |
2.12 |
26.45 |
7.45 |
22.64666667 |
有用鏈接
🔧 技術細節
關於此模型的訓練協議的更多詳細信息,請參考 Falcon - E技術博客文章。
📄 許可證
本模型使用Falcon - LLM許可證,具體條款請參考 許可證鏈接。
📚 引用
如果Falcon - E系列模型對你的工作有幫助,請引用以下內容:
@misc{tiionebitllms,
title = {Falcon-E, a series of powerful, universal and fine-tunable 1.58bit language models.},
author = {Falcon-LLM Team},
month = {April},
url = {https://falcon-lm.github.io/blog/falcon-edge},
year = {2025}
}