PersonaTC-mn — activity chain generator for Minneapolis–St. Paul (WebLLM, q4f16_1)
A 1.5B activity-chain generator for the Minneapolis–St. Paul region, produced by
persona-as-rationale distillation: a large open teacher (Qwen2.5-32B) abduces the latent
persona and a forward-style reasoning trace that explain a real surveyed day (Met Council
Travel Behavior Inventory 2023), and a Qwen2.5-1.5B-Instruct student is QLoRA-trained to
reproduce the persona, the reasoning, and the 24-hour activity chain from coarse demographics
alone. This repository holds the merged student weights quantized to q4f16_1 in MLC
format, ready for in-browser WebGPU inference with WebLLM.
The model expects the exact training-time chat format (Qwen2 chat template):
System: You are an expert in Twin Cities (Minnesota) daily mobility patterns. Generate a realistic 24-hour trip chain (starting 03:00, ending 03:00 the next day) in JSON for the given person. [...] (see the demo page source for the full string)
User:
Generate a daily trip chain for the following person.
- gender: Female
- age: 18 to 24
- employment: Employed full-time
- education: Bachelor's degree
The model answers with <persona>...</persona>, <reasoning>...</reasoning>, then a JSON
activity chain (activity_type, location_type, zone, start_time_min, duration_min,
mode). Recommended decoding: temperature 0.8, top-p 0.92.
The architecture is identical to Qwen2.5-1.5B-Instruct, so the prebuilt WebLLM model library
for that model is reused; only the weights differ.
Training data and privacy
The student was fine-tuned on chains derived from TBI 2023 survey microdata. No survey
microdata is distributed here, and the public demo only composes synthetic demographic
profiles. As with any fine-tuned generative model, memorization of individual training
examples cannot be fully excluded, which is one reason the weights are released under a
non-commercial (CC-BY-NC-4.0) research license. Generated chains are synthetic and must
not be treated as records of real persons.
Limitations
A 1.5B model occasionally emits schema-invalid days (the demo flags rather than hides these).
Generated zones are PUMA-level codes and calibrated only at the population level. Use for
research illustration and travel-demand prototyping, not for inference about individuals.
Citation
Paper under review; a preprint reference will be added here. Until then, cite the demo page:
UMN Choi Lab, "Activity Chain Generator — persona-as-rationale distillation," 2026,
https://choi-seongjin.github.io/activity-chains/.