/ Модель

Характеристики

Лицензия
Своя лицензия
Базовая модель
MobileLLM-R1-140M-base
Библиотека
transformers
Опубликована
21 ноя 2025

MobileLLM-R1.5-140M

Генерация текстаТекст → текст7 профессий

Компактная текстовая модель Meta на 140 млн параметров для математических, научных и программных задач с рассуждением.

54скачиваний за 30 дней11лайковвеса обновлены24 ноя 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

MobileLLM-R1.5-140M — компактная языковая модель Meta, дообученная методом on-policy дистилляции от facebook/MobileLLM-R1-140M-base. Это SFT-модель для решения математических и научных задач, а также задач программирования на Python и C++; разработчики отдельно отмечают, что она не предназначена для универсального общения. Модель содержит 140 млн параметров, использует текст на входе и выдаёт текст, поддерживает контекст до 32 тыс. токенов и словарь размером 128 тыс. токенов. Архитектура включает 15 слоёв, 9 attention heads и 3 KV heads.

Дополнительная on-policy дистилляция применена как заключительный этап постобучения и, по данным авторов, улучшает результаты небольших моделей на сложных задачах рассуждения. Карточка приводит результаты семейства MobileLLM-R1.5, но конкретные численные показатели для версии 140M не выделяет. Модель опубликована под лицензией с обозначением «other»; условия лицензии следует проверить в карточке репозитория перед использованием.

Сценарии применения

  • решение математических задач с пошаговыми рассуждениями
  • помощь в решении задач по естественным наукам
  • генерация и анализ кода на Python
  • генерация и анализ кода на C++
  • оценка компактных моделей рассуждения в экспериментах

Ограничения

Модель не предназначена для универсального общения и ориентирована на математические, научные и программные задачи. Для версии 140M карточка не приводит отдельных численных результатов; лицензия обозначена как «other», поэтому её условия нужно уточнить в репозитории.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model Details

MobileLLM-R1.5 is an updated version of MobileLLM-R1, with the primary improvement being the integration of on-policy knowledge distillation [1,2]. We found this method to be particularly effective when applied as a final stage in the post-training pipeline for small models, yielding a significant performance boost. Leveraging the same reasoning SFT datasets used for MobileLLM-R1, including OpenMathReasoning, OpenScienceReasoning-2, and OpenCodeReasoning-2, MobileLLM-R1.5 performs additional on-policy KD, fintuned from MobileLLM-R1 final model. This release includes three models:

Note: These models are not general-purpose chat models. They are Supervised Fine-Tuned (SFT) models, specifically trained to address mathematical, programming (Python, C++), and scientific problems.

Highlights

  • Applying on-policy KD as a final post-training stage yields substantial accuracy gains (i.e., 10 to 35 points) on challenging reasoning benchmarks. For example, applying it to MobileLLM-R1-950M increases its AIME score from 15.5 to 39.9 in MobileLLM-R1.5-950M. The improvement is even more pronounced at the 360M scale, where MATH accuracy rises from 28.4 → 63.4 and GSM8K from 24.5 → 52.8, more than doubling performance.
  • MobileLLM-R1.5-950M also outperforms DeepSeek-R1-Distill-Qwen-1.5B across all evaluated math and coding benchmarks, despite having significantly fewer parameters (0.95B vs. 1.5B); for example, 39.9 vs. 29.1 on AIME’24.
  • Notably, MobileLLM-R1.5-950M is trained on only ~2T high-quality pre-training tokens (fewer than 5T total tokens) yet dramatically outperforms Qwen3-0.6B, which was trained on 36T tokens.

mobilellm-r1.5

[1] On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes
[2] https://thinkingmachines.ai/blog/on-policy-distillation/

News

Model Architecture:

# Layers# Attnetion Heads# KV HeadsDimHidden DimParams
MobileLLM-R1.5-140M15935762048140M
MobileLLM-R1.5-360M1516410244096359M
MobileLLM-R1.5-950M2224615366144949M
Input modalitiesOutput modalitiesContext LengthVocaburary SizeShared Embeddings
MobileLLM-R1.5-140MTextText32k128kYes
MobileLLM-R1.5-360MTextText32k128kYes
MobileLLM-R1.5-950MTextText32k128kYes

How to use

To load the pretrained model for further finetuning or evaluation:

from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("facebook/MobileLLM-R1.5-950M")
model = AutoModelForCausalLM.from_pretrained("facebook/MobileLLM-R1.5-950M")

