Files
danAI-55M-Reasoning/README.md
ModelHub XC 0daea0785f 初始化项目,由ModelHub XC社区提供模型
Model: asjadilahi/danAI-55M-Reasoning
Source: Original Platform
2026-10-12 04:31:19 +08:00

205 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
language:
- en
license: apache-2.0
tags:
- danai
- small-language-model
- slm
- edge-ai
- agentic
- tool-calling
- reasoning
- cot
- mobile
- gguf
- quantization
- ollama
- llama-cpp
- 4bit
- 8bit
- 2bit
pipeline_tag: text-generation
inference: false
---
<div align="center">
<img src="danai.jpeg" alt="danAI Logo" width="500" style="border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.15);"/>
# 🧠 danAI-55M-Reasoning
**An Ultra-Lightweight 54.5M Agentic & Reasoning Language Model for Edge Devices, Mobile Intelligence, and Microcontrollers**
*Created by **Asjad Ilahi** ([@asjadilahi](https://huggingface.co/asjadilahi))*
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Parameters](https://img.shields.io/badge/Parameters-54.5M-green.svg)]()
[![RAM Footprint](https://img.shields.io/badge/RAM_Footprint-13MB_to_104MB-orange.svg)]()
[![Quantizations](https://img.shields.io/badge/Formats-GGUF_|_Safetensors_|_Ollama-blueviolet.svg)]()
[![Throughput](https://img.shields.io/badge/Speed->300_tok/s_(Metal/CPU)-purple.svg)]()
</div>
---
### 🌟 About danAI (*دانا - Wise / Intelligent*)
**danAI-55M-Reasoning** is an ultra-compact **54.5 Million parameter Small Language Model (SLM)** designed from the ground up to bring high-grade reasoning, instruction following, and autonomous agentic capabilities to low-power edge hardware, mobile processors, and IoT devices in an ultra-low **13 MB to 104 MB memory footprint**.
Named after the Urdu word ***Dānā (دانا)*** meaning *wise* or *intelligent*, **danAI** proves that extreme efficiency and agentic intelligence can coexist without requiring multi-gigabyte models.
---
## ⚡ Quantized Models & Formats (16-bit, 8-bit, 4-bit, 2-bit)
All official quantizations and weights are hosted directly in this repository:
| Bit Width | Format | Target File | File Size | Memory Footprint | Recommended Use Case / Target Hardware |
| :---: | :---: | :---: | :---: | :---: | :---: |
| **16-bit** | PyTorch Safetensors | [`model.safetensors`](./model.safetensors) | 104 MB | 104 MB | Standard PyTorch / Hugging Face BF16 inference |
| **16-bit** | PyTorch Safetensors | [`model.fp16.safetensors`](./model.fp16.safetensors) | 104 MB | 104 MB | Standard Half-Precision CUDA GPUs |
| **16-bit** | Master FP32 | [`model.fp32.safetensors`](./model.fp32.safetensors) | 208 MB | 208 MB | Research, analysis & master precision benchmarking |
| **16-bit** | GGUF F16 | [`danAI-55M-Reasoning-F16.gguf`](./danAI-55M-Reasoning-F16.gguf) | 137 MB | 137 MB | llama.cpp / Ollama unquantized reference baseline |
| **16-bit** | GGUF BF16 | [`danAI-55M-Reasoning-BF16.gguf`](./danAI-55M-Reasoning-BF16.gguf) | 137 MB | 137 MB | Apple Silicon Metal & modern CPU engines |
| **8-bit** | GGUF Q8_0 | [`danAI-55M-Reasoning-Q8_0.gguf`](./danAI-55M-Reasoning-Q8_0.gguf) | 73.5 MB | **~74 MB** | **⭐ Recommended for Ollama / llama.cpp (Near 0% quality loss)** |
| **8-bit** | PyTorch INT8 | [`danAI-55M-Reasoning-INT8.safetensors`](./danAI-55M-Reasoning-INT8.safetensors) | 52.2 MB | **~52 MB** | High-speed PyTorch 8-bit symmetric weight inference |
| **6-bit** | GGUF Q6_K | [`danAI-55M-Reasoning-Q6_K.gguf`](./danAI-55M-Reasoning-Q6_K.gguf) | 57.1 MB | ~57 MB | High-precision K-quant balance |
| **5-bit** | GGUF Q5_K_M | [`danAI-55M-Reasoning-Q5_K_M.gguf`](./danAI-55M-Reasoning-Q5_K_M.gguf) | 50.9 MB | ~51 MB | Compact balanced K-quant |
| **4-bit** | GGUF Q4_K_M | [`danAI-55M-Reasoning-Q4_K_M.gguf`](./danAI-55M-Reasoning-Q4_K_M.gguf) | 45.0 MB | **~45 MB** | **⭐ Optimal Edge Balance: Mobile chips, Raspberry Pi, Edge AI** |
| **4-bit** | GGUF Q4_0 | [`danAI-55M-Reasoning-Q4_0.gguf`](./danAI-55M-Reasoning-Q4_0.gguf) | 43.7 MB | ~44 MB | Universal 4-bit block quant for embedded platforms |
| **4-bit** | PyTorch INT4 | [`danAI-55M-Reasoning-INT4.safetensors`](./danAI-55M-Reasoning-INT4.safetensors) | 26.4 MB | **~26 MB** | Ultra-compact 4-bit packed weights for PyTorch on-device |
| **3-bit** | GGUF Q3_K_M | [`danAI-55M-Reasoning-Q3_K_M.gguf`](./danAI-55M-Reasoning-Q3_K_M.gguf) | 38.6 MB | ~39 MB | Sub-40MB K-quant compression |
| **2-bit** | GGUF Q2_K | [`danAI-55M-Reasoning-Q2_K.gguf`](./danAI-55M-Reasoning-Q2_K.gguf) | 32.8 MB | **~33 MB** | 2-bit K-quant for microcontrollers & extreme RAM limits |
| **2-bit** | PyTorch INT2 | [`danAI-55M-Reasoning-INT2.safetensors`](./danAI-55M-Reasoning-INT2.safetensors) | 13.4 MB | **~13 MB** | Ultra-low 2-bit packed representation (4 weights/byte) |
---
## 🚀 Quickstart & Inference
### 1. Ollama (1-Command Local Run)
```bash
# Download GGUF and Modelfile
huggingface-cli download asjadilahi/danAI-55M-Reasoning danAI-55M-Reasoning-Q8_0.gguf Modelfile --local-dir .
# Create and run with Ollama
ollama create danai -f Modelfile
ollama run danai "What is 5 + 7?"
```
### 2. llama.cpp / llama-cli
```bash
# Download any GGUF quant (e.g. Q8_0 or Q4_K_M)
huggingface-cli download asjadilahi/danAI-55M-Reasoning danAI-55M-Reasoning-Q8_0.gguf --local-dir .
# Run with llama-cli (>300 tokens/sec on Apple Silicon / CPU)
llama-cli -m danAI-55M-Reasoning-Q8_0.gguf -p "System: You are danAI, a helpful AI assistant.\n\nUser: Solve 25 * 4.\n\nAssistant: <think>" -n 128
```
### 3. Interactive Python Chat with Live Tool Calling
```bash
# Clone repository
git clone https://github.com/Asjad-Ilahi/danAI-55M.git
cd danAI-55M
pip install torch safetensors huggingface-hub tokenizers
# Run interactive assistant (automatically pulls weights from Hugging Face)
python scripts/chat.py
```
### 4. Standalone Quantized PyTorch Runner (INT8, INT4, INT2, BF16)
```python
import torch
from tokenizers import Tokenizer
from safetensors.torch import load_file
from scripts.quantized_chat import load_quantized_model
# Load 8-bit, 4-bit, or 2-bit quantized safetensors
model, mode = load_quantized_model("hf_export/danAI-55M-Reasoning-INT8.safetensors")
tokenizer = Tokenizer.from_file("tokenizer/tokenizer.json")
prompt = "System: You are danAI, a helpful AI assistant.\n\nUser: What is 2 + 2?\n\nAssistant: <think>"
input_ids = torch.tensor([tokenizer.encode(prompt).ids], dtype=torch.long)
with torch.no_grad():
for _ in range(30):
logits = model(input_ids)[0]
next_token = torch.argmax(logits[0, -1, :]).item()
input_ids = torch.cat([input_ids, torch.tensor([[next_token]])], dim=1)
if next_token in [0, tokenizer.token_to_id("<|endoftext|>")]:
break
print(tokenizer.decode(input_ids[0].tolist()))
```
---
## 💎 Core Strengths
1. **⚡ Ultra-Low 13 MB to 104 MB RAM Footprint**:
* Runs smoothly on mobile chips, Apple Silicon, Raspberry Pi, and microcontrollers.
2. **🛠️ Native Agentic Tool Calling (100% Invocation Rate)**:
* Automatically emits structured `<tool_call>` JSON blocks to offload exact multi-digit math to a `calculator` tool (`123433 * 564332 = 69657191756`) and live real-time queries to `search_web`.
3. **💭 Chain-of-Thought (`<think>`) Step-by-Step Reasoning**:
* Decomposes multi-step arithmetic, logic, and planning inside `<think>` tokens before emitting the final answer.
4. **🥇 #1 in Direct Sub-100M Science Benchmarks**:
* Decisively outperforms **Pythia-70M** across ARC-Easy (39.2% vs 37.4%), ARC-Challenge (25.2% vs 18.1%), and MMLU (27.4% vs 25.1%) while being **22% smaller**.
5. **🏆 Outperforms OpenAI GPT-2 Small (124M)**:
* Beats GPT-2 on ARC-Easy (39.2% vs 35.8%), ARC-Challenge (25.2% vs 21.4%), and MMLU (27.4% vs 26.2%) at **less than half the memory**.
---
## 🏆 Full-Dataset Benchmark Leaderboard
Evaluated across **100% of all official test and validation samples** (>20,000+ test questions) against all major sub-150M open models:
| Model | Active Params | Training Scale | GSM8K (Direct) | Agentic Tools | ARC-Challenge *(Hard Science)* | ARC-Easy *(2,376 q)* | ARC (Avg) | MMLU *(1,520 q)* | RAM Footprint | PIQA *(1,838 q)* |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **danAI-55M-Reasoning** | **54.5M** | **~3B tokens** | **3.0%** | **100.0% (Native)** | **25.2%** | **39.2%** | **32.2%** | **27.4%** | **13MB – 104 MB** | **56.1%** |
| **Pythia-70M** *(EleutherAI)* | 70M | 300B tokens | 0.0% | 0.0% | 18.1% | 37.4% | 27.8% | 25.1% | 140 MB | 59.5% |
| **GPT-2 Small** *(OpenAI)* | 124M | 40B tokens | 0.0% | 0.0% | 21.4% | 35.8% | 28.6% | 26.2% | 248 MB | 63.3% |
| **MobileLLM-125M** *(Meta AI)* | 125M | 1,000B tokens | 0.5% | 0.0% | 27.7% | 45.5% | 36.6% | - | 250 MB | 64.6% |
| **SmolLM-135M** *(Hugging Face)* | 135M | 600B tokens | 1.0% | 0.0% | - | - | 42.4% | 30.2% | 270 MB | 68.4% |
| **SmolLM2-135M** *(Hugging Face)* | 135M | 2,000B tokens | 1.4% | 0.0% | - | - | 43.9% | 31.5% | 270 MB | 68.4% |
---
## 📐 Architecture Specifications
* **Model Name**: `danAI-55M-Reasoning`
* **Total Parameters**: 54,525,952 (54.5M)
* **Layers**: 12 Transformer Blocks
* **Hidden Dimension**: 512
* **Attention Heads**: 8 Query Heads
* **KV Heads**: 4 Key/Value Heads (Grouped Query Attention - GQA)
* **Head Dimension**: 64
* **Intermediate Dimension**: 1376 (SwiGLU MLP)
* **Vocab Size**: 32,768 (Byte-Pair Encoding, Tied Embeddings)
* **Positional Embeddings**: RoPE (Rotary Position Embeddings, Base theta=10000.0, NTK Extension factor=2.0)
* **Max Context Length**: 2048 tokens
* **Memory Footprint**: 13 MB (INT2) / 26 MB (INT4) / 45 MB (Q4_K_M) / 74 MB (Q8_0) / 104 MB (FP16/BF16)
---
## 🔗 Official Links & Resources
* **GitHub Repository**: [https://github.com/Asjad-Ilahi/danAI-55M](https://github.com/Asjad-Ilahi/danAI-55M)
* **Hugging Face Hub**: [https://huggingface.co/asjadilahi/danAI-55M-Reasoning](https://huggingface.co/asjadilahi/danAI-55M-Reasoning)
---
## 📜 Citation & License
```bibtex
@misc{ilahi2026danai55m,
author = {Asjad Ilahi},
title = {danAI-55M-Reasoning: Ultra-Lightweight Agentic and Reasoning Language Model},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/asjadilahi/danAI-55M-Reasoning}}
}
```
* **License**: Apache 2.0 (Open-source, commercial use permitted)
* **Author**: Asjad Ilahi ([@asjadilahi](https://huggingface.co/asjadilahi))