大模型(LLMs)评测题
来源:AiGC面试宝典 整理:宁静致远(2023年09月29日)
1. 大模型怎么评测?
当前 superGLUE、GLUE,包括中文的 CLUE 的 benchmark 都在不太合适评估大模型。可能评估推理能力、多轮对话能力是核心。
📝通俗解释:传统的NLP测试基准(如GLUE、SuperGLUE)是针对小模型设计的,就像用小学考试题来考大学生一样,不能准确反映大模型的真实能力。大模型更擅长推理和多轮对话,这些才是评估的重点。
2. 大模型的 honest 原则是如何实现的?模型如何判断回答的知识是训练过的已知的知识,怎么训练这种能力?
大模型需要遵循的 helpful(有帮助)、honest(诚实)、harmless(无害) 三大原则。
可以通过以下方法构造训练样本,提升模型遵守 honest 原则的能力:
- 微调时构造知识问答类训练集:给出不知道的问题时明确表示不知道,加强 honest 原则
- 阅读理解题训练:读过的要回答,没读过的不要胡说八道
📝通俗解释:就像教育一个孩子,既要教他懂礼貌,也要教他实事求是——知道就是知道,不知道就是不知道,不要不懂装懂。通过专门设计"这个问题我不知道"的问答对,让模型学会在知识边界内回答问题。
3. 如何衡量大模型水平?
要评估一个大型语言模型的水平,可以从以下几个维度提出具有代表性的问题:
| 评估维度 | 说明 |
|---|---|
| 理解能力 | 提出一些需要深入理解文本的问题,看模型是否能准确回答 |
| 语言生成能力 | 让模型生成一段有关特定主题的文章或故事,评估其生成的文本在结构、逻辑和语法等方面的质量 |
| 知识面广度 | 请模型回答关于不同主题的问题,测试其对不同领域的知识掌握程度 |
| 适应性 | 让模型处理各种不同类型的任务,如写作、翻译、编程等,看它是否能灵活应对 |
| 长文本理解 | 提供一篇文章,让模型总结出文章的要点 |
| 长文本生成 | 请模型创作一个故事或文章,要求有完整情节,无明显逻辑矛盾 |
| 多样性 | 提出一个问题,让模型给出多个不同的答案或解决方案 |
| 情感分析 | 提供一段对话或文本,让模型分析其中的情感和态度 |
| 情感表达 | 请模型生成带有情感色彩的文本 |
| 逻辑推理能力 | 请模型回答需要进行推理或逻辑分析的问题 |
| 问题解决能力 | 提出实际问题,如数学题、编程问题等 |
| 道德和伦理 | 测试模型在处理有关道德和伦理问题时的表现 |
| 对话能力 | 请模型进行对话,测试其对自然语言处理的掌握程度 |
📝通俗解释:评估大模型就像全面考核一个学生的能力,不能只看考试成绩,还要看理解力、创造力、逻辑思维、情商等多个方面。只有综合评估,才能知道模型真正有多大本事。
4. 大模型评估方法有哪些?
4.1 人工评估
- LIMA:基于少量高质量样本进行评估
- Phoenix:多语言人工评估
4.2 自动评估(使用 GPT-4 作为评判)
- Vicuna、Phoenix、Chimera、BELLE 等模型使用 GPT-4 反馈进行评估
4.3 指标评估
- BLEU-4、ROUGE 分数:如 ChatGLM-6B 使用
- ROUGE-L 分数:也称为非自然指令评估(Unnatural Instruction Evaluation)
4.4 Chatbot Arena(对抗式评估)
目前用来衡量模型好坏的学术 benchmark(如 HELM)存在以下问题:
- 评判聊天机器人聊得好不好非常主观,难以衡量
- 大模型训练时几乎扫遍整个互联网,难以保证测试集没被看到过
- 理论上可以和聊天机器人聊任何事情,但很多话题在现存 benchmark 里不存在
Chatbot Arena 的做法:
- 放弃 benchmark
- 通过对抗,实时聊天
- 两两比对,人工打分
- 采用 ELO 分数进行评测
📝通俗解释:Chatbot Arena 就像让两个高手过招,大家都不知道谁是谁,通过观众的投票来决定谁更厉害。这种方法更接近真实使用场景,因为大模型的能力不能只看考试分数,还要看实际聊天效果。
5. 大模型评估工具有哪些?
| 工具 | 说明 |
|---|---|
| OpenAI evals | OpenAI 的自动化评估脚本,核心思路是通过写 prompt 模版来自动化评估 |
| PandaLM | 直接训练了一个自动化打分模型,采用 0、1、2 三分制对两个候选模型进行打分 |
📝通俗解释:OpenAI evals 就像一个自动出题和批改试卷的系统,而 PandaLM 则像请了一个AI裁判来评判两个选手的优劣。
6. 介绍一下困惑度?
困惑度(Perplexity) 是用来评价语言模型好坏的指标。语言模型是衡量句子好坏的模型,本质上是计算句子的概率。
- 困惑度越低,表示模型对句子的预测越准确
- 困惑度越高,表示模型对句子的预测越不确定
📝通俗解释:困惑度就像猜谜语时的"困惑"程度。如果一个语言模型看到一句话后完全猜不到下一个词是什么,困惑度就很高;反之,如果它能准确预测,困惑度就很低。好的语言模型应该像熟悉你的朋友,你还没开口就知道你要说什么。
7. 大模型训练的性能指标:吞吐量 Throughput 是指什么?
吞吐量(Throughput) 是指系统在单位时间内能够处理的任务数或操作数。通常以每秒钟处理的任务数(例如,每秒处理的训练步骤或样本数)来衡量。
对于大模型的训练,吞吐量是一个关键的性能指标,因为它直接影响大模型训练的速度和效率。
📝通俗解释:吞吐量就像餐厅的翻台率——每小时能接待多少桌客人。对于大模型训练,吞吐量越高,说明计算机系统越有效率,就像一个高效的厨房,能在短时间内做出更多菜品。
提高吞吐量的方法:
- 并行计算
- 批处理
- 分布式训练
📝通俗解释:提高吞吐量就像让更多厨师同时做饭,用更大的锅一次炒更多菜,把厨房扩展成多个分店。这样就能大大加快训练速度,更快得到训练好的模型。
8. 如何评价大语言模型的训练数据的质量?
大语言模型的训练数据质量是非常重要的,训练数据的质量直接影响模型的性能和泛化能力。评价大语言模型训练数据质量的关键要点如下:
| 评估维度 | 说明 |
|---|---|
| 内容多样性 | 训练数据应来自不同的地方、文化和主题,让模型能更全面地理解和学习各种内容 |
| 来源代表性 | 数据集的例子应反映出模型可能遇到的各种情境和用途,包含不同地区、文化和社会群体的内容 |
| 语义质量 | 数据尽量做到准确无误,符合语法和语义规则。低质量的数据可能导致模型学到错误的信息 |
| 实时性 | 数据要比较新,因为语言和信息会不断变化。老旧的数据可能不反映当前的语言和文化使用 |
| 隐私和道德 | 确保数据的采集和使用是合法和道德的,尊重用户的隐私,不使用可能引起纷争或违反伦理准则的数据 |
| 标注质量 | 如果数据有标注,要确保标注是正确的,符合实际情境。错误的标注可能导致模型学到错误的规律 |
| 去偏与去重 | 处理数据的偏向,避免模型过于依赖某些特定例子;去掉重复的内容,避免模型学到重复的信息 |
| 中立性 | 确保所选择的数据内包含的观点尽可能中立,以避免引起不必要的纷争 |
📝通俗解释:训练数据就像老师的教材。好的教材应该内容丰富(多样性)、覆盖全面(代表性)、内容正确(语义质量)、与时俱进(实时性)、符合道德(隐私和伦理)、标注清晰(标注质量)、没有偏见(去偏)、观点平衡(中立)。只有这样的"教材",才能教出优秀的学生(模型)。
总结
好的训练数据应该是:多样、代表性强、质量高、平衡分布,并且符合隐私和道德规范,这样可以让训练出的大语言模型在各种场景下都能够表现稳定。