CycleCore-Technologies's picture
Upload README.md with huggingface_hub
5fa7bb8 verified
metadata
license: apache-2.0
language:
  - en
tags:
  - tool-routing
  - nlm
  - mcp
  - orchestrator
  - nano-language-model
pipeline_tag: text-generation
model-index:
  - name: maaza-nlm-orchestrator-9.6m-v1.2
    results:
      - task:
          type: text-generation
          name: Tool Routing
        metrics:
          - type: accuracy
            value: 86
            name: Tool Selection Accuracy (In-Distribution)
          - type: accuracy
            value: 63
            name: Tool Selection Accuracy (Adversarial)
          - type: latency
            value: 39
            name: Average Latency (ms)

maaza-nlm-orchestrator-9.6m-v1.2

63% adversarial accuracy (+37% from v1.0) · 86% in-distribution · 39ms latency · 9.60M parameters

The fastest adversarial-robust orchestrator ever shipped under 20M parameters. The official routing brain for the MCPBodega ecosystem.


What's New in v1.2

  • +37% adversarial robustness (26% → 63%) via 10x upsampled adversarial training
  • Trained on 496 diverse adversarial examples (typos, slang, synonyms, contractions)
  • No wrapper, no fallback — pure model improvement
  • Same architecture, same latency class

Performance (v1.2 — December 2025)

Metric v1.0 v1.2 Change
In-distribution 88% 86% -2%
Adversarial (typos/slang) 26% 63% +37%
Valid JSON 99%+ 99%+
Latency 33ms 39ms +6ms

v1.2's adversarial training reduces the need for production wrappers. The model now handles typos, slang, and informal input natively.


Paper

Task-Specialized Micro Language Models Outperform Larger Zero-Shot Models on Structured Data Extraction

Authors: CycleCore Technologies Date: November 22, 2025 Version: 0.7

Full Paper (PDF)


NLM Taxonomy (CycleCore, 2025)

Category Parameters Typical Capability
NLM <10M Routing, classification, orchestration
MLM 10–250M Structured extraction
SLM 250M–1.5B Reliable reasoning + extraction
LLM >1.5B General-purpose reasoning

maaza-nlm-orchestrator-9.6m is the current flagship of the NLM category.


Model Card

Metric Value
Parameters 9,600,000
Architecture 7-layer Transformer decoder, SwiGLU, RoPE
Hidden size / Heads 320 / 8
Vocabulary 8,000 (BPE, tool-aware)
Context length 512 tokens

Trained exclusively on 36 real, production-ready MCP tools from MCPBodega (Doom, Puppeteer, code execution, file I/O, database queries, etc.). No synthetic or placeholder tools.


Comparison

Model Parameters Tool Accuracy Adversarial Latency
maaza-nlm-orchestrator-9.6m-v1.2 9.6M 86% 63% 39ms
maaza-nlm-orchestrator-9.6m (v1.0) 9.6M 88% 26% 33ms
NVIDIA Orchestrator-8B 8B 78% ≥800ms
Gorilla-7B 7B 52–58% 1–3s
ToolLlama-7B 7B 48–55% 2–4s

Ranks #1 under 20M parameters on adversarial robustness.


One-line deployment

mcpbodega deploy nano-orchestrator

Usage Example (PyTorch)

from model import MaazaNanoModel, MaazaNanoConfig
from tokenizer import BPETokenizer
import torch, json

tokenizer = BPETokenizer.load("tokenizer.json")
config = MaazaNanoConfig(**json.load(open("config.json")))
model = MaazaNanoModel(config)
model.load_state_dict(torch.load("model.pt", weights_only=True))
model.eval().cuda()

prompt = "<|user|>search for cats on the internet<|assistant|>"
input_ids = torch.tensor([tokenizer.encode(prompt)]).cuda()

with torch.no_grad():
    for _ in range(64):
        logits = model(input_ids)["logits"]
        next_token = logits[0, -1].argmax(-1)
        input_ids = torch.cat([input_ids, next_token[None, None]], dim=-1)
        if next_token.item() in tokenizer.special_tokens.values():
            break

print(tokenizer.decode(input_ids[0].tolist()))
# → [{"tool": "web_search", "params": {"query": "cats"}}]

v1.2 Training Details

Fine-tuned from v1.0 on adversarial data:

  • 2,520 clean examples
  • 496 adversarial examples (10x upsampled = 4,960)
  • Total: 7,480 examples (66% adversarial ratio)
  • 5 epochs, LR 3e-5, batch 32

Adversarial perturbations:

  • Typos (random character swaps)
  • Synonyms (search→find, weather→climate)
  • Slang suffixes (pls, bruh, yo, lol)
  • Contractions (you→u, please→plz, for→4)

Supported Tools (36)

Tool Description
web_search Search the web
web_fetch Fetch URL content
file_read Read local files
file_write Write local files
code_execute_python Run Python code
code_execute_bash Run shell commands
code_execute_js Run JavaScript
email_send Send emails
slack_send Send Slack messages
calendar_add Create calendar events
database_query Query databases
puppeteer_navigate Browser navigation
puppeteer_click Browser clicks
puppeteer_screenshot Take screenshots
doom_mcp Play Doom
bitchat_send BLE mesh chat
voice_mcp Text-to-speech
maaza_extract_json Extract structured data
json_validate Validate JSON
csv_parse Parse CSV files
regex_match Pattern matching
calculator Math operations
weather_lookup Weather data
crypto_lookup Crypto prices
stock_lookup Stock prices
news_fetch News headlines
mcpbodega_chat MCPBodega chat rooms
mcpbodega_deploy Deploy MCPs
mcpbodega_list List MCPs
github_issue Create GitHub issues
scratchpad_mcp Temporary storage
health_check Service health checks
cyclecore_terminal Terminal commands
image_caption Image descriptions
slmbench_query Benchmark queries
translator Translation

License

Apache 2.0


Citation

@misc{cyclecore2025maaza-nlm-v1.2,
  author       = {CycleCore Technologies},
  title        = {maaza-nlm-orchestrator-9.6m-v1.2: Adversarial-Robust Tool Routing},
  year         = {2025},
  publisher    = {Hugging Face},
  url          = {https://huggingface.co/CycleCoreTechnologies/maaza-nlm-orchestrator-9.6m-v1.2}
}

CycleCore Technologies · @CycleCoreTech

cyclecore.ai · mcpbodega.com · slmbench.com

December 2025