CoolFace
Modelpublic

ATH-MaaS/Marco-Nano-Instruct

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
43likes1.1kdownloads
Model Card

Marco-Nano-Instruct

Marco-Nano-Instruct is the post-trained variant of Marco-Nano-Base, a highly sparse Mixture-of-Experts (MoE) multilingual language model from the Marco-MoE family, developed by Alibaba International Digital Commerce. It activates only 0.6B out of 8B total parameters (7.5% activation ratio) per token. Despite its extreme sparsity, Marco-Nano-Instruct achieves the best average performance across English, multilingual general, and multilingual cultural benchmarks among all comparable instruct models up to 3.84B activated parameters.

Model Description

Marco-Nano-Instruct shares the same architecture as Marco-Nano-Base: a decoder-only Transformer with sparse MoE layers replacing standard FFN layers, upcycled from Qwen3-0.6B-Base using fine-grained sub-matrix splitting combined with Drop-Upcycling.

ConfigurationValue
Total Parameters8B
Activated Parameters0.6B
Activation Ratio7.5%
Num Layers28
Model Dimension1024
FFN Intermediate Dimension3072
Q-Heads16
KV-Heads8
Head Dimension128
Expert Dimension384
Total Experts232
Activated Experts8
Tie EmbeddingsTrue
Training FLOPs$1.40 \times 10^{23}$

Post-Training Details

Marco-Nano-Instruct is trained from Marco-Nano-Base using a two-stage post-training pipeline implemented with the SLIME framework:

Stage 1: Supervised Fine-Tuning (SFT)

  • Duration: ~24 hours on 64 GPUs
  • Steps: ~4,000 (1 epoch)
  • Learning rate: 1e-5 with cosine decay to 1e-6
  • Batch size: 512, context length 8,192 tokens

Data sources:

  1. 1.General instructions — Dolci-Instruct dataset, augmented with Nemotron-Cascade-2 data
  2. 2.Knowledge-intensive data — Scientific prompts from Nemotron-Cascade-2, responses distilled from Gemini3-Flash
  3. 3.Translation data — Web-mined NLLB translation pairs, filtered and scored with Qwen3-Embedding-8B (top 10K per language)
  4. 4.Multilingual & cultural data — Wikidata-sourced content with Gemini3-Flash text synthesis for cultural concepts.

Stage 2: On-Policy Distillation (OPD)

  • Duration: ~110 hours on 64 GPUs
  • Steps: ~2,900 total (2 responses sampled per prompt)
  • Learning rate: 1e-6 (constant)

Cascaded distillation:

  1. 1.~1,900 steps with Qwen3-30B-A3B-Instruct as teacher
  2. 2.~1,000 steps with Qwen3-Next-80B-A3B-Instruct as stronger teacher

OPD data mixture:

CategoryDatasetsRatio
Instruction FollowingNemotron-RL-instruction-following + structured outputs25%
Knowledge & ReasoningNemotron-RL-ReasoningGym-v1 + knowledge-mcqa25%
AlignmentNemotron-Cascade-RL-RLHF10%
MathDAPO-Math-17k + Skywork-OR1-RL-Data10%
MultilingualTranslation + Cultural + Nemotron-SFT-Multilingual-v130%

Supported Languages

English, Chinese, Arabic, German, Spanish, French, Korean, Japanese, Portuguese, Turkish, Indonesian, Italian, Dutch, Polish, Russian, Vietnamese, Thai, Hebrew, Ukrainian, Malay, Bengali, Czech, Urdu, Kazakh, Greek, Romanian, Hungarian, Nepali, Azerbaijani

Evaluation

We compare Marco-Nano-Instruct against instruct models of comparable size: Qwen3-1.7B-Instruct (1.7B activated), Qwen3-VL-2B-Instruct (2B activated), Ministral3-3B-Instruct (3.84B activated), LFM2-8B-A1B (1.5B activated), and Granite4-Tiny-Instruct (1.47B activated). Marco-Nano-Instruct uses only 0.6B activated parameters — the smallest among all baselines. Avg@8 accuracies are reported, except for GlobalMMLU and MMMLU where Acc@1 is reported.

English

BenchmarkQwen3-1.7BQwen3-VL-2BMinistral3-3BLFM2-8B-A1BGranite4-Tiny**Marco-Nano**
MMLU (Acc)62.462.169.872.150.873.2
MMLU-Redux (Acc)62.462.269.671.951.273.3
MMLU-Pro (Acc)35.238.349.549.525.354.5
AGIEval (Acc)39.633.044.745.230.749.8
GPQA-Diamond (Acc)27.521.031.631.928.322.2
GSM8K (EM)77.979.779.084.671.186.7
MATH (EM)70.673.770.282.653.479.6
Average53.752.959.262.544.462.8

Multilingual — General

BenchmarkQwen3-1.7BQwen3-VL-2BMinistral3-3BLFM2-8B-A1BGranite4-Tiny**Marco-Nano**
GlobalMMLU (Acc)46.345.938.449.043.058.7
MMMLU (Acc)49.049.039.456.544.159.9
MMLU-ProX-Lite (Acc)28.630.326.733.822.143.2
MGPQA (Acc)25.322.318.827.225.921.6
FLORES-200 En→Xx (BLEU)12.715.38.314.922.522.3
FLORES-200 Xx→En (BLEU)28.228.618.920.130.431.1
WMT24++ En→Xx (BLEU)13.214.64.414.618.918.7
WMT24++ Xx→En (BLEU)26.426.28.317.925.127.3
MGSM (EM)63.667.647.056.555.376.5
PolyMath (EM)23.425.516.326.518.729.6
Average31.732.522.731.730.638.9

Multilingual — Cultural & Regional

BenchmarkQwen3-1.7BQwen3-VL-2BMinistral3-3BLFM2-8B-A1BGranite4-Tiny**Marco-Nano**
INCLUDE (Acc)44.944.435.443.538.654.3
Global-PIQA (Acc)62.065.850.660.863.370.7
CMMLU (Acc)60.463.348.952.739.260.0
C-Eval (Acc)58.763.250.650.839.460.8
ArabicMMLU (Acc)48.846.922.756.543.456.5
TurkishMMLU (Acc)42.739.638.626.331.659.9
GreekMMLU (Acc)48.748.038.440.044.861.6
KazakhMMLU (Acc)46.047.141.439.639.656.3
IndoMMLU (Acc)48.849.335.241.137.256.3
IndoCareer (Acc)46.145.736.041.734.754.9
IndoCulture (Acc)45.847.737.245.942.859.1
Average50.351.039.545.441.359.1

Usage

python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "AIDC-AI/Marco-Nano-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")

messages = [
    {"role": "user", "content": "What is the capital of France?"}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(model.device)
outputs = model.generate(inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))

Note: vLLM is the recommended engine for deployment, as SGLang currently lacks support for MoE models with tied embeddings (see PR #20127). If SGLang is required for your workflow, please use the specific build at commit e5f48b32abff027d859a43b7d5ba3aece04471c7.

Citation

bibtex
@article{marco-moe,
  title={Marco-MoE: Open Multilingual Mixture-of-Expert Language Models with Efficient Upcycling},
  author={Fan Jiang, Yu Zhao, Chenyang Lyu, Tianqi Shi, Yichao Du, Feihu Jiang, Longyue Wang and Weihua Luo},
  year={2026}
}

License

This model is released under the Apache 2.0 License.