微调
微调的目的有几个:
1. 和人类对齐,减少一些hullucination和toxic content;
2. 引入domain knowledge;
3. 做一些prompt engineering低效的事情,比如不用提供大量的样本。但是也有可能因此而产生灾难性遗忘。同时需要对样本量和质量进行把控。
SFT (supervised fine-tuning)
实际上就是用人工选择出来的一些pair来给到LLM,防止toxic的答案。和RLHF (RF with Human Feedback) 很像。[1] 中声称,用1000个样本做finetune就能有很不错的效果。
RLHF (RF with Human Feedback) [5]
分成两部
1. 采样出一些prompt和回答,然后让人类对这些回答排名,从而我们获取了人类对于这些回答的偏好。用一个reward model来学习这种偏好,后面就可以模仿人类,对于任意模型打分。
2. 获取reward model后,fix住,然后去训练policy model,也就是目标LLM,用PPO的方式,利用reward来更新policy。
RLAIF (RF with AI Feedback)
与上面不一样的,就是用AI来对回答进行排名,然后去训练reward model。其他都一样
PEFT (Parameter Efficient Finetuning)
上面三种(SFT, RLHF, RLAIF)描述的是数据流或者说数据的来源,而PEFT描述的是训练方法。[4]
Prompt Tuning
一些背景:表现良好的prompt需要很强的设计经验,在对准确度要求高的场合(如作为pipeline),通过人类指定的prompt (也被称为hard prompt) 可能会落入suboptimal [2] . 而soft-prompt则是可调的prefix token,加到prompt前面。通过改变输入格式,来改变任务的domain。前提是默认大模型已经train得很好了,有足够的能力进行知识的迁移。
Prefix tuning [3]
建一个小模型,专门用来产生一些token,注入到原有的prompt的最前面,使得模型产生的结果符合期望。其实可以类比于SQL注入,或者某种攻击方法,注入可以让模型产生有毒的,也可以产生更符合目标的回答。实际上就是用把LORA模型的参数转移到prompt里面,然后用这部分参数承担了context switch的工作。
[1] LIMA: Less Is More for Alignment
[2] https://zhuanlan.zhihu.com/p/524383554
[3] The Power of Scale for Parameter-Efficient Prompt Tuning
[4] https://zhuanlan.zhihu.com/p/650287173
[5] https://zhuanlan.zhihu.com/p/624589622
标签:prompt,finetune,RF,LLM,model,reward,模型 From: https://www.cnblogs.com/kunrenzhilu/p/18091328