大模型基础

月伴飞鱼 2024-12-29 14:54:37
AI相关
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!

img

我们现在常说的大模型,实际上特指大模型的其中一类:

  • 语言大模型(Large Language Model,也叫大语言模型,简称LLM)。

除了语言大模型之外,还有视觉大模型、多模态大模型等。

现在,包括所有类别在内的大模型合集,被称为广义的大模型,而语言大模型,被称为狭义的大模型:

  • 从本质来说,大模型,是包含超大规模参数(通常在十亿个以上)的神经网络模型。

大模型包含了超大规模参数,实际上,大模型的大,不仅是参数规模大,还包括:架构规模大、训练数据大、算力需求大。

以OpenAI公司的GPT-3为例,这个大模型的隐藏层一共有96层,每层的神经元数量达到2048个。

大模型的参数数量和神经元节点数有一定的关系:

  • 简单来说,神经元节点数越多,参数也就越多,例如,GPT-3的参数数量,大约是1750亿。

大模型的训练数据,也是非常庞大的:

  • 以GPT-3为例,采用了45TB的文本数据进行训练。
    • 即便是清洗之后,也有570GB。
  • 具体来说,包括CC数据集(4千亿词)+WebText2(190亿词)+BookCorpus(670亿词)+维基百科(30亿词)。

最后是算力需求:

  • 训练大模型,需要大量的GPU算卡资源,而且每次训练,都需要很长的时间。

大模型分类

根据训练的数据类型和应用方向,通常会将大模型分为:

  • 语言大模型(以文本数据进行训练)、音频大模型(以音频数据进行训练)。

  • 视觉大模型(以图像数据进行训练)、以及多模态大模型(文本和图像都有)。

语言大模型

擅长自然语言处理(NLP)领域,能够理解、生成和处理人类语言。

常用于文本内容创作(生成文章、诗歌、代码)、文献分析、摘要汇总、机器翻译等场景。

  • 大家熟悉的ChatGPT,就属于此类模型。

音频大模型

可以识别和生产语音内容,常用于语音助手、语音客服、智能家居语音控制等场景。

视觉大模型

擅长计算机视觉(CV)领域,可以识别、生成甚至修复图像,常用于安防监控、自动驾驶、医学以及天文图像分析等场景。

多模态大模型

结合了NLP和CV的能力,通过整合并处理来自不同模态的信息(文本、图像、音频和视频等),可以处理跨领域的任务。

  • 例如文生图,文生视频、跨媒体搜索(通过上传图,搜索和图有关的文字描述)等。

通用大模型性能评测:

GitHubhttps://github.com/CLUEbenchmark/SuperCLUE

在线报告:https://www.cluebenchmarks.com/

应用开发平台Maas

阿里:百炼大模型平台

百度:千帆大模型平台

字节跳动:Coze

对比说明可参考: https://mp.weixin.qq.com/s/9v5TdLoGokZqAx-_B_IuZg

应用开发平台开源

Dify:开源的 LLM 应用开发平台。

GitHubhttps://github.com/langgenius/dify

FastGPT:

一个基于 LLM 大语言模型的知识库问答系统。

GitHubhttps://github.com/labring/FastGPT

BiSheng(毕昇):

一款领先的开源大模型应用开发平台。

GitHubhttps://github.com/dataelement/bisheng

为什么AI大模型训练离不开GPU

GPU和CPU有什么区别?

GPU的计算单元数量比CPU多得多。

以英伟达H100 GPU为例,它包含超过1.8万个核心,而顶级的Intel I9 CPU只有24个核心,GPU的核心数是CPU的700多倍。

所以,CPU 擅长 快速完成单个运算,适合需要逐一执行的程序。

GPU 擅长 并行处理大量运算,即使单个运算速度较慢,但可以同时处理多个任务。

相当于请两个专家写一万份小学作业和请一万个小学生写一万份作业的区别。

AI训练为什么用GPU而不用CPU呢?

因为AI训练任务通常具有简单、重复和计算量大的特点,而GPU可以并行运算,可充分释放计算效率。

CPU是基于数据流的串行计算,GPU是基于多变量的矩阵运算,后者更适合神经网络算法为基础的AI计算。

