PEFT 适配器合并:如何核对兼容性并比较摘要与改稿
已有摘要和改稿适配器,第一次尝试组合时,应先回答能否进入同一项合并实验,再比较是否值得采用。本文提供兼容核对表、实验配置模板、双任务对照样例和原始权重保留规则。资料包只有官方博客索引,没有方法正文、当前接口或运行记录,因此配置仅作团队实验设…
先登记底模与原始权重,明确停止条件
本次要解决的问题是:已有两个写作任务适配器,如何准备一次可追溯的权重合并对照,而不是部署多个适配器或按请求切换任务。把两个适配器同时放进目录,并不构成完成合并的证据。
资料中的 Hugging Face 官方博客索引收录了 2024 年 2 月 19 日的 PEFT welcomes new merging methods。它能确认存在这一研究方向,但没有给出方法正文,不能证明当前版本支持某个适配器组合,也不能证明组合后能力更好。以下核对表和评测规则是本文提出的工程流程,不归为官方配方。
| 准备项 | 需要登记的内容 | 未确认时的处理 |
|---|---|---|
| 基础模型 | 模型来源、准确修订版本、权重文件校验值、是否经过额外修改 | 无法追溯训练所用权重时,暂停组合 |
| 两个适配器 | 任务用途、训练记录、配置文件、权重文件及校验值 | 缺失文件或来源记录时先补齐 |
| 本地环境 | PEFT、模型加载库、计算框架版本,以及设备、精度和量化设置 | 不要同时升级依赖并比较合并效果 |
| 输入处理 | 分词器版本、词表变更、特殊标记、聊天模板与截断规则 | 先统一输入协议,再建立基线 |
| 存储边界 | 原始目录、实验副本目录、候选产物目录、日志目录 | 输出位置可能覆盖输入时禁止执行 |
将底模、摘要适配器和改稿适配器分别保留为只读原件,实验仅使用副本。合并前后比较原件校验值;即使候选效果更好,也不要用候选产物替换原始文件。
按兼容核对表逐项放行,再建立单适配器基线
团队描述中的“同一基础模型”只能作为待核对信息。首次实验采用保守准入规则:确认两个适配器对应同一份底模权重,并为下面各项填写“已确认”“不支持”或“待确认”。待确认不等于通过。
| 核对维度 | 向当前版本说明或本地实现核实什么 | 放行依据 |
|---|---|---|
| 适配器类型 | 实际类型及变体,目标方法是否明确支持 | 不能从 LoRA 外推至所有 PEFT 类型 |
| 目标模块 | 模块名称、对应层、张量形状及覆盖差异 | 差异处理有明确约定,不凭名称相近放行 |
| 秩与缩放 | 各层秩、缩放配置和方法要求 | 不预设所有方法都要求相同秩,也不预设都能混用 |
| 附加参数 | 是否保存了额外模块、嵌入或输出层等参数 | 确认这些参数如何保留或处理冲突 |
| 精度与量化 | 所选方法对加载精度、量化表示和导出的限制 | 没有明确支持说明就暂不使用该组合 |
| 合并与保存入口 | 输入适配器列表、权重含义、方法选项、输出类型和重载方式 | 逐项记录接口签名及对应版本依据 |
- 先取得索引所指文章正文,再核对所安装 PEFT 版本的接口说明与实现。把方法名称、参数限制和不支持条件记录下来;正文尚未补齐时,不填写“官方已确认”。
- 用干净进程加载底模,分别验证摘要适配器和改稿适配器的原有加载流程,保存完整加载日志。
- 固定样本、提示词、输入模板、输出长度限制及生成设置。需要随机生成时,为各分支使用同一组种子并记录重复次数。
- 分别保存底模、仅摘要适配器、仅改稿适配器在两类任务上的输出。不要只让摘要适配器跑摘要、改稿适配器跑改稿。
- 确认单适配器基线可复现后,才允许加入合并候选;基线异常应先排除加载或输入问题。
用条件式配置定义候选,不把权重当作能力比例
现有资料无法列出已确认受支持的方法及其可运行参数。下面提供的是自定义实验登记模板,不是 PEFT 的配置格式,也不能直接传给库接口。具体方法和调用代码必须在完成上一节核对后补齐。
{
"experiment_id": "writing_merge_candidate_a",
"support_status": "pending_verification",
"base_revision": "REQUIRED_EXACT_REVISION",
"inputs": [
{"name": "summary", "path": "inputs/summary_copy"},
{"name": "rewrite", "path": "inputs/rewrite_copy"}
],
"verified_method": "REQUIRED_SUPPORTED_METHOD",
"candidate_weights": [0.5, 0.5],
"method_options": {},
"output_dir": "candidates/writing_merge_candidate_a"
}其中 0.5 与 0.5 只是待验证的候选数值,不表示各继承一半写作能力,也不证明适用于任何方法。是否需要归一化、允许哪些数值以及如何解释权重,均按已核实的方法约定处理。不要自行平均适配器文件里的所有张量。
- 把已确认的方法及版本依据写入实验记录,检查模板中的待填字段均已替换;仍有待确认项时停止。
- 先固定一种方法和其余选项,建立少量权重候选。只有方法允许时,才比较例如偏重摘要、均衡和偏重改稿的配置。
- 每个候选从相同输入副本重新构建,不在上一个候选产物上继续叠加。不同方法分别编号,不同时改变权重与方法来解释单项影响。
- 调用经过核对的本地合并入口,记录实际生效参数、告警与保存结果,避免只保存计划配置。
- 从候选目录重新加载并运行固定样本,确认后续评测使用的是该产物,而不是内存中的旧适配器。
先区分实验要交付的是组合后的适配器还是写入底模后的模型产物。二者的保存与重载要求不能混用;目标产物类型没有确认前,不执行覆盖底模的操作。
用摘要和改稿样例检查能力干扰
以下材料和参考表达均为本文原创的评测示例,不是模型生成结果。正式比较应另备未参与适配器训练、也未参与权重选择的独立样本;同源材料及其改写版本应放在同一数据划分中,避免泄漏。
| 任务 | 示例输入与要求 | 应检查的内容 |
|---|---|---|
| 摘要 | 材料:某编辑部计划下月试行双人复核,目前仅完成方案讨论,预算尚未批准。要求:用一句话概括,保留计划状态和限制,不新增信息。 | 不能写成已经实施、预算已批或效果已提升 |
| 改稿 | 原稿:这个方案我们还没正式开始,主要是预算还没有批下来,所以时间也暂时不能定。要求:改成正式书面语,保留因果关系,只输出改稿正文。 | 不能把改稿变成提炼关键词,也不能补写确定日期 |
摘要的参考表达可以是“该编辑部拟于下月试行双人复核,但目前仅完成方案讨论,预算仍待批准”。改稿的参考表达可以是“由于预算尚未获批,该方案尚未正式启动,具体时间暂未确定”。不要求逐字一致,只按事实和指令边界判断。
改稿任务可先按原意保留表与对照方法列出不可变信息,再把这些信息转为各分支共用的检查项。
- 在开发样本上选择权重,选择后冻结候选配置,再运行独立验收样本;不根据验收结果反复调参后仍沿用原成绩。
- 每条样本都运行底模、摘要单适配器、改稿单适配器和全部候选。各分支使用同一任务输入,不为合并结果单独优化提示词。
- 隐藏分支名称、打乱答案顺序,让编辑独立检查事实错误、指令违反、必要信息遗漏和表达质量。
- 保存逐条判定及错误片段,再按摘要和改稿分别汇总。不能用摘要的提升抵消改稿任务中新增的事实错误。
| 记录项 | 填写规则 |
|---|---|
| 样本与分支 | 样本 ID、任务类型、输入版本、产物 ID、生成设置和原始输出位置 |
| 硬性错误 | 分别标记事实错误、违反指令、关键遗漏,并引用对应片段 |
| 质量对照 | 记录优于、持平或劣于该任务单适配器基线的判断及理由 |
| 资源与状态 | 记录生成耗时、资源占用、失败或截断状态;失败项不从统计中悄悄删除 |
出现加载失败或任务退化时这样排查
下表是故障排查假设,不表示资料包记录了这些故障,也不能仅凭症状确定原因。先验证原因,再执行修正。
| 常见故障 | 待排查原因 | 修正动作 |
|---|---|---|
| 加载或合并时报类型、形状错误 | 底模修订、目标模块、适配器类型或方法限制不匹配 | 回到兼容表核对首个异常;恢复原始单适配器加载,不删除报错张量强行通过 |
| 候选输出始终像某个单适配器 | 可能重用了旧产物,或生成入口没有使用候选 | 检查实际加载路径、产物校验值及生效配置,在干净进程重载候选 |
| 摘要正常,改稿却只剩一句概括 | 可能存在任务能力干扰,也可能提示词或长度限制不一致 | 先复核输入与生成设置;一致后在开发集调整受支持的权重候选,保留失败样本 |
| 输出更流畅,却把计划写成事实 | 评审只关注文风,忽略状态、条件和否定信息 | 将事实状态列为硬性检查项,逐条对照材料;不因表达改善放行 |
| 保存前后输出差异明显 | 可能保存类型、重载流程、底模版本或数值配置不一致 | 比较两次运行清单,恢复相同条件后重新评测导出产物 |
| 资源不足导致实验中断 | 可能并行保留过多模型副本,或候选方法需求超出资源 | 改为顺序运行、释放无关实例;精度等条件变化后重建全部对应基线 |
发布前逐项验收,保留拒绝采用的结论
验收前先约定业务门槛。例如可采用保守规则:独立样本不得新增关键事实错误,摘要和改稿的指令通过率均不得低于各自单适配器基线,再比较表达质量与资源开销。这是团队可选择的规则,不是官方指标;小样本未发现问题不代表普遍无退化。
- 基础模型准确版本、适配器类型与方法支持依据已登记,没有把索引标题当作兼容证明。
- 原始底模及两个适配器的文件与校验值未改变,原有加载入口仍可恢复。
- 单适配器与候选均覆盖摘要、改稿任务,输入协议和生成条件可对照。
- 权重选择样本与独立验收样本分开,失败、截断和不利样本均已记录。
- 事实、指令遵循、关键遗漏和表达质量分别检查,结果按任务汇总。
- 准备发布的产物已从保存目录重新加载验收,产物类型、底模依赖和配置清单齐全。
- 发布说明只写已获得记录支持的结论,限定模型版本、方法、任务和样本范围,不宣传通用能力叠加。
- 保留合并配置、环境清单、原始输出、评审记录和回退步骤;候选未通过时继续使用原始适配器。
当前资料能支持的结论是:应先补齐方法正文和版本兼容依据,再开展上述对照;尚不能判断哪种方法或权重值得采用。若一个任务改善、另一个任务退化,应把它记为能力取舍,而不是宣布合并成功。
下一步
把这篇的方法练一遍
提示词和步骤可以带到创作里直接试做一版。