NLP 分很多的任务,不同的任务有不同的指标来度量模型质量,比如AUC,Precision/Recall是分类模型的度量指标。
ChatGPT可以看作一个生成式语言模型,简单说就是给它输入一段文字,它会输出另一段文字,当然输出和输入之间是有关联的。对于这类模型,本文将介绍部分评估指标。
Q
在传统的机器学习中,我们有AUC、Precision/Recall等指标,但是衡量ChatGPT输出质量应该使用什么指标呢?
1
BLEU分数(BLEU Score)
基于n-gram重叠度量生成文本和参考文本之间的相似性,评估机器生成的文本与参考文本之间的质量。然而,BLEU具有一些局限性,可能无法完全捕捉质量差异的全部范围。
2
困惑度(Perplexity)
表示模型在对给定文本进行预测时的不确定性和混乱程度。
3
语言流畅度(Fluency)
生成文本的流畅性和符合自然语言表达的能力。
4
相关性(Relevance)
生成文本应该与前文内容相关,并符合预期的输出内容。
5
语义准确性(Semantic Accuracy)
生成文本的意义是否符合原始输入或上下文的意义。
6
多样性(Diversity)
生成文本的多样性和独创性。
7
一致性(Coherence)
生成文本的连贯性、逻辑性和清晰度。
ChatGPT 作为生成模型,上述指标都可以对其进行评价。而困惑度在很大程度上可以区分人类生成语言和模型生成语言,因此近来兴起的一系列针对ChatGPT的反作弊工具都会将困惑度作为评判是否机器生成的依据。
Q
如何理解“微调”和上下文学习在LLM中的相似性?这是否意味着使用这些学习方法将在下游任务中获得类似的性能?
A
In-context Learning 的基本思想是将学习的过程集成到使用模型的过程中,从而使模型能够根据实时输入的上下文信息自适应地调整自己的行为和输出。比如现在常说的Prompt Learning(又叫 Prompt-based Learning)就属于In-context Learning。
Pretrained Model Finetuning 与 LLM Prompt Learning 是两种不同的范式。前者一般指针对特定的下游任务(例如分类、续写等),在Pretrained Model原有的网络结构上在增加一到多层额外的网络层,然后进行训练,Finetuned Model既改变了Pretrained Model的网络结构也改变了其中的参数。而后者则是不会改变LLM原本的网络结构或参数的。
Q
微调方法是否会导致灾难性遗忘?如果是,那么上下文学习方法是否比微调方法更好?
A
Catastrophic forgetting 说的是在一个任务上训练出来的模型,如果在一个新任务上进行训练,就会大大降低原任务上的泛化性能,即之前的知识被严重遗忘了。
Finetuning和catastrophic forgetting之间并没有必然的关联。而Prompt Learning从实践的角度,也又发现教了新知识LLM忘了之前教授知识的情况。