如何给AI大模型喂数据

数据是大模型的食物,只有对了,模型才能更好地学习和成长。

大模型优化的三种方式:长文本提示,RAG,微调。

大模型的学习方式就像选课,文本提示是旁听,RAG是图书馆查资料,微调是请家教。

AI大模型如何提高上下文长度

在使用大模型的时候,给大模型的输入加上输出的字符Token)总数。

这个数字会被限制,如果超过这个长度的字符会被大模型丢弃。

提升上下文长度的方法:

稀疏注意力机制:

  • 通过选择性地关注文本中的关键部分,而不是全局自注意力,显著减少了计算量。

分块处理与上下文缓存:

  • 采用分块处理策略,将长文本分成多个小段进行处理,然后通过上下文缓存技术将各段的上下文信息有效融合。
  • 减少了单次处理的数据量的同时通过缓存机制保持了上下文的连贯性。

免费开源模型大超市HuggingFace

Hugging Face 是一个开源的 AI 社区,提供 100万 个全球免费开源模型。

可以理解为对于AI开发者的 GitHub

不管是字节,百度,阿里,Meta等,一旦要开源某个大模型,都会往 Hugging Face 上发布。

官网:https://huggingface.co/

为什么不用 GitHub ?

GitHub 有代码大小的限制,而很多AI的模型动辄几百G,Hugging Face 就是解决了这个问题。

它还有几十 AI 训练相关的数据管理,以及 AI 相关的应用的在线管理。

可以理解成 AI 的APP StoreHugging Face可以帮助链接背后的云服务器。

Hugging Face 力图打造一个AI社区:

只要你需要研究,开发,上线一款AI的应用。

你就可以在Hugging Face上找到一切你需要的东西,包括模型,数据,算力,工具箱等。

Hugging Face 标准研发流程:

HuggingFace 提出了一套可以依照的标准研发流程。

它 把 AI 项目的研发大致分为以下几个部分:准备数据集->定义模型->训练->测试。

Hugging Face 工具集:

针对标准流程的各个节点,Hugging Face 都提供了许多工具,能够帮助研发人员快速实施。

比如:编码工具,数据集仓库,数据集工具,模型仓库,训练工具,评价指标工具。

基本概念

AI大模型的Token指什么

在用 ChatGPT 的 API 时,是按 Token 计费的。

例如,你提问消耗了 100 Token,ChatGPT 根据你的输入,回答了 200 Token,那么一共消费的 Token 数就是 300。

一些文章里面,模型后面带着 8K、32K,甚至 100K,这是指模型能处理的最大 Token 长度。

Token 可以理解为对输入文本进行分割和编码时的最小单位,它可以是单词、子词、字符或其他形式的文本片段。

就像我们说话时,一个句子是由很多单词组成的,同样,一个文本也是由很多 Token 组成的。

这些 Token 可以是单词,也可以是标点符号、数字等。

它既会被用作形容某些大模型一次能够受理的 Token 容量以彰显处理能力,也会被用作大模型收费的计价单元。

什么是Tokenizer

Tokenizer 是将文本切分成多个 Tokens 的工具或算法,它负责将原始文本分割成 Tokens 序列。

不同的模型可能会采取不同的技术来进行分词

因此,即便是同样的数据,不同的模型可能会产生最终不同的 Token 和数量。

最简单的理解,如果把模型理解成一个人,那么不同的人可能会对同样的句子有不同的断句。

什么是AI智能体

想象一下你出去旅游,拿出手机拍拍拍,AI就能自动识别人脸、景点。

不仅能自动修图、PS图,还能重绘成动漫风格,一键美颜。

更神奇的是,AI通过多模态识别,比如文字、语音、图片,结合你的偏好个性化定制旅游路线。

这项AI技术的全套服务,就称之为智能体。

Agent 主要结构:记忆、规划、工具、行动:

记忆(Memory):

  • 短期记忆,如上下文学习。
  • 长期记忆,如向量数据库。

规划(Planning):

  • 事前规划,复杂任务拆解。
  • 事后反思,反思错误不足并吸取经验教训进行完善,形成和加入长期记忆。

工具(Tool):外部API或工具调用。

行动(Action):实际执行决定或响应。

