---
title: MIFS
canonical_url: "https://www.modelscope.cn/datasets/asdqfad/MIFS"
md_url: "https://www.modelscope.cn/datasets/asdqfad/MIFS.md"
repository: asdqfad/MIFS
last_updated: 2026-09-11
license: "Apache License 2.0"
storage_size: "2.6 GB"
downloads: 34881
stars: 0
---

# MIFS

> MIFS - asdqfad 在 ModelScope 开源的数据集。90k Multimodal Instruction Following Data for RL training

asdqfad/MIFS 是 ModelScope 魔搭社区上的数据集，存储大小 2.6 GB，采用 Apache License 2.0 许可。

- **Repository**: asdqfad/MIFS
- **License**: Apache License 2.0
- **Storage size**: 2.6 GB
- **Downloads**: 34881
- **Stars**: 0
- **Last updated**: 2026-09-11

Source: https://www.modelscope.cn/datasets/asdqfad/MIFS

---

# MIFS Dataset

**Towards Scalable RLVR: Multimodal Instruction Following Data Synthesis and Distillation**

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)

A high-quality multimodal dataset designed for RLVR training and evaluating Multi-modal Large Language Models (MLLMs) in instruction following task.

## 📊 Dataset Overview

| Split | Samples | Purpose | Format |
|-------|---------|---------|--------|
| **train/sft** | 80,313 | Supervised fine-tuning conversations | JSONL |
| **train/rl** | 60,046 | Reinforcement learning with verifiable rewards | JSONL |
| **test/eval** | 1,200 | Evaluation benchmark | JSONL |

**Total Size**: ~2.7 GB (JSONL: ~359 MB + Images: ~2.3 GB)

## 📁 Repository Structure

```
MIFS/
├── README.md                        # This file
├── dataset_info.json                # Dataset metadata
├── MIFS-RL_100_demo.jsonl          # 100 sample RL entries
├── splits/
│   ├── train/
│   │   ├── sft.jsonl               # SFT training data (80.3k samples)
│   │   └── rl.jsonl                # RL training data (60k samples)
│   └── test/
│       └── eval.jsonl              # Evaluation data (1.2k samples)
└── images/                          # All images (20k files)
```

---

## 🛠️ Code Repository

The training code and dataset processing tools are available in a separate repository:

**GitHub**: https://github.com/zeng-yirong/MIFS

This repository contains:
- SFT (Supervised Fine-Tuning) training code
- RL (Reinforcement Learning) training code
- Dataset processing utilities
- Model evaluation scripts

---

### Loading with ModelScope SDK

```python
from modelscope.msdatasets import MsDataset

# Load SFT subset
ds_sft = MsDataset.load('asdqfad/MIFS', subset_name='SFT', split='train')

# Load RL subset
ds_rl = MsDataset.load('asdqfad/MIFS', subset_name='RL', split='train')

# Load Evaluation subset
ds_eval = MsDataset.load('asdqfad/MIFS', subset_name='Eval', split='test')

# Access first sample
print(ds_sft[0])
```

### Loading with Hugging Face datasets

```python
from datasets import load_dataset

# Load from local directory
dataset = load_dataset('json', data_files={
    'train_sft': 'splits/train/sft.jsonl',
    'train_rl': 'splits/train/rl.jsonl',
    'test_eval': 'splits/test/eval.jsonl'
})
```

### Direct JSONL Loading

```python
import json

# Load SFT data
with open('splits/train/sft.jsonl', 'r') as f:
    for line in f:
        sample = json.loads(line)
        # sample['data'] - conversation turns
        # sample['images'] - image filenames

# Load RL/Eval data
with open('splits/train/rl.jsonl', 'r') as f:
    for line in f:
        sample = json.loads(line)
        # sample['prompt'] - instruction
        # sample['code_checker'] - validation code
        # sample['image'] - image filename
```

## 📋 Data Format

### SFT Format

```json
{
  "data": [
    {
      "role": "user",
      "content": "<image>\n[instruction with constraints]"
    },
    {
      "role": "assistant",
      "content": "[response following constraints]"
    }
  ],
  "images": ["000670614.jpg"]
}
```

### RL/Eval Format

```json
{
  "prompt": "<image>\n[instruction with strict format requirements]",
  "code_checker": [
    "def check(response_text):\n    return response_text.strip().startswith('# Header')",
    "def check(response_text):\n    return 'required_word' in response_text.lower()"
  ],
  "image": "002962901.jpg"
}
```

### Code Checker Usage

The `code_checker` field contains Python code for validating model responses:

```python
import re

def validate_response(code_checker_list, response_text):
    """Validate response against all constraints."""
    results = []
    for code_str in code_checker_list:
        namespace = {'re': re}
        exec(code_str, namespace)
        check_func = namespace['check']
        results.append(check_func(response_text))
    return all(results)
```

## 🖼️ Image Assets

All images are stored in the `images/` directory:

- **Format**: Mixed `.jpg` and `.png`
- **Naming**: Original filenames preserved (numeric IDs and descriptive names)
- **Resolution**: Variable, suitable for MLLM training

### Image Path Resolution

Images referenced in JSONL files are located in `images/`:

```python
from pathlib import Path

def get_image_path(image_name):
    """Get full path to image."""
    return Path('images') / image_name

# Usage
img_path = get_image_path("000670614.jpg")
```
