[斯坦福2025春季新课CS336:从头开始构建大模型]自学笔记(12-14)
模型评估详解
Perplexity
perplexity 表示模型是否对一部分数据足够关注
使用perplexing更容易你和scaling law的曲线
困惑度任务:完形填空(单词/句子)
Benchmark task:考验模型对输入的理解
Massive Multitask Language Understanding(MMLU)
由57个主题的多项选择题组成,这个任务在SFT出来前,主要用来评估base模型
Few-shot的例子非常重要包括格式、内容,如果用一种风格的example,可能可能会导致模型都选择positive的结果
Graduate-Level Google Proof Q&A (GPQA)
由61个博士写下的问题
Humanity's Last Exam (HLE)
2500 Question: Multi-model, many subjects, multiple-choice + short answer
如何评估一个开放式的回应
-
Chatbot Arena:让用户评估模型回答,计算ELO
-
Instruction-Following Eval (IFEval):评估模型是否遵循指令约束。回答时最多/最少使用一定数量的句子/单词,以某种方式格式化。评估结果也只需要看字数、格式对不对,不考虑生成的语义是否正确
-
AlpacaEval:用另一个模型评估模型的回答
Agent评估
需要调用外部工具:Internet/计算器/运行代码。Benchmark包括:
- SWEBench:把代码给模型,模型生成补丁(patch),然后运行测试
- CyBench:网络安全领域的,让agent入侵服务器获取密钥
- MLEBench:包含75个kaggle竞赛,agent需要处理数据、训练模型。就像专门打kaggle的智能体
ARC-AGI
检验模型是否有创新能力
其他
- 考验模型是否会拒绝回答有害的问题
- 越狱检测,模型预设的指令是否会被用户的指令覆盖
训练数据策略 & 实战数据过滤和去重
Stages of training
- Pre-training: 使用原始的文本训练
- Mid-training:使用高质量的数据增强模型能力
- Post-training:使用指令微调/强化学习,让模型遵从指令
Wikipedia 被认为是高质量数据来源
筛选数据策略:
- 根据算法过滤,例如分类器
- 根据具体应用分类,例如语言、指令、毒性
- 去重,例如Bloom过滤,MinHash,LSH。重复的数据浪费算力
根据算法
N-gram
使用n-gram计算句子的困惑度,困惑度较低,可能是正确例子,但不绝对
Bag of Word embedding
bag of word模型需要一个 \(V\times K\)的分类器,V表示词表大小,K表示类别数。这会导致分类器参数很大,参数很稀疏
Bag of Word embedding有一个embedding:(V,H)。H表示隐藏层维度
然后使用分类器(H,K)分类器
通常K=2,表示好文档/坏文档。具体的模型可以是BERT,Llama
用两个模型输出概率,然后计算重要性采样,决定是否选择,如下图:

重要性采样:两个分布的比值\(P_T(x)/P_R(x)\)
根据quality
首先是筛选出某种语言的文本,例如英语。为什么不使用多语言,因为这样不能保证文本的质量,其他语言的文本也占token的数量,也会消耗资源,必须保证模型在某一种语言上有着较好的表现能力
对于文本是否是高质量的、有毒的,可以训练一个专门的二分类/多级分类模型甄别
去重
对于相似的单词组成一个group,使用一个hash值标记。
hash表的实现通常用一个布隆过滤器,构建指定桶数量的位数组
计算相似度,然后选择合适的阈值
有时候重复的数据是必要的,特别是质量高的数据

浙公网安备 33010602011771号