关于 LLM Pre-training(预训练),你所应该了解的【大模型行业应用入门系列】
关于 LLM Pre-training(预训练),你所应该了解的【大模型行业应用入门系列】
talkwithtrend
talkwithtrend.com社区(即twt社区)官方公众号,持续发布优秀社区原创内容。内容深度服务企业内各方向的架构师、运维主管、开发和运维工程师等IT专业岗位人群,让您时刻和国内企业IT同行保持信息同步。
【摘要】 本文介绍了Pre-training(预训练)的定义、基本步骤与预训练的价值和意义,为读者进一步了解微调技术打下基础。 【作者】 李杰, 专注于Java虚拟机技术、云原生技术领域的探索与研究。
*本文是【大模型行业应用入门系列】系列的第6篇文章。 下 篇预告: 一文读懂LLM Fine Tuning(微调),欢迎关注。 了解本系列和阅读其他系列文章请看文末。
在开发生成式人工智能应用程序时,选择合适的模型是一个关键的决策步骤。通常有两种可选方案:利用现有的预训练模型或者从头开始训练全新的模型。但在大多数实际场景下,研究人员和工程师都 更倾向于从现有的基础模型出发,而不是自头构建一个全新的模型。
这主要是出于以下几方面考虑:
1.现有的预训练模型通常经过了大规模数据集的训练,已经学习到了许多有价值的通用特征和知识表示。利用这些模型作为起点,可以大大缩短开发周期,并获得不错的初始性能。相比之下,从头开始训练一个全新模型需要投入大量的时间和计算资源,且最终性能也存在不确定性。
2.业界已经有许多优质的开源预训练模型可供选择,比如 Hugging Face 和 PyTorch 提供的模型中心。这些平台不仅拥有丰富的模型库,还为每个模型都配备了详细的 " 模型卡 ” ,包括模型的具体用途、训练方法、局限性等关键信息,为开发者提供了很好的参考依据。
一. 什么是LLM训练?
LLM Training 是指大型语言模型(LLM)的训练过程。作为一种采用超大规模数据进行预训练的深度学习模型,LLM 训练目标是培养出一个能够理解和生成自然语言文本的模型。在这个过程中,LLM 通过处理海量文本数据来学习语言的规律、语义和上下文关系等训练方式,可以获得丰富的语言知识和智能,从而使得能够自动理解和生成人类语言。
二. 什么是Pre-training(预训练)?
Pre-training(预训练)是深度学习领域中一个非常重要的概念。以无监督的方式在大规模文本数据上预先训练神经网络模型,让模型学习到通用的语言理解能力和知识表示。这个预训练阶段目标是让语言模型具备基础语言能力的关键步骤。
预训练的主要优势在于,允许模型利用之前在大数据集上学习到的经验知识,而不是完全从头开始。这种迁移学习的方式大大提高了模型在新任务上的学习效率和性能。就像人类可以利用之前的经验来快速掌握新事物一样,预训练过的模型也能够更有效地解决新的问题,从而获益于之前的广泛训练。
然而,尽管预训练模型具备相当广泛的核心知识和能力,但通常还缺乏专业性和针对性。比如一个通用的语言模型可以胜任各种基础的语言理解和生成任务,但如果要达到会话技能、专业文本生成等更高层次的熟练程度,还需要进一步的专门训练和微调。
三. 关于LLM Pre-training(预训练)的定义
通常来讲,预训练的LLM目前尚不适合在高度专业化的领域使用,因为它们缺乏这些领域的深入背景知识。在这种情况下,我们需要使用监督微调(SFT)和人类反馈强化学习(RLHF)来构建适合于特定领域的预训练模型,以满足特定的场景需求。
要克服这一问题,通常需要采用监督微调(Supervised Fine-Tuning, SFT)和人类反馈强化学习(Reinforcement Learning from Human Feedback, RLHF)等技术手段,在现有预训练模型的基础上,进一步使用小规模的专业领域数据和人类反馈进行定制化培训,使其能够胜任特定的高专业化任务。
图:高水平的LLM 预训练
Fine-Tuning ( 微调 ) 是一个监督学习过程,它只需要相对较小的标记数据集。使用已经预先训练的模型可以利用这样的小型数据集进行额外训练。换句话说,如果我们选择从头开始训练一个未经预训练的深度学习模型,我们将需要收集大量数据集来训练它以实现所期望的任务。由于预训练模型已经具有初始知识,因此在较小的数据集上进行微调变得更加容易。
四. LLM Pre-training(预训练)基本步骤
在机器学习的预训练阶段,模型通过以一种专注的方式预测文本中的下一个单词来进行学习,这被称为模型的预训练目标。然而,经过预训练的模型目前还无法理解提供给它的说明或问题,因此需要进行监督微调(SFT)和人类反馈强化学习(RLHF)步骤,以使其适应现实世界的人工智能应用,例如作为聊天机器人。正如前面提到的,预训练可以帮助以更低的成本和更快的速度完成这些步骤。以下是实施这些步骤的详细步骤:
1.Data Collection(数据采集)
在LLM Pre-training 活动中,Data Collection指的是收集用于LLM预训练的数据的过程。在LLM预训练中,需要大量的无标签文本数据来训练模型以学习语言的潜在结构和规律。LLM预训练数据的收集通常涉及数据源选择、数据获取、数据规模及类型等,数据的多样性有助于模型学习广泛的语言模式和概念。
通过LLM Pre-training Data Collection,可以获取大规模的无标签文本数据,为后续的LLM预训练提供足够的训练样本。这使得模型能够从大量的数据中学习语言的统计规律、语义表示和上下文理解,为各种自然语言处理任务提供了更好的基础。
2.Datasets Cleaning(数据集清洗)
LLM Pre-training Cleaning指的是在LLM预训练过程中对数据进行清洗和处理的步骤。由于预训练数据可能包含噪音、错误或不需要的内容,进行数据清洗是确保数据质量和模型性能的关键步骤。
LLM Pre-training Cleaning的主要目标是去除数据中的噪音和不必要的信息,以准备干净、一致和可靠的数据供模型进行预训练。
通过LLM Pre-training Cleaning,可以获得干净、一致且高质量的数据集,有助于提高模型的预训练效果和泛化能力。清洗后的数据可以更好地捕捉语言的统计规律和语义表示,为模型提供更准确和可靠的语言知识。
3.Tokenization(标签化)
LLM Pre-training Tokenization是指在LLM预训练过程中对文本进行分词的过程。分词构成连续的文本序列划分为单个的标记(tokens)或子词(subwords)的过程,该模型能够理解和处理文本数据。
LLM预训练使用多种分词方法,包括BPE、WordPiece、SentencePiece等。这些方法通过将词汇单元划分为更小的子词单元,以处理词汇中的复杂性和多样性。这样做的好处是可以更很好地处理未登录词(词汇外)和罕见词汇,同时减少模型需要处理的标记数量。
在LLM预训练中,文本被分解为一系列的标记或子词,每个标记或子词都被赋予一个唯一的标识符。这些标记成为模型输入的基本单位,模型根据这些标记来学习文本的结构和语义。
LLM Pre-training Tokenization的目的是将文本数据转换为模型能够理解和处理的输入形式,以便进行后续的预训练过程。通过合适的分词方法,能够更好地捕捉文本的语义信息,并提高模型在各种语言和任务上的泛化能力。
4.Architecture Selection(架构选型)
LLM Pre-training Architecture Selection指的是在LLM预训练中选择适当的模型架构的过程。LLM预训练阶段涉及选择和设计适合于大规模文本数据的模型架构,以便模型能够学习语言的统计规律和语义表示。
在LLM预训练中,有多种不同的架构选择可供考虑。这些架构可以基于循环神经网络(RNN)、卷积神经网络(CNN)、自注意力机制(self-attention mechanism)或它们的组合。不同的架构在建模长期依赖关系、捕获上下文信息和处理输入序列的方式上可能有所不同。
通常而言,在实际的业务场景中,选择适当的LLM预训练架构需要考虑多个因素,包括模型的计算效率、内存需求、训练速度和性能表现。此外,还需要考虑模型的规模和参数数量,以便在给定的计算资源和数据集大小下进行有效的训练。
5.Process Operations(活动实施)
五. 为什么需要LLM Pre-training(预训练)?
随着语言处理(NLP)任务的复杂性不断提高,对模型性能的要求也越来越高。传统的NLP方法通常需要大量的人工标注数据,这不仅增加成本,而且效率低下。LLM预训练可以有效地解决这些问题,并为NLP任务的发展提供新的动力。
图:3种模型架构和预训练目标
于LLM模型的本质来看,Pre-training是一种基于大量参数的高度非线性函数模型,需要海量数据对其进行高效训练。但是,在特定的自然语言任务上,标注数据通常是非常昂贵和稀缺的资源。如果每个任务都从头开始训练,数据短缺将严重制约模型的性能发挥。
于LLM预训练的核心目的来看,Pre-training能够利用互联网上海量的、多种形式的文本数据(例如网页、维基百科、书籍等),在全语言级别学习语义、语法和世界知识,掌握语言本身的内在规律,从而拥有了一个广博的知识面和语言表征能力,为日后各种具体任务的高效学习奠定了基础。
从实际应用的角度看,LLM预训练也是解决自然语言处理领域长期困扰的两大痛点的有力手段。首先是通过迁移学习大幅降低了任务数据需求。无需为不同场景准备大量标注数据,只需进行极小量的任务精调,模型即可作出不错的输出。其次是实现了模型和能力的统一。以往需要针对每个任务从头开发特定模型,现在只需基于同一LLM模型,通过简单的指令调用即可服务于各种语言任务,大大提升了开发效率。
此外,LLM预训练也为通用人工智能的实现奠定了基础。目前的预训练主要关注语言能力建模,未来还可以打通多模态(视觉、语音等)信息的学习,甚至对常识知识、推理逻辑等进行内化。模型的泛化能力也将不断提升,逐步走向真正的"通用"智能。
总之,LLM预训练是一个重大的范式创新,它极大地提升了模型的学习效率和泛化水平,同时也为各类应用场景带来了全新的智能化解决方案。这种预训练方法可以有效规避以往任务专用模型所面临的数据稀缺、知识碎片、开发效率低下等问题,被视为实现通用人工智能的关键一步。因此,未来一段时间内,LLM预训练必将持续受到产业界和学术界的高度关注。
https://www.coursera.org/learn/generative-ai-with-llms/lecture/gZArr/computational-challenges-of-training-llms https://ritikjain51.medium.com/llms-model-architectures-and-pre-training-objectives-39c4543edef0
点击文末 阅读原文 ,可以到原文下留言交流
觉得本文有用,请 转发、点赞 或点击 “赏” ,让更多同行看到
本系列已发布文章:
一文读懂 LLM(大语言模型)生态
一文读懂 NLM(神经语言模型)
一文读懂深度学习框架 PyTorch vs TensorFlow 差异性对比
一文读懂 LLM Datesets (大语言模型数据集)
本系列将如何帮助读者入门:通过理论学习、实践训练、工具应用和前沿了解等多个维度,引导读者全面掌握大型语言模型微调技术的方方面面,使其能够快速入门该领域,并为后续深化学习做好准备。
欢迎关注社区 “大模型应用”技术主题 ,将会不断更新优质资料、文章。地址: https://www.talkwithtrend.com/Topic/155171
下载 twt 社区客户端 APP
长按识别二维码即可下载
或到应用商店搜索“twt”
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26