机器学习与大模型

大语言模型是机器学习技术中自然语言处理(NLP)领域的一个实际应用,通过具备大规模参数的深度学习模型,对自然语言进行建模和生成,具备理解和生成自然语言文本的能力。其中这些大语言模型会使用不同的神经网络架构,如循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)以及变换器(Transformer)等;他们可以看做是一个加工的盒子,通过输入大量的数据输出一个多参数集合的函数处理集合,这个集合就是大模型,它能够完成语言建模、文本分类、文本生成、机器翻译等工作,具体方式是给这个模型输入新的数据,通过这些多参数集合的函数处理后输出新的数据,然后将这些数据重新编码回自然语言。事实上,除了大语言模型,其他生成式的图片模型、视频模型等工作流程也类似。^1 ^2

简单来说,机器学习是训练一段软件(称为模型model,实际就是一个具备大量参数的函数处理集合)以做出数据识别或从数据生成内容的过程。本质上来说,模型是自机器学习系统通过各类方式抽象出来的数学关系

这样的方式是通过数学公式和方法去不断抽象数据及变化的特征,同时把这些特征转化为参数固定下来,比如模型需要关心一句问候语和回答语之间的关联性,就不断用大量这些类似语句转成数字集合,再把它们分别对应到定义域和值域,最终得到一个万用的公式。对于具备人类可观测的规律性和特征性事件,这类型的数学公式和模型就比较容易得到,最简单就是抛硬币的二项分布,这个公式和他的参数可以通过人脑模拟想象出来。

但遇到复杂的情况,比如降雨、人脑思维、图片关系这些受到多维度因素影响的对应关系,很难直接用一个万用的数学模型去描述和归纳,而计算机算力的发展为选择数学模型和提取参数消除了在验证和选择方面的负担,用穷举的方式去遍历所有的可能(实际上更复杂一些)。即便无法想象,总可以试错,尝试数据对应的所有可能,就能选出合适的数学模型,不过这样的方式也总是难以直接用现有的数学理论来解释,在部分研究者中也称之为炼丹。

机器学习系统的类型

根据机器学习系统学习进行预测或生成内容的方式,机器学习系统可分为以下一个或多个类别:

  • 监督式学习
  • 非监督式学习
  • 强化学习
  • 生成式 AI

监督式学习

监督式学习模型指的是: 输入大量数据的同时指定正确的输出,只选择那些输出最接近正确答案的数学关系来组建模型。这样可以发现数据中生成正确答案的元素之间的关联,就像学生通过包含题目和答案的资料(参考答案),一旦刷的题和背的参考答案多了,就为参加新考试做好了充分的准备。

监督式学习的两个最常见的使用场景是回归和分类。

监督式机器学习基于以下核心概念:
Data: 数据集由包含特征和标签的各个样本组成。
Model: 定义从特定输入特征模式到特定输出标签值的数学关系。
Training:训练是找到特征与标签之间的数学关系
Evaluating: 评估经过训练的模型,以确定它的学习效果
Inference:推理是使用模型对无标签样本进行预测

而这几个概念也是其他几类型学习的基础。

非监督式学习

非监督式学习模型指的是:输入大量数据进行计算,从中找到一个有意义的划分模式;换句话说,模型没有关于如何对每段数据进行分类的提示,而是必须推断自己的规则。

强化学习

强化学习模型通过基于在环境中执行的操作获取奖励或惩罚来进行训练,目标是找到能获得最多奖励的最佳策略。

生成式 AI

生成式 AI 是一类根据用户输入创建内容的模型。例如,生成式 AI 可以创作新颖的图像、乐曲和笑话,还可以总结文章、说明如何执行某项任务或编辑照片。

生成式 AI 可以接受各种输入并创建各种输出,如文本、图片、音频和视频。它也可以接受并创建这些组合的组合。例如,模型可以将图片作为输入并创建图片和文本作为输出,或者将图片和文本作为输入并创建视频作为输出。

按生成模型的输入和输出来讨论生成模型,通常写为“输入类型”到“输出类型”。例如,以下是生成模型的一些输入和输出的部分列表:

  • 文本到文本
  • 文本到图像
  • 文本到视频
  • 文本到代码
  • 文字转语音
  • 图片和文字到图片

这类模型工作流程非常像是两张图片找不同,不过找的两张“图片”要替换成两个类型的数据集合,找不同也要变成找相似。^3

这些流程中需要系统集中处理的是训练 , 推理 两个阶段
高性能系统需要为这两个特定的功能需求提供服务。

大语言模型

目前的主流 AI 应用,以他为核心来讲讲相关技术。

数学上,语言模型通过估算 token(就是英文当中的单词,当然也可能单词小,作用上是一个句子的组成单元) 或 token 序列在较长的token序列中出现的概率,然后计算不同完整句子或文本块的可能性,来执行生成句子、翻译语言以及回答问题等功能,一句话就是找一个可能性最高的 token 序列作为回答。

这个模型可以是上述几类方法获取的,但是过程中对于系统资源和性能需求最高的训练和推理两个阶段;较大的 LLM 训练可能需要数月时间,同时使用超过 一万亿个参数的训练模型来推理也是个比较大的负担。^5 ^6 ^7

首先概括训练前的准备,主要是将句子拆分成计算机能够识别的向量

接下来拆解下训练的过程

参考文献