[斯坦福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

  1. Pre-training: 使用原始的文本训练
  2. Mid-training:使用高质量的数据增强模型能力
  3. Post-training:使用指令微调/强化学习,让模型遵从指令

Wikipedia 被认为是高质量数据来源

筛选数据策略:

  1. 根据算法过滤,例如分类器
  2. 根据具体应用分类,例如语言、指令、毒性
  3. 去重,例如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

用两个模型输出概率,然后计算重要性采样,决定是否选择,如下图:

1767689226058

重要性采样:两个分布的比值\(P_T(x)/P_R(x)\)

根据quality

首先是筛选出某种语言的文本,例如英语。为什么不使用多语言,因为这样不能保证文本的质量,其他语言的文本也占token的数量,也会消耗资源,必须保证模型在某一种语言上有着较好的表现能力

对于文本是否是高质量的、有毒的,可以训练一个专门的二分类/多级分类模型甄别

去重

对于相似的单词组成一个group,使用一个hash值标记。

hash表的实现通常用一个布隆过滤器,构建指定桶数量的位数组

计算相似度,然后选择合适的阈值

有时候重复的数据是必要的,特别是质量高的数据

posted @ 2026-01-10 11:57  片刻的自由  阅读(48)  评论(0)    收藏  举报