Skip to content

Commit 9699753

Browse files
authored
Merge pull request #391 from NVIDIA-AI-IOT/feat/minmax
feat(benchmarks): add MiniMax M2.7 Model
2 parents d919806 + 870a084 commit 9699753

6 files changed

Lines changed: 306 additions & 99 deletions

File tree

.agents/skills/jetson-model-catalog-inference/SKILL.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,27 @@ Each value in the array must be another `models[].name` from `benchmarks.json`.
280280

281281
---
282282

283+
## Discoverability artifacts (`/llms.txt`, `/llms-full.txt`)
284+
285+
Two text routes surface the model catalog to external clients (search agents, LLMs, plain `curl` consumers). **Both are auto-generated from the content collection at build time — adding a model page is enough; no manual index edit required.**
286+
287+
| Route | Source file | What it contains |
288+
|---|---|---|
289+
| `/llms.txt` | `src/pages/llms.txt.ts` | Short index. Curated tutorial header (static template literal) + auto-generated **Supported Models** section grouped by vendor. Models grouped by `family` per `MODEL_SECTIONS`, sorted by frontmatter `order`. |
290+
| `/llms-full.txt` | `src/pages/llms-full.txt.ts` | Full long-form index. Iterates `getCollection('tutorials')` and `getCollection('models')`, emits frontmatter + full Markdown body for every page. |
291+
292+
**When you add a new model:**
293+
294+
1. Set `family` to one of the existing families listed in `MODEL_SECTIONS` (in `src/pages/llms.txt.ts`). The model lands in the right section automatically.
295+
2. Set `short_description` clearly — it is the line text rendered in `/llms.txt`.
296+
3. Set `order` if you want a specific position within the family (lower = higher in the list).
297+
298+
**When you introduce a brand-new vendor / family** (no existing entry matches): edit `MODEL_SECTIONS` in `src/pages/llms.txt.ts` to add a new section and list its `family` values. Without this edit the new model still appears, but in a fallback `### Other Models` section at the bottom.
299+
300+
There is no static `public/llms.txt` — the dynamic route lives at `src/pages/llms.txt.ts`. Don't reintroduce a static file; Astro would let it shadow the route silently.
301+
302+
---
303+
283304
## Validation (build will fail if wrong)
284305

