EasyEdit2 的核心思想是在不修改模型参数的前提下,通过注入引导向量、提示模板或其他控制模块,实时调整模型的输出行为。这类方法也被称为推理时行为控制(inference-time steering),适用于无需永久改变模型但希望控制输出倾向的场景。

更多详情请见:EasyEdit2.0 README

1. 引导流程概览

EasyEdit2 提供完整的引导执行流程,支持 一键式执行分步执行 两种方式,适配不同使用需求。

一键式执行

运行统一入口脚本,可一键完成配置加载、向量生成、向量应用与结果生成:

python steering.py

可通过命令行参数覆盖配置:

python steering.py +model_name_or_path=your_model_path +device=cuda:1

核心流程结构

EasyEdit2 的核心引导流程分为以下四个步骤,每个步骤在下文中均有详细介绍:

  1. 加载配置与准备数据

    使用 Hydra 加载统一配置,并准备训练/评估数据集。

    → 详见: 配置系统数据准备

  2. 生成引导组件

    调用 BaseVectorGenerator 对输入数据进行处理,生成引导方法所需的引导组件。

    → 详见:BaseVectorGenerator

  3. 应用向量并生成结果

    使用 BaseVectorApplier 将多种引导方法应用于模型,并运行文本生成。

    → 详见:BaseVectorApplier

  4. 模型重置

    引导完成后重置模型状态,以便后续复用或切换其他引导策略。

分步执行方式

你也可以将流程分步运行,便于调试和测试不同阶段:

# 步骤一:生成引导向量
python vectors_generate.py

# 步骤二:应用向量并生成结果
python vectors_apply.py

使用案例参考