大语言模型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》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/602845.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1.数据结构---顺序表

ArrayList 在new的时候并没有进行内存的分配 此时才进行内存分配 两个结论: 第一次Add的时候分配大小为10的内存 扩容是1.5倍扩容

如何修复显示器或笔记本电脑屏幕的黄色色调?这里提供几种方法

序言 如果你的笔记本电脑屏幕呈淡黄色,则可以启用夜灯功能。该问题也可能源于连接松散的显示电缆、损坏的显卡驱动程序或错误配置的显示器设置。以下是一些故障排除步骤,你可以尝试解决此问题。 禁用夜间模式 夜间模式功能旨在减少显示器的蓝色色调,使屏幕看起来更温暖,…

光伏设备数据交互模硬件接口要求

模组的弱电接口采用26(间距2.54mm)双排插针作为连接件,模组与电能表的硬件接口示意图如 图1所示(模组正视图方向),接口定义说明见表3。模组外接插座和插头采用凤凰端子结构,接口示意 图应符合附…

网贷大数据查询要怎么保证准确性?

相信现在不少人都听说过什么是网贷大数据,但还有很多人都会将它跟征信混为一谈,其实两者有本质上的区别,那网贷大数据查询要怎么保证准确性呢?本文将为大家总结几点,感兴趣的朋友不妨去看看。 想要保证网贷大数据查询的准确度&am…

差动绕组电流互感器过电压保护器ACTB

安科瑞薛瑶瑶18701709087/17343930412 电流互感器在运行中如果二次绕组开路或一次绕组流过异常电流,都会在二次侧产生数千伏甚至上万伏的过电压。这不仅会使CT和二次设备损坏,也严重威胁运行人员的生命安全,并造成重大经济损失。采用电流互感…

SpringBoot多数据源配置

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

Git知识点总结

目录 1、版本控制 1.1什么是版本控制 1.2常见的版本控制工具 1.3版本控制分类 2、集中版本控制 SVN 3、分布式版本控制 Git 2、Git与SVN的主要区别 3、软件下载 安装:无脑下一步即可!安装完毕就可以使用了! 4、启动Git 4.1常用的Li…

CentOS 7 :虚拟机网络环境配置+ 安装gcc(新手进)

虚拟机安装完centos的系统却发现无法正常联网,咋破! 几个简单的步骤: 一、检查和设置虚拟机网络适配器 这里笔者使用的桥接模式,朋友们可以有不同的选项设置 二、查看宿主机的网络 以笔者的为例,宿主机采用wlan上网模…

在python中对Requests的理解

离上次写文章已经有小半个月了,但是: 没有动态的日子里,都在努力生活❤️;发表动态的日子里,都在热爱生活。🌹 目录 一、python集成工具的分类:1.解释Requests2. Requests3. Response对象的属性…

mvc 异步请求、异步连接、异步表单

》》》 利用Jquery ajax 》》》 mvc 异步表单 c# MVC 添加异步 jquery.unobtrusive-ajax.min.js 方法 具–>Nuget程序包管理器–>程序包管理器控制台 在控制台输入:PM>Install-Package Microsoft.jQuery.Unobtrusive.Ajax –version 3.0.0 回车执行即可在…

5分钟了解Flutter线程Isolate的运用以及Isolate到底是怎样执行的

5分钟了解Flutter线程Isolate的运用以及Isolate到底是什么 Isolate在dart是什么flutter线程内存隔离Isolate的使用第一种,无参数使用Isolate.run 第二种,有参数使用compute:使用Isolate.spawn Isolate与外面线程通讯Isolate以文件形式加载到内存运行 Iso…

led显示屏用什么胶水封装比较好?

led显示屏用什么胶水封装比较好? LED显示屏通常使用特定的胶水进行封装,以确保其稳定性和耐用性。常见的用于LED显示屏封装的胶水类型包括有机硅灌封胶、环氧树脂灌封胶等。 有机硅灌封胶具有优异的耐高温、防水、绝缘和密封性能,非常适合用…

使用MATLAB/Simulink点亮STM32开发板LED灯

使用MATLAB/Simulink点亮STM32开发板LED灯-笔记 一、STM32CubeMX新建工程二、Simulink 新建工程三、MDK导入生成的代码 一、STM32CubeMX新建工程 1. 打开 STM32CubeMX 软件,点击“新建工程”,选择中对应的型号 2. RCC 设置,选择 HSE(外部高…

python菜鸟级安装手册-上篇

python安装教程 电脑-右键-属性,确认系统类型和版本号,比如本案例系统是64位 win10 点击python官网,进行下载 适用于 Windows 的 Python 版本 |Python.org 选择第一个安装程序64位即可满足需要, 嵌入式程序包是压缩包版本&…

MySQL中的ON DUPLICATE KEY UPDATE和REPLACE

在 MySQL 中,ON DUPLICATE KEY UPDATE 和 REPLACE 语句都可以用来处理插入数据时主键或唯一键冲突的情况,但它们在处理冲突的方式上有所不同。它们有以下区别: 行为方式: ON DUPLICATE KEY UPDATE:当插入的数据行存在冲…

【竞技宝】欧冠:多特淘汰大巴黎进决赛,姆巴佩迷失

多特蒙德在本赛季欧冠半决赛第二回合较量中,跟大巴黎队狭路相逢。赛前,大部分球迷和媒体都看好坐拥姆巴佩的大巴黎队,可以靠着主场作战的优势,逆转多特蒙德晋级欧冠决赛。大巴黎队主场作战确实创造出不少得分机会,只可惜球队运气有些差,射门都打在了多特蒙德横梁上。反观多特蒙…

双翻斗雨量计学习

双翻斗雨量计用户手册(脉冲型) 本仪器由雨量计壳体、承雨口、漏斗、翻斗支撑、上漏斗雨量调节支架、上漏斗、汇集漏斗、计数翻斗雨量调节支架、计数翻斗、干簧管安装架、轴承螺钉、出水漏斗、腿部支架、干簧管、水平泡、调节支撑板、控制盒、调平装置、接…

IaC实战指南:DevOps的自动化基石

基础设施即代码(Infrastructure as Code,IaC)是指利用脚本、配置或编程语言创建和维护基础设施的一组实践和流程。通过IaC,我们可以轻松测试各个组件、实现所需的功能并在最小化停机时间的前提下进行扩展。更值得一提的是&#xf…

算法基础01一快速排序,归并排序,二分

一.排序 1.快速 排序 基于分治 确定分界点 左 右 中间 随机划分区间 左半边<x >x在右半边递归处理左右两端 #include<iostream>using namespace std;const int N 1e6 10;int n; int q[N]; void quick_sort(int q[],int l,int r) {if(l>r)return;//边界&…

k8s 资源文件参数介绍

Kubernetes资源文件yaml参数介绍 yaml 介绍 yaml 是一个类似 XML、JSON 的标记性语言。它强调以数据为中心&#xff0c;并不是以标识语言为重点例如 SpringBoot 的配置文件 application.yml 也是一个 yaml 格式的文件 语法格式 通过缩进表示层级关系不能使用tab进行缩进&am…