1.为什么要写这篇文章?
过去一年多,说实话现在关于大模型的介绍和说明的文章已经非常多了,大部分人其实也已经有了一些基础的认知,但是我自己的感受是,这些信息实在是太碎片化了,称不上系统化的认知,并且市面上暂时也没有看到能够一口气全面的讲清楚大模型到底是什么这样的文章;
为了缓解自己的认知焦虑,我想亲自做一下信息的汇总者,把过去一年理解到的关于大模型的知识点,整理成一篇文章,希望通过一篇文章理解清楚大模型,也算是对自己大量学习那么多内容的一个交代;
2.我将分享哪些内容?
本篇文章将分享15个关于大模型相关的话题,本来有20个,我删减了一些可能更加偏技术的内容,修改为更加聚焦在普通人或者产品经理应该关注的问题点,目标是希望作为AI小白用户,我们只需要掌握和理解这些内容就够了;
3.适合什么人群?
本篇文章比较适合以下几类朋友:
-
适合想要了解大模型到底是怎么回事的小白和入门朋友;
-
适合有意愿转型从事AI相关的产品和岗位的朋友,包括产品经理,运营人员;
-
适合已经初步了解AI,但是想要进阶学习AI,减少AI认知焦虑的朋友;
内容声明:整篇内容均为个人在广泛的阅读和消化大量的专家文章、大模型相关的书籍以及和行业内的专家们请教和学习之后汇总的结果,个人更多的是作为一个知识消化和整合者的作用,如果有描述不正确的,欢迎友善的告知我!
第1讲:大模型常见的概念理解
在开始了解大模型之前,我们先理解一些基础概念,掌握这些专业名词的概念,以及概念之间的关系,会有利于你后续阅读和学习任何AI和大模型相关的内容,个人花费了挺多时间去梳理他们之间的关系,所以这部分一定要好好阅读;
1.常见的AI术语
-
大模型(LLM):现有所有的大模型,指的都是大语言模型,并且指的都是生成式的大模型,可以联想到的实际案例包括GPT4.0,GPT4o等;
-
**深度学习:**深度学习是机器学习的一个子领域,专注于应用多层神经挽留过进行学习,深度学习擅长处理复杂的数据如图像、音频、文本,因此在AI中的应用非常有效;
-
监督学习:监督学习是机器学习的一种方法,通过训练数据集来学习从输入到输出的映射关系。训练数据集包含输入-输出对,模型使用这些已标记的数据进行训练,学习如何从输入预测输出。常见的监督学习算法包括线性回归、逻辑回归、支持向量机、K近邻、决策树和随机森林等。
-
无监督学习:无监督学习是机器学习的一种方法,**在没有标签数据的情况下从数据中发现模式和结构,**它主要用于数据聚类和降维等任务。常见的无监督学习算法包括K均值聚类、层次聚类、DBSCAN、主成分分析(PCA)和t-SNE等。
-
半监督学习:半监督学习结合少量标记数据和大量未标记数据进行训练。它利用未标记数据的丰富信息和少量标记数据的准确性来提高模型性能。常见的方法包括生成对抗网络(GANs)和自编码器。
-
强化学习:强化学习是一种通过与环境交互,并基于奖励和惩罚机制来学习最优策略的方法。强化学习算法通过试错法来优化决策过程,以实现最大化累积奖励。常见算法包括Q学习、策略梯度和深度Q网络(DQN)等。
-
**模型架构:**模型的架构代表了大模型的主干采用了什么样的设计方式,不同的模型架构会影响大模型的性能、效率、甚至是计算成本,也决定了模型的可拓展性;例如很多大模型的厂商会通过调整模型的架构的方式来缩减模型的计算量,从而减少对计算资源的消耗;
-
Transformer架构:Transformer是目前主流的大模型采用的模型架构,包括GPT4.0以及国内大部分的大模型,都是采用这个架构,Transformer架构之所以被广泛的使用,主要的原因是这个架构类型让大模型具备了理解人类自然语言、上下文记忆、生成文本的能力;常见的模型架构,除了Transformer架构,还有卷积神经网络(CNN)架构,适用于图像处理,以及生成对抗网络(GAN),适用于图像生成领域;详细关于Transformer架构的介绍可后面部分内容;
-
**MOE架构:**MOE架构表示混合专家网络架构,表示混合多种专家模型,形成一个参数量巨大的模型,从而能支持解决多种复杂的专业问题;MOE架构的模型里面可能包含Transformer架构的模型;
-
**机器学习技术:**表示实现AI的一大类技术,包括大家经常听到的深度学习、监督学习、强化学习,这些都属于机器学习的一种技术,具体是啥作为产品经理而言不需要过分深究,只需要知道这些xx学习之间的关系就好,别被技术人员们带沟里去了;
-
**NLP技术(自然语言处理):**NLP是AI的一个应用领域,专注于计算机理解、解释、生成人力语言,用于文本分析、机器翻译、语音识别和对话系统等应用场景,简单一点讲,就是把很多信息转换成人类自然语言能够理解的信息的一种技术;
-
CV计算机视觉技术:如果说NLP处理的是文本,那么CV相当于是解决视觉内容相关的技术,CV技术包括常见的图像识别技术、视频分析技术、图像分割技术等,都属于CV技术,CV技术也是大模型应用中常见的技术,特别是后面会讲到的多模态大模型技术;
-
语音识别和合成技术:包括语音转换为文本技术,以及语音合成技术,例如文本合成语音技术(简称TTS技术);
-
**检索增强生成技术(RAG):**表示大模型基于搜索引擎和知识库检索的内容生成内容的技术,RAG是大部分AI应用落地的时候都会涉及的技术;
-
知识图谱 (Knowledge Graph):知识图谱是一种把知识关联起来的技术,通过知识图谱技术,可以让知识之间建立联系,帮助模型更好、更快的获取到最相关的知识,从而提升模型处理复杂关联信息,以及AI推理能力;
-
Function Call :是指在大型语言模型(如GPT等)中,通过调用模型内置的或外部的函数,使其能够完成特定的任务或执行特定的操作。这一机制让模型不仅仅是一个生成文本的工具,而能够通过指定调用不同的功能,执行更多样化、具体的操作。Function Call 让大模型能够和多种API能力结合,从而让大模型的应用更好的落地,比如大模型要支持内容检索、文档识别等能力,就需要基于Function Call 的能力来实现;
-
大模型训练与优化技术相关术语
-
预训练 Pre-training:表示在大量数据集上训练模型的过程,预训练的数据集通常比较大,种类也比较多,训练后获得的是一个通用能力比较强的大模型,就好像一个人通过义务教育和上大学学习了多种通用知识,具备解决通用问题的哪里;
-
模型微调 Fine-tuning:模型微调表示大模型在特定任务或小数据集上进一步训练模型以提高模型解决针对性问题的表现,与预训练阶段不同的是微调阶段使用的数据量相比更小,且主要使用垂直领域的数据,通过微调获得的是一个垂直模型和行业模型,模型微调,就好像入职支持的毕业生,开始接受企业的专业技能的培训;
-
提示词工程Prompt Engineering:用产品经理的语言理解,就是使用大模型更容易理解的提问方式,让大模型更好的输入用户想要的结果,所以提示词工程就是一门学会提问题的技巧;
-
**模型蒸馏:**模型蒸馏是一种通过将大模型(称为教师模型)的知识传递给一个小模型(称为学生模型)的技术。学生模型通过学习教师模型输出的知识来提高其性能,保持与大模型相近的精度。
-
**模型剪枝:**模型剪枝表示去除大模型不需要的参数,把整体的参数规模降低下来,从而降低模型的计算量和成本消耗;
-
AI应用相关术语
-
**智能体Agent:**Agent简单理解就是具备某一项能力的AI应用,如果互联网时代的应用叫APP,AI时代的应用叫Agent;
-
**Chatbot:**Chatbot表示AI聊天机器人,表示一类以聊天的方式为应用交互的AI应用,包括像ChatGPT这类的产品,都属于Chatbot类应用;
-
大模型表现相关的术语
-
**涌现:**指的是当大模型的参数规模达到一定的规模之后,大模型能够展现出更多超出预期的能力;
-
**幻觉:**表示大模型在生成内容的过程中出现了胡说八道的情况,错误的把一些不正确的事实当做真实的情况处理,从而导致生成结果不真实的现象;
-
失忆:表示当对话轮次和长度达到一定限度之后,模型突然变傻,开始出现重复和失忆的情况,大模型的记忆主要受模型的上下文长度等影响;
2.如何理解AI、机器学习、深度学习、NLP等概念关系
如果你关注AI和大模型,**“AI”“机器学习”“深度学习”“NLP”**等这几个关键词基本在未来的学习中一定会遇到,所以我们最好先理解清楚这几个专业名词的概念和定义,以及他们之间的逻辑关系,方便你更加容易理解它们;
概括起来讲,这几个概念之间的关系如下:
1.机器学习是AI的一种核心技术,AI的核心技术除了机器学习,还有专家系统、贝叶斯网络等(不需要过多深究这些是什么),其中深度学习是机器学习中的一种;
2.而NLP是AI的应用任务类型中的一种技术,用于自然语言的处理,除了NLP,AI的应用技术还包括CV计算机视觉技术、语音识别和合成技术等;
3.如何理解Transformer架构?
谈到大模型,就不能不提Transformer架构,如果说大模型是一棵树,Transformer架构就像是模型的主干,ChatGPT这类产品的出现,主要还是得益于Transformer架构的设计,让模型具备理解上下文、记忆能力、预测生词等能力;同时,Transformer的出现,也让大模型不需要像以前一样需要依赖大量的有标注数据做训练,而是能够基于无标注数据做训练,这个突破的意义在于,以前做一个模型需要投入大量的人力去对数据做清理、标注分类,但是现在只需要将碎片化、零散的数据扔给模型,模型也能够处理,我们通过如下几点具体了解这些概念:
Transformer架构和深度学习技术的概念关系
Transformer架构属于深度学习技术领域的一种神经网络架构,也就是说属于深度学习技术里面的一种实现和设计形式,深度学习领域,除了Transformer架构,还有传统的递归神经网络(RNN)和长短期记忆网络(LSTM)架构;
4.如何理解Transformer架构和GPT之间的关系
GPT的的英文全称是,生成式预训练 Transformer(Generative Pre-trained Transformer,GPT),因此GPT就是基于Transformer架构的而开发出来的一种大语言模型,由OpenAI开发。
GPT的核心思想是通过大规模预训练和微调,来增加生成和理解自然语言的能力,可以理解为,Transformer架构出来之后,相当于解决了理解上下文、处理大量数据、预测文本的能力,但是openai首次采用预训练+微调这种形式来改进和使用Transformer架构,使它具备了chatgpt这类产品的理解自然语言和生成自然语言的能力;
GPT之所以能具备生成和理解自然语言的能力,是因为预训练阶段通过大规模未标注文本语料库学习广泛的语言模式和知识,且预训练任务通常是语言模型任务,即给定一个序列的前部分,预测下一个词,这种方式使模型能够理解语言的结构和上下文关系,具体的差异点如下:
-
**能力差异上:**Transformer架构是让模型具备理解上下文、处理大量数据、预测文本的能力,但是还不具备理解自然语言、生成自然语言的能力;而GPT在增加了自然语言的预训练之后,具备了理解和生成自然语言的能力;
-
架构基础上:
-
**Transformer:**原始的Transformer模型由一个编码器和一个解码器组成,编码器处理输入序列,生成中间表示,然后解码器基于这些表示生成输出序列。这个架构特别适用于序列到序列任务,如机器翻译。并且编码器在处理输入序列时采用的是双向处理的机制,可以使用双向注意力,即每个词可以考虑序列中所有其他词的信息,不论它们是前面的词还是后面的词。
-
**GPT:**GPT主要使用Transformer的解码器部分,只关注生成任务。它在训练和生成过程中是单向的,即每个词只能看到它前面的词(单向注意力)。这种架构更适合文本生成任务。编码器采用的是单向处理的机制,在生成下一个词时,GPT只能考虑之前的词,这与语言模型的自然形式一致。
-
解决特定问题的实现方式上:
-
Transformer用于解决特定任务类型(比如机器翻译等)的问题的时候,它的实现方式是通过训练的方式来实现的,并且Transformer的编码器和解码器同时训练,以优化特定任务的表现。
-
而GPT在解决特定任务类型问题的时候,是通过有监督微调的方式实现的,也就是说,不需要针对特定任务类型做训练,只需要提供一些特定任务的数据,就可以实现;需要理解的是,训练和微调是不同的实现成本的实现方式;
-
应用领域上:
-
传统Transformer框架可以应用于多种序列到序列任务,如机器翻译、文本总结、语音识别等,由于包含编码器和解码器,Transformer能够处理多种输入和输出格式的任务;
-
GPT主要用于生成任务,如文本生成、对话系统、问答系统等。它在生成连贯且有创意的文本方面表现出色。
5.如何理解MOE架构
除了Transformer架构,最近还流行的另一种架构是MOE架构(Mixture of Experts),它用于动态选择和组合多个子模型(即专家)以完成任务。MOE的关键思想是,通过组合多个专家模型来解决一系列的复杂任务,而不是所有的任务都交给统一的大模型来解决;
MOE架构的主要优势在于能够在大规模数据和模型参数的情况下仍保持计算效率,且能够在保持模型能力的同时显著减少计算成本。
Transformer和MOE可以结合使用,这种结合通常被称为MOE-Transformer或Sparse Mixture of Experts Transformer。在这种架构中:
-
Transformer用于处理输入数据,利用其强大的自注意力机制捕捉序列中的依赖关系;
-
MOE用于动态选择和组合不同的专家,从而提高模型的计算效率和能力。
第2讲:大模型和传统模型的区别
通常当我们谈到大模型的时候,指的是LLM 大语言模型,或者说更具体一点指的是GPT类的模型(基于Transformer架构的生成式预训练模型),首先它是一个语言模型,解决的是自然语言任务方向的问题,而不是图片、视频、语音等领域的问题(同时具备语言、图片、视频、语音等多个模态的模型,后来称之为多模态大模型,与LLM不是同一个概念);其次LLM是一个生成式的模型,也就是说它的主要能力是生成,而不是预测或者决策等;
区别于传统的模型,大模型概括起来具备如下的特点:
-
**具备理解和生成自然语言的能力:**很多以前我们接触的传统模型,可能并不能够理解人类的自然语言,更不用说生成人力能理解的自然语言;
-
能力强大,通用性强,可以解决很多问题:传统的模型,大部分是一个模型解决一个或者一部分问题,专业性比较强,而无法解决通用问题,而大模型的通用能力很强,可以解决各种各样的问题;
-
**具备上下文记忆的能力:**大模型具备记忆能力,能够关联上下文对话,而不是一个失忆的机器人,这个是区别很多传统模型的差异点之一;
-
训练方式上,基于大量的无标注文本,通过无监督的方式预训练,和很多传统模型需要依赖大量的标注数据的方式不同,无标注数据的方式大大的节省了数据清理和准备的成本;且预训练需要大量的训练数据,这些数据用于调整模型的参数,使其能够准确地执行任务,GPT3.5的训练语料高达45T;
-
参数规模巨大,大部分大模型的参数规模基本都在千亿级别以上,比如GPT3.5的参数规模已经达到1750亿,而GPT4.0据说可能是万亿级别参数,这些参数在模型训练过程中会学习并调整,以更好地执行特定的任务;
-
**训练需要消耗大量的计算资源:**由于其规模和复杂性,这些模型还需要显著的计算资源来进行训练和推理,通常需要使用专门的硬件,如GPU或TPU,调研称,要训练像ChatGPT这样的生成式AI,至少需要1万张英伟达A100加速卡的支持,GPT3.5这种参数级别达到1750亿规模的模型,训练需要的费用高达900万美元;
第3讲:大模型的演变历程
1.大模型的生成能力的演变历程
了解LLM的演变历程,可以帮助大家了解大模型是如何一步一步的具备如今的能力的,也更加容易理解LLM和Transformer之间的关系,如下的历程为大模型的演变历程:
**1.N-gram:**N-gram是大模型具备生成能力的最早期阶段,它主要解决了预测下一个词的能力,这个是文本生成的基础,但是它的局限性在于理解上下文和语法结构的能力比较有限;
2.RNN(循环神经网络)和LSTM(长短期记忆):这个阶段,这两个模型解决了模型上下文理解长度的问题,具备了相对更长的上下文窗口,但是局限性在于难以处理大量的数据;
**3.Transformer:**兼具了前面两个模型中预测下一个词、记忆长度的问题的同时,支持在大型的数据集上训练,但是不具备自然语言理解和生成的能力;
**4.LLM大模型:**采用GPT预训练和监督微调的方式,使得模型具备理解和生成自然语言的能力,所以叫大语言模型,可以说,预训练和监督微调这种方式的出现,把Transforemer带到大模型的发展阶段;
备注:以上内容引用自《大模型应用开发极简入门》
2. GPT1到GPT4的发展历程
-
**GPT1:**首次引入了无监督的训练步骤,解决了以前模型训练需要大量的标注数据的问题,无监督的训练方式,可以允许GPT基于大量的无标注数据做训练;但是局限性在于,在因为GPT1的参数规模比较小(参数规模只有1.17亿),所以一旦遇到复杂任务的时候,如果没有经过监督微调,便无法解决,所以需要针对很多复杂任务做很多的微调后才能使用,比较麻烦;
-
**GPT2:**参数规模提到到15亿,训练文本大小扩大四倍,增加到40G,通过增加参数规模和提高训练数据的规模,可以提高模型的能力,但是依然存在解决复杂问题的局限问题;
-
**GPT3:****参数规模拓展到1750亿,该阶段GPT3已经在文本生成和语言理解方面达到非常强的表现,并且取消了微调的步骤,**也就是会说不需要微调也能解决复杂问题了;但是GPT3存在的局限,是因为模型是在很多互联网数据上语序连的,预训练数据中可能会包含虚假和错误的文本,包括种族歧视、性别歧视等,所以导致模型会说错话,存在安全问题;
-
**InstructGPT:**为了解决GPT3的局限性问题,GPT3在预训练之后,增加了监督微调(SFT)、和通过人类反馈强化学习(RLHF)的步骤,调整优化模型的出错的问题,这样的模型成为InstructGPT;该过程的原理是,首先先提供一些真实的”标准答案“的数据给模型让模型完成监督微调;第二步,构建一个生成结果的评分模型(构建的方式同样需要人为提供一些打分数据),用于对生成结果做评分;第三步,用评分模型自动给模型生成的结果评分,然后将评分结果应用于模型的策略优化,让模型越来越好;所以,现在很多大模型厂商解决幻觉率的问题,关键还是在于监督微调阶段提供的数据质量和数量情况,以及评分模型是否更强大;
-
**GPT3.5:**2022年3月份,openai发布了GPT3的新版本,它的训练数据截止到2021年6月份,训练数据规模更大达到45T,11月openai称之为GPT3.5;
-
**GPT4.0:**2023年4月份,OpenAI发布了GPT4.0,整体的推理能力上大幅提升,并且支持了多模态能力;
-
**GPT4o:**2024年5月份,发布GPT4o,增强了语音聊天等能力;
-
**O1:**2024年9月份,openai推出O1模型,主打思维链能力,提升模型的思考能力;
备注:以上内容引用自《大模型应用开发极简入门》
第4讲:大模型生成文本的原理
GPT是如何生成文本的?
大模型生成文本的过程,概括起来包括如下5个步骤:
1.模型收到提示词之后,首先将输入的内容做分词处理,拆分成多个token;
2.基于transformer的架构理解token之间的关系,从而理解提示词的整体含义;
3.基于上下文预测下一个token,预测的时候,可能会有多种结果,每种结果会有相应的概率值;
4.根据概率值选择概率最高的token作为下一个词的预测结果;
5.重复第4步骤的任务,循环至整个内容生成完成;
备注:以上内容引用自《大模型应用开发极简入门》
===
===
===
第5讲:LLM大模型的分类有哪些?
1.按照模态类型划分
按照模态划分,目前市面上的大模型,大概可以概括为文本生成模型(例如GPT3.5)、图像生成模型(例如DALL-E)、视频生成模型(例如Sora、可灵)、语音生成模型、多模态模型(例如GPT4.0)等;
2.按照训练的阶段划分
按照训练的阶段可以划分为基础语言模型和指令微调的模型
-
基础语言模型(Basic Language Model) 基础语言模型是指只在大规模文本语料中进行了预训练的模型,未经过指令和下游任务微调、以及人类反馈等任何对齐优化,比如GPT3就是openai公开的基础语言模型;
-
指令微调模型(Instruction-Finetuned Language Model):这里的指令是指基于自然语言形式的对任务进行描述,经过指令微调的大模型,他们几乎都是在基础语言模型基础上进行指令微调、人类反馈、对齐等优化操作,例如GPT3.5就是在GPT3的基础上训练得到的;
3.按照通用模型和行业模型划分
市面上的大模型也可以划分为通用大模型和行业大模型两类,通用大模型在广泛的任务和领域中虽然表现良好,但是某些行业或领域有特定的数据、术语和任务,通用大模型可能无法充分理解和利用这些领域特定的信息,因此不一定能解决特定行业和场景的问题;行业大模型则是基于通用大模型通过专门的训练和调整,行业大模型可以在特定领域内实现更高的性能和精度,它们能解决特定问题;
第6讲:LLM大模型的核心技术是什么?
该部分可能有比较多的技术术语,比较难理解,不过对于产品经理而言,我们可能不太需要去深究其技术细节,只需要知道其关键概念的能力即可,AI产品经理对于技术术语的理解是有必要的,这可以帮助自己在后续和研发和技术沟通的时候降低沟通难度;
**1. 模型架构:**关于Transformer架构,前面已经有比较多的描述,这里便不赘述了,但是Transformer架构是大模型最基础的核心技术之一;
2. 预训练与微调
-
预训练(Pre-training):基于大规模无标注数据进行预训练,是大语言模型的关键技术之一,预训练技术的出现,让模型的需求,再也不需要基于大量的标注数据,这极大的降低了人工标注数据的成本;
-
微调(Fine-tuning):微调技术,是进一步使用大模型的技术,预训练后的模型在处理特定任务的时候表现比较一般,所以需要再特定的数据集上进行微调,以适应具体的应用,微调可以显著提升模型在特定任务上的表现。
3.模型压缩与加速
-
模型剪枝(Pruning):通过剪除不重要的参数,可以减少模型大小和计算复杂度;
-
知识蒸馏(Knowledge Distillation):训练一个较小的学生模型,使其模仿大模型(教师模型)的行为,从而保留大部分性能的同时减少计算开销。
第7讲:大模型开发的6个步骤
根据OpenAI公布的相关信息,大模型的开发,通常会经过如下6个步骤,基本上,目前这套流程应该也是行业内大部分大模型的开发的过程:
-
**数据收集与处理:**这个阶段,需要收集大量文本数据,这可能包括书籍、网页、文章等,然后对数据做清洗,移除无关或低质量的内容,然后对数据进行预处理,如分词、去除敏感信息等。
-
模型设计:确定模型的架构,比如GPT-4采用的是ransformer架构,然后设定模型的大小,包括层数、隐藏单元数、参数总量等。
-
预训练(Pre-training):模型在这个阶段就像一个学生在上学,通过阅读大量书籍(比如网页、文章等)来学习语言和知识。或者说像一个“海绵”,吸收尽可能多的信息,学会基本的语言规则,比如怎样组成一个句子,单词之间是怎样关联的等。此时的模型模型已经能理解基本的语言结构,但还没有针对特定任务的专业知识;预训练阶段通常需要的数据量非常大,对计算资源的消耗也最大,花费的时间最长;以GPT3为例,完成一次预训练的计算量是3640P浮点计算,需要将近1000块GPU;
-
指令微调(Fine-tuning with Instructions):也称为有监督微调,微调的过程其实就是通过投喂给模型一些带有问题和相应理想输出的问答对数据,在此基础上进行再训练,从而得到一个有监督微调模型;这个阶段的模型更像是在进行“职业培训”,学习如何根据特定的指令或任务来调整自己的反应,模型可能会在这个阶段学习如何更好地回答问题、写作或做翻译,对特定类型的问题或任务也有更好的表现。指令微调阶段只要提供相对少数的高质量的数据,模型的训练时间和消耗相对比较小;
-
**奖励(Reward):**这个阶段就像给模型设置了一个“激励机制”,通过奖励来让模型知道什么是好的回答或行为,通过这种方式,模型学会了更好地满足用户的需求,从而让模型更加专注于提供有价值、准确的回答,能够更好地适应用户的具体需求;这个过程需要训练模型的人员大量的对模型的响应结果做检测和反馈,逐步的调整其响应的质量,该过程也需要相对较高的数据,需要的时间为天级别;
-
强化学习(Reinforcement Learning):最后这个阶段,模型就像在进行“实战演习”,通过不断的尝试和错误来学习怎样做得更好,在这个阶段,模型会在真实世界的复杂情境中尝试各种策略,找出最有效的方法。模型在这个阶段变得更加聪明和灵活,能够在复杂和不确定的情况下做出更好的判断和回答。
===
第8讲:如何理解大模型的训练和微调?
1.理解大模型训练相关内容
1.大模型训练需要哪些数据?
-
文本数据:主要用于训练语言模型,如新闻文章、书籍、社交媒体帖子、维基百科等。
-
结构化数据:如知识图谱,用于增强语言模型的知识。
-
半结构化数据:如XML、JSON格式的数据,便于提取信息。
2.训练数据来源
-
公开数据集:如Common Crawl、Wikipedia、OpenWebText等。
-
专有数据:公司内部数据或付费获取的专有数据。
-
用户生成内容:社交媒体、论坛、评论等用户生成的内容。
-
合成数据:通过生成对抗网络(GAN)或其他生成模型合成的数据。
3.大模型训练需要哪些成本?
-
计算资源:GPU/TPU的使用成本,主要取决于模型的规模和训练时间。大模型通常需要数千到数万小时的GPU计算时间。
-
存储成本:用于存储大规模数据集和模型权重。数据集和模型文件可以达到TB级别。
-
数据获取成本:购买专有数据或数据清洗和标注的人工成本。
-
能源成本:训练大型模型消耗大量电力,增加运营成本。
-
研发成本:包括研究人员、工程师的薪资,以及开发和维护模型的费用。
2.理解大模型微调相关内容
1.大模型微调的2个阶段:监督微调(SFT)、强化学习(RLHF),两个阶段存在的差异如下:
2.大模型微调的2种方式**:lora微调,SFT微调**
目前模型的微调方式有2种,一种是lora微调,一种是SFT微调,这两种方式的区别在于:
-
Lora微调的方式,是对模型的部分参数做微调,不需要微调整个模型,适用于资源有限,或者定向聚焦的微调场景,让模型具备解决单一场景任务;
-
SFT微调的方式,是对模型的所有参数做微调,微调整个模型,使得模型能够解决更多的特定任务;
第9讲:影响大模型的表现的主要因素是什么?
大家都知道,市面上虽然后很多的大模型,但是不同模型之间的成立差异是存在的,像openai的模型,在行业内占据领先地位,为什么大模型之间会存在能力差异,具体影响大型模型表现的五个最重要的因素如下:
-
**模型架构:**模型的设计,包括层数、隐藏单元的数量和参数总数,对其能力进行复杂任务处理有着显著影响。
-
**训练数据的质量和数量:**模型性能极大地依赖于其训练数据的覆盖范围和多样性,高质量和广泛的数据集有助于模型更准确地理解和生成语言,目前大部分模型主要还是使用公开的数据为主,拥有更丰富的优质的数据资源的公司,将拥有更优越的优势;对于国内而言,目前不利的因素是开源数据集中主要以英文数据集为主,中文数据集相对较少;
-
**参数规模:**参数越多,模型通常能够更好地学习和捕捉复杂的数据模式,但同时也增加了计算成本,因此拥有强大的算力资源的企业,将拥有更高的优势,对于算力,核心取决于计算量(GPU的数量)、网络、存储三个维度的情况;
-
**算法效率:**训练和优化模型所使用的算法,比如优化器的选择和学习速率调整,对模型的学习效率和最终性能有重要影响。
-
**训练次数:**确保模型有足够的训练次数以达到最优性能,同时避免过度训练导致的过拟合问题。
第10讲:如何衡量大模型的好坏?
从大模型的应用端的角度上看,如何去衡量一个大模型的好坏,其评估的框架是什么样的,通过这部分,你可以大概知道,市面上的测评机构,都是从哪些维度,去评估大模型的能力的,同时,如果你面临大模型的选型问题的时候,应该如何去选择,建立自己的判断体系;
在阅读和参考了多个关于大模型衡量的参考文献之后,个人将大模型的评估维度概括为3个方面:
-
应用层产品表现;
-
大模型基础能力;
-
安全和合规情况;
完整的评估体系,通过一张图概括如下:
1.如何衡量大模型的产品表现能力
通常衡量一个大模型的产品表现能力,主要从如下几个维度去评估:
-
语义理解能力:语义理解能力首先包括语义、语法、语境这几个基础维度,它基本决定了你能否正常和模型对话,以及模型说的是不是人话;特别是中文语义理解能力;再者就是除了中文理解之外,能否支持多语言理解能力;
-
**逻辑推理:**包括模型的推理思考能力、数值计算能力和上下文理解能力,这是大模型最核心的能力之一,直接决定的模型的聪明程度;
-
**生成内容准确性:**包括幻觉的情况和陷阱识别的能力
-
**幻觉率:**其中包括模型回复内容和结果的准确性,有的时候模型会胡说八道,而你还信以为真,这就很坑爹;
-
**陷阱信息识别率:**所以侧面的我们也会看模型对于陷阱信息的识别和处理能力,识别人力差的模型,经常会出现你给了一些错误的信息,然后模型基于错误信息前提还侃侃而谈;
-
**生成内容质量:**在保证生成内容真实准确的前提下,衡量生成质量的维度包括:
-
**生成内容的多样性:**是否能支持多样、多角度内容的输出;
-
**专业度:**垂直场景能否输出专业内容;
-
**创造性:**生成内容是否有足够的创造性;
-
**时效性:**生成结果的更新时效;
-
**上下文记忆的能力:**代表模型的记忆能力和上下文窗口长度;
-
**模型性能情况:**包括回复速度、资源消耗、鲁棒性和稳定性(针对异常和未知信息的处理能力及可靠性);
-
**拟人性:**这个维度就是评估模型是不是真的”通人性“,达到智能的程度,其中包括情感分析的能力;
-
**多模态能力:**最后则是看模型在跨模态处理和生成上的能力,包括文本、图片、视频、语音等;
2.如何衡量大模型的基础能力
大家都知道衡量大模型的基础能力最重要的3个要素是:算法、算力、数据;更具体一点,则主要包括如下几部分:
1.参数规模:衡量算法强大程度的维度可能比较多,简单一点我们就通过参数规模来衡量,参数规模是衡量一个模型的复杂度和能力的量化指标,参数规模越多,代表模型能支持越复杂问题的处理,可以考虑的维度更多,简单讲就是越强;
**2.数据量级:**模型是运行在数据基础上的,模型背后的数据量级越大,模型的表现可能越好;
**3.数据质量:**数据质量包括数据本身的价值,以及业务对数据的清洗情况;数据本身在质量是有层级的,比如用户消费的数据就是比用户普通社会属性信息价值更高,数据的价值越高,模型的表现效果越好;其次是业务对数据的清洗情况,这个体现在数据的标签化的精细度等方面;
**4.训练次数:**模型的训练次数越多,代表模型的经验更丰富,表现越好;
3.如何评估模型的安全性
除了对大模型的能力考量之外,大家也非常重视模型的安全性的考量,因为即使能力再强,安全问题没有得到很好的解决,大模型也无法迅速发展,我们主要从如下几个维度评估模型的安全性:
**1.内容安全性:**包括生成内容是否符合安全管理规范、社会规范、法律规范等;
**2.伦理道道规范:**包括生成内容是否包含偏见和歧视,是否符合社会价值观和伦理道道等;
**3.隐私保护和版权保护:**包括对个人隐私、企业隐私的包括,以及是否遵守版权保护法要求;
第11讲:大模型的局限性有哪些?
1.“幻觉”问题
幻觉问题指的是模型生成看似合理但实际上是错误或虚构的信息。在自然语言处理中,这可能表现为模型生成的文本或回答在表面上看起来合理,但实际上却缺乏真实性或准确性;从目前大模型的表现看,幻觉问题,是大部分用户对于大模型应用产生质疑,以及大模型生成结果难以直接使用的主要原因之一,目前也是较难解决的问题;对于AI应用层而言,也是最头疼的问题;
大模型为什么会出现幻觉的情况?主要来源于如下几个原因:
-
过拟合训练数据: 模型在训练时可能过度拟合了训练数据中的噪声或错误信息,导致模型在生成时产生虚构的内容。
-
训练数据本身包含虚假信息: 如果训练数据中未能充分覆盖各种真实场景,模型可能会在未见过的情况下产生虚构的信息。
-
对信息可信度的不足考虑: 模型未能有效地考虑生成信息的可信度,而是过于自信地产生表面上合理但实际上虚构的内容。
是否有缓解幻觉问题的解决方案? 目前看,可能能通过如下几个方式缓解幻觉问题,至于根本性的解决,目前行业似乎并没有看到特别好的方法:
-
**使用更丰富的训练数据:**引入更多多样性和真实性的训练数据,以减少模型过度拟合错误信息的可能性。
-
**信息可信度建模,增加鉴伪机制:**引入模型组件来估计生成信息的可信度,以过滤或降低虚构信息的生成概率;
-
**外部验证机制:**使用外部的验证机制或信息源来验证模型生成的内容,确保其与真实世界一致。
2.“失忆”问题
失忆问题是指模型在长对话或复杂语境中可能遗忘先前提到的信息,导致生成的内容缺乏一致性和上下文完整性;导致失忆的主要原因包括:
-
**模型上下文记忆限制:**模型可能受到上下文记忆能力的限制,无法有效地保持和利用长期依赖的信息。
-
训练数据中的缺失信息: 如果训练数据中缺乏长对话或复杂语境的例子,模型可能未能学到正确的信息保持和检索方法。
-
对话偏移: 在长对话中,模型可能逐渐偏离初始话题,导致遗忘先前提到的关键信息。
目前行业内似乎对于失忆问题,已经可以有一定的缓解,据了解,相应的解决方法包括:
-
**增加上下文长度,从而提升记忆容量:**通过持续的提升大模型的记忆长度,从而提高模型对长期信息的保持和检索能力。
-
**多样性训练数据:**引入更多包含长对话和复杂语境的训练数据,使模型能够学到更好的信息管理策略。
-
对话管理技术: 引入先进的对话管理技术,确保模型在长对话中能够保持一致性,并有效地利用先前提到的信息。
3.“生成不当内容”问题
生成不当内容问题指的是模型在生成文本时可能产生不适当、有害或歧视性的内容,引发道德和社会责任问题。导致失忆的主要原因包括:
-
**训练数据中的偏见:**模型可能在训练数据中学到了不适当的观点、偏见或刻板印象,导致生成不当内容。
-
**过度拟合负面样本:**如果训练数据中包含大量负面样本,模型可能过度拟合这些负面情况,导致生成负面内容的可能性增加。
-
**缺乏伦理约束:**模型训练时未考虑伦理和社会责任问题,缺乏对不适当内容的抑制;
对于以上的关于生成内容的安全、伦理、道德等相关的问题,目前国内大部分的厂商似乎也得到了一定的解决,包括对模型的输入和输出内容经过安全引擎做过滤和处理,避免了对用户直接输出不恰当的内容;
4.难以解决专业问题和垂直场景问题
尽管大模型在许多领域表现出色,但是他更像是一个什么都会的通才,在特定领域的表现可能不佳,特别是在需要专业知识和细致推理的任务中,大模型可能无法提供最佳解决方案;当然这个问题,市面上存在较多解决方案可以解决该问题,包括训练和微调行业大模型、包括结合工作流和思维链的Agent设计、抑或是最简单的通过提示词工程解决;
至此,对于入门阶段对大模型的认知和理解,我先分享到这里,后续我将单独输出一篇“大模型20讲,从产品经理的角度看大模型”,从我自己的角度深度理解大模型
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