Semilattice

This page needs WebGL. The paper is at semilattice.ai/research/anacreon.

Anacreon

How a mixture of minds learns to simulate individuals, not averages. Every point is a record of something a real person said.

Scroll through the pipeline

01 · Corpus

Start with what people say in public

Anacreon trains on unstructured text from many sources. Each record becomes a stimulus and a response: a condition, and what one person did under it.

Public behaviour is a strong signal for private disposition. Anacreon collects what a population makes public and infers the private traits that shape its answers.

02 · Authorship embedding

Learn to tell people apart

A seed population of individuals with rich data is chosen. A transformer is trained with a contrastive authorship objective, pulling two samples of the same person together and pushing different people apart.

The seed people end up maximally separated in the embedding space.

03 · Clustering

Every record finds its nearest person

The trained embedding is applied to the full corpus. Each record is assigned to its nearest seed individual, partitioning the corpus into clusters of people who write and think alike.

420clusters trained

04 · Temporal split

Hold out the future

Each cluster is split by time. The newest 20% of records is held out for testing and the rest is used for training, so later information can’t leak into training.

80%train
20%newest, held out

05 · Augmentation

Harvest who they are, and how they feel

An LLM-as-judge extracts demographics and psychological traits from each cluster, with a majority vote across runs. When runs disagree, the attribute is left unknown rather than guessed.

Survey questions are mined from the text, and each is framed positively and negatively to cancel the model’s pull towards “agree”.

Every record gets a chain-of-emotion: a short trace of the appraisals a stimulus evokes, from stimulus to response.

06 · Mixture of minds

One mind per cluster

A dedicated LoRA adapter is trained for each cluster on a shared Gemma 4 12B base. Response options are reshuffled every epoch, so no mind learns to answer by position.

~260Mparameters per mind (rank 64)
~110Blearnt across 420 minds

07 · Selection

Keep the minds that converge

Incoherent clusters, with conflicting statements, train poorly. That long tail is pruned. Each mind’s best checkpoint balances choice accuracy, ordinal alignment and chain-of-emotion perplexity:

θ* = argmax α·Amc + β·Aord − γ·PPL
400minds retained
4.9Tparameters at inference

08 · Accuracy

State of the art on individuals

0.775SOTA

On held-out survey questions, the median mind reaches an ordinal alignment of 0.775, ahead of every published system that reports the measure: Twin-2K-500 0.717, Socrates-Qwen-14B 0.740 and the digital-twin mega-study 0.748. Top-1 accuracy on multiple choice: 0.679, against 0.657 for interview-grounded agents.

The weakest clusters aren’t concentrated in any demographic group, so performance tracks data quality, not who a cluster represents.

Evaluated on a B2B audience of SME merchants who take in-person card payments. Bars here are illustrative of the paper’s distribution.