先进社区:「AI PM 人工智能产品管理」
主理人:吾Loi
原文:大语言模型 概念/架构/训练/评估/微调
我们在《大语言模型 LLM 与 Transformer 架构》中理解了什么是大模型,什么是大语言模型,理解了选择合适的LLM架构对其功能有决定性影响。
吾Loi:【AIPM一文弄懂】大语言模型 LLM 与 Transformer 架构文本质量和文化多样性主要由训练数据集和评估指标决定。训练数据集影响LLM学习的内容及其对新领域的适应性,评估指标用于评估LLM在特定任务上的表现及与其他模型、人类作者的对比。因此,挑选合适的训练数据集和评估指标对LLM的开发与评估至关重要。本节将讨论在挑选和使用不同的训练数据集和评估指标时遇到的挑战和考量,以及该领域的最新进展和未来趋势。
训练大语言模型
大语言模型的参数数量和训练集
顾名思义,大语言模型在两个方面都是巨大的:
- 参数数量:这是衡量LLM架构复杂性的指标,表示神经元之间的连接数量。复杂的架构拥有多层,每层包含多个神经元,意味着层与层之间存在多个带有相关参数(或权重)的连接。
- 训练集:这是LLM学习和训练其参数的未标记文本语料库。以OpenAI的GPT-3为例,其训练集规模如下:
以下是一个简化的表格,展示不同数据集的量化信息及其在训练混合中的权重:
数据集 | 总量 (token) | 训练混合中的权重 | Common Crawl (过滤后) | 4100亿 | 60% | WebText2 | 190亿 | 22% | Books1 | 120亿 | 8% | Books2 | 550亿 | 8% | Wikipedia | 30亿 | 3% |
这个表格清楚地列出了每个数据集的总量(以token为单位)以及它们在训练混合中的权重比例。基于以下假设:
- 1个标记 ~= 4个字符(在英语中)
- 1个标记 ~= ¾个词
我们可以估算GPT-3是在大约3740亿个单词上进行训练的。
总的来说,LLM通常是在大规模数据集上使用无监督学习进行训练的,这些数据集通常包括从互联网上不同来源收集的数十亿个句子。Transformer架构及其自注意力机制使得模型能够高效地处理长文本序列并捕捉单词之间的复杂依赖关系。训练这类模型需要大量的计算资源,通常采用分布式系统,配备多个图形处理单元(GPUs)或张量处理单元(TPUs)。
张量(tensor)
张量是数学和计算机科学中使用的多维数组。它存储数值数据,并在机器学习等领域中起到基础作用。 TPU是谷歌专为深度学习任务设计的硬件加速器,它优化了张量操作,使得在训练和运行神经网络时能够高效地进行。TPU在较低的能耗下提供高速处理,有助于数据中心的模型训练和推理速度提升。
大语言模型训练的主要步骤
训练大语言模型包括对数据集进行多次迭代,使用优化算法(例如反向传播)来微调模型参数。通过这个过程,基于Transformer的语言模型能够深刻理解语言模式、语义和上下文,因此在多种自然语言处理任务中表现优异,包括文本生成、情感分析、机器翻译等。
图1:大语言模型训练的主要步骤
图1中,大语言模型训练的主要步骤包括:
- 数据收集:从不同来源(如开放网络、书籍、新闻文章、社交媒体等)收集大量文本数据。数据应多样化、高质量,并代表模型将遇到的自然语言。
- 数据预处理:清洗、过滤和格式化数据以供训练使用。这可能包括去除重复项、噪音或敏感信息,将数据分割成句子或段落,将文本token化为子词或字符等。
- 模型架构:设计LLM的结构和参数。这可能包括选择神经网络类型(如Transformer)及其结构(如仅解码器、仅编码器或编码器-解码器),层数和大小,注意力机制,激活函数等。
- 模型初始化:为LLM的权重和偏置分配初始值。这可以通过随机分配或使用其他模型的预训练权重来完成。
- 模型训练:通过喂给模型数据批次并计算损失函数来更新LLM的权重和偏置。损失函数衡量LLM在给定前一个标记的情况下预测下一个标记的表现。LLM通过使用优化算法(如梯度下降、Adam等)来最小化损失,该算法通过反向传播机制调整权重和偏置,以减少损失。模型训练可能需要进行多轮(整个数据集的迭代)直到损失值降至较低水平。
模型训练完成后,最后一步是评估模型的性能。
模型评估
对于传统AI模型,评估方式相对直观。以图像分类模型为例,模型需要判断输入图像是否为狗或猫。训练后,用未标记图像进行测试,评估指标即为正确分类的图像数量除以测试集总图像数。
大语言模型的评估则更为复杂。由于这些模型是在未标记文本上训练,且具备通用性,能够适应多种任务,而非特定任务。因此,传统评估指标不再适用。LLM的评估涉及多个方面,包括语言流畅性、连贯性以及模拟不同风格的能力。
为此,一系列新的评估框架被开发出来。
LLM的评估框架
目前用于评估LLM的最流行框架有:GLUE和SuperGLUE、MMLU、HellaSwag、TruthfulQA和A12推理挑战(ARC)。
- GLUE和SuperGLUE:这两个基准测试用于评估LLM在多种自然语言理解任务中的表现,如情感分析、自然语言推理和问答等。GLUE基准得分的提高表明LLM在不同任务和领域中的泛化能力增强。
SuperGLUE是GLUE的一个进阶版本,包含更具挑战性的任务。它由八个难度较高的任务组成,需要更先进的推理能力,如自然语言推理、问答和指代消解等。SuperGLUE还提供了一个广泛的覆盖性诊断集,用以测试模型在各种语言能力上的表现和失败模式,并有一个根据所有任务平均分数排名的排行榜。
GLUE和SuperGLUE的主要区别在于,SuperGLUE更具挑战性,更贴近现实,因为它涵盖了更复杂的任务和现象,要求模型处理多个领域和格式,并设定了比GLUE更高的成人表现基准。SuperGLUE的目标是推动自然语言理解系统向更通用、更稳健的方向发展。
- MMLU(大规模多任务语言理解):这是一个评估LLM知识水平的基准,采用零样本和少样本的学习设置。
这种评估方式提高了基准的复杂性,使其更符合我们对人类表现评估的方法。MMLU基准包含14,000个多选题,分为57个类别,覆盖科学、人文、社会科学等多个领域。题目难度级别跨度从基础到高级专业,评估了模型在通用知识掌握和问题解决方面的能力。主题范围广泛,包括传统的数学和历史,以及专业领域如法律和伦理。MMLU的广泛覆盖和深入程度使其成为揭示模型知识缺口的宝贵工具。评分依据是科目特定的准确性和所有科目平均准确性的计算。
零样本评估(zero-shot evaluation)
零样本评估是一种不需要标记数据或微调来评估语言模型的方法。它通过自然语言指令或示例作为提示,计算在特定输入下正确输出的概率,以此衡量模型在新任务上的表现。零样本评估旨在衡量模型生成一组特定令牌的概率,而不需要依赖标记的训练数据。
- HellaSwag评估框架:这种方法用于评估LLM生成与给定上下文相符且符合常识的连续文本的能力。
这种评估方式基于HellaSwag数据集,该数据集包含70,000个多选题,涵盖了多种领域和体裁,如书籍、电影、食谱等。每个问题都附带一个上下文(描述情境或事件的几句话)和四个可能的结局(一个正确和三个错误),这些结局旨在考验LLM的世界知识、常识推理和语言理解。
- TruthfulQA基准:这个基准用于评估语言模型生成回答问题的准确性。
这种评估方式包含817个问题,涵盖38个类别,包括健康、法律、金融和政治等。这些问题设计用来模仿人类可能会因错误信念或误解而给出的不正确回答。
- A12推理挑战(ARC):这个基准用于衡量LLM的推理能力,并推动模型开发,以执行复杂的自然语言理解(NLU)任务。
这种评估方式包括一个由7,787个多选题组成的数据集,这些问题被组织成简单集和挑战集,后者包含需要复杂推理或额外知识才能正确回答的问题。该基准还提供了一个包含超过1400万科学句子的语料库,可用作问题答案的支持证据。
在评估LLM时,应根据特定目标选择合适的评估框架。GLUE关注语法、同义改写和文本相似性,MMLU则侧重于各种领域和任务中的通用语言理解。若目标是在多任务中取得最佳表现,应综合多个评估框架的结果。若现有LLM无法满足特定需求,可根据应用场景进行定制。
预训练的大语言模型已准备好直接使用,节省了大量的硬件和时间投入。它们通过REST API提供,适用于多种任务。但有时通用模型可能不足,特别是在需要特定领域知识或特定沟通风格时。这种情况下,定制模型可能是必要的。
<hr/>参考:
- GlueBenchmark:https://gluebenchmark.com/
- TruthfulQA:https://paperswithcode.com/dataset/truthfulqa
- Hugging Face Open LLM Leaderboard:https://huggingface.co/spaces/optimum/llm-perf-leaderboard
- Think you have Solved Question Answering? Try ARC, the AI2 Reasoning Challenge:https://arxiv.org/abs/1803.05457
Building LLM Apps: Create Intelligent Apps and Agents with Large Language Models
参考材料供本人学习所用,译成中文供团队内部学习。如果对全世界的你们也有帮助,深感荣幸。
先进社区:「AI PM 人工智能产品管理」
主理人:吾Loi
「觅识」AI PM 觅识,你有「领域知识」吗? |
|