synthea-bert

An encoder-only, BERT-style masked model over sequences of health events, trained on a synthetic Synthea population. Teaching material for Transformer Architectures for Computational Social Science (ICSC 2026, Oxford).

Do not load this with AutoModelForMaskedLM

The model adds Time2Vec time encodings to the input embeddings. Loading the inner BertForMaskedLM directly skips them, and the model then returns confident nonsense while the loss still looks fine. Use the loader shipped in this repo:

import sys

import pandas as pd
from huggingface_hub import snapshot_download

model_dir = snapshot_download("carlomarxx/synthea-bert")
data_dir = snapshot_download("carlomarxx/synthea-workshop-data", repo_type="dataset")

sys.path.insert(0, model_dir)  # event_bert.py ships alongside the weights
from event_bert import EventBertForMaskedLM

vocabulary = pd.read_csv(f"{data_dir}/vocabulary.csv")
model = EventBertForMaskedLM.from_pretrained(
    model_dir, expected_vocab_size=len(vocabulary)
)

Vocabulary

1036 tokens: 5 special, 46 background and the rest event types. The background tokens are a person's static attributes, placed at the head of the sequence following life2vec rather than bolted on downstream as features: 6 age bands, 2 sex, 6 race, 2 ethnicity, 5 marital status, and 25 equal-frequency income bins. The vocabulary lives in carlomarxx/synthea-workshop-data and the two are only valid as a pair โ€” expected_vocab_size asserts this.

What it learned

Synthea is a rule-based simulator, so structure recovered from it reflects generator rules, not epidemiology. Measured consequence: on scalar outcomes this model ties or loses to a tabular baseline of age plus record volume. On next-event prediction it wins decisively (0.619 top-1 against 0.303 for a bigram baseline), because the generator wrote care pathways โ€” vaccination schedules, dental bundles, screening batteries โ€” and pathways are what it learned.

Published from carlomarxdk/workshop-transformers at commit ffae814.

Downloads last month
27
Safetensors
Model size
958k params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support