Perplexity(PPL)和大模型评测

一. PPL评测

大模型推理:

forward时,计算每一个token的生成概率:

整个句子,所有N个token的概率相乘,再开N次方,可视为每个token的“平均概率”,越大越好(“确信度”);

再求倒数,即为困惑度perplexity(PPL),越小越好。

(可以视为,生成这个句子的可能性,相当于从PPL个选项里蒙对的可能性,越小表示越确定)

上例,大模型1和大模型2,“是”之前的token,概率相差不大,“北“、”京“的概率,明显看出2个大模型的能力差异了!模型2看来是不懂这条知识的。

连乘:联合概率。开N次方:为了让“平均”概率不受句子长度的影响。

痛点:计算的时候,连乘的话,数值太小,精度不够了。

解决:使用log,先求对数再求指数:

局限性:

只能反映模型是否“倾向”被测文本。如果被测文本本身质量很烂,而大模型能力很好,则PPL是高的。例如大模型是擅长高质量写作,但被测文本是一段小孩子作文,则PPL很高。

二、人工评测

人工给大模型的输出进行打分。

或者人工给多个大模型的输出(打乱顺序,盲评,标注员不知道各自是哪个模型产生的)进行打分、胜负比较。

缺点:1. 耗费人力。2.每个标注员的主观影响,个人喜好。

三、可解析的评测集

1. 选择题。只让大模型生成选项字母(A、B、C、D)。

2. 主观题。让大模型以某种便于代码解析的格式输出,例如规定的json格式。

常用评测集:

例子:(4个选项的选择题)

例子:(10个答案选项)

例子:(可用代码来验证模型输出文字的格式是否正确)

例子:(Hard难度的题目)

例子:

GPQA是专家级题目,专业博士也只能作对65%。

评测结果:

四、大模型做裁判

适合没有固定答案的主观题,例如写诗。

把2个模型的输出结果,交给另一个大模型来判断胜负。

注意:有的大模型倾向选择前面的选项。因此要实现把选项顺序打乱

### 使用PyTorch对语言模型(LLM)进行微调以降低困惑度 为了有效降低语言模型的困惑度,可以采用一系列策略来优化模型性能。这通常涉及调整超参数、选择合适的损失函数以及应用正则化技术。 #### 调整超参数 通过实验找到最佳的学习率、批量大小其他训练设置对于提高模型表现至关重要。较低的学习率有助于更稳定地收敛到全局最小值,而较大的批次能够提供更好的梯度估计[^1]。 #### 数据预处理 确保输入数据的质量也是至关重要的一步。清理文本中的噪声并标准化格式可以帮助减少不必要的复杂性错误倾向。此外,还可以考虑增加更多的上下文窗口长度以便让模型更好地理解序列之间的关系。 #### 序列截断与填充 当处理变长序列时,适当裁剪过长样本或将较短样本补齐至固定长度是非常必要的操作之一。这样可以使每一批次内的所有实例都具有相同的尺寸从而简化计算过程。 #### 训练脚本示例 下面是一个简单的Python代码片段展示了如何使用`transformers`库配合自定义回调机制来进行微调: ```python from transformers import AutoModelForCausalLM, Trainer, TrainingArguments model_name_or_path = "your_model_checkpoint" train_dataset = ... # Your training dataset here. eval_dataset = ... # Evaluation set. training_args = TrainingArguments( output_dir="./results", evaluation_strategy="epoch", # Evaluate after each epoch. learning_rate=2e-5, per_device_train_batch_size=8, per_device_eval_batch_size=8, num_train_epochs=3, weight_decay=0.01, ) model = AutoModelForCausalLM.from_pretrained(model_name_or_path) trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, ) # Start the actual fine-tuning process. trainer.train() ``` 此段代码中设置了基本的训练配置,并指定了用于评估模型性能的时间间隔。通过这种方式可以在整个训练过程中持续监控困惑度的变化情况,进而采取相应措施进一步改进模型效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值