Upload README.md with huggingface_hub
Browse files
README.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
library_name: mlbricks
|
| 3 |
+
tags:
|
| 4 |
+
- elasticbit
|
| 5 |
+
- quantization
|
| 6 |
+
- compression
|
| 7 |
+
base_model: microsoft/phi-4
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# phi-4 — MLBricks ElasticBit
|
| 11 |
+
|
| 12 |
+
Source: `microsoft/phi-4`
|
| 13 |
+
Source revision: `2db69c1c3e91a05d2c64a3185acfbaf36f744e25`
|
| 14 |
+
MLBricks commit: `f772eb27d2d6b84764e9e90458827dac6980a88a`
|
| 15 |
+
ElasticBit threshold: `0.01`
|
| 16 |
+
Persistent global dtypes: preserved from the source model as loaded for conversion
|
| 17 |
+
|
| 18 |
+
## Conversion result
|
| 19 |
+
|
| 20 |
+
- Decoder layers: 40
|
| 21 |
+
- Parameter-weighted effective bits: 8.126
|
| 22 |
+
- Linear storage reduction: 49.18%
|
| 23 |
+
- Layer artifact bytes: 12.059 GiB
|
| 24 |
+
- Exact global component bytes: 1.914 GiB
|
| 25 |
+
- Approximate uploaded inference payload: 13.973 GiB
|
| 26 |
+
- Reconstructed end-to-end smoke test: PASS
|
| 27 |
+
|
| 28 |
+
## Validation
|
| 29 |
+
|
| 30 |
+
Each newly converted layer is checked on calibration inputs, a separate validation input,
|
| 31 |
+
and a local save/load round trip. Before `complete=true`, the converter reconstructs global
|
| 32 |
+
payloads from the uploaded safetensors files, streams every uploaded ElasticBit layer through
|
| 33 |
+
a real full-model forward, and compares final logits with the pinned FP16 source reference.
|
| 34 |
+
|
| 35 |
+
## Layout
|
| 36 |
+
|
| 37 |
+
- `layers/layer_XXX.elasticbit`
|
| 38 |
+
- `components/global_manifest.json`
|
| 39 |
+
- `components/global_*.safetensors`
|
| 40 |
+
- `reports/layer_XXX.json`
|
| 41 |
+
- `reports/reconstruction_smoke.json`
|
| 42 |
+
- `calibration/input_ids.safetensors`
|
| 43 |
+
- `validation/input_ids.safetensors`
|
| 44 |
+
- `elasticbit_manifest.json`
|
| 45 |
+
- `progress.json`
|
| 46 |
+
|
| 47 |
+
Layer artifacts use a minimal ElasticBit root namespace: compressed Linear paths are stored as `block.*`.
|
| 48 |
+
The root class itself is not serialized. A loader should create a small `nn.Module` with a `.block`
|
| 49 |
+
containing the pinned source-compatible decoder architecture, call `ElasticBit.load(root, artifact)`,
|
| 50 |
+
then use `root.block` in the reconstructed model while retaining `root` when controller access is needed.
|
| 51 |
+
|
| 52 |
+
Review the source model license before redistribution or commercial use.
|