| ---
|
| license: apache-2.0
|
| base_model: tiiuae/Falcon-E-3B-Instruct
|
| tags:
|
| - bitnet
|
| - 1.58-bit
|
| - code
|
| - text-generation
|
| - falcon
|
| - ternary
|
| datasets:
|
| - m-a-p/CodeFeedback-Filtered-Instruction
|
| - ise-uiuc/Magicoder-OSS-Instruct-75K
|
| - ise-uiuc/Magicoder-Evol-Instruct-110K
|
| language:
|
| - en
|
| ---
|
|
|
| # Falcon-Coder-3B (1.58-bit / TQ1_0)
|
|
|
| A fine-tuned 1.58-bit ternary quantization of [Falcon-E-3B-Instruct](https://huggingface.co/tiiuae/Falcon-E-3B-Instruct), optimized for **CPU inference** via vanilla [llama.cpp](https://github.com/ggerganov/llama.cpp).
|
|
|
| This model produces code (Python, TypeScript, etc.) at ~24 tokens/sec on a typical laptop CPU with a 710 MB on-disk footprint.
|
|
|
| ## Model Details
|
|
|
| | Property | Value |
|
| |----------|-------|
|
| | Base model | tiiuae/Falcon-E-3B-Instruct |
|
| | Training method | 1.58-bit full fine-tune via [onebitllms](https://github.com/tiiuae/onebitllms) |
|
| | Training data | 365k coding instruction examples (Magicoder + CodeFeedback) |
|
| | Training duration | ~92 hours on RTX 4090 (24 GB) |
|
| | Final loss | 0.5008 (started at 0.91) |
|
| | Effective batch size | 32 (per_device=1 × grad_accum=32) |
|
| | Optimizer | paged_adamw_8bit |
|
| | Learning rate | 1e-4 (cosine schedule, 3% warmup) |
|
| | Sequence length | 1024 |
|
| | Epochs | 2 |
|
| | Stored precision | BF16 (5.7 GB) |
|
| | **Inference precision** | **TQ1_0 ternary (1.69 bpw, ~710 MB)** |
|
| | **Inference engine** | **vanilla llama.cpp** (TQ1_0 quant) |
|
| | Inference speed | ~24 tok/s on laptop CPU |
|
|
|
| ## What's in the repo
|
|
|
| This is the **training-time BF16 checkpoint**. To use it on CPU, you must convert it to a 1.58-bit ternary GGUF. See "Usage" below.
|
|
|
| ## Usage
|
|
|
| ### Inference on CPU (recommended)
|
|
|
| This BF16 model is too large for fast CPU inference. **Convert to a 1.58-bit ternary GGUF first:**
|
|
|
| ```powershell
|
| # 1. Download the BF16 model
|
| hf download anthonylee991/falcon-coder-3b --local-dir falcon-coder-3b-bf16
|
|
|
| # 2. Convert to F16 GGUF
|
| python llama.cpp/convert_hf_to_gguf.py falcon-coder-3b-bf16 `
|
| --outfile falcon-coder-3b.gguf --outtype f16
|
|
|
| # 3. Quantize to TQ1_0 (1.58-bit ternary, ~710 MB)
|
| llama.cpp/build/bin/Release/llama-quantize.exe falcon-coder-3b.gguf `
|
| falcon-coder-3b-tq1.gguf TQ1_0 8
|
|
|
| # 4. Run inference
|
| llama.cpp/build/bin/Release/llama-cli.exe `
|
| -m falcon-coder-3b-tq1.gguf `
|
| -p "def fibonacci(n):" -n 100 --threads 8
|
| ```
|
|
|
| ### Inference on GPU (BF16)
|
|
|
| ```python
|
| from transformers import AutoModelForCausalLM, AutoTokenizer
|
| import torch
|
|
|
| model = AutoModelForCausalLM.from_pretrained(
|
| "anthonylee991/falcon-coder-3b",
|
| torch_dtype=torch.bfloat16,
|
| device_map="cuda",
|
| )
|
| tokenizer = AutoTokenizer.from_pretrained("anthonylee991/falcon-coder-3b")
|
|
|
| prompt = "def quicksort(arr):"
|
| inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
| output = model.generate(**inputs, max_new_tokens=200, do_sample=False)
|
| print(tokenizer.decode(output[0], skip_special_tokens=True))
|
| ```
|
|
|
| ## Intended Use
|
|
|
| This model is a **code generation assistant**. Verified strong performance on:
|
|
|
| - ✅ Pure algorithms (binary search, sort, recursive functions)
|
| - ✅ Type definitions (TypeScript interfaces, Pydantic models)
|
| - ✅ Test scaffolding (pytest, Jest)
|
| - ✅ Mechanical refactors (if/elif → dict dispatch)
|
| - ✅ Docstrings (Google-style with examples)
|
|
|
| Verified **weak** performance on:
|
|
|
| - ⚠️ PowerShell (uses deprecated cmdlets like `Get-WmiObject`)
|
| - ⚠️ Complex business logic with multiple interacting rules
|
| - ⚠️ Anything requiring framework-specific knowledge not in training data
|
|
|
| For a detailed 10-test evaluation, see [the project repository](https://huggingface.co/anthonylee991/falcon-coder-3b) or the companion HOW-TO guide.
|
|
|
| ## Training Data
|
|
|
| Combined and deduplicated from:
|
|
|
| | Dataset | Rows | Purpose |
|
| |---------|------|---------|
|
| | [m-a-p/CodeFeedback-Filtered-Instruction](https://huggingface.co/datasets/m-a-p/CodeFeedback-Filtered-Instruction) | ~156k | High-quality code instructions with feedback |
|
| | [ise-uiuc/Magicoder-OSS-Instruct-75K](https://huggingface.co/datasets/ise-uiuc/Magicoder-OSS-Instruct-75K) | ~75k | Magicoder-style OSS examples |
|
| | [ise-uiuc/Magicoder-Evol-Instruct-110K](https://huggingface.co/datasets/ise-uiuc/Magicoder-Evol-Instruct-110K) | ~110k | Evolved instructions |
|
| | Various smaller PowerShell/TypeScript corpuses | ~30k | Multi-language coverage |
|
|
|
| After deduplication via MinHash LSH @ 0.85: **365,251 train rows + 2,000 eval rows**.
|
|
|
| The training data is generic Python code. **PowerShell, FastAPI, and TypeScript quality is limited** compared to Python. See the V2 plan in the project docs for how to address this.
|
|
|
| ## Limitations
|
|
|
| - **PowerShell quality is poor** — the model defaults to deprecated cmdlets. Use a more recent code model for PowerShell or fine-tune on PS-specific data.
|
| - **Framework-specific code** (FastAPI deps, SQLAlchemy patterns, React state management) is hit-or-miss.
|
| - **No held-out domain eval** — the eval split was drawn from the same training distribution.
|
| - **Small model (3B)** — complex reasoning across multiple files is out of scope.
|
| - **Output may include explanatory prose** — extract code blocks from the response, don't paste the whole output into your code.
|
|
|
| ## Training Infrastructure
|
|
|
| - Cloud GPU: Hivenet GPU-optimized container, single RTX 4090 (24 GB VRAM)
|
| - 92 hours wall time, $40 approximate cost
|
| - BF16 + 8-bit AdamW + gradient checkpointing to fit in 24 GB
|
|
|
| ## License
|
|
|
| This model is released under the **Apache 2.0 license**, consistent with the base [Falcon-E-3B-Instruct](https://huggingface.co/tiiuae/Falcon-E-3B-Instruct) license.
|
|
|
| ## Citation
|
|
|
| If you use this model, please cite the base model and the BitNet approach:
|
|
|
| ```bibtex
|
| @misc{falcon-e-3b-instruct,
|
| title={Falcon-E: A Family of Universal, Pre-trained 1.58-bit Models},
|
| author={TII Falcon Team},
|
| year={2025},
|
| url={https://huggingface.co/tiiuae/Falcon-E-3B-Instruct}
|
| }
|
|
|
| @misc{bitnet2025,
|
| title={bitnet.cpp: Efficient Edge Inference for Ternary LLMs},
|
| author={Jinheng Wang and others},
|
| year={2025},
|
| url={https://github.com/microsoft/BitNet}
|
| }
|
| ``` |