internlm/CapRL-QA-75K

Dataset

CapRL 75K QA Training Dataset

5

3 commits

2 linked in READMEs

updated Apr 16, 2026

See the code

README

CapRL 75K QA Training Dataset

This dataset is the carefully filtered 75K QA training set used by CapRL to train CapRL-3B, a lightweight image captioning model initialized from Qwen2.5-VL-3B. It contains 75,285 samples, where each image is paired with multiple multiple-choice QA items. The dataset is designed for the two-stage CapRL training objective, where caption quality is evaluated through answerability of visual questions.

The QA construction pipeline is fully open-sourced in the CapRL repository: InternLM/CapRL - QA Curation. Images were sourced from the web and existing open-source datasets, including natural scenes, charts, and documents, to maximize variety.

Dataset Schema

Each row has the following fields:

{
    "id": "d976b8c551d62f12920218d54ecb6a58",
    "image": {
        "bytes": b"...",
        "path": None
    },
    "prompt": [
        {
            "role": "user",
            "content": "<image> Please describe this image in detail."
        }
    ],
    "data_source": "image_caption_rl",
    "reward_model": {
        "ground_truth": [
            {
                "question": "Which city is mentioned in the company's address?",
                "choices": [
                    "A) 北京市",
                    "B) 上海市",
                    "C) 惠州市",
                    "D) 广州市"
                ],
                "answer": "C"
            }
        ]
    }
}

CapRL

📖Paper | 🏠Github | 🤗CapRL Collection | 🤗Daily Paper

CapRL Series Model & Dataset

We are excited to release the CapRL 2.0 series: CapRL-Qwen3VL-2B and CapRL-Qwen3VL-4B. These models feature fewer parameters while delivering even more powerful captioning performance. Notably, CapRL-Qwen3VL-2B outperforms both CapRL-Qwen2.5VL-3B and Qwen2.5VL-72B in captioning tasks. This leap in efficiency is driven by our upgraded training recipe, which includes a more rigorous QA data filter and a significantly more diverse image dataset. We welcome everyone to try them out!

CapRL-3B

Now you can try out CapRL-3B with your own images🎨!    ➡️    🌈CapRL Space

When selecting between the available CapRL models, it's essential to consider the trade-off between performance and computational cost. This guide will help you choose the most suitable model for your specific needs:

ModelParametersStrength
🤗CapRL-3B3BSpeed, Efficiency
🤗CapRL-InternVL3.5-8B8BHigh Performance, Advanced Captioning Ability

📢 News

We are working on even stronger base models and upgrading our training recipe — stay tuned!

Introduction

We are excited to introduce CapRL-3B, a lightweight 3B image captioner that achieves perception capabilities comparable to Qwen2.5-VL-72B.

This is the first study of applying Reinforcement Learning with Verifiable Rewards for the open-ended and subjective image captioning task. Unlike traditional Supervised Fine-Tuning, which can lead to models memorizing a limited set of annotated captions, our method allows the model to explore and generate a broader range of creative and general descriptions. CapRL is a new training paradigm featuring a decoupled two-stage pipeline. The initial stage uses LVLMs to generate rich and accurate captions. Subsequently, the second stage evaluates caption quality by using a vision-only LLM to perform the QA task. We also created a specific QA curation pipeline to ensure the quality of the questions and answers used for the second stage.

By employing the CapRL training framework, initializing with the Qwen2.5-VL-3B model, and using a carefully filtered 75K QA dataset as the training set, we obtained a highly capable captioner, CapRL-3B.

Key Features

  • Remarkable visual understanding for Chart, Infographics and Document: CapRL-3B achieves perception accuracy and visual information coverage comparable to Qwen2.5-VL-72B.
  • Well-organized output: The outputs of CapRL-3B are relatively well-structured, making them clear and easy to understand.
  • Detailed description for natural images: The outputs of CapRL-3B can perfectly cover all valid visual information while containing fewer hallucinations.

Usage

If you want to use CapRL-3B for captioning, you can directly follow the exact same inference approach as in Qwen2.5-VL-series.

We recommend using vLLM to speed up inference.

Start an OpenAI API Service

Run the command below to start an OpenAI-compatible API service:

vllm serve "/PATH/CapRL-3B" \
    --trust-remote-code \
    --tensor-parallel-size=1 \
    --pipeline-parallel-size=1 \
    --gpu_memory_utilization=0.95 \
    --served-model-name=caprl \
    --port 8000 \
    --host 0.0.0.0

Then you can use the chat API as below: (see OpenAI API protocol document for more details):

import base64
from openai import OpenAI
# Set OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)
image_path = "/path/to/local/image.png"
with open(image_path, "rb") as f:
    encoded_image = base64.b64encode(f.read())
encoded_image_text = encoded_image.decode("utf-8")
base64_qwen = f"data:image;base64,{encoded_image_text}"
chat_response = client.chat.completions.create(
    model="caprl",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": base64_qwen
                    },
                },
                {"type": "text", "text": "What is the text in the illustrate?"},
            ],
        },
    ],
    temperature=1.0,
    max_tokens=max_tokens,
    top_p=1.0,
    extra_body={
        "repetition_penalty": 1.0,
        },
)
print("Chat response:", chat_response)

Cases

CapRL
image-captioning
multimodal
qa
reinforcement-learning
verifiable-rewards

