如何在 Amazon SageMaker AI 上满足欧盟 AI 法案对 LLM 微调的 FLOPs 追踪要求
2025 年 8 月 2 日生效的 欧盟 AI 法案 对微调大型语言模型(LLM)的组织提出了新的合规要求:必须追踪微调过程中消耗的计算资源(以浮点运算次数 FLOPs 计量),以确定是否触发新的监管义务。本文介绍如何利用开源工具 Fine-Tuning FLOPs Meter 在 Amazon SageMaker AI 上实现 FLOPs 追踪,通过一个配置标志即可判断合规状态,并生成审计就绪文档。
欧盟 AI 法案与 FLOPs 追踪要求
法案将 AI 模型的使用者分为两类:
- 下游用户:使用现有模型且未进行实质性修改的组织,义务较轻。
- GPAI 模型提供者:对模型合规性负全责的组织,需承担更严格的义务。
微调 LLM 时,分类取决于微调消耗的计算量是否超过原始训练计算量的 三分之一(30%)。若超过,则视为进行了“实质性重新训练”,使用者将被重新分类为提供者。
为什么是 30% 阈值?
监管分析认为,使用超过原始训练计算量 30% 的算力进行微调,通常会导致模型行为发生显著变化,相当于创建了一个具有不同风险的新模型,因此应承担完整的提供者义务。
大多数组织面临的情景
由于模型提供者很少公布精确的预训练 FLOPs,多数组织只能估算。下表列出了三种常见情景:
| 情景 | 描述 | 合规状态 |
|---|---|---|
| 1 | 已知原始训练 FLOPs,微调消耗低于 30% | 下游用户 |
| 2 | 未知原始训练 FLOPs,需估算 | 需估算后判断 |
| 3 | 微调消耗超过 30% | GPAI 提供者 |
使用 Fine-Tuning FLOPs Meter 实现追踪
Fine-Tuning FLOPs Meter 是一个开源工具,可集成到 Amazon SageMaker AI 的微调流水线中。它通过在训练脚本中添加一个配置标志(--track-flops),自动记录每次训练作业的 FLOPs 消耗,并与预设阈值比较,输出合规状态。
核心能力
- 自动计算 FLOPs:基于模型架构、参数量、训练数据量、批次大小、训练步数等参数,精确估算微调消耗的 FLOPs。
- 合规判断:用户可设置原始训练 FLOPs(如已知),工具自动计算微调比例并给出“下游用户”或“GPAI 提供者”的结论。
- 审计就绪文档:生成包含计算过程、参数细节和最终结论的报告,可直接用于审计。
集成步骤
- 准备 SageMaker 训练环境:创建 Notebook 或使用 SageMaker Studio,配置 IAM 角色和网络。
- 安装 Fine-Tuning FLOPs Meter:通过 pip 安装
fine-tuning-flops-meter包。 - 修改训练脚本:在 PyTorch 或 TensorFlow 训练脚本中导入工具,添加
--track-flops参数。 - 启动训练作业:使用 SageMaker SDK 或控制台启动训练,工具自动记录 FLOPs。
- 查看报告:训练完成后,在 CloudWatch 日志或输出目录中获取合规报告。
实际案例
假设某组织使用 Llama 2 7B 模型进行领域微调,原始训练 FLOPs 约为 1.7×10²²(来自公开论文)。微调使用了 1000 条数据,训练 3 个 epoch,批次大小为 8。Fine-Tuning FLOPs Meter 估算微调消耗为 5.1×10¹⁸,远低于 30% 阈值(5.1×10²¹),因此合规状态为“下游用户”。
总结
欧盟 AI 法案的 FLOPs 追踪要求看似复杂,但借助 Amazon SageMaker AI 和 Fine-Tuning FLOPs Meter,组织可以轻松实现自动化合规判断。这一方案不仅降低了手动计算错误的风险,还为审计提供了可靠证据。对于正在微调 LLM 的企业,建议尽早集成此类工具,以应对不断演变的监管环境。