在这里插入图片描述

Embedding模式和Copilot模式不同,Agent具备独立思考、自主执行、持续迭代的特点。

但是目前大多Agent都是RAG+API调用的方式,感觉离独立思考、自主执行、持续迭代还很远。

在这里插入图片描述

RAG

大模型的缺陷

知识局限性(缺少垂直领域、非公开知识) 。

知识实时性(训练周期长、成本高)。

幻觉问题(模型生成的内容与现实世界事实或用户输入不一致)。

优化大模型缺陷最简单的方式: In-Context Learning

通过给大模型提供更丰富及时的信息,让大模型去推理,得到正确的答案。

image2024-12-31_10-15-17

检索增强生成是指对大型语言模型输出进行优化。

  • 使其能够在生成响应之前引用训练数据来源之外的权威知识库。

RAG是一种用来优化LLM输出的技术,优化输出的方式就是引用一个外部知识库。

RAG在知识库问答情景中,将检索到的相关知识和用户问题重新组织回复问题。

RAG 的出现就是为了给大模型补脑的:

第一步:把资料分成小块儿,然后再变成一串串代码,方便储存检索

第二步:一接到问题,就赶紧在数据库里搜索最匹配的资料。

第三步:大模型把搜集的资料跟自己肚里的知识揉到一起,琢磨出精准又到位的回答。

整体框架:

rag_flow

通用架构

RAG的主要组成:数据提取、向量化、创建索引、检索、自动排序和LLM归纳生成。

未命名绘图.drawio

基础原理

大模型是如何训练出来的?

大模型可以通过对海量数据的学习,吸收数据里面的知识。

  • 然后,再对知识进行运用,例如回答问题、创造内容等。

学习的过程,称之为训练,运用的过程,则称之为推理

训练,又分为预训练(Pre-trained)和微调(Fine tuning)两个环节。

预训练

在预训练时,首先要选择一个大模型框架,例如Transformer

然后,通过投喂前面说的海量数据,让大模型学习到通用的特征表示。

神经元的处理过程,其实就是一个函数计算过程。

  • 算式中,x是输入,y是输出,预训练,就是通过x和y,求解W,W是算式中的权重(Weights)。

权重决定了输入特征对模型输出的影响程度,通过反复训练来获得权重,这就是训练的意义。

权重是最主要的参数类别之一,除了权重之外,还有另一个重要的参数类别——偏置Biases)。

权重决定了输入信号对神经元的影响程度,而偏置则可以理解为神经元的容忍度,即神经元对输入信号的敏感程度。

简单来说,预训练的过程,就是通过对数据的输入和输出,去反复推算最合理的权重和偏置(也就是参数)。

  • 训练完成后,这些参数会被保存,以便模型的后续使用或部署。

参数越多,模型通常能够学习到更复杂的模式和特征,从而在各种任务上表现出更强的性能。

涌现能力和泛化能力

我们通常会说大模型具有两个特征能力——涌现能力泛化能力

涌现能力

当模型的训练数据和参数不断扩大,直到达到一定的临界规模后,会表现出一些未能预测的、更复杂的能力和特性。

模型能够从原始训练数据中,自动学习并发现新的、更高层次的特征和模式,这种能力,被称为涌现能力

涌现能力,可以理解为大模型的脑子突然开窍了,不再仅仅是复述知识,而是能够理解知识,并且能够发散思维。

泛化能力

泛化能力,是指大模型通过投喂海量数据,可以学习复杂的模式和特征,可以对未见过的数据做出准确的预测。

简单来说,就像董宇辉一样,书读得多了,有些书虽然没读过,他也能瞎掰几句。

参数规模越来越大,虽然能让大模型变得更强,但是也会带来更庞大的资源消耗,甚至可能增加过拟合的风险。

过拟合

过拟合,是指模型对训练数据学习得过于精确,以至于它开始捕捉并反映训练数据中的噪声和细节,而不是数据的总体趋势或规律。

  • 说白了,就是大模型变成了书呆子,只会死记硬背,不愿意融会贯通。

预训练使用的数据,是海量的未标注数据(几十TB)。

之所以使用未标注数据,是因为互联网上存在大量的此类数据,很容易获取。

  • 而标注数据(基本上靠人肉标注)需要消耗大量的时间和金钱,成本太高。

