File size: 7,261 Bytes
8573023 e1db229 a36f95d e1db229 a36f95d e1db229 a36f95d e1db229 a36f95d e1db229 | 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 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | ---
license: apache-2.0
tags:
- multimodal
- decision-router
- agent-routing
- onnx
- gemma
- multilingual
pipeline_tag: feature-extraction
language:
- en
- fr
- de
- es
- zh
- ar
- hi
- ja
- ru
- pt
---
# Zesyde: Multimodal Decision & Routing Foundation Model
**Zesyde-2B Multimodal Decision Router** (`zoebchhatriwala/Zesyde-2B-Multimodal-Router`) is a fast, lightweight foundation model built for one specific job: **making calibrated decisions and routing tasks in 15–35 milliseconds on pure CPU**.
Instead of waiting seconds for a giant generative LLM to generate text, Zesyde evaluates all your options at once in a single forward pass. It supports **140+ languages, images, audio clips, and 2D/3D spatial coordinates** natively.
---
## Benchmark Highlights (150,000 Records)
* 🎯 **87.65% Real Validation Accuracy**: Evaluated on 22,500 unseen held-out samples across 7 real-world domains (Belebele QA, Cambridge VSR, ESC-50, SMS Fraud, PAWS-X, CodeAlpaca, XNLI).
* ⚡ **Ultra Fast (15–35ms on CPU)**: Powered by `model_int8.onnx` with direct streaming dynamic quantization. Zero GPU required at inference time.
* 📦 **Dual-Precision Artifacts**: Standard `model_fp32.onnx` (FP32 precision) and `model_int8.onnx` (INT8 linear quantization, ~1/4 size) committed alongside `model.safetensors`.
* 🛡️ **Autonomous Escalation**: Built-in safety check. If a question is too ambiguous, high-risk, or low-confidence, Zesyde automatically flags it to escalate to a human or a heavier frontier model (like GPT-4 or Claude).
* ☁️ **Serverless A100 Training**: Full production training and export pipeline run on Modal.com with a single command.
---
## Installation & Quickstart
```bash
pip install zesyde
```
### 2. Basic Text Decision (15–35ms on CPU)
```python
from zesyde.router import ZesydeRouter
# 1. Zero-config load (defaults to zoebchhatriwala/Zesyde-2B-Multimodal-Router on Hugging Face,
# or loads from local ./models if weights exist locally):
router = ZesydeRouter.from_pretrained()
# Or explicitly select your precision:
# router = ZesydeRouter.from_pretrained(precision="int8") # Fast CPU mode (default: 15-35ms)
# router = ZesydeRouter.from_pretrained(precision="fp32") # High-fidelity unquantized mode
# router = ZesydeRouter.from_pretrained(precision="torch") # Pure PyTorch safetensors mode
# Or point to any custom local weights directory:
# router = ZesydeRouter.from_pretrained("./my_local_model")
# 2. Dynamic candidate options (evaluated simultaneously in 1 forward pass)
result = router.decide(
context="User: 'Can you show me the quarterly sales report for Q3?'",
question="Which agent tool should handle this request?",
options=["search_web", "query_database", "create_calendar_invite", "send_email"]
)
print(f"Choice: {result.selected_option}") # query_database
print(f"Confidence: {result.confidence:.1%}") # 94.2%
print(f"Latency: {result.latency_ms:.1f}ms") # ~18ms
print(f"Escalate: {result.should_escalate}") # False
```
---
### 3. Multimodal Decision (Vision & Audio)
Zesyde accepts image and audio signals directly alongside text:
```python
# Vision decision: Road hazard assessment
result = router.decide(
context="Front-facing vehicle camera feed.",
image="dashcam_frame_042.jpg",
question="What action should the autonomous navigation system take?",
options=["Maintain speed", "Slow down and yield", "Emergency brake", "Overtake"]
)
print(result.selected_option) # Slow down and yield
# Audio decision: Acoustic security event detection
result = router.decide(
context="Smart home microphone stream.",
audio="living_room_mic.wav",
question="Identify the detected acoustic sound event:",
options=["Speech / Conversation", "Glass break / Alarm", "Dog barking", "Background HVAC"]
)
print(result.selected_option) # Glass break / Alarm
```
---
### 4. Spatial Awareness (2D & 3D Grounding)
Pass bounding boxes or metric 3D coordinates `[x, y, z]` to let Zesyde route spatial and robotic tasks:
```python
# Spatial tabletop manipulation
result = router.decide(
context="Robotic arm workspace. Gripper origin at [0.0, 0.0, 0.0].",
question="Which target object should the robot pick up next?",
options=[
"Red Mug at [0.15, 0.20, 0.40]",
"Laptop at [0.85, 1.10, 0.90]",
"Desk Lamp at [1.40, 0.30, 0.25]"
],
question_type="spatial"
)
print(result.selected_option) # Red Mug at [0.15, 0.20, 0.40]
```
---
### 5. Multilingual Across 1,800+ Languages
Zesyde natively understands global languages without translation layers:
```python
# Spanish
result = router.decide(
context="El cliente solicitó cancelar su suscripción anual inmediatamente.",
question="¿Cuál es la intención del usuario?",
options=["Soporte técnico", "Cancelación de cuenta", "Consulta de facturación"]
)
print(result.selected_option) # Cancelación de cuenta
# Hindi
result = router.decide(
context="उपयोगकर्ता ने अपना पासवर्ड रीसेट करने का अनुरोध किया है।",
question="यह किस प्रकार का अनुरोध है?",
options=["पासवर्ड रीसेट", "खाता हटाना", "भुगतान समस्या"]
)
print(result.selected_option) # पासवर्ड रीसेट
```
---
## Training on Modal.com
All training, parameter-efficient fine-tuning (LoRA), cross-candidate attention training, temperature calibration, and INT8 ONNX dynamic quantization are contained in **a single file**: `scripts/train_modal.py`.
To launch serverless GPU training on Modal:
```bash
modal run scripts/train_modal.py
```
Optional parameters (e.g. smoke testing or custom dataset scale):
```bash
modal run scripts/train_modal.py --train-limit 150000
```
The resulting optimized ONNX models and calibration parameters are automatically saved to your Modal persistent volume (`zesyde-models`):
- `model_fp32.onnx` & `model_fp32.onnx.data`: FP32 full-precision ONNX model
- `model_int8.onnx` & `model_int8.onnx.data`: INT8 dynamic quantized model (~1/4 size)
- `model.safetensors` & `pytorch_model.bin`: Standard production PyTorch weights
- `calibration.json`: Task-specific temperature scaling parameters
- `config.json` & tokenizer vocabulary
---
## Architecture at a Glance
* **Backbone**: `google/gemma-4-E2B` native omni-modal foundation model (140+ languages, vision, audio, spatial).
* **Accuracy Head**: `SemanticTransformerHead` using cross-candidate self-attention so candidate options compete directly against each other before scoring.
* **Perception Channels**: Native text tokens, visual patch tokens (`[IMAGE]`), acoustic tokens (`[AUDIO]`), and normalized coordinate tokens (`[SPATIAL]`).
* **Uncertainty & Escalation Head**: Binary logit head assessing epistemic ambiguity. If confidence is low or risk is high, queries gracefully fall back to frontier models or humans.
* **Serving**: Dynamic INT8 ONNX graphs (`model_int8.onnx`) runnable anywhere via pure Python with zero heavy GPU dependencies.
---
## License
MIT License. Free for commercial and research use.
|