跳到主要内容

teleprompt.BootstrapFinetune

构造函数

__init__(self, metric=None, teacher_settings={}, multitask=True)

该构造函数初始化一个 BootstrapFinetune 实例并设置其属性。它将电讯提示器定义为一个 BootstrapFewShot 实例,用于微调编译。

class BootstrapFinetune(Teleprompter):
def __init__(self, metric=None, teacher_settings={}, multitask=True):

参数:

  • metriccallable可选):用于在自举过程中评估示例的度量函数。默认为 None
  • teacher_settingsdict可选):教师预测器的设置。默认为空字典。
  • multitaskbool可选):启用多任务微调。默认为 True

方法

compile(self, student, *, teacher=None, trainset, valset=None, target='t5-large', bsize=12, accumsteps=1, lr=5e-5, epochs=1, bf16=False)

该方法首先使用 BootstrapFewShot 电讯提示器进行编译自举。然后通过生成提示-完成对来准备微调数据进行训练,并执行微调。编译后,语言模型被设置为微调模型,并且该方法返回一个已编译和微调的预测器。

参数:

  • studentPredict):待微调的学生预测器。
  • teacherPredict可选):帮助微调的教师预测器。默认为 None
  • trainsetlist):用于微调的训练数据集。
  • valsetlist可选):用于微调的验证数据集。默认为 None
  • targetstr可选):微调的目标模型。默认为 't5-large'
  • bsizeint可选):训练的批量大小。默认为 12
  • accumstepsint可选):梯度累积步数。默认为 1
  • lrfloat可选):微调的学习率。默认为 5e-5
  • epochsint可选):训练的轮数。默认为 1
  • bf16bool可选):启用使用 BF16 的混合精度训练。默认为 False

返回:

  • compiled2Predict):一个已编译和微调的 Predict 实例。

示例

#假设已定义 trainset
#假设已定义 RAG 类
...

#定义电讯提示器
teleprompter = BootstrapFinetune(teacher_settings=dict({'lm': teacher}))

# 编译!
compiled_rag = teleprompter.compile(student=RAG(), trainset=trainset, target='google/flan-t5-base')