预训练模型,可以通过无监督学习方法(如自编码器、生成对抗网络、掩码语言建模、对比学习等)。

  • 从未标注数据中,学习到数据的通用特征和表示。

这些数据,也不是随便网上下载得来的,整个数据需要经过收集、清洗、脱敏和分类等过程。

  • 这样可以去除异常数据和错误数据,还能删除隐私数据,让数据更加标准化,有利于后面的训练过程。

获取数据的方式,也是多样化的:

  • 如果是个人和学术研究,可以通过一些官方论坛、开源数据库或者研究机构获取。

  • 如果是企业,既可以自行收集和处理,也可以直接通过外部渠道(市场上有专门的数据提供商)购买。

微调

预训练学习之后就得到了一个通用大模型,这种模型一般不能直接拿来用,因为它在完成特定任务时往往表现不佳。

  • 这时,我们需要对模型进行微调。

微调,是给大模型提供特定领域的标注数据集,对预训练的模型参数进行微小的调整,让模型更好的完成特定任务。

微调之后的大模型,可以称之为行业大模型。

  • 例如,通过基于金融证券数据集的微调,可以得到一个金融证券大模型。

如果再基于更细分的专业领域进行微调,就是专业大模型(也叫垂直大模型)。

可以把通用大模型理解为中小学生,行业大模型是大学本科生,专业大模型是研究生。

41c27ddfdb571f776a648733cb4e26e1

微调阶段,由于数据量远小于预训练阶段,所以对算力需求小很多。

  • 对于大部分大模型厂商来说,他们一般只做预训练,不做微调,而对于行业客户来说,他们一般只做微调,不做预训练。

预训练+微调这种分阶段的大模型训练方式,可以避免重复的投入,节省大量的计算资源,显著提升大模型的训练效率和效果。

预训练和微调都完成之后,需要对这个大模型进行评估。

  • 通过采用实际数据或模拟场景对大模型进行评估验证,确认大模型的性能、稳定性和准确性‌等是否符合设计要求。

等评估和验证也完成,大模型基本上算是打造成功了,接下来可以部署这个大模型,将它用于推理任务。

  • 换句话说,这时候的大模型已经定型,参数不再变化,可以真正开始干活了。

大模型的推理过程,就是使用它的过程。

  • 通过提问、提供提示词(Prompt),可以让大模型回答我们的问题,或者按要求进行内容生成。
3ed3567a7786b29f5bd1397e941b5583

ChatGPT

ChatGPT是一种基于GPT-3.5/GPT-4架构大型语言模型。

由OpenAI开发,可用于进行对话和生成各种文本内容的人工智能助手,又称聊天机器人。

OpenAI官网:https://openai.com/blog/chatgpt

GPT基础模型

模型 适用场景
Davinci(使用最多) 复杂的意图、因果分析
Curie 及其翻译、复杂分类任务、情感分析
Babbage 适度分类、语义搜索分类
Ada 解析文本、简单分类、地址修正、关键

GPT-4o

OpenAI首款能分析情绪多模态大型语言模型。

ChatGPT的三个阶段:

监督学习SFT:

  • 对数据输出进行标记(打标签),给出高质量答案。

回报模型RM:

  • 对可能产生的回答进行排序,顺序前后进行调整。

近端策略优化PPO:

  • 主要是增强道德规范法律方面的学习。
image-20240503122750151

无法给出的答案

涉嫌违法、违背道德。

涉及版权。

涉及隐私。

image2023-7-22_15-27-31

最优的提问方式

作为【角色】,请执行【任务】,根据【要求】,另外【补充说明】

角色:指定ChatGPT所扮演的角色,可以更好的理解有关任务的信息和背景。

image2023-7-22_15-41-25

任务:明确需要ChatGPT完成什么任务。

  • 清晰、明确、定义清楚,问浅不问深,问小不问大。

要求:

  • 概述这个任务需要遵守的规则和标准。
  • 产出内容的类型,内容的风格,输出格式的要求。
image-2023-8-5_10-54-16

补充说明:

  • 提供更多关于任务和要求的详细信息。
  • 提供上下文,给1个或多个案例,思维链提供逻辑。

