Google Research Introduces SensorFM: A Wearable Health Foundation Model Pretrained on One Trillion Minutes of Sensor Data

Google Research Introduces SensorFM: A Wearable Health Foundation Model Pretrained on One Trillion Minutes of Sensor Data


Most wearable health models are built one outcome at a time. That approach breaks down at thirty-five endpoints. Labels are expensive and retrospective annotation is infeasible.

Google Research introduced SensorFM, a foundation model for wearable health pre-trained on more than 1 trillion minutes of sensor data from 5 million people.

https://arxiv.org/pdf/2605.22759

What is SensorFM?

SensorFM is a Large Sensor foundation Model for wearable time-series representation learning. It ingests 34 one-minute aggregate features drawn from five sensors: PPG, accelerometer, EDA, skin temperature, and altimeter. Those features are organized into seven categories, over a 24-hour context window.

The backbone is a ViT-1D encoder trained with a masked-autoencoder objective and a patch size of [20, 1]. Pretraining used 5,000,000 consented participants, sampled between September 2024 and September 2025. That corpus spans 100+ countries, all 50 U.S. states, and 20+ Fitbit and Pixel Watch models. It totals over two billion hours, or more than one trillion minutes.

okex

Four variants exist, each paired with a proportional data volume.

VariantParametersEncoder hidden / layersProportional dataSensor-hoursXXS138,74064 / 25K subjects2×10⁶XS933,204128 / 450K subjects2×10⁷S7,290,068256 / 8500K subjects2×10⁸B110,763,412768 / 125M subjects2×10⁹

Evaluation uses separate data. It covers 13,985 subjects across three prospective IRB-approved studies. Those are metabolic, cardiac and respiratory health (N = 1,655), sleep (N = 6,377), and mental health (N = 5,953). The 35 tasks cover cardiovascular (6), metabolic (8), mental health (8), sleep (3), demographics (4), and lifestyle (6).

The Scaling Case

With that setup, the first question is whether scale buys anything measurable. The research team swept four model sizes against four data volumes.

SensorFM-B on the 5M corpus cuts reconstruction validation loss by 31% versus SensorFM-XXS. Generative loss drops 28% on average. Downstream, it gains ΔAUC = 0.09 on classification and Δr = 0.21 on regression. Across variants, B wins 33 of 35 tasks, and XXS ranks last on 33 of 35.

The failure case is equally informative. SensorFM-B trained on only 5K subjects posts a 1.082 validation loss. That is worse than every smaller variant at the same volume. Pretraining was stopped early because the model overfit.

https://arxiv.org/pdf/2605.22759

Consequently, all headline results assume data volumes scaled proportionally to capacity. Along that co-scaled diagonal, mean ROC AUC moves .664, .681, .710, .752. Mean Pearson r moves .386, .435, .536, .612. The above figure shows the trend has not saturated.

AIM: Handling Missing Data as Signal

Scaling alone does not explain those numbers. Real streams fragment during charging, off-wrist periods, and power-saving modes. Conventional methods either impute the gaps, injecting bias, or drop the windows, discarding data.

SensorFM instead uses Adaptive and Inherited Masking (AIM), introduced by Xu et al. in LSM-2. The applied mask is the union of the inherited missingness mask and the artificial mask. Loss is computed only on artificially masked patches that had ground truth. Two-stage token masking, using token dropout and attention masking, keeps this efficient.

Because the decoder learns to reconstruct ablated observations, imputation and forecasting come for free.

Generative taskMean fillNN fillLinear interp.SensorFM-BRandom imputation, 80%0.9151.0200.8540.215Temporal interpolation, 60 min0.9040.9430.7770.468Temporal extrapolation, 60 min0.9371.1021.1020.563Signal imputation, 12/26 channels1.0251.0251.0250.170

Reconstruction MSE on the held-out test set, lower is better.

Against the best baseline, SensorFM improves random imputation by 74.8%. Sensor signal imputation improves by 83.7%.

Hands-On: Adapting the Embeddings

Turning that representation into predictions is straightforward. The encoder stays frozen. Embeddings are aggregated per person, using the mean and standard deviation across days. Those reduce to 50 principal components. A linear head then trains under five-fold, person-independent cross-validation.

