当前位置: 首页 > news >正文

大语言模型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命令提示符下访问的工作空间&#xff0…...

spring高级篇(七)

1、异常处理 在DispatcherServlet中,doDispatch(HttpServletRequest request, HttpServletResponse response) 方法用于进行任务处理: 在捕获到异常后没有立刻进行处理,而是先用一个局部变量dispatchException进行记录,然后统一由…...

根据token获取了username后,能否在其他地方使用这个获取的username,或者在其他地方如何获取username?

当然可以在其他地方使用获取到的用户名。一旦你从token中获取到用户名,你可以将其存储在能够在整个应用程序中访问的地方。 在你的代码中,你从token中获取用户名的地方是这里: String username getUsernameFromToken(token);在这行之后&am…...

值模板参数Value Template Parameters

模板通常使用类型作为参数&#xff0c;但它们也可以使用值。使用类型和可选名称声明一个值模板参数&#xff0c;方式与声明函数参数类似。值模板参数仅限于可以指定编译时常量的类型是bool、char、int等&#xff0c;但不允许使用浮点类型、字符串字面值和类。 #include <io…...

Splashtop 荣获 TrustRadius 颁发的“2024年度最受欢迎奖”

2024年5月8日 加利福尼亚州库比蒂诺 Splashtop 在全球远程访问和支持解决方案领域处于领先地位&#xff0c;该公司正式宣布将连续第三年荣获远程桌面和远程支持类别的“TrustRadius 最受欢迎奖”。Splashtop 的 trScore 评分高达8.6分&#xff08;满分10分&#xff09;&#x…...

使用python将`.mat`文件转换成`.xlsx`格式的Excel文件!!

要将.mat文件转换成.xlsx格式的Excel文件 第一步&#xff1a;导入必要的库第二步&#xff1a;定义函数来转换.mat文件第三步&#xff1a;调用函数注意事项 要将.mat文件转换成.xlsx格式的Excel文件&#xff0c;并保持文件名一致&#xff0c;你可以使用scipy.io.loadmat来读取.m…...

python基础 面向练习学习python1

python基础 面向练习学习python1 1. 电话查询问题描述1. 问题分析1. 输入输出分析2. 需求分析&#xff1a;将题目的数据存储并查询2. 所需知识&#xff1a; python 数据存储的类型3. 确定数据存储类型4. 如何书写代码拓展 从键盘中添加或删除联系人5. 回到数据查询 代码拓展 功…...

Ubuntu安装Docker和Docker Compose

文章目录 Docker安装Docker Compose安装示例前端Dockerfile示例 Docker官网&#xff1a; https://docs.docker.com/ Docker镜像仓库&#xff1a; https://hub.docker.com/ Docker安装 安装curl(可选) 如果已经安装了curl&#xff0c;则跳过此步骤 # 更新包缓存 sudo apt u…...

【linux软件基础知识】-死锁问题

死锁问题 当两个或多个线程由于每个线程都在等待另一个线程持有的资源而无法继续时,就会发生死锁 如下图所示, 在线程 1 中,代码持有了 L1 上的锁,然后尝试获取 L2 上的锁。 在线程 2 中,代码持有了 L2 上的锁,然后尝试获取 L1 上的锁。 在这种情况下,线程 1 已获取 L…...

C#面:简要谈对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用

在微软 .NET 框架下&#xff0c;Remoting 和 WebService 是两种常用的技术&#xff0c;用于实现分布式应用程序的通信和交互。 Remoting&#xff08;远程调用&#xff09;&#xff1a; Remoting是一种用于在不同应用程序域之间进行通信的技术。它允许对象在不同的进程或计算机…...

《21天学通C++》(第十九章)STL集合类(set和multiset)

为什么需要set和multiset: 1.自动排序&#xff1a; set和multiset会自动按照元素的值进行排序。 2.快速查找&#xff1a; 由于元素是有序的&#xff0c;set和multiset可以提供对元素的快速查找&#xff0c;通常是基于二叉搜索树实现的&#xff0c;查找操作的时间复杂度为O(log …...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...