AIGC

AIGC全称为:AI-Generated Content,即利用人工智能技术来自动生产内容。

  • 可基于生成对抗网络GAN、生成扩散模型和大型预训练模型等人工智能技术。
  • 通过已有数据寻找规律,并通过适当的泛化能力生成相关内容的技术。

AIGC已成为继PGC(专业生产内容)和UGC(用户生产内容)之后新型的内容创作方式。

AIGCChatGPT的关系:

AIGCAI大模型,特别是自然语言处理模型的一种重要应用。

ChatGPT则是AIGC在聊天对话场景的一个具体应用。

可以把AIGC看作是一个大的范畴,而ChatGPT是其中一个类别的小应用。

生成式对抗网络(GAN):

GAN就是让两个神经网络互相斗争,从而提高创作能力。

GAN有两个角色:一个叫生成器(Generator),一个叫判别器(Discriminator)。

  • 生成器的任务是创造出看起来真实的作品,比如图片、音乐等。

  • 判别器的任务是判断这些作品是不是真的,还是生成器做出来的。

生成器和判别器不断地互相挑战,生成器越来越擅长造假,判别器越来越擅长识破。

最后,生成器可以创造出非常逼真的作品,让人分辨不出真假。

机器学习

机器学习(Machine Learning,ML)是使用统计(或数学)技术从观察到的数据中构建模型的一个计算机科学领域。

机器学习用计算机程序模拟人的学习能力,从样本数据中学习得到知识和规律,然后用于实际的推断和决策。

从广义上来说,机器学习能够赋予机器学习的能力,使其实现直接编程无法完成的工作。

  • 但从实践意义上来说,机器学习是利用数据训练出模型,并使用模型进行预测的一种方法。

训练预测是机器学习的两个过程:

  • 模型则是过程中间的输出结果,训练产生模型模型指导 预测
image-20250124104824833

机器学习中的训练预测过程可以对应到人类的归纳演绎过程。

机器学习的思想并不复杂,仅仅是对人类在生活中学习成长的一个模拟。

由于机器学习不是基于编程形成的结果,因此它的处理过程不是因果的逻辑,而是通过归纳思想得出的相关性结论。

image-20250124105204907

机器学习与人工智能

机器学习是人工智能最重要的一种实现方法,但机器学习并不是人工智能一开始就采用的方法。

人工智能的发展主要经历了逻辑推理,专家系统,机器学习三个阶段。

机器学习与深度学习

深度学习(Deep Learning,DL)是机器学习的一个重要分支,深度学习和机器学习的关系属于继承和发展的关系。

在很多人工智能问题上,深度学习的方法加上大数据的出现以及计算机运行速度的提高,更突出了人工智能的前景。

比如,自动驾驶汽车,它的实现就需要深度学习的图像识别技术。

  • 需要用到卷积神经网络(Convolutional Neural Networks, CNN)来识别马路上的行人、红绿灯等。

神经网络(Neural Networks, NN)

它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。

它是人工智能领域目前最基础的计算模型:

  • 它通过模拟大脑中神经元的连接方式,能够从输入数据中学习并生成有用的输出。

  • 这是一个全连接神经网络(每层神经元与下一层的所有神经元都有连接),包括1个输入层,N个隐藏层,1个输出层。

卷积神经网络(CNN)、循环神经网络(RNN)、长短时记忆网络(LSTM)以及Transformer架构,都属于神经网络模型。

目前,业界大部分的大模型,都采用了Transformer架构。

神经网络有输入层、隐藏层(中间层)以及输出层:

  • 其中输入层负责神经网络的输入,输出层负责产生输入的映射。

机器学习中的逻辑回归,可以看作是一层的神经网络,即除了输入层、输出层之外只有一个隐藏层。

  • 深度学习,就是指神经网络使用了很多隐藏层。
99aa318d6faa376ecf737f6350bfe525 e59de7c57d5536e5722ccaeede84dad6

深度学习的每一层都在学什么?

当你输入一张脸部的照片时,神经网络的第一中间层,可以看成是一个特征探测器或者边缘探测器。

它会去找这张照片的各个边缘,第二中间层又把照片里组成边缘的像素们放在一起看。

