作为 LLM 训练的下游任务,一般的训练流程如下:
在训练过程中,会涉及到一些相关的理论探讨和评价指标:
问题一:为什么「In-Context Learning」或相关的「few-shot」「zero-shot」「prompt e与gineering」等思想能打破传统训练范式并建立新的技术路径进行模型下游任务的SFT,而不用在调整模型任何参数的情况下,在实现传统模型精调后的目标及Benchmark测试中,已经媲美或超越相当一部分的原有模型微调任务的SOTA(当然这里离不开LLM所采用的海量训练数据Pre-training下习得、压缩的广泛而通用知识)。问题二:LLM与传统模型的任务有哪些差异和相同的点?问题三:是否所有传统模型下的任务都能很好的尝试用LLM来有效解决?针对问题一,在学术界和产业界一直有着相关理论上探讨和争论:如在推理阶段,研究人员专注于基于给定的演示来分析In-Context Learning-ICL能力是如何运行的,因为不涉及显式学习和参数更新,通常从梯度下降的角度进行分析,并将ICL视为隐式微调。在这个思想框架下,ICL过程可解释如下:通过前向计算,LLM生成关于演示的元梯度,并通过注意力机制隐式地执行梯度下降。实验也表明,LLM中的某些注意力头能够执行与任务无关的原子操作(例如复制和前缀匹配),这与ICL能力密切相关。
基于互联网上的文章,基础LLM有可能会回答法国的最大城市是什么,法国的人口是多少等等。因为互联网上的文章很可能是关于法国的问答列表。相比之下,指令调整后的LLM更接受人们的指令。因此,如果你问它法国的首都是什么,它很可能会输出法国的首都是巴黎。指令调整后的LLM的研究和实践的动量更大。因此,指令调整后的LLM通常是这样训练的:首先,你从大量文本数据中训练出一个基础LLM,随后使用指令和良好尝试的输入和输出来对其进行微调和优化,然后通常使用称为“人类反馈强化学习”的技术进行进一步细化,以使系统更能够有帮助且能够遵循指令。因为指令调整后的LLM被训练成有用、诚实和无害的,所以它们输出有害文本(如毒性输出)的可能性比基础LLM更小。很多实际的应用场景已开始向指令调整后的LLM转移,而一些在互联网上查到的最佳实践则可能更适用于基础LLM。对于大多数今天的实际应用,我们建议大多数人应该专注于经过调整的指令语言模型。这些模型更易于使用,而且由于OpenAI和其他LLM公司的工作,它们变得更加安全和更加符合要求。因此,本课程将专注于经过调整的指令语言模型的最佳实践,这是我们建议大多数应用程序使用的模型。在继续之前,我只想感谢OpenAI和DeepLearning.ai团队为我们提供的材料做出的贡献。我非常感谢OpenAI的Andrew Main、Joe Palermo、Boris Power、Ted Sanders和Lillian Weng。他们与我们一起进行了头脑风暴,对材料进行了审核,为这个短期课程的课程设置拼凑了课程计划。我也感谢深度学习方面Geoff Ladwig、Eddy Shyu和Tommy Nelson的工作。
从上一篇可以知道,entropy-like指标(如cross-entropy指标)常常运用在训练过程中,表征模型的收敛情况,同时也可以用于测试集的简单评估(如Perplexity指标等)。但对于丰富复杂的下游应用来说,这几个指标远远不能满足需求。如果想从第一性原理出发推导出所有指标,这并不现实。下面参考HELM论文的中内容,简单列举了NLP中的指标,大家不必深究,有个简单印象即可。正确性Accuracy。信息检索任务。NDCG@K指标,核心衡量最相关文档是否排序足够靠前的指标。摘要任务。一般用ROUGE指标,ROUGE是个指标体系,有4个大类,其中最简单的为2-gram的方式,即ROUGE-2。就是把两个sequence按2-gram的方式做切分做频次统计,然后计算pred和gt之间的召回率文本生成任务。Bits-per-Byte,类似于Perplexity指标不确定性Calibration and Uncertainty。针对二分类任务,一般用ECE指标(Expected Calibration Error)。核心是度量模型输出概率p的时候,最终正确率真的为p的一致性。鲁棒性Robustness。分为两种invariance。加入不改变语义的噪声,如果大小写变换,加入错别字typo等equivariance。利用contrast set,做语义改变,例如修改关键单词和短语把一个正面的评论改成负面的评论公平性Fairness。看模型输出是否公平,例如把性别和人种等换一下,看输出是否有变化偏见程度Bias and stereotypes。看模型有没有偏见和刻板的印象,例如看模型对亚洲人是否存在“学习好并且会谈钢琴”的偏见有毒性Toxicity。看模型输出是否有毒。