Dedicated Endpoints

Run this model inference on single tenant GPU with unmatched speed and reliability at scale.

Learn more
Container

Run this model inference with full control and performance in your environment.

Learn more

Get help setting up a custom Dedicated Endpoints.

Talk with our engineer to get a quote for reserved GPU instances with discounts.

README

License: apache-2.0

Method

Ditto-8B is trained with DITTO, a reinforcement learning method that uses verbal feedback as the learning signal. After each output, the model receives descriptive feedback and produces an improved version; both are jointly optimized with GRPO. This distills the verbal guidance into the policy, so no feedback is needed at inference time.

Results

Primary metric for each benchmark (higher is better).

DimBenchmarkGPT 5.5Gemini 3.1 ProClaude Opus 4.7Qwen 3.6 PlusOthers*Qwen3 8B InstDitto-8B
CONVUserLLM65.367.757.672.144.646.091.5
CONVMirrorBench56.748.363.748.045.454.073.4
CONVHumanual-Chat28.221.022.622.225.824.721.0
CONVSimArena-Doc83.483.083.582.483.583.684.4
SSSotopia-Hard31.927.832.428.331.727.745.8
COGFantom93.093.080.089.070.023.092.0
COGHitom82.086.093.073.056.062.079.0
COGParatomi99.097.090.094.075.067.095.0
COGSocial-R169.079.067.067.047.054.050.0
ROLECoser66.262.166.555.930.343.564.4
ROLELifechoices91.084.092.079.067.070.070.0
ROLETwinvoice74.086.083.071.040.042.071.0
ROLEBehaviorChain95.092.096.085.036.041.044.0
ROLESimArena-Math68.571.568.770.970.568.969.6
ROLEMistakes72.073.074.067.056.027.036.0
ROLEHumanual-Email50.146.950.447.942.843.740.8
ROLEHumanual-News40.242.341.341.833.132.527.5
ROLEHumanual-Politics42.032.543.531.634.233.229.7
EVALAlignX71.273.471.669.866.868.667.4
EVALHumanllm45.746.944.242.735.234.133.1
EVALSocsci21077.278.077.274.575.273.672.5
EVALHumanual-Book57.662.461.458.450.253.653.4
EVALHumanual-Opinion39.836.046.234.237.437.230.3

* Others: best result among other specialized human-simulation models (HumanLM-8B, Sotopia-RL-7B, UserLM-8B, Coser-8B).

Note. The released Ditto-8B is a single generalist distilled from a set of task-specific DITTO experts via rejection sampling on the training set.

Usage

python

from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "sunweiwei/Ditto-8B"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")
messages = [{"role": "user", "content": "Hello!"}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

Citation

bibtex

@article{sun2026ditto,
title = {Reinforcing Human Behavior Simulation via Verbal Feedback},
author = {Sun, Weiwei and Zhou, Xuhui and Liu, Jiarui and Du, Weihua and Sun, Haojia and Xie, Yiqing and Ma, Qianou and Chen, Sihao and Wan, Mengting and Yang, Longqi and Zhou, Pei and Wu, Sherry and Welleck, Sean and Neubig, Graham and Yang, Yiming and Sap, Maarten},
year = {2026},
eprint = {2605.20506},
archivePrefix = {arXiv},
url = {http://arxiv.org/abs/2605.20506}
}

Model provider

sunweiwei

Model tree

Base

Qwen/Qwen3-VL-8B-Instruct

Fine-tuned

this model

Modalities

Input

Text, Image

Output

Text

Pricing

Dedicated Endpoints

View details

Supported Functionality

Model APIs

Dedicated Endpoints

Container

More information

Explore FriendliAI today