然后它可以把被探测到的边缘组合成面部的不同部分,有眼睛、鼻子等。

最后再把这些部分放在一起,比如鼻子眼睛嘴巴,就可以识别或者探测不同的人脸。

自然语言处理(NLP)

自然语言处理(NLP)就是教计算机理解和使用人类语言的一种技术。

比如你对手机说:打开天气应用,查看明天的天气,这就涉及到了自然语言处理。

你的手机需要理解你说的话是什么意思,你想做什么,然后才能执行正确的动作。

提示词工程

Prompt Engineering随着大模型的出现,发展成了一门较新的学科。

  • 主要关注提示词的开发和优化,帮助用户将LLM用于个场景和研究领域。

  • 可利用提示工程来提升大语言模型处理复杂任务场景的能力,如问答和算术推理能力。

开发人员可通过提示工程设计、研发强大的工程技术,实现和大语言模型或其他生态工具的高效接轨。

大型语言模型分类

基础大型语言模型(Base LLM)和指令调整大型语言模型(Instruction Tuned LLM)。

基础大型语言模型:

基础大型语言模型是基于大量文本数据训练出来的,它可以根据之前的文本预测下一个单词。

指令调整大型语言模型则可以根据给定的指令或任务进行微调,以更好地适应特定任务的需求。

指令调整大型语言模型:

指令调整的大型语言模型首先使用已经训练好了大量文本数据的基础型语言模型。

  • 然后使用输入和输出作为指令来进一步训练和微调它。

这样训练出的大型语言模型经过指令调整后,已经被训练成为有帮助、诚实和无害的。

  • 相比于基础大型语言模型,它们更不可能输出有问题的文本,例如有害的输出。

为了使系统更能够提供帮助并遵循指令,通常会使用一种称为RLHF(人类反馈强化学习)的技术进一步优化。

这种方法可以在保证语言模型的准确性和安全性的同时,提高其输出的质量和可用性。

蒸馏技术

蒸馏技术定义

在机器学习中,模型蒸馏是一种优化技术,通过模仿教师模型的输出,训练一个较小的学生模型,从而实现知识的传递。

教师模型通常具有较高的性能,但计算成本高昂,而学生模型则更加轻量级,推理速度更快,且内存占用更少。

其核心目标是在保持模型性能的同时,显著降低模型的计算复杂度和存储需求,使其更适合在资源受限的环境中部署。

蒸馏技术原理

蒸馏技术的核心在于知识的传递和压缩。

具体来说,教师模型通过其复杂的结构和大量的参数,学习到了数据中的复杂模式和特征。

学生模型则通过模仿教师模型的输出,学习这些模式和特征,从而获得类似的性能。

蒸馏过程包括以下几个步骤:

教师模型的训练

  • 首先训练一个性能强大的教师模型,该模型通常具有大量的参数和复杂的结构。

数据准备

  • 从教师模型中提取推理数据样本,这些数据将用于训练学生模型。

学生模型的训练

  • 使用教师模型的输出作为监督信号,对较小的学生模型进行训练。

优化与调整

  • 通过调整学生模型的结构和参数,使其在保持高效的同时,尽可能接近教师模型的性能。

数据蒸馏与模型蒸馏结合

DeepSeek的蒸馏技术将数据蒸馏与模型蒸馏相结合,实现了从大型复杂模型到小型高效模型的知识迁移。

这种结合方式不仅提升了模型的性能,还显著降低了计算成本。

数据蒸馏的作用:

数据蒸馏通过优化训练数据,帮助小模型更高效地学习。

DeepSeek利用强大的教师模型生成或优化数据,这些数据包括数据增强、伪标签生成和优化数据分布。

例如,教师模型可以对原始数据进行扩展或修改,生成丰富的训练数据样本,从而提高数据的多样性和代表性。

模型蒸馏的优化:

DeepSeek通过监督微调(SFT)的方式,将教师模型的知识迁移到学生模型中。

具体来说,DeepSeek使用教师模型生成的800,000个推理数据样本对较小的基础模型(如QwenLlama系列)进行微调。

这一过程不包括额外的强化学习(RL)阶段,使得蒸馏过程更加高效。

img
支付宝打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者!