Deep Causal Internal Reasoning
No verbose CoT, no <think> tags, just concise answers powered by implicit reasoning.
💡 Introduction
Recent advances in reasoning models (DeepSeek R1, o1) have demonstrated impressive capabilities through Chain-of-Thought (CoT) reasoning. However, we observe several critical drawbacks:
Problems with External CoT:
Verbosity Tax: Models generate hundreds of tokens in <think> tags before answering, increasing latency and cost
Autoregressive Dependency: Models must "see" their reasoning to follow it, forcing sequential token generation
Token Inefficiency: Users pay for reasoning traces they often don't need, only the final answer matters
Production Overhead: Verbose outputs are impractical for real-time APIs and edge deployment
Our Insight: What if reasoning could happen internally in the model's hidden states, without generating verbose traces?
Geilim-1B-Instruct addresses these limitations through a hybrid architecture combining:
ASPP (Adjacency-Structured Parallel Propagation): Graph-based causal chains for structured reasoning
π-flow (Probability Flow Dynamics): Internal refinement in probability space without token generation
Hybrid Gating: Learnable balance between structured and attention-based processing
The result: Deep reasoning capability with concise outputs - the best of both worlds.
🎯 Core Value Proposition
Geilim-1B-Instruct is the anti-verbose reasoning model.
Model Type
Reasoning Approach
Output Style
Baseline (Llama-3.2-1B)
Limited reasoning
Direct but may lack depth
CoT Models (DeepSeek R1, o1)
External reasoning chains
Verbose <think> tags, long outputs
Geilim-1B-Instruct
Internal reasoning
Concise answers, reasoning in hidden states
Key Differentiator: Geilim performs deep causal reasoning internally through ASPP+π-flow architecture, then outputs only the final answer. You get the reasoning quality without the verbosity tax.
🏗️ Architecture Overview
Geilim-1B-Instruct combines three key components for implicit reasoning:
Why it matters: ASPP creates explicit causal relationships between tokens, allowing information to flow through a reasoning chain without generating output tokens.
2. π-flow (Probability Flow Dynamics)
Velocity field learning: h' = h + α * v(h) where v(h) is a learned refinement
Multi-step refinement: Iterates in probability space to converge on the correct answer
Gated application: Model learns when to refine (complex questions) vs when to skip (simple questions)
Internal convergence: Reasoning happens in hidden states, not in generated text
Why it matters: π-flow eliminates the need for external CoT by performing iterative refinement internally. The model "thinks" in its hidden states and outputs only the final result.
3. Hybrid Gating Mechanism
output = gate * ASPP(x) + (1-gate) * Attention(x)
Combines structured causal reasoning (ASPP) with flexible attention
Learnable balance between graph-based and sequence-based processing
Applied to all 30 layers of the base model (Llama-3.2-1B)
User: What is 15 * 8?
Model: <think>
Let me break this down step by step:
1. First, I'll multiply 15 by 8
2. 15 * 8 = 15 * (10 - 2)
3. Using distributive property: 15*10 - 15*2
4. 150 - 30 = 120
Therefore, the answer is 120.
</think>
The answer is 120.
Result: Structured reasoning (not just attention) + probabilistic convergence = deep causal understanding
📊 Configuration
Model Architecture
Base Model: Llama-3.2-1B-Instruct (1.26B params)
Total Parameters: ~1.4B (140M additional ASPP+π-flow params)
Hybrid Layers: All 30 layers (universal reasoning capability)
ASPP Settings
python
1aspp_hidden_dim:512# vs 2048 model hidden_size (reduce overfitting)2aspp_num_steps:2-8# learnable via sigmoid gating3aspp_dropout:0.154aspp_num_neighbors:1# Union-Find: parent-only connections
1from transformers import AutoTokenizer, AutoModelForCausalLM
2import torch
34# Load model5model_path ="NoesisLab/Geilim-1B-Instruct"6tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)7model = AutoModelForCausalLM.from_pretrained(8 model_path,9 trust_remote_code=True,10 torch_dtype=torch.bfloat16,11 device_map="auto",12)1314# Generate response15prompt ="A store has 120 apples. They sell 35 in the morning and 48 in the afternoon. How many are left?"16messages =[{"role":"user","content": prompt}]1718input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)19inputs = tokenizer(input_text, return_tensors="pt").to(model.device)2021outputs = model.generate(22**inputs,23 max_new_tokens=128,24 temperature=0.7,25 do_sample=True,26 top_p=0.9,27)2829response = tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True)30print(response)# Expected: "37" or "37 apples are left." (concise!)
Advanced Usage
python
1# For math problems requiring step-by-step (if needed)2# Note: Geilim prefers concise outputs, but can show work if prompted3prompt ="Explain how you would solve: What is 15 * 23?"45# For best results with implicit reasoning6generation_config ={7"max_new_tokens":128,# Keep low to encourage conciseness8"temperature":0.7,# Moderate sampling9"do_sample":True,10"top_p":0.9,11"repetition_penalty":1.1,# Prevent loops12}
Same reasoning depth: Matches CoT models without the verbosity
📝 Citation
If you use Geilim-1B-Instruct in your research or applications, please cite:
bibtex
1@misc{geilim2026,
2 title={Geilim-1B-Instruct: Deep Causal Internal Reasoning via ASPP and Probability Flow},
3 author={NoesisLab},
4 year={2026},
5 howpublished={HuggingFace Model Hub},
6 url={https://huggingface.co/NoesisLab/Geilim-1B-Instruct}
7}
🤝 Acknowledgments
Base Model: Llama-3.2-1B-Instruct by Meta
Training Framework: TRL by HuggingFace
Inspiration: DeepSeek R1 (for demonstrating value of reasoning), but pursuing conciseness