
LLM
文章平均质量分 92
2022 年底,ChatGPT 震撼上线,大语言模型技术迅速“席卷”了整个社会,人工智能技术因此迎来了一次重要进展。面对大语言模型的强大性能,我们不禁要问:支撑这些模型的背后技术究竟是什么?本专栏会详细分析LLM背后基础原理与关键技术。
三月七꧁ ꧂
尚未佩妥剑,转眼便江湖。愿历尽千帆,归来仍少年! 跨考计算机上岸,下一站:月薪3W!
展开
-
大语言模型在专业领域的应用---下
除了在研究领域中带来了重要影响,大语言模型目前也广泛地应用到了各种专业领域,进而推动相关技术的改进与升级。本文内容将以医疗、教育、法律、金融和科学研究五个领域为例,概要介绍一下大语言模型在这些专业领域内的应用情况,下表展示了各领域的代表性大语言模型和数据资源。原创 2024-12-03 15:23:46 · 774 阅读 · 0 评论 -
大语言模型在专业领域的应用---上
除了在研究领域中带来了重要影响,大语言模型目前也广泛地应用到了各种专业领域,进而推动相关技术的改进与升级。本文内容将以医疗、教育、法律、金融和科学研究五个领域为例,概要介绍一下大语言模型在这些专业领域内的应用情况,下表展示了各领域的代表性大语言模型和数据资源。原创 2024-12-03 15:14:38 · 306 阅读 · 0 评论 -
大语言模型在研究领域的应用---下
在模拟过程中,智能体借助大语言模型,根据用户画像和历史记忆来执行自我分析与反思,以挖掘潜在的用户行为偏好,之后动作模块基于这些偏好做出决策以确定用户的下一步动作(例如用户对推荐物品进行点击与评分),该动作将会被执行以得到新的用户行为信息。通常来说,多模态大语言模型主要由一个用于图像编码的视觉编码器和一个用于文本生成的大语言模型所组成,进一步这两个模型通过连接模块进行组合,从而将视觉的表示对齐到文本语义空间中。随后,图像块嵌入和文本嵌入进行拼接并输入到大语言模型中,使得大语言模型可以自回归地生成文本回复。原创 2024-11-30 10:20:23 · 896 阅读 · 0 评论 -
大语言模型在研究领域的应用---上
在深度学习时代,一种主流的技术方法是通过神经网络模型(如CNN、LSTM 或BERT等)对于序列单元进行编码,然后再将编码后的序列作为特征输入到经典的条件随机场模型(CRF)中,进而CRF能够基于编码后的序列特征进行序列标签的结构化预测。由前述内容所述,大语言模型具备强大的文本生成能力,通过适当的提示方法,在很多生成任务中能够展现出接近人类的表现。首先,针对第一个方面展开探讨,介绍大语言模型如何推动信息检索领域的技术发展,包括利用大语言模型进行信息检索和大语言模型增强的信息检索模型。原创 2024-11-30 10:12:58 · 197 阅读 · 0 评论 -
大模型高级能力评测
上述三种能力——与人类价值观和偏好的契合(人类对齐)、在虚拟或现实环境中的合理交互行为(环境交互),以及对能力范围的拓展(工具使用)——对于大语言模型的实际应用效果具有重要的意义。除了上述三种能力外,大语言模型也展现出了与特定任务或学习机制相关的高级能力。例如,在数据标注等任务中,大语言模型展现出了优秀的标注效率和准确性;在自我改进的学习机制中,大语言模型通过自我反思,以迭代加强的方式来提升其任务表现。发现、量化和评估这些涌现的高级能力,对于更好地利用和改进大语言模型,无疑是一个充满挑战和机遇的研究方向。原创 2024-11-24 19:11:59 · 204 阅读 · 0 评论 -
大模型基础能力评测---复杂推理
复杂推理(Complex Reasoning)是指通过运用支持性证据或逻辑来推导结论或作出决策的能力,这一过程涉及对信息的深入分析与综合处理。根据推理过程中涉及的逻辑和证据类型,可以将现有的复杂推理任务划分为三个主要类别:知识推理、符号推理和数学推理。 知识推理(Knowledge Reasoning)任务旨在考察模型通过逻辑关系与事实知识解决复杂任务的能力。为了评估不同类型的知识推理能力,研究人员通常选择特定的数据集进行评测,例如 CommonsenseQA 数据集和 StrategyQA原创 2024-11-24 18:44:14 · 463 阅读 · 0 评论 -
大模型基本能力评测---知识利用
值得一提的是,OpenBookQA的特点是为训练集中的每个问题提供了与其相关的核心科学事实,为模型提供了额外的上下文信息,有助于模型理解问题背后的科学概念和原理。下图展示了这两类幻象的实例。例如,ChatGPT 就采用了检索插件来访问最新的信息源,通过将提取的相关信息融入上下文中,大语言模型能够获取新的事实性知识,并在相关任务上展现出更好的性能。然而,这种方法存在两个显著的问题:一是微调大语言模型的成本昂贵,二是增量训练大语言模型可能会导致灾难性遗忘的现象,即模型在学习新知识时可能会忘记旧知识。原创 2024-11-22 22:12:33 · 262 阅读 · 0 评论 -
大模型基础能力评测---语言生成
与自然语言生成的评估方式不同,由于生成的代码可以直接通过相应的编译器或解释器执行,现有的研究工作主要依赖于计算测试用例的通过率来评估大语言模型生成的代码质量。值得注意的是,大语言模型在语言建模任务上的性能提升往往遵循扩展法则,即随着模型参数量的不断增加,其在语言建模任务上的表现也会相应提升。尽管从传统的自然语言处理视角来看,代码合成并不属于典型的任务范畴,但是目前主流的大语言模型已经将代码合成能力作为一项重要的性能指标,因此本部分的内容仍然将代码合成任务纳入了语言生成能力的范围之内。原创 2024-11-22 21:59:20 · 562 阅读 · 0 评论 -
LLM评测范式与方法
例如,AlpacaEval排行榜基于由大语言模型合成的人类需求指令作为评测任务,然后收集待评估大模型的回应,并采用GPT-4等大语言模型作为评测员,将待评估大语言模型的输出与参考输出进行成对比较。为了有效地评估大语言模型的性能,一种主流的途径就是选择不同的能力维度并且构建对应的评测任务,进而使用这些能力维度的评测任务对模型的性能进行测试与对比。基于人类的评测,与针对基础大语言模型的自动化评测不同,微调大语言模型的评测更加注重模型在实际应用场景中的表现,如与人类交互的自然度、对齐度等。原创 2024-11-19 16:13:51 · 410 阅读 · 0 评论 -
LLM评测指标与评测方法
以基础的二分类任务为例,真正例(TruePositive, TP)表示预测类别为正的正样本、假正例(False Positive, FP)表示预测类别为正的负样本、真负例(TrueNegative,TN)表示预测类别为负的负样本、假负例(FalseNegative,FN)表示预测类别为负的正样本。其中,𝒖代表参考文本,𝑇是文本𝒖中词元的总数,𝑃(𝒖)则是模型对于文本𝒖的建模概率。为了衡量生成文本的质量,常用的自动评估指标主要评估模型生成的文本与一个或多个预先给定的参考文本之间的相似度。原创 2024-11-19 16:03:48 · 130 阅读 · 0 评论 -
多智能体系统的构建
本节将介绍三个大语言模型智能体的典型应用案例。进一步,在多智能体系统中,当需要多个大语言模型智能体协同工作时,资源消耗问题更为严重,导致当前的多智能体系统往往不能扩展到较大规模的智能体数量。作为最为关键的一个步骤,接下来需要定义多智能体之间的交互方式,包括协作、竞争、信息交流等方面,以及制定协议、策略或博弈论规则,以确保智能体之间能够有效进行协同运作(下一小节将介绍多智能体系统的通讯协同机制)。高效的多智能体交互机制,在多智能体系统中,随着智能体数量的不断增加,智能体之间的协调和交互变得非常复杂。原创 2024-11-11 18:30:51 · 557 阅读 · 0 评论 -
基于大语言模型的智能体
在人工智能发展的早期阶段,基于规则的方法占据了智能体技术的主导地位。通过专家预先定义好的规则和逻辑,这些智能体能够在一些特定任务上模拟人类的决策过程,进而完成相应任务。但受限于预定义的规则和知识库,早期的智能体往往表现出较低的适应性和灵活性,无法有效应对未经历过的应用场景。随着机器学习(特别是深度学习)技术的兴起,基于模型的智能体开始受到了广泛关注。这类智能体不再依赖于预先定义的规则,而是基于环境中的特征来构建可学习的决策模型。在基于模型的智能体中,强化学习方法扮演了重要角色。原创 2024-11-11 18:24:50 · 375 阅读 · 0 评论 -
基于大语言模型的规划
迭代式方案生成,在这一类方法中,大语言模型基于历史动作和当前环境的反馈逐步规划下一步的执行动作。具体来说,在每一步动作规划时,任务规划器基于历史动作及其反馈生成下一步的决策思考和相应的动作,然后规划执行器执行下一步动作并从环境中获得相应的反馈,重复上述过程直至解决问题。例如,在第二步动作规划时,任务规划器基于“动作1”(搜索“Grown-Ups”的相关信息)和“反馈1”(“Grown-Ups”的相关信息)生成了下一步的“思考2”(理解“Grown-Ups”的相关信息)和“动作2”(搜索“AlloAllo!原创 2024-11-09 20:25:15 · 715 阅读 · 0 评论 -
大模型的思维链提示
思维链提示是一种高级提示策略,旨在增强大语言模型在各类复杂推理任务上的表现。常见的推理任务包括算术推理、常识推理以及符号推理等多种任务。与上下文学习方法仅使用⟨输入,输出⟩二元组来构造提示不同,思维链提示进一步融合了中间的推理步骤来指导从输入到输出的推理过程。下图展示了一个思维链提示的具体例子。一个关于上下文学习和思维链提示的比较说明 思维链提示作为上下文学习的一种扩展形式,将原始的⟨输入,输出⟩映射关系转换为⟨输入,思维链,输出⟩这一三元组形式。在这个结构中,思维链扮演着重要的角色,它提原创 2024-11-09 20:18:12 · 533 阅读 · 0 评论 -
大模型的上下文学习
根据GPT-3论文中所给出的描述,上下文学习使用由任务描述和(或)示例所组成的自然语言文本作为提示。下图展示了上下文学习的提示构建过程。首先,通过自然语言描述任务,并从任务数据集中选择一些样本作为示例。其次,根据特定的模板,将这些示例按照特定顺序组合成提示内容。最后,将测试样本添加到提示后面,整体输入到大语言模型以生成输出。基于任务描述以及示例信息,大语言模型无需显式的梯度更新即可识别和执行新的任务。原创 2024-11-04 21:26:17 · 264 阅读 · 0 评论 -
大模型的提示学习
经过预训练、指令微调和人类对齐后,我们接下来讨论如何通过提示学习方法来有效地使用大语言模型解决实际任务。目前常用的方法是设计合适的提示(Prompting),通过自然语言接口与大模型进行交互。在现有研究中,任务提示的设计主要依靠人工设计和自动优化两种策略来实现。为了更好地解决未见过的任务,一种典型的提示方法是上下文学习(In-contextLearning,ICL),它将任务描述与示例以自然语言文本形式加入到提示中。此外,思维链提示(Chain-of-Thought, CoT)作为一种增强技术,将一原创 2024-11-04 21:11:21 · 234 阅读 · 0 评论 -
模型其他压缩方法
非结构化剪枝一般容易获得更高的压缩率,典型的工作包括SparseGPT,其只需要使用1张A100(80G)显卡就可以完成对于175B参数规模大语言模型(如OPT模型)的剪枝,实现60%模型参数的剪枝,并较好地保持了困惑度不升。与结构化剪枝不同,非结构化剪枝并不修改模型的结构。其中 𝑓𝑡(𝑥) 和 𝑓𝑠(𝑥) 分别表示 教师模型和学生模型的中间层输出特征,Φ(·)表示变换函数用于处理输出形状不匹配的情况,L𝐹(·)是一个相似度函数,用于衡量教师模型的中间层特征与学生模型的中间层特征相似度。原创 2024-10-28 21:50:49 · 297 阅读 · 0 评论 -
大模型低资源部署策略
由于大模型的参数量巨大,在解码阶段需要占用大量的显存资源,因而在实际应用中的部署代价非常高。在本文中,我们将介绍一种常用的模型压缩方法,即模型量化(ModelQuantization),来减少大模型的显存占用,从而使得能够在资源有限的环境下使用大模型 在神经网络压缩中,量化通常是指从浮点数到整数的映射过程,目前比较常用的是8比特整数量化,即INT8量化。针对神经网络模型,通常有两种类型的数据需要进行量化,分别为权重量化(也称为模型参数量化)和激活(值)量化,它们都以浮点数形式进行表示与存储。量原创 2024-10-28 21:38:38 · 414 阅读 · 0 评论 -
大模型的解码加速算法
在前文内容已经介绍了多种解码算法。然而在实现过程中,由于自回归算法的序列化生成特点,使得解码算法存在效率较低的问题。在本文中,我们将首先定量分析解码算法的效率,再介绍针对性的效率优化算法。 本文将首先介绍解码的两个阶段(即全量解码和增量解码),然后对这两个阶段分别进行效率分析,从而发现解码过程中的效率瓶颈所在。以下分析基于现有工作。 在前文中我们已经展示了原始的自回归解码流程,如算法所示。具体来说,观察循环内相邻的两次前向传播过程,需要进行𝑃=M(𝒖)和𝑃′=M(𝒖⊕[𝑢′])原创 2024-10-25 14:51:13 · 217 阅读 · 0 评论 -
大模型的解码与部署
在预测一个给定片段“李时珍是湖北人,他出生于__”的下一个词时,GPT-2XL有15%的概率生成“湖北”、10%的概率生成“明朝”,而GPT-2small 有 10%的概率生成“湖北”、0.1%的概率生成“明朝”,可以看到虽然GPT-2XL生成“湖北”的概率仍然最高,但是其生成“明朝”的概率大幅增长,对比解码可以有效利用这一现象,在解码过程中提升重要词汇的影响力。如果没有长度惩罚,传统的束搜索会倾向于生成较短的句子,因为每生成一个单词,都会乘以一个小于1的概率,使得句子的生成概率逐渐变小。原创 2024-10-25 14:13:56 · 78 阅读 · 0 评论 -
关于SFT和RLHF的进一步讨论
在模型学习阶段,RLHF通过对比模型的输出数据(区分“好”输出与“坏”输出)来指导大语言模型学习正确的生成策略,它不再强迫大语言模型模仿教师的示例数据,因此可以缓解上述提到的SFT所导致的幻象问题。此外,RLHF的过程通常会持续多轮,这是一个复杂的迭代优化过程,其中涉及了很多重要细节的设定(例如提示选择、奖励模型训练、PPO的超参数设置以及训练过程中对超参数的调整),都会影响整个模型的性能,对于精确的高效复现提出了较大挑战。因此,在SFT阶段,高质量的指令数据(而非数量)是影响大语言模型训练的主要因素。原创 2024-10-24 21:42:19 · 297 阅读 · 0 评论 -
非强化学习的对齐方法
具体来说,大语言模型首先基于输入生成相应的输出,然后奖励模型对其输出进行打分,按照分数可以将这些输入与输出划分到不同的组,因此便可以得到与人类偏好具有不同对齐水平的数据,可用于后续的监督微调,以帮助大语言模型区分不同对齐质量的模型输出。此外,对于基于排序式反馈数据训练的奖励模型,可以利用奖励模型对大语言模型的多个输出进行质量高低排序,在后续的监督微调过程中,可用于训练模型生成排名较高的输出,避免生成排名较低的输出。进一步,在对齐数据中,模型可能会产生多个不同质量的输出,这些输出可能具有不同的评分或者排序。原创 2024-10-24 21:34:17 · 105 阅读 · 0 评论 -
代表性 RLHF 工作介绍
基于过程监督的 RLHF,强化学习训练的监督信号主要分为两类:结果监督信号和过程监督信号。在结果监督的 RLHF 算法中,使用一个单独的分数来评估模型生成的整个文本的质量,并引导大语言模型生成高得分的文本。而在过程监督的 RLHF 算法中,针对模型输出内容的每个组成部分(如句子、单词或推理步骤)分别进行评估,从而提供细粒度的监督信号来加强大语言模型的训练,引导模型尽可能高质量地生成每个组成部分,帮助模型改进不理想的生成内容。原创 2024-10-07 21:55:02 · 159 阅读 · 0 评论 -
强化学习训练
强化学习是 RLHF 中的核心优化算法。一般来说,强化学习旨在训练一个智能体,该智能体与外部环境进行多轮交互,通过学习合适的策略进而最大化从外部环境获得的奖励。在强化学习的过程中,智能体是根据外部环境决定下一步行动的决策者,因此其被称为策略模型。在智能体和外部环境第 𝑡 次交互的过程中,智能体需要根据当前外部环境的状态 𝑠𝑡 选择合适的策略,决定下一步该做出的行动 𝑎𝑡。当智能体采取了某个行动之后,外部环境会从原来的状态 𝑠𝑡 变化为新的状态 𝑠𝑡+1。此时,外部环境会给予智能体一个奖励分数 𝑟𝑡。原创 2024-10-07 21:48:29 · 695 阅读 · 0 评论 -
知识图谱融合与异构问题
知识图谱包含描述抽象知识的本体层和描述具体事实的实例层。本体层用于描述特定领域中的抽象概念、属性、公理;实例层用于描述具体的实体对象、实体间的关系,包含大量的事实和数据。一方面,本体虽然能解决特定应用中的知识共享问题,但事实上不可能构建出一个覆盖万事万物的统一本体,这不仅是因为世界知识的无限性决定构建这样的本体在工程上难以实施,更重要的是由于本体构建所具有的主观性和分布性特点决定了这种统一本体的构建无法得到一致的认可;此外,过于庞大的本体也往往难以维护和使用。原创 2024-09-12 10:19:29 · 252 阅读 · 0 评论 -
奖励模型的训练
对于奖励模型训练,需要修改语言模型的架构以适配奖励模型的功能,同时修改模型的 forward 函数以适配训练过程损失函数的计算。奖励模型通过在人类偏好数据上进行训练,进而针对模型输出进行质量的判别,所给出的分数可以在一定程度上反应人类偏好。一般来说,奖励模型是基于语言模型进行设计的,模仿人类标注人员对于模型生成内容进行质量评分,实现对于人类偏好分数的预测。为了进一步增强奖励模型对于人类偏好的拟合能力,可以通过修改训练过程的目标函数、选取合适的基座模型和设置合理的奖励计算形式等方式来优化奖励模型的训练过程。原创 2024-09-10 11:58:55 · 522 阅读 · 0 评论 -
基于人类反馈的强化学习概述
为了加强大语言模型与人类价值观的一致性,基于人类反馈的强化学习旨在利用收集到的人类反馈数据指导大语言模型进行微调,从而使得大语言模型在多个标准(例如有用性、诚实性和无害性)上实现与人类的对齐。RLHF 首先需要收集人类对于不同模型输出的偏好,然后使用收集到的人类反馈数据训练奖励模型,最后基于奖励模型使用强化学习算法(例如 Proximal Policy Optimization, PPO)微调大语言模型。这种将人类反馈纳入大语言模型训练过程的方法已成为实现人类对齐的主要技术途径之一。原创 2024-09-10 11:06:14 · 245 阅读 · 0 评论 -
人类对齐的背景与标准
因此,在经过人类价值观对齐之前的大语言模型会被输入中的错误逻辑所引导,产生了带有偏见的建议“农村地区更适合发展污染较严重的产业”。对齐后的大语言模型的回复符合有用性和无害性,与人类价值观和偏好相符。此外,在实践中,红队攻击(Red Teaming)技术也被广泛运用,通过人工或自动化的手段,以对抗方式探测大语言模型,诱导其生成有害输出,并据此针对性地调整大语言模型,以避免产生此类有害输出。上述三种通用的对齐标准较为宽泛,因此许多研究针对性地给出了一些更为细化的对齐标准,以更全面地规范大语言模型的输出。原创 2024-09-09 10:53:26 · 143 阅读 · 0 评论 -
指令微调与参数微调的代码实践与分析
在实验中,我们使用三类指令微调数据集(FLAN v2、ShareGPT 和 Alpaca)和两个拓展的指令集(Alpaca+ 复杂化、Alpaca+ 多样化)来微调 LLaMA-2 模型,通过特定的任务评测来对比不同指令数据集合对于模型性能的影响。为了方便读者了解大模型指令微调的成本,这里使用包含 52K 条指令的 Alpaca 数据集,对不同大小的 LLaMA 模型进行了全参数的指令微调实验。在本节将应用上文的指令微调代码,研究不同类型的指令数据和指令构造策略对于微调大模型的影响。原创 2024-09-09 09:21:39 · 541 阅读 · 0 评论 -
参数高效的模型微调
在提示微调的训练过程中,只有提示的嵌入向量会根据特定任务进行监督学习,然而由于只在输入层中包含了极少量的可训练参数,有研究工作表明该方法的性能高度依赖底层语言模型的能力。在原始的 LoRA 实现中,每个低秩矩阵的低秩参数 𝑅 都被设置为固定且相同的数值,并且在训练过程中无法进行调整,这种设定忽略了不同的秩在微调任务中可能产生的差异化影响。在现有文献中,参数高效微调是一个重要的研究方向,旨在减少需要训练的模型参数量,同时保证微调后的模型性能能够与全量微调的表现相媲美。,得到更新后的参数矩阵。原创 2024-08-29 21:52:07 · 294 阅读 · 0 评论 -
指令微调的训练策略
在FLAN v2 数据集合中,最终使用的混合比例为:46% 的 FLAN,27.9% 的 T0,24.2% 的 NIV2 和 1.8% 的 CoT 数据。例如,对于不同的微调阶段,训练中可以逐渐增加指令的难度和复杂性,从而逐渐提高大模型遵循复杂指令的能力。在另一方面,将指令数据引入到预训练阶段也成为了一种常见的训练技术。MiniCPM提出在预训练阶段和指令微调阶段之间添加一个“退火阶段”,该阶段混合使用高质量的预训练数据和指令微调数据,其实验结果表明该策略优于先预训练再指令微调的两阶段策略。原创 2024-08-29 21:31:28 · 225 阅读 · 0 评论 -
指令数据的构建
此外,Self-Align 设计了多种基于人类对齐原则的合成数据过滤技术,该方法通过上下文提示让 ChatGPT 能够筛选出高质量的实例数据来训练新的模型,并进一步让新训练的模型产生更多与人类对齐的指令微调数据。指令微调过程需要首先收集或构建指令化的实例,然后通过有监督的方式对大语言模型的参数进行微调。进一步,谷歌的研究人员按照一定的比例混合了这三个数据集合和思维链数据,推出了包含约 20M 条实例的指令微调数据集合 FLAN v2,该数据集合目前是面向 NLP 任务微调大模型的首选指令集合。原创 2024-07-30 10:02:33 · 286 阅读 · 0 评论 -
大模型预训练实践
其中,第一行的 nproc_per_node 参数用于指定训练的 GPU 数量,master_port 参数用于指定训练时通信的端口号。stage3_gather_16bit_weights_on_model_save 用于控制 ZeRO-3时存档点是否被分片,如果设置为 false 则保存时会分片,后续使用时需要使用里面脚本进行合并,否则在保存时不会分片,但在训练保存存档点的时间会变长。在下面的示例代码中,train() 函数涵盖了预训练过程中的主要步骤,包括模型与分词器的初始化、训练数据的准备等;原创 2024-07-30 09:34:04 · 475 阅读 · 0 评论 -
模型参数量计算与效率分析
介绍如何计算基于 Transformer 架构的大语言模型的参数数量,并给出训练模型时所需要的运算量、训练时间和显存开销估计,方便可以估算训练所需要的时间、GPU 显存等计算资源开销。 由于当前主流的大模型普遍采用因果解码器架构,因此下面以 LLaMALLaMALLaMA 模型为范例,深入剖析其参数数量计算方式。对于其他模型,其参数量计算算法可参照此方法计算。首先,假设词表大小为 VVV,模型包含 LLL 层解码器,中间状态的维度大小为 HHH,前馈网络层的中间状态维度大小为 H′H'H′。我原创 2024-07-22 17:15:09 · 833 阅读 · 0 评论 -
大模型可扩展的训练技术
对于每个 GPU,在模型传播到某一层时,其他层的模型和优化器参数并不参数计算,这导致了严重的显存冗余现象,同时也限制了每个 GPU 可以支持的前向传播数据量,降低了训练效率。以上图为例,1 号 GPU 在前向传播后需要等待 2 号 GPU反向传播的结果才能进行梯度传播,因此整个流程是“1 号前向-2 号前向-2 号反向-1 号反向”的串行操作,大大降低了 GPU 的利用率。在流水线并行中使用了梯度累积后,1 号卡前向传播完第一个批次后,便可以不用等待,继续传播第二个和后续的批次,从而提高了流水线的效率。原创 2024-07-22 15:17:06 · 221 阅读 · 0 评论 -
大模型预训练优化参数设置
在大模型预训练中,通常将批次大小(Batch Size)设置为较大的数值,例如1M 到 4M 个词元,从而提高训练的稳定性和吞吐量。在模型训练的初始阶段,由于参数是随机初始化的,梯度通常也比较大,因此需要使用较小的学习率使得训练较为稳定。此外,谷歌的研究者提出了 Adafactor优化器,它是 Adam 优化器的一个变种,通过引入了特殊设计可以在训练过程中节省显存,被用于 PaLM 和 T5 等大语言模型的训练。常见的衰减策略有线性衰减,余弦衰减,平方根倒数衰减,它们的学习率变化如下图所示。原创 2024-07-18 20:48:25 · 1205 阅读 · 0 评论 -
模型预训练任务
然而,在模型预训练阶段的损失函数中,由于并未将所有词元的损失都纳入计算,当使用相同规模的数据集进行训练时,采用前缀语言建模训练的模型在性能上通常会稍逊于使用标准语言建模任务训练的模型。混合去噪器,又称 UL2 损失,通过将语言建模和去噪自编码的目标均视为不同类型的去噪任务,对于预训练任务进行了统一建模。除了传统的语言建模任务外,去噪自编码任务是另一种常见的语言模型预训练任务,广泛应用于 BERT、T5 等预训练语言模型中。,语言建模任务的目标定义为词元的预测任务:基于序列中当前位置之前的词元序列。原创 2024-07-18 20:39:15 · 636 阅读 · 0 评论 -
新型模型架构(参数化状态空间模型、状态空间模型变种)
然而,Transformer 的自注意力机制在计算每个词元时都需要利用到序列中所有词元的信息,这导致计算和存储复杂度随输入序列长度的平方级别增长。Mamba是一种状态空间模型的变种,主要思想是在状态空间模型的状态更新中引入了基于当前输入的信息选择(Selection)机制,来确定当前时刻状态如何从前一时刻状态以及当前输入中提取信息,从而提升其在语言建模上的性能。在循环计算的时候,状态空间模型不需要和 Transformer 一样对前面所有时刻的状态进行访问,而是仅仅需要前一个时刻的状态。原创 2024-07-08 14:54:17 · 242 阅读 · 0 评论 -
长上下文模型(扩展位置编码、调整上下文窗口、长文本数据、)
在实际应用中,大语言模型对于长文本数据的处理需求日益凸显,尤其在长文档分析、多轮对话、故事创作等场景下。在这些情况下,模型需要处理的文本的长度常常超出预定义上下文窗口大小。例如,LLaMA-2 的上下文窗口限制为 4,096个词元。为了支持长文本处理,多家机构均已推出面向具有超长上下文窗口的大语言模型或 API。例如,OpenAI 发布了支持 128K 上下文窗口的 GPT-4 Turbo,而Anthropic 则推出了具有 200K 上下文窗口的 Claude-2.1。给定一个预训练后的大语言模型原创 2024-07-08 14:23:40 · 375 阅读 · 0 评论 -
在预训练语言模型主流架构
在预训练语言模型时代,自然语言处理领域广泛采用了预训练 + 微调的范式,并诞生了以 BERT 为代表的编码器(Encoder-only)架构、以 GPT 为代表的解码器(Decoder-only)架构和以 T5 为代表的编码器-解码器(Encoder-decoder)架构的大规模预训练语言模型。基于编码器-解码器设计的预训练语言模型(诸如 T5 等)在众多自然语言理解与生成任务中展现出了优异的性能,但是目前只有如 FLAN-T5 等少数大语言模型是基于编码器-解码器架构构建而成的。原创 2024-06-28 15:55:48 · 410 阅读 · 0 评论