Inference examples

Transformers

from transformers import pipeline
import torch

model_id = "facebook/MobileLLM-R1.5-950M"

pipe = pipeline(
    "text-generation",
    model=model_id,
    torch_dtype="auto",
    device_map="auto",
)

# Math problem / default scenario
messages = [
    {
        "role": "system",
        "content": "Please reason step by step, and put your final answer within \\boxed{}."
    },
    {"role": "user", "content": "Compute: $1-2+3-4+5- \\dots +99-100$."},
]

# C++ coding scenario
messages = [
    {
        "role": "system",
        "content": (
            "\nYou are a helpful and harmless assistant. You should think step-by-step before responding to the instruction below.\n\n"
            "Please use c++ programming language only.\n"
            "You must use ```cpp for just the final solution code block with the following format:\n"
            "```cpp\n# Your code here\n```\n"
        )
    },
    {"role": "user", "content": "Write a C++ program that prints 'Hello, World!'."},
]

# Python coding scenario
messages = [
    {
        "role": "system",
        "content": (
            "\nYou are a helpful and harmless assistant. You should think step-by-step before responding to the instruction below.\n\n"
            "Please use python programming language only.\n"
            "You must use ```python for just the final solution code block with the following format:\n"
            "```python\n# Your code here\n```\n"
        )
    },
    {"role": "user", "content": "Write a Python function that returns the square of a number."},
]

outputs = pipe(
    messages,
    max_new_tokens=8192,
)
print(outputs[0]["generated_text"][-1])

You can also run inference with vLLM. You only need to register the model architecture Llama4ForCausalLM with the vLLM ModelRegistry.

from vllm.model_executor.models.llama4 import Llama4ForCausalLM
from vllm.model_executor.models.registry import ModelRegistry
ModelRegistry.register_model("Llama4ForCausalLM", Llama4ForCausalLM)

On-policy KD Overview.

Previous knowledge distillation for LLMs is mainly categorized into token-level distillation and sequence-level distillation:

  • Token-level distillation, also referred to as logit distillation, uses the teacher’s predicted probability distribution (logits) at each token to supervise the student, encouraging it to match the teacher’s confidence over the vocabulary.

  • Sequence-level distillation, on the other hand, uses the teacher to generate full sequences or trajectories, and the student learns to mimic these sequences. The advantage of sequence-level distillation is that the student can capture the teacher’s generation patterns, including long-range dependencies and coherent structures. However, a limitation of this approach is that it is biased toward the teacher’s outputs. If the student encounters scenarios that diverge from those outputs, it may struggle to recover or generalize, since all of its supervision comes from the teacher’s trajectories.

On-policy distillation addresses the traditional sequence-level distillation's limitation by letting the student generate its own sequences, while the teacher provides token-level logit to guide or judge whether the student’s outputs are correct. This process can be viewed as a form of token-level reward modeling, analogous to reinforcement learning. Because the student is trained on its own generated context rather than the teacher’s, the mismatch between training and inference distributions is minimized, allowing the student to better handle errors and adapt to situations not covered by the teacher. In essence, on-policy KD bridges knowledge distillation and RL-like self-improvement, giving the student more autonomy while still leveraging teacher guidance. For a more detailed explanation of on-policy distillation, this post is a helpful reference.

On-policy KD for MobileLLM-R1.5

A key requirement for on-policy knowledge distillation (KD) is that the student model must be capable of generating sequences aligned with the target downstream tasks. Therefore, in our setup, we start from the MobileLLM-R1 final model, which has already been optimized for the mathematics and coding tasks of interest. We use the same reasoning SFT datasets (OpenMathReasoning, OpenScienceReasoning-2, and OpenCodeReasoning-2) to assess whether on-policy KD can further improve performance.

Strictly speaking, on-policy KD entails generating each new training sample using the student model of the current iteration. However, this approach is prohibitively time-intensive: sample generation is autoregressive, whereas training operates in parallel across tokens. Generating samples during training dramatically increases the overall training time. Since the model parameters and generation distribution change only minimally between steps, we adopt a "semi on-policy KD" strategy. Specifically, we use the student model (MobileLLM-R1-140M/360M/950M) to regenerate reasoning SFT data from its seed prompts. We train with forward KL-divergence loss for 4 epochs, using nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1 as the teacher model.

Training

Training stages and hyperparameter details