import numpy as np
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import roc_auc_score

def person_level(emb, pid):
“””Collapse day-level embeddings into one vector per participant.”””
people = np.unique(pid)
feats = []
for p in people:
e = emb[pid == p] # (n_days, d)
feats.append(np.concatenate([e.mean(axis=0), e.std(axis=0)]))
return np.nan_to_num(np.stack(feats)), people # pandas std() is NaN at 1 day

X, people = person_level(emb, pid) # emb: frozen SensorFM embeddings
y = labels[people] # one label per participant

aucs = []
for tr, te in StratifiedKFold(5, shuffle=True, random_state=0).split(X, y):
pca = PCA(n_components=50).fit(X[tr]) # PCA-50, fit on the train fold only
clf = LogisticRegression(max_iter=400) # paper: AdamW, lr 5e-3, wd 1e-4, 400 steps
clf.fit(pca.transform(X[tr]), y[tr])
p = clf.predict_proba(pca.transform(X[te]))[:, 1]
aucs.append(roc_auc_score(y[te], p))
print(np.mean(aucs))

This linear probe beats a supervised feature-engineered baseline on 34 of 35 tasks. Selected results follow.

TaskMetricDemos. onlyFeat. Eng.SensorFM-BAger–.662.920Mental Health Med.ROC.594.773.819PHQ-8r.303.354.450Insulin ResistanceROC.717.710.761Hypertension DxROC.762.747.786Framingham 30 Riskr.782.592.714

The last row is not an outlier. ASCVD and Framingham scores are calculated from demographic features. Demographic-only models therefore win by construction. The research team reports SensorFM best on 31 of 35 tasks, not all of them.

Two caveats sit in the same tables. Demographics still help SensorFM on 22 of 30 tasks, though the lift shrinks with scale. In very-low-label regimes, demographic priors alone remain strong.

The Agentic Classroom

Even a linear probe needs per-task tuning. To automate that, the research team ran a ‘classroom’ of five LLM student agents. These span gemini-2.5 flash through gemini-3.1 pro preview. Agents generate, execute, score, and refine Python heads over 20 cycles, using unreduced embeddings.

In total they ran 30,516 experiments. Agent-found heads beat the linear probe on 16 of 20 classification tasks, measured by F1. They also raised Pearson correlation on 12 of 15 regression tasks. Solution quality tracked the Artificial Analysis Intelligence Index.

The winning solutions are conservative. Almost all reduced the embedding space to 50–100 dimensions. Linear models outnumbered non-linear ones, and ensembles appeared in under a quarter.

Grounding a Personal Health Agent

The final experiment tests SensorFM as a tool, not a benchmark entry. Gemini 3 Flash generated health summaries for 31 real participant profiles. Every condition received demographics and feature-engineered daily metrics. Conditions then added SensorFM predictions, ground-truth targets, or nothing.

According to the research paper, four board-certified physicians, blinded to condition, produced 1,860 ratings across five rubric dimensions. Adding SensorFM predictions beat the baseline overall (W = 10110, p < 0.001), and on each dimension. Its predictions were statistically indistinguishable from ground truth (p = 0.396).

Use Cases

Screening and risk stratification: A frozen encoder plus one linear head flags candidates for confirmatory lab work. The paper scopes this to screening, not diagnosis.

Repairing daily summaries: With 60 contiguous minutes ablated, SensorFM retains 99.7% step-count and 99.9% deep-sleep accuracy.

Label-scarce studies: Probe frozen embeddings instead of training end-to-end. Compare against a demographics-only baseline first.

Grounded coaching: The agent prompt forbids emitting raw regression values or boolean flags. Predictions are interpreted qualitatively instead.

Interactive Explorer

Check out the Paper and Technical details. Also, feel free to follow us on Twitter and don’t forget to join our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.

Need to partner with us for promoting your GitHub Repo OR Hugging Face Page OR Product Release OR Webinar etc.? Connect with us

Michal Sutter is a data science professional with a Master of Science in Data Science from the University of Padova. With a solid foundation in statistical analysis, machine learning, and data engineering, Michal excels at transforming complex datasets into actionable insights.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *

Pin It on Pinterest