用途:把基于 transformers.Trainer、Seq2SeqTrainer、TRL SFTTrainer 等 Trainer 子类的训练代码转换为 NVFLARE 联邦作业,支持全模型与 PEFT/LoRA 微调、数据集与分词器、Trainer 回调与指标、检查点续训及复制的 torch.distributed 训练。
主要能力:通过 flare.patch(trainer) 作为唯一模型交换所有者,从 FL 意图选择配方(如显式 FedAvg 用 nvflare recipe show fedavg-pt --format json,并从 nvflare.app_opt.pt.recipes.fedavg 导入 FedAvgRecipe),适配 client_with_eval.py、server_model.py 和 job.py 等资产,保留源评估、指标名、PEFT 配置与模型构造值。
使用方式:先用 nvflare agent inspect source <path> --format json 检查源码,按顺序加载共享参考文档,运行 resolve_model_snapshot.py 解析本地或 Hub 快照,例如 run_script("scripts/resolve_model_snapshot.py", ["--source", "local", "--source-root", "<absolute-source-root>", "<configured-path>"]) 或 run_script("scripts/resolve_model_snapshot.py", ["--source", "hub", "<org/model>"]); 验证阶段遵循编译、构造、模拟与终端证据阶梯。
限制:不适用于无 Trainer 的手动 PyTorch 循环、PyTorch Lightning、仅推理与模型服务、失败作业诊断或无训练的联邦统计。不支持 DeepSpeed、FSDP、生产/POC 部署、控制器重写、实验搜索及 HE、加密聚合、差分隐私等隐私保护请求。每个 Python 进程只能 patch 一个 Trainer;需拒绝或报告特定不兼容设置,如 load_best_model_at_end=True 等。未提供官方文本。