2022年11月30日,OpenAI对外发布了ChatGPT,一款人工智能聊天机器人程序。这款程序展现出了绝无仅有的人机交互体验,能够充分理解人类自然语言,可以用人类自然对话方式来交互,让人们分不清和自己对话的是人还是机器。
除了可以用人类自然对话方式来交互,还可以用于甚为复杂的语言工作,包括自动生成文本、自动问答、自动摘要等多种任务。一时间,人们对其背后的技术了解和研究,大模型和生成式AI技术,达到了顶峰。
ChatGPT上线5天后已有100万用户,上线两个月后已有上亿用户。
本篇文章就带领大家了解和深入认识大模型和生成式AI。
什么是模型和大模型
首先理解模型,在人工智能领域中,机器学习(Machine Learning) 是一门重要的学科。
机器学习的目标,简单来说:让机器自动从数据找到一个函数。
举个简单例子:
有一个函数 y = f(x) = ax + b
请找出a,b ?
我们可以简单计算得到,a=3,b=-7,确定了这个函数f(x),其中a 和 b就叫做参数(Parameter)。
这些我们手算就可以得出结论,为什么需要机器呢?
因为我们面对的情况复杂得多。例如,分辨一张图片是猫还是狗,就需要用到机器学习来找到这个函数。
有上万个参数的函数,就是模型。
训练(training)的过程,就是从数据中,将这个上万个参数模型找出来的过程。机器学习中提供了很多方法论,例如线性回归,逻辑回归,神经网络等。
而推导(inference)的过程,就是利用这个模型,针对输入得到结果的过程。
大参数的模型,是个黑盒,一个输入得到一个输出。
大模型是什么
狭义上理解,ChatGPT后面的技术,是大型语言模型(Large Language Model),简称LLM,也可以称为大模型。
广义上理解,就是参数特别大,训练所用到的数据特别大的模型。不光是我们的大语言模型LLM,也可以是现在爆火的文生图模型,文生视频模型,都是大模型的一种。
但是如果穿越到2019年的时候,GPT-2(使用345M预训练数据和拥有1.5B参数量),刚发布的时候,媒体文章无一不是宣传逆天语言模型,世上最大NLP模型等。以下摘抄媒体文稿:
(2019-02-15)几个月前谷歌推出的语言模型BERT引发了业内的广泛关注,其3亿参数量刷新11项纪录的成绩让人不禁称赞。昨天,OpenAI推出了一种更强大的算法,这次模型达到了15亿参数。
如果穿越到当时,那么8B的模型,可以说是绝无仅有,毁天灭地的超巨大模型了。
深度学习三要素
如何表述一个上亿个参数的函数,今天往往用人工神经网络(Neural Network) 来表示。
而利用多层的人工神经网络来训练的过程,我们就叫做深度学习(Deep Learning),也是一种机器学习技术。
目前LLM主要使用的模型框架是Transfromer框架,Transformer(中文翻译:变形金刚)框架,就是人工神经网络的一种,最开始用作NLP翻译工作中的模型。
深度学习三要素是:
-
数据(需要有海量的优质数据,用于模型的训练)
-
算力(需要有足够强的计算能力,支持多层神经网络模型的计算)
-
算法(需要有优秀的算法和框架)
利用深度学习训练大模型,离不开这三要素,数据,算力,算法缺一不可,其重要程度依次是 数据 > 算力 > 算法。
大模型第一定律Scaling Law
Scaling Law,尺度定律。是指模型的性能与计算量、模型参数量和数据大小三者之间存在的关系。是指大模型的性能表现,会随着其规模和尺度的增大,而表现更优。
Scaling Law的概念最早由OpenAI在2020年提出,它描述了大模型的性能如何随着这些因素的变化而变化,为大模型的设计和训练提供了理论指导。
2020年1月,OpenAI发表论文《Scaling Laws for Neural Language Models》https://arxiv.org/abs/2001.08361,探讨模型效果和模型规模之间的关系。
结论是:模型的表现与模型的规模之间服从Power Law,即随着模型规模指数级上升,模型性能实现线性增长
2022年3月,DeepMind 在论文《Training Compute-Optimal Large Language Models》https://arxiv.org/pdf/2203.15556.pdf 中提出了 Chinchilla,龙猫法则 ,指出了 OpenAI 上述分析的错误和实验的缺陷:在上述分析框架下,OpenAI 忽略了在训练过程中适配学习率调度策略的重要性,没有为较小模型设置合适的学习率。事实上,扩大训练数据规模也有巨大的影响。「Scaling Law」告诉我们,当我们扩大模型权重参数规模时,也希望扩大训练数据的规模,在二者之间实现一定的平衡。
DeepMind 之前发布的 Gopher,模型参数量高达 2000 亿,训练消耗了大量计算资源。DeepMind 认为:给定相同的计算成本,最优的训练方法应该是使用更多数据训练参数量更小的模型 —— Chinchilla(约 700 亿参数)。
原先的计算资源分配并非最优,相较于之前的策略,Chinchilla 的计算资源分配方式能够显著提升性能。DeepMind 在模型参数量和数据量之间实现了最优的资源配置,最大程度上提升了模型的性能。
上述两篇文章,构筑了在大模型领域中,训练大参数模型所需要的,海量算力和海量数据,是大模型性能的前提保证。
在随后meta开源的Llama项目中,又进一步指出大模型的设计要素。《LLaMA: Open and Efficient Foundation Language Models》https://arxiv.org/abs/2302.13971
在 Llama 项目中,我们重新思考了计算资源的优化。如下图所示,随着参数量不断增大,训练的损失函数值不断下降。
尽管我们能在给定计算资源的条件下,找到使训练效果最优的平衡点,但这些工作还是为了在论文中展现出最佳的训练效果。
对于 LIama 而言,如果要让数十亿用户能够实际应用这些模型,推理阶段的效率与训练阶段的效率同样重要。或者是更加注重推理预算。
我们从数据和权重参数两方面来思考这个问题。在训练阶段,我们可以在两者之间实现理想的平衡;而在推理阶段,越多的权重参数意味着需要更大的计算量,但我们确实可以在不影响推理时间的条件下灵活调整训练数据的规模。我们可以使用无限的数据来训练模型,而这对推理时间没有任何影响。我们在某种程度上对模型进行了“过度训练”,从而我们获得了小巧且高效的模型。
通过使用更多 token 进行训练的方式(超过业内常用的 token 规模) 来获得最佳的性能,在这样的理念的指导下,LIama 系列模型可以在树莓派这样的小型终端设备上实现媲美 GPT-3 的性能。
Scaling Law 尽管它被称为 Law,但它是通过大量的实验来得出的关于模型规模、训练数据增长和对应模型效果增长的关系公式,其实是个经验公式。
目前业内的都认为,Scaling Law在当前阶段非常有效,并且预计在未来一段时间内将持续有效,将继续利用 Scaling Law,通过增加模型大小来提升性能。
随着模型规模的增加,未来可能会面临“训练投入-性能提升”性价比的权衡,这也将影响未来的训练和开发策略。
涌现能力
大语言模型LLM,为什么能突破之前人工智能领域的瓶颈,而达到一个全新的高度。
其核心在于:一是属于是生成式AI,二是其意图理解能力和一定的逻辑推理能力。
意图理解(Understanding): 尽管在大规模语料库中训练出来的模型已经具有足够的智能来理解指令,但它们中的大多数仍无法模拟人类对话或充分利用语言所传达的信息。要想与其他智能机器人进行有效的交流与合作,理解其隐含的意思至关重要,并使人们能够解释他人的反馈。LLMs 的出现凸显了基础模型在理解人类意图方面的潜力。
推理(Reasoning): 推理以证据和逻辑为基础,是人类智力活动的根本,是解决问题、决策和批判性分析的基石。演绎、归纳和归纳是智力活动中常见的主要推理形式。关于大型语言模型的推理能力,学术界存在不同观点。一些人认为语言模型在预训练或微调过程中就具备了推理能力,而另一些人则认为推理能力是在达到一定规模后才出现的。具体来说,具有代表性的思维链(CoT)方法通过引导 LLM 在输出答案之前生成理由,已被证明能够激发大型语言模型的推理能力。
2022年8月,Google发表论文,《Emergent Abilities of Large Language Models》https://arxiv.org/abs/2206.07682 重新探讨了模型效果与模型规模之间的关系。
结论是:当模型规模达到某个阈值时,模型对某些问题的处理性能呈现快速增长。 作者将这种现象称为Emergent Abilities,即涌现能力。
大模型能得此发展的因素
为什么当前时代,大模型能得到如此发展?
其主要因素还是得回归到,深度学习的三要素,数据,算力和算法中。
数据质量: 高质量的数据是训练大模型的关键。移动互联网时代,Web2.0时代,累积了许多优质的数据资源,给大模型训练提供了很好的土壤。
算力资源: 大模型的训练和推理需要大量的算力资源,算力资源的丰富程度直接影响到大模型的训练速度和推理效率。以英伟达为代表的加速计算,GPU硬件总算力,跳脱了摩尔定律,结合CUDA这样的架构,实现高效的算力利用率。
算法和模型优化: 借助诸如PyTorch,TensorFlow等工具,AI工程师才能写出深度神经网络;以Transformer框架为代表的,自注意力算法的创新,充分利用GPU的矩阵运算和并行计算能力,才能带来大模型的突破性能力。
当然大模型得此快速发展的重要因素还有人才,没有一波一波人工智能领域的专家和人才的坚持和创新,就没有如今人工智能领域在各行各业的应用和发展。其中最具有代表性的就是2018年图灵奖获得者,Yoshua Bengio、Geoffrey Hinton 和 Yann LeCun 三位深度学习巨头。
什么是生成式AI
生成式AI(Generative AI),简称GenAI,或者AIGC。
简单来说:机器产生复杂有结构的物件。
-
产生文章(由文字所构成)
-
产生图片(由像素所组成)
-
产生语音(由取样点构成的)
目前生成式AI模型使用神经网络来识别现有数据中的模式和结构,以生成新的原创内容。
例如大语言模型LLM的训练目标是学习语言的统计规律,以便能够生成或者理解人类语言。具体来说,LLM通常通过最大化训练数据的似然性来进行训练,也就是尽可能地让模型生成的语言与人类语言相似。
生成式AI != 大模型
模型可以分为两类,一种是判别模型,一种时生成模型。当然有一些机器学习算法是不归属这两类的。
判别模型算法: 逻辑回归,SVM,神经网络,随机森林,CRF。
生成模型算法: HMM,VAE,GANs,自回归模型。这些可以理解为生成式AI。
所以大家理解大模型就是生成式AI是不太正确的。
其中判别模型的一些方法论,是AI1.0时代的主旋律。而目前主流的LLM和生成式AI,为我们带来了AI2.0时代。
大模型分类
从大模型应用范畴角度
-
大基座模型: 基于Scaling Law,提供API服务的,核心能力包括:意图识别,逻辑推理,数学能力等。
-
小参数模型: SLM,lite模型,一般参数大小在3B-10B之间,能够运行在终端设备。
-
多模态模型: 一般基于MoE的大基座模型,不仅能理解文本,也能理解Vision视觉图片,例如GPT-4V。
-
文生图模型: 生成图片,修改图片,扩图,一般采用Diffusion技术。
-
文生视频模型: 类Sora,保持时空一致性和理解3D空间,一般采用DiT技术。
-
语音类模型: 语音识别,语音合成,语音降噪。
其主要技术都是来源于2017年发布的Transfomer框架,Diffusion技术,还有之前人们研究的生成式AI技术,例如GANs(生成对抗网络)。
从垂直领域角度
在某些情况下,专业领域可能需要各自的大模型。这是因为每个领域都有其特定的术语和知识结构,通用的大模型可能无法完全理解和处理这些领域特定的信息。例如,医学、法律、工程等领域都有其独特的术语和知识结构,如果使用通用的大模型,可能无法提供准确和深入的信息。因此,为这些领域开发专门的大模型可能是必要的。
-
医疗大模型
-
法律大模型
-
金融大模型
-
教育大模型
-
科技大模型
-
农业大模型
大模型常见偏差理解
偏见一、大模型就是带有数据的数据库。
确实大模型训练就是对海量数据进行有损压缩,需要一个巨大的 GPU 集群来完成。大模型中存储着众多的数据。
但是这种训练的过程,不是简单的压缩,而是学习其中的规律,进而靠这些数据对世界形成了理解。
偏见二、大模型就是纯概率的游戏,没有智能在里面。
确实大语言模型的基本原理是“文字接龙”,通过预测下一个token来生成内容,每次预测都有随机性和概率分布。
但是人类大脑的智能,又如何证明不是概率分布运行的智能呢?
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
👉AI大模型学习路线汇总👈
第二阶段: 在通过大模型提示词工程从prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。