In MobileLLM-R1.5, we resume training from the final MobileLLM-R1 model, which was trained in three stages (pre-training, mid-training, and post-training), and perform an additional on-policy knowledge distillation (KD) step during the post-training phase. We use the Adam optimizer with zero weight decay. The learning rate is set to 8e-5 with a warmup ratio of 0.1 and follows a cosine decay schedule from its maximum value to zero. Full training hyperparameters are provided in the table below.

ModelStagePhaseTokens / SamplesBSSequence LengthStepsLR#GPUsTraining Time
MobileLLM-R1Pre-trainingPhase12T tokens162k500k4.00E-0316 x 84-5 days
Phase22T tokens162k500k4.00E-0316 x 84-5 days
Mid-trainingPhase1100B tokens44k50K3.60E-0416 x 81-2 days
Phase2100B tokens44k50K3.60E-0416 x 81-2 days
Post-trainingGeneral SFT866K samples44k2 epochs5.00E-0616 x 8~2h
Reasoning SFT6.2M samples832k4 epochs8.00E-0516 x 8~2.5days
MobileLLM-R1.5Post-trainingOn-policy KD6.2M samples832k4 epochs8.00E-0516 x 8~6.5days

Training data

We use the prompts from the data sources listed in the table below and employ the MobileLLM-R1 model to regenerate the SFT dataset based on these seed prompts, using a temperature of 0.6, a top-p of 0.95, and a maximum sequence length of 32,768.

DatasetRows
OpenMathReasoning3.2M samples
OpenScienceReasoning-2803K samples
OpenCodeReasoning-22.16M samples

Evaluation

MobileLLM-R1.5 post-trained model

ModelSizeMATH500GSM8KAIME'24AIME'25LiveCodeBench-v6
0-shot pass@10-shot pass@10-shot pass@1, n=640-shot pass@1, n=640-shot pass@1, n=16
<150M
SmolLM2-135M-Instruct135M3.02.4----0.0
MobileLLM-R1-140M140M6.24.1----1.7
MobileLLM-R1.5-140M140M168.3----1.5
150M - 400M
Gemma-3-270m-it268M6.88.4----0.0
SmolLM2-360M-Instruct362M3.48.1----0.7
MobileLLM-R1-360M359M28.424.5----5.1
MobileLLM-R1.5-360M359M63.452.84.110.68.6
400M - 1B
Qwen2.5-0.5B-Instruct494M31.248.10.10.33.6
Qwen3-0.6B596M73.079.211.317.014.9
MobileLLM-R1-950M949M74.067.515.516.319.9
MobileLLM-R1.5-950M949M86.682.639.931.129.1
> 1B
Gemma-3-1B-it1.0B45.462.90.90.02.0
LLaMA3.2-1B-Instruct1.24B24.838.81.10.24.1
OLMo-2-0425-1B-Instruct1.48B19.269.70.60.10.0
OpenReasoning-Nemotron-1.5B1.54B83.476.749.740.428.3
DeepSeek-R1-Distill-Qwen-1.5B1.54B83.277.329.123.419.9
Qwen2.5-1.5B-Instruct1.54B54.070.02.50.97.9
SmolLM2-1.7B-Instruct1.71B19.241.80.30.14.4
Qwen3-1.7B1.72B89.490.347.037.029.8

For AIME, we evaluate models across 64 runs and report the average accuracy. For LiveCodeBench, results are reported as the average accuracy across 16 runs. Models with fewer than 400M parameters do not produce reliable AIME scores and are therefore denoted as '—'.

Citation

If you find our model useful for your research, please consider citing:

@article{zhao2025mobilellm-r1,
  title={MobileLLM-R1: Exploring the Limits of Sub-Billion Language Model Reasoners with Open Training Recipes},
  author={Zhao, Changsheng and Chang, Ernie and Liu, Zechun and Chang, Chia-Jung and Wen, Wei and Lai, Chen and Cao, Sheng, and Tian, Yuandong and Krishnamoorthi, Raghuraman and Shi, Yangyang and  Chandra, Vikas},
  journal={arXiv preprint arXiv:2509.24945},
  year={2025}
}

Contact

Changsheng Zhao, Meta Inc (cszhao at meta dot com)

Ernie Chang, Meta Inc (erniecyc at meta dot com)

Zechun Liu, Meta Inc (zechunliu at meta dot com)

License

MobileLLM-R1.5 is FAIR NC licensed as of now

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Нельзя запустить

Доступ к модели ограничен автором; у платформы нет доступа к весам.

Ревизия весов
b3fcd0d

0 моделей