用合成数据训练Transformer预测血糖:一个开发者的T1DM实验

开发者用T1DM生理模拟器生成合成数据训练31K参数Transformer,实现血糖零样本预测并在Android端通过LoRA做个性化适配。
一位开发者分享了其血糖预测项目的第二阶段成果:完全使用T1DM患者生理模拟器生成的合成数据训练模型,随后在自己三款CGM设备的真实血糖数据上测试零样本泛化能力。模型采用仅编码器Transformer架构,仅有31,251个参数,可预测未来2小时血糖走势,并以自回归方式扩展到8小时夜间预测,同时具备反事实推理能力——即模拟不同胰岛素或碳水摄入干预下的血糖响应。模型通过ExecuTorch部署到自研Android应用,并结合LoRA适配器在端侧实现个体化微调。整个项目(模型、模拟器、App)完全开源,展示了"模拟器优先 + 端侧个性化"这一在医疗AI数据稀缺场景下颇具价值的技术路线。
一位开发者在 Reddit 上分享了他训练血糖预测模型的第二阶段成果。与第一次尝试不同,这次他完全依赖合成数据训练模型,再在真实血糖数据上测试零样本表现——这个思路对解决医疗 AI 数据稀缺的痛点颇具参考价值。

从真实数据集到纯合成数据的转变
在第一阶段,作者使用了 OhioT1DM、ShanghaiT1DM 和 AZT1D 三个公开的 1 型糖尿病(T1DM)数据集,训练了一个仅编码器(encoder-only)结构的 Transformer 模型。
这次的关键改变是:他构建了一个 T1DM 患者模拟器,用模拟器生成的输出来训练模型,然后直接在自己真实的连续血糖监测(CGM)轨迹上测量零样本(zero-shot)性能。换句话说,模型在测试前从未见过作者本人的任何真实血糖读数。
这种做法的价值在于,医疗场景中高质量标注数据往往难以获取,且涉及隐私问题。如果一个基于物理/生理模拟器生成的合成数据能够迁移到真实世界,就为规避数据瓶颈提供了一条可行路径。
T1DM 患者模拟器通常基于生理/药代动力学模型构建,最具代表性的是 UVA/Padova 模型(又称 FDA 认可的 Type 1 Diabetes Metabolic Simulator,T1DMS)。该模型用一组微分方程描述葡萄糖-胰岛素动态系统,涵盖胰岛素皮下注射的吸收曲线、肝脏葡萄糖输出、外周组织摄取等生理过程,并可通过调整参数来模拟不同患者的个体差异(如胰岛素敏感性、碳水吸收速率等)。通过在参数空间进行大范围采样,模拟器可生成数量几乎不受限的"患者场景"及对应的血糖轨迹,有效弥补了真实临床数据集规模小、标注不完整的短板。这一类模拟器也是闭环人工胰腺(Closed-Loop AP)系统研究的常用工具,先在虚拟患者上验证控制算法安全性,再推进临床试验。
模型架构:轻量级设计
这个模型的规模非常小,仅有 31,251 个参数,具体配置为:
- 16 层(layers)
- 每层 1 个注意力头(attention head)
- 隐藏维度(hidden dimension)为 16
训练在一台 NVIDIA DGX Spark 上完成,耗时不到 60 分钟。这样的参数量和训练成本意味着模型足够轻量,适合部署到移动端等资源受限的环境。
从功能上看,该模型是一个仅编码器的 Transformer,默认预测未来 2 小时的血糖走势。通过自回归(autoregressive)方式,它还能完成长时程预测,例如 8 小时的夜间血糖预测——这对预防夜间低血糖等风险场景尤其有意义。
反事实推理能力
作者特别强调,他专门训练了模型的反事实推理(counterfactual reasoning)能力。在血糖管理中,这意味着模型可以回答类似“如果我现在注射一定剂量的胰岛素,或者摄入某些碳水,血糖会如何变化”这样的假设性问题。这是从单纯的趋势预测迈向决策辅助的重要一步。
反事实推理在因果推断领域有严格定义:给定已发生的观测结果,询问"如果某个干预变量取不同的值,结果会如何"。在血糖预测场景中,模型需要同时建模血糖动力学与外部干预(胰岛素剂量、碳水摄入量、运动强度等)之间的因果关系,而非仅仅拟合历史序列的统计相关性。要让神经网络具备这种能力,通常需要在训练数据中显式构造"干预-响应"对:模拟器在相同初始状态下,分别注入不同干预条件并记录对应的血糖走势,模型以此学习干预量对轨迹的影响方向和幅度。这与强化学习中的离线策略评估,以及因果机器学习中的潜在结果框架(Potential Outcomes Framework)思想一脉相承。
真实世界部署与测试
测试并非在实验室环境完成,而是跑在作者自己开发的 Android 应用上,使用 ExecuTorch 作为推理后端。ExecuTorch 是 PyTorch 面向端侧部署的运行时,印证了这个小模型确实面向移动端落地。
测试覆盖了三种不同的 CGM 设备数据:
- Libre 3 Plus
- Anytime CT5
- Linx 传感器
数据跨度为过去 30 天。值得关注的是,文中展示的图表与数据表均来自未附加任何 LoRA 适配器的基础模型,也就是纯粹的零样本结果。
LoRA 轻量微调
在实际应用中,作者会在 App 上使用 LoRA 适配器对模型进行轻量微调,让它逐步适应自己真实的 CGM 轨迹。这种“合成数据预训练 + 端侧 LoRA 个性化微调”的组合,既保留了通用性,又能针对个体差异做优化,是一个相当务实的工程方案。
LoRA(Low-Rank Adaptation)是一种参数高效微调方法,其核心思想是:在预训练权重矩阵旁并联一对低秩矩阵 A 和 B(秩 r 远小于原始维度),微调时只更新这两个小矩阵的参数,原始权重保持冻结。最终推理时将 BA 与原权重相加,因此不引入额外的推理延迟。在端侧场景中,这意味着用户设备只需存储和更新极少量的"个性化参数"(通常几十 KB),而非重新训练整个模型,极大降低了存储与计算开销。对于血糖预测这类强个体差异的任务,LoRA 提供了一种隐私友好的个性化路径:用户数据留在本地,适配器也在本地训练,无需上传到云端。
开源地址与意义
作者将整个项目完全开源,包括三个独立仓库:
- 模型源码:
github.com/0xdeadf1sh/T1DMAI - 模拟器源码:
github.com/0xdeadf1sh/T1DMSIM - Android 应用源码:
github.com/0xdeadf1sh/T1DMDROID
这个项目的意义不在于参数规模或 SOTA 性能,而在于它展示了一条清晰的技术路线:用生理模拟器生成合成数据来训练小型 Transformer,再通过端侧 LoRA 做个性化适配。对于数据获取困难、隐私敏感的医疗 AI 领域,这种“模拟器优先”的思路值得更多关注。
需要提醒的是,这目前仍是个人实验性项目,所有结果基于作者单一用户的数据,模型的泛化能力与临床可靠性还需要更大规模、更严谨的验证,不应直接用于实际的血糖管理决策。
相关推荐

AI检测误判风波:作家被指用AI写作,谁该举证?
2026年英联邦短篇小说奖地区获奖者被Pangram检测工具判定100% AI生成,最终靠草稿自证清白。这起事件揭示了AI检测工具的误判风险与创作者面临的举证困境,以及作家协会承认没有可靠AI检测方法的现实。

Paul Ford新作引热议:Web本身已经足够
Paul Ford 文章《The Web Is More Than Enough》在 Hacker News 引发讨论,主张 Web 标准已足够承载应用开发,反对动辄引入封闭平台。本文梳理其核心论点、与当前 AI 应用潮流的张力,以及对开发者技术选型的实际含义。

斯坦福如何教授AI原生工程:CS146S课程揭秘
斯坦福CS146S课程直面AI一键生成作业的挑战,探索AI原生工程教育。Mihail Eric分享如何将AI作为工程伙伴,培养系统设计和代码审查能力,为工程教育提供新范本。