Flo Health 用 Databricks 构建更安全开放模型
DataHot 速览
Flo Health 为 8100 万月活用户构建医疗健康类生成式 AI,对安全性和实用性要求很高。团队用 AI 评审员和隐私优先的合成数据定义医疗安全与有用性标准,并基于 Databricks AI Runtime 在无服务器 NVIDIA H100 GPU 上分布式微调开放模型。Flo 估算,相比调用前沿模型 API,定制微调模型可将推理成本降低一个数量级,并增强对模型行为与生命周期的控制。该实践强调先做评估再做训练,以兼顾安全、成本与个性化。
为什么值得关注:该案例展示大规模 GenAI 产品如何用评估优先、合成数据和分布式微调平衡医疗安全、个性化与推理成本,对构建生产级 AI 数据平台有参考价值。
译文
AI 逐段翻译对于Flo Health而言,生成式AI的门槛异常之高。这款女性健康应用拥有8100万月活跃用户,其运营规模意味着AI系统中哪怕微小的弱点都至关重要。由于Flo的产品涉及健康与福祉,回复必须在医学上安全且真正有用。
随着Flo从仅使用传统机器学习转向由生成式AI驱动的个性化洞察,团队看到了打造更灵活、个性化产品的潜力。但依赖单一通用模型带来了其他限制:规模化成本、对模型提供商生命周期的依赖,以及编码Flo自身领域专业知识的有限能力。Flo的长期愿景是一个复合AI系统,能够为每项任务使用合适的模型,同时在所有模型间维持一致的安全标准。
这促使Flo转向微调的开源模型,以及一个用Databricks构建的新后训练流水线。团队使用AI评判器和隐私优先的合成数据,将Flo在医学安全性和有用性方面的标准转化为训练信号,然后使用Databricks AI Runtime在无服务器的NVIDIA H100 GPU上运行分布式微调。
这种方法在Flo的规模下也具有经济意义。团队估计,与依赖前沿模型API相比,使用定制化的微调模型可以将推理成本降低一个数量级,同时让Flo对模型行为和生命周期拥有更大的控制权。
但在Flo能够按照自己的标准训练模型之前,它需要一种可靠的方式来定义和衡量什么是“好”。
从评估开始,而非训练
Flo为其AI系统定义了 two 个目标:以医学安全为基础,以有用性为目标。模型可以避免不安全的表述却几乎毫无价值,或者给出详细、个性化的答案却遗漏重要的医学保障。
考虑这样一个问题:“我的月经为什么推迟了?”仅仅告诉用户去看医生的回答可能是安全的,但并非特别有用。只列出常见生活方式原因的回答可能更有帮助,但从医学安全角度看并不完整。Flo希望回复能够兼顾两者:有用的信息、适当的背景,以及正确的安全兜底。

为了让这种平衡可衡量,Flo的医疗、产品和工程团队构建了一个评估框架,将医学风险分解为可以一致测试的具体评分规则。例如,在发现对症状问题的回复可能过度令人安心后,Flo创建了一条“平衡病因”规则,要求在相关时适当涵盖良性和潜在严重病因。这些评分规则随后被转化为AI评判器,每个评判器都有定义、评分说明和训练案例。
Flo用合成案例和来自真实用户实验的匿名案例验证了这些评判器。当AI评判器与最初的人类评估不一致时,由盲审临床评审员裁决分歧以建立基准真相。Flo随后用其中一部分案例来改进评判器,并保留其余案例来衡量性能。
将专家判断转化为可扩展的训练信号
评估系统就位后,Flo可以将这些评判器用作训练奖励信号。最终框架包含26个评判器,分为三类:
- 12个医学安全评判器充当硬性约束。
- 6个“微观”评判器评估更细微的行为,如语气、依据、框架和细粒度安全性。
- 8个有用性标准衡量完整性、相关性、连贯性和语气等因素。
构建传统的人工标注微调数据集需要为每个示例投入大量临床专业知识。Flo将其医学专家的时间集中在设计和校准评估系统上,该系统随后可以大规模地为训练候选者评分。
由此产生的流水线使用隐私优先原则生成了超过15,000个合成问题,并在没有人工标注回复的情况下创建了训练对。Flo从模型生成或匿名聚合的信号中获取输入,而非用户编写的自由文本或可识别信息。
临床医生在定义和验证“安全”含义方面仍然不可或缺,但他们不再需要手动标注每一个训练对。
使用AI评判器和偏好优化进行微调
在具备校准后的评判器和合成训练数据后,Flo采用了强化微调(RTF)方法,该方法在训练期间生成多个候选回复,使用评估系统识别最强的回复,并对模型进行微调,使质量被编码到其权重中,而不是在每次生产请求时依赖昂贵的best-of-N搜索。
Flo的工作流程遵循五个阶段:
- 合成保护隐私的问题。
- 生成多个候选答案。
- 根据医学安全、有用性和行为标准对它们进行评分。
- 选择最强的回复并构建偏好对。
- 使用监督微调和DPO进行训练,然后重新运行评判器以验证结果。

该方法的第一个版本暴露了一个重要局限:有用性提高了,而医学安全相对持平,因为偏好对未能充分区分医学质量的程度。
Flo通过添加分级安全评分解决了这个问题。通过二元安全门的回复会根据其满足适用医学标准的彻底程度重新排序,从而创建具有更清晰医学安全对比的偏好对。
使用Databricks AI Runtime扩展后训练
大规模运行这个生成-评分-选择-训练循环是计算密集型的。Flo的训练技术栈结合了Databricks AI Runtime、LLM Foundry和Compose-RL,并使用MLflow进行跟踪和检查点管理。AI Runtime提供了无服务器GPU环境,LLM Foundry处理分布式训练,Compose-RL提供偏好优化层。

在微调过程中,Flo 使用了 32 块 NVIDIA H100 GPU,结合 PyTorch 和完全分片数据并行(FSDP),并通过 LLM Foundry 和 Compose-RL 依次运行了 SFT 和 DPO。
该设置让工程师能够按需获取 GPU 算力用于分布式深度学习训练,使他们能够从合成数据生成到评估再到微调,无需为每次实验手动搭建和配置 GPU 集群。将周边的数据、实验和机器学习工具保留在同一环境中,使得在整个后训练工作流中迭代变得更加容易。
Databricks AI Runtime 让我们能够在数据已经所在的地方进行训练,并具备大规模模型训练所需的可靠性、安全性和性能。我们可以减少管理 GPU 基础设施的时间,将更多时间用于改进模型本身。——Vladislav Nedosekin,Flo Health 数据与 AI 平台工程总监
同步提升医疗安全性和实用性
该工作流在 Flo 关注的两个维度上都带来了可衡量的提升。Flo 评估的第一个模型在医疗安全基准上得分为 34%,实用性得分为 42%,而只有 16% 的回复同时满足两项标准。
经过微调后,医疗安全性提升至约 61%,实用性达到 76%,综合得分从 16% 攀升至 47%——几乎是起点的三倍。

47% 的综合得分是一个重要的里程碑,但更持久的成果是 Flo 围绕它构建的可复用评估和训练系统。
流程本身就是资产
随着底层模型的演进,Flo 可以将该系统继续沿用下去。团队计划将其应用于更新的开放权重模型,包括 Gemma、Qwen 和 Kimi,同时保留其已经开发和验证的医疗安全性和实用性标准。
在 Databricks AI Runtime 支撑该循环的情况下,Flo 可以在不重建训练环境的前提下对新模型进行迭代,让工程师专注于医疗专业知识、模型质量和用户体验。
这篇内容对你有用吗?
反馈只用于改善内容筛选,不等同于收藏