File size: 4,395 Bytes
03f6801 7ae30ec 4886942 03f6801 7ae30ec 91cde09 7ae30ec 8207ae5 7ae30ec 91cde09 7ae30ec 91cde09 7ae30ec 91cde09 7ae30ec 91cde09 4886942 91cde09 7ae30ec 91cde09 7ae30ec 91cde09 7ae30ec 91cde09 7ae30ec 91cde09 7ae30ec 91cde09 4886942 7ae30ec 4886942 7ae30ec | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | ---
license: apache-2.0
base_model: Qwen/Qwen2.5-0.5B
tags:
- text-generation
- causal-lm
- grpo
- reasoning
- reinforcement-learning
- mini-llm
datasets:
- openai/gsm8k
- openai/openai_humaneval
- cais/mmlu
- allenai/ai2_arc
- alignment-handbook/bespoke-stratos-17k
language:
- en
pipeline_tag: text-generation
metrics:
- accuracy
- exact_match
---
# Atomight-V2.1-0.5B-Inference
<p align="center">
<img src="OfficialAtomight.png" alt="Atomight Logo" width="500" style="max-width: 100%;">
</p>
**Atomight-V2.1-0.5B-Inference** is an ultra-compact, reasoning-oriented causal language model developed under the **Atomight Ecosystem**. Built on a Qwen-derived 494M parameter foundation, the model has been refined using **GRPO (Group Relative Policy Optimization)** reinforcement tuning.
Despite its tiny physical footprint, Atomight-V2.1-0.5B targets highly efficient edge-device reasoning, structured text outputs, lightweight coding assistance, and rapid deployment workflows under severe compute constraints.
### ๐ Key Highlights
- **Parameter Footprint:** ~494M parameters (Loads into ~1GB VRAM at FP16).
- **Training Paradigm:** GRPO reinforcement learning focusing on high-signal reasoning vectors instead of brute-force dataset scale.
- **Edge-Optimized:** Designed specifically for low-overhead mobile, local, and browser-based inference loops (Google Colab / Kaggle native workflow).
---
## ๐ Evaluation & Benchmark Results
Official evaluations were conducted using the **EleutherAI LM Evaluation Harness** at FP16 precision.
### Core Evaluation Metrics
| Benchmark Task | Metric Typology | Atomight-V2.1-0.5B Score | Focus Domain |
| :--- | :--- | :--- | :--- |
| **ARC-Easy** | Accuracy (Normalized) | **59.34%** | Scientific Fact Retrieval |
| **HellaSwag** | Accuracy (Normalized) | **52.35%** | Commonsense Reasoning & Next-Sentence Prediction |
| **ARC-Challenge** | Accuracy (Normalized) | **33.79%** | Hard Analytical Exclusion Logic |
| **GSM8K (Flexible Extract)** | Exact Match (Regex Clean) | **32.45%** | Mathematical Thought & Resolution |
| **GSM8K (Strict)** | Exact Match (Rigid Parse) | **19.79%** | Formatted Mathematical Output |
### ๐ Comparative Engineering Insights
* **Punching Above Weight Classes:** Atomight-V2.1-0.5B outpaces Meta's larger **Llama-3.2-1B-Instruct** on localized logic-retrieval metrics, clearing **59.3%** on ARC-Easy and **33.8%** on ARC-Challenge compared to Llama's *56.7%* and *31.8%* respectively.
* **The Reasoning Gap:** On mathematical reasoning (GSM8K), when evaluated with **Flexible Extraction parsing (32.45%)**, Atomight demonstrates higher raw mathematical accuracy than both Qwen2.5-0.5B-Instruct (*26.8%*) and Llama-3.2-1B-Instruct (*24.4%*).
* **The Formatting Note:** The delta between Atomight's Strict Math score (19.8%) and Flexible Math score (32.5%) stems from the internal reasoning tokens generated during the inference step. While the mathematical conclusion is correct nearly 1/3 of the time, the model frequently bypasses rigid formatting constraints in favor of dense thinking traces.
---
## ๐ป Quickstart: Inference Execution
Atomight utilizes system and sequence prompts to partition thinking spaces. For optimal reasoning convergence, use explicit `<thinking>` and `<answer>` encapsulation layers.
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "NovatasticRoScript/Atomight-V2.1-0.5B-Inference"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto"
)
# Structuring system guidelines for GRPO activation
messages = [
{
"role": "system",
"content": "You are a reasoning model. Think inside <thinking> and answer inside <answer>."
},
{
"role": "user",
"content": "A farmer has 12 apples. He gives 4 to his neighbor and loses 2 on the way home. How many apples does he have left?"
}
]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
).to("cuda")
with torch.no_grad():
outputs = model.generate(
inputs,
max_new_tokens=250,
temperature=0.01,
pad_token_id=tokenizer.eos_token_id
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|