ybelkada commited on
Commit
5feb4d4
·
verified ·
1 Parent(s): 2213491

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +218 -0
README.md ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ library_name: transformers
3
+ tags:
4
+ - bitnet
5
+ - falcon-e
6
+ - edge
7
+ license: other
8
+ license_name: falcon-llm-license
9
+ license_link: https://falconllm.tii.ae/falcon-terms-and-conditions.html
10
+ ---
11
+
12
+ ![image/png](https://cdn-uploads.huggingface.co/production/uploads/62441d1d9fdefb55a0b7d12c/KVAEDoch-o0HgA0e2L4HL.png)
13
+
14
+ # Table of Contents
15
+
16
+ 0. [TL;DR](#TL;DR)
17
+ 1. [Model Details](#model-details)
18
+ 2. [Training Details](#training-details)
19
+ 3. [Usage](#usage)
20
+ 4. [Evaluation](#evaluation)
21
+ 5. [Citation](#citation)
22
+
23
+ This is simply the mirror of https://huggingface.co/tiiuae/Falcon-E-3B-Base - branch `prequantized`
24
+
25
+ # TL;DR
26
+
27
+ # Model Details
28
+
29
+ ## Model Description
30
+
31
+ - **Developed by:** [https://www.tii.ae](https://www.tii.ae)
32
+ - **Model type:** Causal decoder-only / Base version
33
+ - **Architecture:** Pure-transformer - 1.58bit version
34
+ - **Language(s) (NLP):** English
35
+ - **License:** Falcon-LLM License
36
+
37
+ # Training details
38
+
39
+ For more details about the training protocol of this model, please refer to the [Falcon-E technical blogpost](https://falcon-lm.github.io/blog/falcon-edge/).
40
+
41
+ # Usage
42
+
43
+ Currently to use this model you can either rely on Hugging Face transformers library or [BitNet](https://github.com/microsoft/BitNet) library. There are multiple ways to interact with the model depending on your target usage. For each of the Falcon-E series model, you have three variants: the BitNet model, the prequantized checkpoint for fine-tuning and the `bfloat16` version of the BitNet model.
44
+
45
+ ### Inference
46
+
47
+ #### 🤗 transformers
48
+
49
+ In case you want to perform inference on the BitNet checkpoint run:
50
+
51
+ ```python
52
+ import torch
53
+ from transformers import AutoModelForCausalLM, AutoTokenizer
54
+
55
+ model_id = "tiiuae/Falcon-E-1B-Base"
56
+
57
+ model = AutoModelForCausalLM.from_pretrained(
58
+ model_id,
59
+ torch_dtype=torch.bfloat16,
60
+ ).to("cuda")
61
+
62
+ # Perform text generation
63
+ ```
64
+
65
+ If you want to rather use the classic `bfloat16` version, you can run:
66
+
67
+ ```python
68
+ import torch
69
+ from transformers import AutoModelForCausalLM, AutoTokenizer
70
+
71
+ model_id = "tiiuae/Falcon-E-1B-Base"
72
+ revision = "bfloat16"
73
+
74
+ model = AutoModelForCausalLM.from_pretrained(
75
+ model_id,
76
+ torch_dtype=torch.bfloat16,
77
+ revision=revision,
78
+ ).to("cuda")
79
+
80
+ # Perform text generation
81
+ ```
82
+
83
+
84
+ #### BitNet
85
+
86
+ ```
87
+ git clone https://github.com/microsoft/BitNet && cd BitNet
88
+ pip install -r requirements.txt
89
+ python setup_env.py --hf-repo tiiuae/Falcon-E-1B-Base -q i2_s
90
+ python run_inference.py -m models/Falcon-E-1B-Base/ggml-model-i2_s.gguf -p "You are a helpful assistant" -cnv
91
+ ```
92
+
93
+ #### Apply mlx-lm
94
+
95
+ ```
96
+ pip install -U mlx-lm
97
+ ```
98
+
99
+ Then:
100
+ ```
101
+ mlx_lm.generate --model tiiuae/Falcon-E-3B-Instruct --prompt "Implement bubble sort" --max-tokens 100 --temp 0.1
102
+ ```
103
+
104
+
105
+ ### Fine-tuning
106
+
107
+ For fine-tuning the model, you should load the `prequantized` revision of the model and use the `onebitllms` Python package:
108
+
109
+ ```diff
110
+ import torch
111
+
112
+ from transformers import AutoModelForCausalLM, AutoTokenizer
113
+ from trl import SFTTrainer
114
+ + from onebitllms import replace_linear_with_bitnet_linear, quantize_to_1bit
115
+
116
+ model_id = "tiiuae/Falcon-E-1B-Base"
117
+
118
+ tokenizer = AutoTokenizer.from_pretrained(model_id, revision="prequantized")
119
+ model = AutoModelForCausalLM.from_pretrained(
120
+ model_id,
121
+ torch_dtype=torch.bfloat16,
122
+ + revision="prequantized"
123
+ )
124
+ + model = replace_linear_with_bitnet_linear(model)
125
+
126
+ trainer = SFTTrainer(
127
+ model,
128
+ ...
129
+ )
130
+
131
+ trainer.train()
132
+
133
+ + quantize_to_1bit(output_directory)
134
+ ```
135
+
136
+ # Evaluation
137
+
138
+ We report in the following table our internal pipeline benchmarks:
139
+
140
+ **Note evaluation results are normalized score from former Hugging Face leaderboard v2 tasks**
141
+
142
+ <details>
143
+ <summary class="bold"> For 1B scale models and below </summary>
144
+
145
+ | Model | Nb Params | Mem Footprint | IFEVAL | Math-Hard | GPQA | MuSR | BBH | MMLU-Pro | Avg. |
146
+ | -------- | ------- | ------- | ------- | ------ | ----- | ----- | ----- | ------ | ---- |
147
+ | Qwen-2.5-0.5B | 0.5B | 1GB | 16.27 | 3.93 | 0.0 | 2.08 | 6.95 | 10.06 | 6.55 |
148
+ | SmolLM2-360M | 0.36B | 720MB | 21.15 | 1.21 | 0.0 | 7.73 | 5.54 | 1.88 | 6.25 |
149
+ | Qwen-2.5-1.5B | 1.5B | 3.1GB | 26.74 | 9.14 | 16.66 | 5.27 | 20.61 | 4.7 | 13.85 |
150
+ | Llama-3.2-1B | 1.24B | 2.47GB | 14.78 | 1.21 | 4.37 | 2.56 | 2.26 | 0 | 4.2 |
151
+ | SmolLM2-1.7B | 1.7B | 3.4GB | 24.4 | 2.64 | 9.3 | 4.6 | 12.64 | 3.91 | 9.58 |
152
+ | Falcon-3-1B-Base | 1.5B | 3GB | 24.28 | 3.32 | 11.34 | 9.71 | 6.76 | 3.91 | 9.89 |
153
+ | Hymba-1.5B-Base | 1.5B | 3GB | 22.95 | 1.36 | 7.69 | 5.18 | 10.25 | 0.78 | 8.04 |
154
+ | Falcon-E-1B-Base | 1.8B | **635MB** | 32.9 | 10.97 | 2.8 | 3.65 | 12.28 | 17.82 | 13.40 |
155
+
156
+ </details>
157
+
158
+
159
+ <details>
160
+ <summary class="bold"> For 3B scale models </summary>
161
+
162
+ | Model | Nb Params | Mem Footprint | IFEVAL | Math-Hard | GPQA | MuSR | BBH | MMLU-Pro | Avg. |
163
+ | -------- | ------- | ------- | ------- | ------ | ----- | ----- | ----- | ------ | ---- |
164
+ | Falcon-3-3B-Base | 3B | 6.46GB | 15.74 | 11.78 | 21.58 | 6.27 | 18.09 | 6.26 | 15.74 |
165
+ | Qwen2.5-3B | 3B | 6.17GB | 26.9 | 14.8 | 24.3 | 11.76 | 24.48 | 6.38 | 18.1 |
166
+ | Falcon-E-3B-Base | 3B | **999MB** | 36.67 | 13.45 | 8.67 | 4.14 | 19.83 | 27.16 | 18.32 |
167
+
168
+ </details>
169
+
170
+ Below are the results for instruction fine-tuned models:
171
+
172
+ <details>
173
+ <summary class="bold"> For 1B scale models and below </summary>
174
+
175
+ | Model | Nb Params | Mem Footprint | IFEVAL | Math-Hard | GPQA | MuSR | BBH | MMLU-Pro | Avg. |
176
+ | -------- | ------- | ------- | ------- | ------ | ----- | ----- | ----- | ------ | ---- |
177
+ | Qwen-2.5-0.5B-Instruct | 500M | 1GB | 30.71 | 0 | 8.43 | 0.94 | 7.75 | 0 | 6.59 |
178
+ | SmolLM2-360M-Instruct | 360M | 720MB | 38.42 | 1.51 | 4.17 | 2.77 | 1.3 | 0.67 | 8.14 |
179
+ | Qwen-2.5-1.5B-Instruct | 1.5B | 3.1GB | 44.76 | 22.05 | 19.81 | 3.19 | 19.99 | 0.78 | 18.43 |
180
+ | SmolLM2-1.7B | 1.7B | 3.4GB | 53.68 | 5.82 | 10.92 | 4.1 | 11.71 | 0 | 15.02 |
181
+ | Falcon-3-1B-Instruct | 1.5B | 3GB | 55.57 | 6.34 | 12.96 | 10.56 | 9.32 | 2.24 | 16.16 |
182
+ | Hymba-1.5B-Instruct | 1.5B | 3GB | 60.09 | 2.72 | 4.59 | 1.05 | 11.56 | 5.515 | 14.19 |
183
+ | Falcon-E-1B-Instruct | 1.8B | **635MB** | 54.35 | 9.12 | 16.5 | 2.51 | 19.42 | 9.64 | 18.59 |
184
+
185
+ </details>
186
+
187
+
188
+ <details>
189
+ <summary class="bold"> For 3B scale models </summary>
190
+
191
+ | Model | Nb Params | Mem Footprint | IFEVAL | Math-Hard | GPQA | MuSR | BBH | MMLU-Pro | Avg. |
192
+ | -------- | ------- | ------- | ------- | ------ | ----- | ----- | ----- | ------ | ---- |
193
+ | Falcon-3-3B-Instruct | 3B | 6.46GB | 69.77 | 25 | 26.29 | 11.13 | 22.28 | 5.15 | 26.6 |
194
+ | Qwen2.5-3B-Instruct | 3B | 6.17GB | 64.75 | 36.78 | 25.8 | 7.57 | 25.05 | 3.02 | 27.16 |
195
+ | Falcon-E-3B-Instruct | 3B | **999MB** | 60.97 | 15.3 | 23.59 | 2.12 | 26.45 | 7.45 | 22.64666667 |
196
+
197
+ </details>
198
+
199
+
200
+ ## Useful links
201
+
202
+ - View [our release blogpost](https://falcon-lm.github.io/blog/falcon-edge/).
203
+ - Learn more about [`onebitllms` library](https://github.com/tiiuae/onebitllms).
204
+ - Feel free to join [our discord server](https://discord.gg/fwXpMyGc) if you have any questions or to interact with our researchers and developers.
205
+
206
+ ## Citation
207
+
208
+ If the Falcon-E family of models were helpful to your work, feel free to give us a cite.
209
+
210
+ ```
211
+ @misc{tiionebitllms,
212
+ title = {Falcon-E, a series of powerful, universal and fine-tunable 1.58bit language models.},
213
+ author = {Falcon-LLM Team},
214
+ month = {April},
215
+ url = {https://falcon-lm.github.io/blog/falcon-edge},
216
+ year = {2025}
217
+ }
218
+ ```