285306
`src/content/config.ts` `superRefine` on the models collection (skipped when `hide_run_button: true`):
@@ -305,6 +326,7 @@ Otherwise Zod reports a custom error on `supported_inference_engines`:
305326
- [ ] All matrix ids in `modules_supported` / `matrix_modules_disabled` / `one_shot_inference.modules_supported` are from `JETSON_MATRIX_MODULES`.
306327
- [ ] If `benchmark_key` is set, it exactly matches a `models[].name` in `src/data/benchmarks.json`. All product ids in `concurrency*` / `oom` / `dnr` arrays are valid benchmark product ids (not matrix ids).
307328
- [ ] OOM vs DNR vs null chosen per the [marker semantics](#oom-vs-dnr-vs-null-per-quant-markers) above.
329+
- [ ] `family` is set to a value listed in `MODEL_SECTIONS` (`src/pages/llms.txt.ts`). If the family is brand-new (new vendor), add a section to `MODEL_SECTIONS` so `/llms.txt` groups it correctly.
308330
- [ ] Run **`npm run build`** (see skill **`jetson-ai-lab-verify-build`**).
309331

310332
---
@@ -323,3 +345,5 @@ Otherwise Zod reports a custom error on `supported_inference_engines`:
323345
| One-shot snippet logic | `src/lib/evalRunModal.ts` |
324346
| Benchmark chart UI (OOM / DNR rendering) | `src/components/ModelBenchmarkSection.astro` |
325347
| Benchmark data file | `src/data/benchmarks.json` |
348+
| `/llms.txt` short index (auto-generated, vendor-grouped) | `src/pages/llms.txt.ts` (edit `MODEL_SECTIONS` for new vendors) |
349+
| `/llms-full.txt` long-form index (auto-generated) | `src/pages/llms-full.txt.ts` |

.agents/skills/skills.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
skills:
66
- name: jetson-model-catalog-inference
77
path: .agents/skills/jetson-model-catalog-inference/SKILL.md
8-
description: Configure Jetson AI Lab model pages — frontmatter for the Model Details sidebar (parameters, modalities, context length, license, precision pills), the Run on Jetson serve/call/one-shot UI, the three "block" levers (hide_run_button, matrix_modules_disabled, per-engine modules_supported), and the join to src/data/benchmarks.json (benchmark_key, benchmark_series, OOM vs DNR vs null). Use when adding or editing model pages, inference engines, serve/run commands, one-shot blocks, the details sidebar, benchmark wiring, or deciding whether to mark a Jetson module as OOM, blocked, or simply untested.
8+
description: Configure Jetson AI Lab model pages — frontmatter for the Model Details sidebar (parameters, modalities, context length, license, precision pills), the Run on Jetson serve/call/one-shot UI, the three "block" levers (hide_run_button, matrix_modules_disabled, per-engine modules_supported), the join to src/data/benchmarks.json (benchmark_key, benchmark_series, OOM vs DNR vs null), and the auto-generated /llms.txt and /llms-full.txt discoverability indexes (src/pages/llms.txt.ts MODEL_SECTIONS — new vendors require a section entry). Use when adding or editing model pages, inference engines, serve/run commands, one-shot blocks, the details sidebar, benchmark wiring, deciding whether to mark a Jetson module as OOM, blocked, or simply untested, or introducing a brand-new model family.
99

1010
- name: jetson-ai-lab-verify-build
1111
path: .agents/skills/jetson-ai-lab-verify-build/SKILL.md

public/llms.txt

Lines changed: 0 additions & 98 deletions
This file was deleted.

src/content/models/minimax-m2-7.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: "MiniMax M2.7"
3+
model_id: "minimax-m2-7"
4+
short_description: "MiniMax's 230B agentic MoE flagship for software engineering and self-evolving agent harnesses with llama.cpp at 4-bit"
5+
family: "MiniMax M2.7"
6+
icon: "🌀"
7+
is_new: true
8+
order: 1
9+
type: "Text"
10+
vision_capable: false
11+
memory_requirements: "128GB unified memory (Thor T5000)"
12+
precision: "UD-IQ4_XS GGUF"
13+
parameters: "229B total / 10B activated"
14+
modalities: ["Text"]
15+
context_length: "196K"
16+
license: "MiniMax Model License"
17+
model_size: "100.96 GiB"
18+
hf_checkpoint: "unsloth/MiniMax-M2.7-GGUF"
19+
huggingface_url: "https://huggingface.co/unsloth/MiniMax-M2.7-GGUF"
20+
build_nvidia_url: "https://build.nvidia.com/minimaxai/minimax-m2.7"
21+
minimum_jetson: "Thor"
22+
# Gray out every non-T5000 tab globally — this 100.96 GiB model only fits on Thor T5000 (128GB unified memory).
23+
matrix_modules_disabled:
24+
- thor_t4000
25+
- orin_agx_64
26+
- orin_nx_16
27+
- orin_nano_8
28+
# Per-engine allowlist: only `thor_t5000` carries a serve command.
29+
serving:
30+
entries:
31+
- engine: "llama.cpp"
32+
type: "Container"
33+
modules_supported:
34+
- thor_t5000
35+
serve_command_thor: |-
36+
sudo docker run -it --rm --pull always \
37+
--runtime=nvidia --network host \
38+
ghcr.io/nvidia-ai-iot/llama_cpp:latest-jetson-thor \
39+
llama-server \
40+
--hf-repo unsloth/MiniMax-M2.7-GGUF \
41+
--hf-file UD-IQ4_XS/MiniMax-M2.7-UD-IQ4_XS-00001-of-00004.gguf \
42+
--ctx-size 4096 \
43+
--port 8080 \
44+
--alias my_model \
45+
--n-gpu-layers 999
46+
benchmark_key: "MiniMax M2.7"
47+
---
48+
49+
[MiniMax M2.7](https://www.minimax.io/news/minimax-m27-en) is MiniMax's flagship agentic Mixture-of-Experts model, designed to build complex agent harnesses and complete highly elaborate productivity tasks. M2.7 is the first MiniMax model that deeply participates in its own evolution — during development the model autonomously updated its own memory, built dozens of complex skills for RL experiments, and improved its own learning process based on experiment results.
50+
51+
This page describes serving the [Unsloth dynamic 4-bit GGUF](https://huggingface.co/unsloth/MiniMax-M2.7-GGUF) (`UD-IQ4_XS`, 100.96 GiB) on **Jetson AGX Thor T5000** with `llama.cpp`.
52+
53+
## Inputs and Outputs
54+
55+
**Input:** Text
56+
57+
**Output:** Text (with optional reasoning traces between `<think>...</think>`)
58+
59+
## Highlights
60+
61+
- **229B total / 10B active** sparse MoE (`minimax-m2` arch), **196K context**.
62+
- **Strong real-world software engineering** and agentic tool use.
63+
- **Self-evolving training loop**: M2.7 helped optimize its own programming scaffold during RL.
64+
65+
## Intended Use Cases
66+
67+
- **Coding agents**: bug triage, refactors, code review, security analysis, and SRE-style root-cause investigations
68+
- **Long-running productivity agents**: document and spreadsheet automation with multi-turn tool use
69+
- **Agent harness research**: as a strong open-source backbone for tool-using and self-improving agent loops
70+
- **On-device RAG / repo Q&A** at the edge, when very large parameter counts matter more than minimum latency
71+
72+
## Additional Resources
73+
74+
- [Unsloth MiniMax-M2.7-GGUF on Hugging Face](https://huggingface.co/unsloth/MiniMax-M2.7-GGUF) — quantized weights (this page uses `UD-IQ4_XS`)
75+
- [MiniMaxAI/MiniMax-M2.7](https://huggingface.co/MiniMaxAI/MiniMax-M2.7) — original BF16 weights and model card

src/data/benchmarks.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,6 +1177,41 @@
11771177
}
11781178
}
11791179
},
1180+
{
1181+
"family": "MiniMax M2.7",
1182+
"name": "MiniMax M2.7",
1183+
"releaseDate": "2026-04-30",
1184+
"capabilities": {
1185+
"language": true,
1186+
"vision": false,
1187+
"audio": false,
1188+
"vla": false
1189+
},
1190+
"isl": 2048,
1191+
"osl": 128,
1192+
"engines": {
1193+
"llama.cpp": {
1194+
"UD-IQ4_XS GGUF": {
1195+
"concurrency1": {
1196+
"t5000": 17.05,
1197+
"t4000": null,
1198+
"agx_orin_64gb": null,
1199+
"orin_nx_16gb": null,
1200+
"orin_nano_8gb": null,
1201+
"dgx_spark": null
1202+
},
1203+
"concurrency8": {
1204+
"t5000": 34.17,
1205+
"t4000": null,
1206+
"agx_orin_64gb": null,
1207+
"orin_nx_16gb": null,
1208+
"orin_nano_8gb": null,
1209+
"dgx_spark": null
1210+
}
1211+
}
1212+
}
1213+
}
1214+
},
11801215
{
11811216
"family": "Pi",
11821217
"name": "Pi 0.5",

0 commit comments

Comments
 (0)