internlm/CapRL-QA-75K

Dataset

CapRL 75K QA Training Dataset

5

3 commits

2 linked in READMEs

updated Apr 16, 2026

See the code

README

CapRL 75K QA Training Dataset

This dataset is the carefully filtered 75K QA training set used by CapRL to train CapRL-3B, a lightweight image captioning model initialized from Qwen2.5-VL-3B. It contains 75,285 samples, where each image is paired with multiple multiple-choice QA items. The dataset is designed for the two-stage CapRL training objective, where caption quality is evaluated through answerability of visual questions.

The QA construction pipeline is fully open-sourced in the CapRL repository: InternLM/CapRL - QA Curation. Images were sourced from the web and existing open-source datasets, including natural scenes, charts, and documents, to maximize variety.

Dataset Schema

Each row has the following fields:

{
    "id": "d976b8c551d62f12920218d54ecb6a58",
    "image": {
        "bytes": b"...",
        "path": None
    },
    "prompt": [
        {
            "role": "user",
            "content": "<image> Please describe this image in detail."
        }
    ],
    "data_source": "image_caption_rl",
    "reward_model": {
        "ground_truth": [
            {
                "question": "Which city is mentioned in the company's address?",
                "choices": [
                    "A) 北京市",
                    "B) 上海市",
                    "C) 惠州市",
                    "D) 广州市"
                ],
                "answer": "C"
            }
        ]
    }
}

CapRL

📖Paper | 🏠Github | 🤗CapRL Collection | 🤗Daily Paper

CapRL Series Model & Dataset

We are excited to release the CapRL 2.0 series: CapRL-Qwen3VL-2B and CapRL-Qwen3VL-4B. These models feature fewer parameters while delivering even more powerful captioning performance. Notably, CapRL-Qwen3VL-2B outperforms both CapRL-Qwen2.5VL-3B and Qwen2.5VL-72B in captioning tasks. This leap in efficiency is driven by our upgraded training recipe, which includes a more rigorous QA data filter and a significantly more diverse image dataset. We welcome everyone to try them out!

CapRL-3B

Now you can try out CapRL-3B with your own images🎨!    ➡️    🌈CapRL Space

When selecting between the available CapRL models, it's essential to consider the trade-off between performance and computational cost. This guide will help you choose the most suitable model for your specific needs:

ModelParametersStrength
🤗CapRL-3B3BSpeed, Efficiency
🤗CapRL-InternVL3.5-8B8BHigh Performance, Advanced Captioning Ability

📢 News

We are working on even stronger base models and upgrading our training recipe — stay tuned!

Introduction

We are excited to introduce CapRL-3B, a lightweight 3B image captioner that achieves perception capabilities comparable to Qwen2.5-VL-72B.

This is the first study of applying Reinforcement Learning with Verifiable Rewards for the open-ended and subjective image captioning task. Unlike traditional Supervised Fine-Tuning, which can lead to models memorizing a limited set of annotated captions, our method allows the model to explore and generate a broader range of creative and general descriptions. CapRL is a new training paradigm featuring a decoupled two-stage pipeline. The initial stage uses LVLMs to generate rich and accurate captions. Subsequently, the second stage evaluates caption quality by using a vision-only LLM to perform the QA task. We also created a specific QA curation pipeline to ensure the quality of the questions and answers used for the second stage.

By employing the CapRL training framework, initializing with the Qwen2.5-VL-3B model, and using a carefully filtered 75K QA dataset as the training set, we obtained a highly capable captioner, CapRL-3B.

Key Features

  • Remarkable visual understanding for Chart, Infographics and Document: CapRL-3B achieves perception accuracy and visual information coverage comparable to Qwen2.5-VL-72B.
  • Well-organized output: The outputs of CapRL-3B are relatively well-structured, making them clear and easy to understand.
  • Detailed description for natural images: The outputs of CapRL-3B can perfectly cover all valid visual information while containing fewer hallucinations.

Usage

If you want to use CapRL-3B for captioning, you can directly follow the exact same inference approach as in Qwen2.5-VL-series.

We recommend using vLLM to speed up inference.

Start an OpenAI API Service

Run the command below to start an OpenAI-compatible API service:

vllm serve "/PATH/CapRL-3B" \
    --trust-remote-code \
    --tensor-parallel-size=1 \
    --pipeline-parallel-size=1 \
    --gpu_memory_utilization=0.95 \
    --served-model-name=caprl \
    --port 8000 \
    --host 0.0.0.0

Then you can use the chat API as below: (see OpenAI API protocol document for more details):

import base64
from openai import OpenAI
# Set OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)
image_path = "/path/to/local/image.png"
with open(image_path, "rb") as f:
    encoded_image = base64.b64encode(f.read())
encoded_image_text = encoded_image.decode("utf-8")
base64_qwen = f"data:image;base64,{encoded_image_text}"
chat_response = client.chat.completions.create(
    model="caprl",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": base64_qwen
                    },
                },
                {"type": "text", "text": "What is the text in the illustrate?"},
            ],
        },
    ],
    temperature=1.0,
    max_tokens=max_tokens,
    top_p=1.0,
    extra_body={
        "repetition_penalty": 1.0,
        },
)
print("Chat response:", chat_response)

Cases

CapRL
image-captioning
multimodal
qa
reinforcement-learning
verifiable-rewards