ChatBench Simulators are a set of fine-tuned user simulators designed to enable automated, realistic evaluation of large language models (LLMs) through simulated user–AI conversations.
Instead of recruiting human participants for every evaluation, you can use this simulator (chatbench-distilgpt2) to act as a proxy user. By providing a multiple-choice question (full stem plus answer options) via a simple CLI or Python API, the simulator generates natural user turns—asking clarifications, signaling understanding, or indicating errors—until the simulated user “accepts” an answer.
The resulting conversations can be used to compute task success rate, coherence, user satisfaction, error recovery, and latency metrics, allowing researchers and practitioners to move beyond static benchmarks and evaluate models under interactive, user-in-the-loop conditions.
The model was fine-tuned end-to-end on ChatBench data using the same simulator recipe described in Section 5 of the paper. Each example is formatted as:
[SYSTEM] <instruction>
<previous turns>
[USER]
→ model generates: <assistant reply> [END]
Automated user simulation for interactive benchmarking of LLMs.
Research reproduction of the ACL’25 paper results.
Educational multiple-choice QA practice under simulated dialog conditions.
Deployment in sensitive domains (healthcare, legal, financial) without expert oversight.
Open-ended creative generation (storytelling, brainstorming).
Long-context tasks exceeding DistilGPT2’s 1024-token window.
Bias: Inherits biases from DistilGPT2 pretraining and the ChatBench dataset.
Factual reliability: May hallucinate or produce unrealistic user behaviors outside structured QA contexts.
Coverage: Optimized for MMLU-style multiple-choice QA; not suitable for unconstrained dialogues.
Context Limitations: Restricted to ~1024 tokens.
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("microsoft/chatbench-distilgpt2")
tokenizer = AutoTokenizer.from_pretrained("distilgpt2")
tokenizer.pad_token = tokenizer.eos_token
inputs = tokenizer(
"[SYSTEM] You are an assistant.\n\n[USER] What is 2+2?\n\n[USER] ",
return_tensors="pt",
)
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
We report perplexity (PPL) on held-out ChatBench data, comparing baseline DistilGPT2 vs. fine-tuned chatbench-distilgpt2.
A lower PPL means the fine-tuned model is closer (more confident) in the human-like reply it was trained on.
| Model | Perplexity |
|---|---|
| DistilGPT2 (baseline) | 13.63 |
| chatbench-distilgpt2 | 3.38 |
Correlation with Human User–AI Accuracy: +20 point improvement over unfine-tuned baselines.
Task Success Accuracy: Within ±5 points of real user–AI results across five MMLU subsets.
Ablations: Removing persona-conditioning or chain-of-thought prompts reduced coherence scores by ~10 points.
Full details are available in Section 6 of the paper.
https://arxiv.org/abs/2504.07114
BibTeX:
@misc{chang2025chatbenchstaticbenchmarkshumanai, title={ChatBench: From Static Benchmarks to Human-AI Evaluation}, author={Serina Chang and Ashton Anderson and Jake M. Hofman}, year={2025}, eprint={2504.07114}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2504.07114}, }
APA:
Chang, S., Anderson, A., & Hofman, J. M. (2025). ChatBench: From Static Benchmarks to Human-AI Evaluation. arXiv [Cs.CL]. Retrieved from http://arxiv.org/abs/2504.07114
checkpoint-1560/optimizer.pt 655 MBcheckpoint-780/optimizer.pt 655 MBcheckpoint-1560/model.safetensors 328 MBcheckpoint-780/model.safetensors 328 MBmodel.safetensors 328 MBcheckpoint-1560/rng_state_0.pth 15.4 kBcheckpoint-1560/rng_state_1.pth 15.4 kBcheckpoint-1560/rng_state_2.pth 15.4 kBcheckpoint-1560/rng_state_3.pth 15.4 kBcheckpoint-780/rng_state_0.pth 15.4 kBcheckpoint-780/rng_state_1.pth 15.4 kBcheckpoint-780/rng_state_2.pth 15.4 kBcheckpoint-780/rng_state_3.pth 15.4 kBcheckpoint-1560/training_args.bin 5.7 kBcheckpoint-780/training_args.bin 5.7 kBtraining_args.bin 5.7 kBcheckpoint-1560/scheduler.pt 1.5 kBcheckpoint-780/scheduler.pt 1.5 kBcheckpoint-1560/scaler.pt 1.4 kBcheckpoint-780/scaler.pt 1.4 kB有文件?提交种子。
提交种子