大语言模型LLM入门篇
大模型席卷全球,彷佛得模型者得天下。对于IT行业来说,以后可能没有各种软件了,只有各种各样的智体(Agent)调用各种各样的API。在这种大势下,笔者也阅读了很多大模型相关的资料,和很多新手一样,开始脑子里都是一团乱麻,随着相关文章越读越多,再进行内容梳理,终于理清了一条清晰的脉络。笔者希望通过三篇文章总结(入门篇、原理篇和应用篇)将思路写下来,以便跟我一样的新手读者快速了解大模型的方方面面。在这里,笔者先强调一下,本系列文章的深度有限,只是个人对大模型知识脉络的梳理,同时也会借鉴一下同行的博客内容充实本文,文末将会注明参考来源。
在开始阅读文章之前,有几个问题读者可以先思考一下:
- 什么是大模型?
- 大模型最终要解决的问题是什么?
大模型LLM与人工智能AI
提到大模型(全名,大语言模型,LLM,Large Language Model),绕不开人工智能(AI,Artificial Intelligence)这个概念。
目前业界对于AI的定义有很多,但有一个令我印象深刻的说法:让机器像人一样阅读、写作和交流。通过最近几年AGI的高速发展,AI不仅仅能写作了,还能进行各种各样的创作了。所以,笔者认为这个说明可以进一步完善:人工智能就是要让机器像人一样阅读、创作和交流。
- 阅读:机器能够像人一样接收各种各样的输入,并能够理解这些输入;
- 创作:机器能够像人一样进行创作输出,不仅仅只是写作,还包括:绘画、视频创作等等;
- 交流:在上述理解输入和创作输出的基础上,就自然而然可以实现机器像人一样交流,并且在创作输出能力上,可能比自然人更加优势。
要实现上述描述的人工智能,首先就需要让机器理解人类的输入,人类的输入方式比较多,语言和文字首当其冲。要让机器理解语言和文字,就需要进行语言建模,语言建模的输出就是语言模型LM(Language Model)。
机器通过分析学习大量人类语言和文字,最终获得一个语言模型。通过该模型,机器好像听懂了用户输入一样,对用户的输入进行对应的输出。而用户通过得到的机器输出,也感觉机器理解了自己的意思。但实际这里的听懂和理解都是机器的运算。
那么,这么厉害的模型是怎么来的呢?
大模型LLM的发展与定义
和很多有故事的人的名字一样,大模型一开始并不叫大模型。
大模型的发展经历了4个阶段:
-
统计语言模型
SLM,Statistical Language Model,统计语言模型,基于统计学习方法开发,其基本思想是基于马尔可夫假设建立词预测模型。这种模型常见于我们的全文检索和推荐系统中,通过统计词频等信息来做统计预测,这种模型通常受到维数灾难的困扰。 -
神经语言模型
NLM,Neutral Language Model,通过神经网络,如循环神经网络(RNN),来描述单词序列的概率。该模型引入了词的分布式表示这一概念,并在聚合上下文特征(即分布式词向量)的条件下构建词预测函数。word2vec提出了构建简化的浅层神经网络来学习分布式单词表示的方法,这些表示在各种NLP任务中被证明非常有效。 -
预训练语言模型
PLM,Pre-training Language Model,基于自注意力机制的高度并行化Transformer架构,在大规模无标签语料库上使用专门设计的预训练任务。该模型确立了“预训练和微调”学习范式。在这个范式下,通常需要对PLM进行微调以适配不同的下游任务。 -
大语言模型
LLM,Large Language Model。研究人员发现,扩展PLM(扩展模型大小或数据大小)通常会提高下游任务的模型性能,许多研究通过训练越来越大的PLM来探索性能极限。随后发现,当模型参数达到某一极限之后,模型在解决一系列复杂任务中展示了惊人的能力,这种能力被称为【涌现能力】。
关于涌现能力,业界目前还有很多问题待研究解决。比如:模型参数具体达到多少涌现能力会出现?大模型为什么会突然出现涌现能力等。
通过大模型的发展阶段描述,本节最后总结一下大模型LLM的定义。
大模型是一种采用Transformer架构,模型参数达到百亿或千亿级的预训练模型。
大模型LLM的分类
目前业界涌现了非常多的大模型,也看了网上一些关于对大模型分类归纳的文章,都非常不错,本节主要是对网上的分类信息进行总结。
本节将从以下三个方面来对大模型进行分类:
根据算法原理分类
大模型的架构基本都是Transformer,而Transformer详细的结构在google发布的论文《Attention Is All You Need》中进行了描述,Transformer结构中有两个非常重要的部件:Encoder和Decoder,如下图所示:
根据对Transformer结构的裁剪,可以将目前的大模型分为三类:
- Encoder-Only:裁剪了Decoder部件,代表模型BERT,到了2020年之后,这类技术基本已经不再发展。
- Encoder-Decoder:没有裁剪任何部件,代表模型T5。
- Decoder-Only:裁剪了Encoder部件,代表模型GPT,目前主导LLM领域的发展。
下面是一张结合了大模型出现时间以及所属架构分类的图片,分别详细阐述了各个分类有哪些代表模型,以及模型出现的时间。
根据输入内容分类
根据输入内容不同,可以分为以下三类:
- 语言大模型
指在自然语言处理(Natural Language Processing,NLP)领域中的一类大模型,通常用于处理文本数据和理解自然语言。
这类大模型的主要特点是它们在大规模语料库上进行了训练,以学习自然语言的各种语法、语义和语境规则。
例如:GPT 系列(OpenAI)、Bard(Google)、文心一言(百度)。
- 视觉大模型
指在计算机视觉(Computer Vision,CV)领域中使用的大模型,通常用于图像处理和分析。
这类模型通过在大规模图像数据上进行训练,可以实现各种视觉任务,如图像分类、目标检测、图像分割、姿态估计、人脸识别等。
例如:VIT 系列(Google)、文心UFO、华为盘古 CV、INTERN(商汤)。
- 多模态大模型
指能够处理多种不同类型数据的大模型,例如文本、图像、音频等多模态数据。
这类模型结合了 NLP 和 CV 的能力,以实现对多模态信息的综合理解和分析,从而能够更全面地理解和处理复杂的数据。
例如:DingoDB 多模向量数据库(九章云极 DataCanvas)、DALL-E(OpenAI)、悟空画画(华为)、midjourney。
根据应用领域分类
按照应用领域,大模型主要可以分为 L0、L1、L2 三个层级:
-
通用大模型 L0:
是指可以在多个领域和任务上通用的大模型。
它们利用大算力、使用海量的开放数据与具有巨量参数的深度学习算法,在大规模无标注数据上进行训练,以寻找特征并发现规律,进而形成可“举一反三”的强大泛化能力,可在不进行微调或少量微调的情况下完成多场景任务,相当于 AI 完成了“通识教育”。 -
行业大模型 L1:
是指那些针对特定行业或领域的大模型。
它们通常使用行业相关的数据进行预训练或微调,以提高在该领域的性能和准确度,相当于 AI 成为“行业专家”。 -
垂直大模型 L2:
是指那些针对特定任务或场景的大模型。
它们通常使用任务相关的数据进行预训练或微调,以提高在该任务上的性能和效果。
读完本文,文章开篇的两个问题应该都有答案了。感谢各位读者的关注、收藏和点赞,为后续原理篇和应用篇的编写提供动力!
参考文献
- 大模型基本概念和分类介绍总结
- 一张图总结大语言模型的技术分类、现状和开源情况
- 《Attention is all you need》
相关文章:
大语言模型LLM入门篇
大模型席卷全球,彷佛得模型者得天下。对于IT行业来说,以后可能没有各种软件了,只有各种各样的智体(Agent)调用各种各样的API。在这种大势下,笔者也阅读了很多大模型相关的资料,和很多新手一样&a…...
Alibaba Cloud Linux 安装mysql及注意事项
1.安装mysql #1.运行以下命令,更新YUM源。 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm#2.(可选)当操作系统为Alibaba Cloud Linux 3时,执行如下命令,安装MySQL所需的库文件…...
设计模式——工厂模式(Factory)
工厂模式(Factory Pattern)是一种常用的设计模式,它提供了一种封装创建对象过程的方法。通过工厂方法或工厂类,你可以将对象的创建与使用分离,使得代码更加灵活和可维护。工厂模式主要分为三种类型:简单工厂…...
NVIDIA Omniverse Cloud API支持数字孪生开发,可解决复杂AI问题 | 最新快讯
在全球范围内,价值超过 50 万亿美元的重工业市场,正在竞相实现数字化。 基于此,为帮助数字孪生技术更好地赋能千行百业,AI 企业 NVIDIA 在架构底层算力的同时,也搭建了 NVIDIA AI Enterprise 和 Omniverse 两大平台。 …...
智慧电力,山海鲸引领
随着科技的不断进步和电力行业的快速发展,智能化管理已成为电力行业的重要趋势。在这一背景下,山海鲸智慧电力管理系统凭借其卓越的性能和创新的功能,为电力行业带来了革命性的改变。 山海鲸智慧电力管理系统是一套集数据采集、分析、展示于…...
【文章转载】ChatGPT 提示词十级技巧: 从新手到专家
学习了微博网友宝玉xp老师《ChatGPT 提示词十级技巧: 从新手到专家》 个人学习要点: 1、关于提示中避免使用否定句,播主说:“没有人能准确解释为什么,但大语言模型在你告诉它去做某事时,表现似乎比你让它不做某事时更…...
类的生命周期
目录 一、概述 二、加载阶段 三、连接阶段 连接阶段之验证 连接阶段之准备 连接阶段之解析 四、初始化阶段 五、总结 一、概述 类的生命周期描述了一个类加载、使用、卸载的整个过程。 也是其他知识的基础: 类的生命周期: 二、加载阶段 加载(Loading…...
AI赋能分层模式,解构未来,智领风潮
🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章🔥:探索设计模式的魅力:AI赋能分…...
Linux平台下muduo网络库源码编译安装与测试,包含boost库的安装与测试!!!!
最近在学习muduo网络库,先来记录一下如何在Linux平台下编译安装以及测试muduo网络库源码。 获取源码 muduo库源码github仓库地址: https://github.com/chenshuo/muduo 在linux系统下,输入 git clone https://github.com/chenshuo/muduo.git…...
MATLAB 函数
MATLAB 函数 函数是一起执行任务的一组语句。在MATLAB中,函数是在单独的文件中定义的。文件名和函数名应该相同。 函数在其自己的工作空间(也称为本地工作空间)中对变量进行操作,与在MATLAB命令提示符下访问的工作空间࿰…...
spring高级篇(七)
1、异常处理 在DispatcherServlet中,doDispatch(HttpServletRequest request, HttpServletResponse response) 方法用于进行任务处理: 在捕获到异常后没有立刻进行处理,而是先用一个局部变量dispatchException进行记录,然后统一由…...
根据token获取了username后,能否在其他地方使用这个获取的username,或者在其他地方如何获取username?
当然可以在其他地方使用获取到的用户名。一旦你从token中获取到用户名,你可以将其存储在能够在整个应用程序中访问的地方。 在你的代码中,你从token中获取用户名的地方是这里: String username getUsernameFromToken(token);在这行之后&am…...
值模板参数Value Template Parameters
模板通常使用类型作为参数,但它们也可以使用值。使用类型和可选名称声明一个值模板参数,方式与声明函数参数类似。值模板参数仅限于可以指定编译时常量的类型是bool、char、int等,但不允许使用浮点类型、字符串字面值和类。 #include <io…...
Splashtop 荣获 TrustRadius 颁发的“2024年度最受欢迎奖”
2024年5月8日 加利福尼亚州库比蒂诺 Splashtop 在全球远程访问和支持解决方案领域处于领先地位,该公司正式宣布将连续第三年荣获远程桌面和远程支持类别的“TrustRadius 最受欢迎奖”。Splashtop 的 trScore 评分高达8.6分(满分10分)&#x…...
使用python将`.mat`文件转换成`.xlsx`格式的Excel文件!!
要将.mat文件转换成.xlsx格式的Excel文件 第一步:导入必要的库第二步:定义函数来转换.mat文件第三步:调用函数注意事项 要将.mat文件转换成.xlsx格式的Excel文件,并保持文件名一致,你可以使用scipy.io.loadmat来读取.m…...
python基础 面向练习学习python1
python基础 面向练习学习python1 1. 电话查询问题描述1. 问题分析1. 输入输出分析2. 需求分析:将题目的数据存储并查询2. 所需知识: python 数据存储的类型3. 确定数据存储类型4. 如何书写代码拓展 从键盘中添加或删除联系人5. 回到数据查询 代码拓展 功…...
Ubuntu安装Docker和Docker Compose
文章目录 Docker安装Docker Compose安装示例前端Dockerfile示例 Docker官网: https://docs.docker.com/ Docker镜像仓库: https://hub.docker.com/ Docker安装 安装curl(可选) 如果已经安装了curl,则跳过此步骤 # 更新包缓存 sudo apt u…...
【linux软件基础知识】-死锁问题
死锁问题 当两个或多个线程由于每个线程都在等待另一个线程持有的资源而无法继续时,就会发生死锁 如下图所示, 在线程 1 中,代码持有了 L1 上的锁,然后尝试获取 L2 上的锁。 在线程 2 中,代码持有了 L2 上的锁,然后尝试获取 L1 上的锁。 在这种情况下,线程 1 已获取 L…...
C#面:简要谈对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用
在微软 .NET 框架下,Remoting 和 WebService 是两种常用的技术,用于实现分布式应用程序的通信和交互。 Remoting(远程调用): Remoting是一种用于在不同应用程序域之间进行通信的技术。它允许对象在不同的进程或计算机…...
《21天学通C++》(第十九章)STL集合类(set和multiset)
为什么需要set和multiset: 1.自动排序: set和multiset会自动按照元素的值进行排序。 2.快速查找: 由于元素是有序的,set和multiset可以提供对元素的快速查找,通常是基于二叉搜索树实现的,查找操作的时间复杂度为O(log …...
CSDN上是不是有机器人点赞和收藏?
我在CSDN上写作,主要是本来是记录学习工作中的一些知识点,看得人不多本来就能预想到的。 但是今天发现五一写的一篇博客,出现了很奇怪的阅读、点赞、收藏数。只有2个人阅读,但是有8个点赞,还有5个收藏。 我不禁怀疑CS…...
头歌C语言课程实验(递归函数、嵌套函数)
第1关:递归求阶乘数列 任务描述 题目描述:用递归求Sn1!2!3!4!5!…n!之值,其中n是一个数字。 相关知识(略) 编程要求 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输…...
树莓派的几种登录方式、及登录失败解决方式
使用TF卡安装树莓派的系统后,可以通过编辑TF卡里的文件来设置和启用 “ VNC ” 、“ SSH ” 和 “ 串口 ” 功能。不过,在使用中打开VNC和SSH可能并不直观或方便,因为这些服务通常在树莓派的系统内部配置和启动。但你可以通过以下步骤来设置和…...
数据库中视图的知识点
视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,多表视图一…...
aardio封装库) 微软开源的js引擎(ChakraCore)
前言 做爬虫肯定少不了JavaScript引擎的使用,比如在Python中现在一般用pyexecjs2来执行JavaScript代码,另外还有一些其他执行JavaScript的库: https://github.com/eight04/node_vm2: rpc调用nodejs,需要安装nodehttps://github.…...
LeetCode-hot100题解—Day6
原题链接:力扣热题-HOT100 我把刷题的顺序调整了一下,所以可以根据题号进行参考,题号和力扣上时对应的,那么接下来就开始刷题之旅吧~ 1-8题见LeetCode-hot100题解—Day1 9-16题见LeetCode-hot100题解—Day2 17-24题见LeetCode-hot…...
【Linux】gcc/g++的使用
🎉博主首页: 有趣的中国人 🎉专栏首页: Linux 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解Linux中gcc/g使用的相关内容。 如果看到最后您觉得这篇文章写得不错…...
2024-5-3学习笔记 虚拟继承原理
目录 原理 总结 前面提到过,解决菱形继承产生的数据二义性问题和数据冗余,就需要用到虚拟继承,关于它是如何解决的,我们来一起研究。 class Person { public :string _name ; // 姓名 }; class Student : virtual public Perso…...
C语言什么是“野指针”?
一、问题 “野指针”是⼀个⽐较陌⽣的术语,那么它到底是什么呢? 二、解答 当程序⾥声明了⼀个指针⽽又没有给这个指针赋值,使其指向⼀个地址时,这样的指针就称为“野指针”。 “野指针”会随意地指向⼀个地址。当对这个指针进⾏操…...
LeetCode--所有质数、质数对
1.0 Q: 输出 100 以内所有质数 1.1 /* 第一层循环控制检查到哪个数* 第二层通过遍历除以每个比他小的数的方式,检查每个数是不是质数* 由于要遍历检查,设置一个标记,只要任意一次循环可以整除,我们就设置该标记为不是质数 */boolean isPrime true;for (int i 2; i < 100…...
公司网站做的一样算不算侵权/哈尔滨seo网站管理
this在js中有着非常广泛的应用,但其所指的对象也常常让人摸不着头脑,简而言之: this指的就是调用函数的对象,最常见的莫过以下几种 1.直接使用函数,则为window对象 function a(){this.a 1console.log(this) } a() //window对象 wi…...
免费网站制作推广/google搜索引擎入口下载
前段时间,在各大互联网平台,鸿星尔克成为了顶流般的存在。鸿星尔克官方账号更是一夜暴涨百万粉丝,直播间产品也被卖到下架,在鸿星尔克捐款的消息出现之后,在短短的几天里,鸿星尔克的销售额就超过了上半年的…...
网站漏洞原理/seo如何提高排名
自我介绍 面试官,您好,我叫xxx,目前就读于xxx计算机科学与技术学院,现在已经研二阶段。我比较熟悉java虚拟机反射机制以及线程死锁等问题。此外,我也了解过解决IPv4枯竭问题的NAT技术,自己也曾扩展过家里使…...
网站的风格有哪些/简述优化搜索引擎的方法
PHP有干扰线噪点的验证码类PHP#验证码 #类2012-06-06 08:35验证码类代码:/* 一个网在线教程 http://yige.org */class Captcha{private $width;private $height;private $codeNum;private $code;private $im;function __construct($width80, $height20, $codeNum4){…...
织梦cms 做视频网站/深圳产品网络推广
项目引入vue-i18n实现国际化多语言,vue-i18n包 自行下载,放到libs目录下,在main.js中引入 //main.js import Vue from vue import App from ./App //多语言引入 import VueI18n from ./libs/vue-i18n import en from ./common/js/en.js//英文…...
公司招聘一个网站建设来做推广/财经新闻最新消息
【2017cs231n】课程笔记01:计算机视觉概述及历史背景 搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多算法、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ github:https://github.com/aimi-cn/AILearners 课…...