5分钟速通大语言模型(LLM)的发展与基础知识

  • ✍️ 作者:哈哥撩编程(视频号同名)
    • 博客专家·全国博客之星第四名
    • 超级个体·COC上海社区主理人
    • 特约讲师·谷歌亚马逊演讲嘉宾
    • 科技博主·极星会首批签约作者

  • 🏆 推荐专栏:
    • 🏅 程序员:职场关键角色通识宝典
    • 🏅 程序员:职场效能必修宝典
    • 🏅 程序员:文心一言指令词宝典
    • 🏅 Python全栈白宝书
    • 🏅 ChatGPT实践指南白宝书
    • 🏅 产品思维训练白宝书
    • 🏅 全域运营实战白宝书
    • 🏅 大前端全栈架构白宝书

文章目录

  • ⭐ 大语言模型的发展一览
    • ✨ AI 1.0 VS AI 2.0
    • ✨ 大模型发展 · 词向量
    • ✨ 大模型发展 · 词嵌入
    • ✨ 大模型发展 · 句向量与全文向量
    • ✨ 大模型发展 · 理解上下文
    • ✨ 大模型发展 · ChatGPT的出现

这一章节呢,我们主要学习的是AI大模型相关的一些背景和基础知识。大家可以看到这一章节的标题是 “多模型强应用:AI 2.0时代应用开发者的机会” ,标题名字倒是挺唬人的,相较于唬人的标题,大家肯定更关心的是接下来一段时间主要讲哪些内容呢?

首先,要请大家理解的是,由于内容篇幅大、涉及的知识面和方向也挺多的,所以接下来会进行章节内容的拆解。第一个就是带领大家了解一下大语言模型的快速发展,接着会为大家介绍一下国内主要的 LLM 的特点,以及AIGC整个产业的拆解,包括一下专业的常见名词,最后会和大家讲一下应用开发者在目前这样一个大背景下的机会,最后就是实战部分 Agent智能体 的项目,针对这个项目做需求分析和技术选型相关的工作,这是这一大章节的主要内容,先来看一下 大语言模型的发展一览 吧。

⭐ 大语言模型的发展一览

我们都知道,大语言模型(Large Language Model),简称是是 LLM 。为什么说是 AI 2.0时代 呢?这是因为在 LLM 出现之前,我们将之前的时间归结为 AI 1.0时代 。这个时候主要是各类的 NLP工程 都是一个特点,也就是通用性比较差。整个AI领域终极的形态,也是很多AI领域创业者都希望能够达到的一个形态,就是AGI,即所谓的通用智能。

✨ AI 1.0 VS AI 2.0

AI 1.0时代的特点就是单任务的智能AI,比如说27年前的IBM公司研制的人工智能系统 - 深蓝,它的特点就是只会下国际象棋,通过深度学习了很多国际象棋的套路后,战胜了国际象棋大师 加里·卡斯帕罗夫。这样的人工智能,你如果向它提问超过国家象棋之外的内容,它绝对是不知道的,这就是单任务智能AI的典型特点。



大语言模型的特点是什么?最显著的特点之一就是可以通过语言与我们进行交互,甚至可以通过自然语言的方式拓展到更多的场景,极大的可能会通过这种方式在未来发展出像AGI这样的通用型智能,也就是向我们一样的拥有智慧的智能体。

AI 1.0 这里就不做过多的介绍了,都是一些 NLP 相关的东西,直接从 AI 2.0 开始介绍 大语言模型的发展就好。

✨ 大模型发展 · 词向量

大语言模型从技术层面来分析的话,基本上也是一个从点到面的过程。最早出现的是名为 “词向量” 的技术,就是将自然语言的词语通过 向量 来表示,“向量” 是一个数学概念,就相当于是每一个词在 向量空间 里有一个唯一的坐标一样。就如同下图中的 “apple” 这个词在向量空间中表现出来的就是 [1 0 0 0 0] 这样的一个坐标,而 “elephant” 这个词的向量空间坐标就与 “apple” 有所区别,它的位置是 [0 0 0 0 1] 。这样的好处就在于,可以将我们现实生活中的自然语言通过数学语言的方式描述出来,通过精准的坐标可以找到位置。但是需要注意的是,词向量无法表达词语与词语之间的关联关系,另一个就是效率上也存在着一定的问题。



✨ 大模型发展 · 词嵌入

在 “词向量” 的基础之上,又出现了 “词嵌入技术” ,也就是 “embedding” ,在后续的实践项目中也会有使用到。词嵌入技术本质上其实还是词向量,其实就是对语言模型进行预训练,通过对现有的大量文章进行训练,让原本的词向量具备语言信息。

通过一些语言的训练方式,经过预训练之后的词向量,在向量空间上优惠诞生额外的信息,就会有效的提升模型的效果,而且可以在后续的其他任务空间做迁移,这就是大语言模型的预训练的初始原型。

在下图中,我们可以看到 embedding 中的 “dog” 和 “cat” ,通过坐标的方式做了标注,可以具备 低维向量 的表示,还可以具备语义相似、空间向量相近的特性。也就是说 “dog” 和 “cat” 通过大量的文章资料训练后,发现它们都可以归类到 “宠物”,那么这两个坐标点在向量空间中的坐标就是非常接近的,两者同属于宠物的 “向量域” ,而 “tree” 和 “flower” 就同属于是植物的 “向量域” 。



所以,我们就可以看到 “词向量” 实际上就是在 “低维向量” 中表示语义相似的向量空间、相近的一个特性。除此之外,词向量还可以进行迁移学习,将任务迁移到其他任务当中去。前文中介绍到的 IBM公司研制的人工智能系统 - 深蓝 ,就是一个活生生的例子,利用词向量的技术将学习国际象棋的技能进行迁移。

✨ 大模型发展 · 句向量与全文向量

“词嵌入” 之后呢,就出现了 “句向量”“全文向量” ,就是根据前文信息去分析下文,或者是根据本文翻译成另一种语言,也就是说可以有效的处理时序性的序列数据。

所以,我们就可以看到如下图中的例子,可以将 “what time is it ?” 这样的一个句子通过一层一层的神经网络按照 “waht”、“time”、“is”、“it” 、“?” 这样的顺序做上下文的理解。



除此之外,“句向量” 还可以做到 短时记忆选择性 的遗忘,主要应用在 文本生成、语音识别图像描述 等场景,这个时候其实已经可以做到常见的AI识别了。

✨ 大模型发展 · 理解上下文

再往后发展,也就到了 理解全文上下文 的阶段了,理解上下文这种模式的代表作就是 BERT大模型 。这个阶段其实已经可以完成类似完形填空这样的任务了,就是根据上下文的理解完成代词。比如说代表男性的 “他” ,代表女性的 “她” ,代表第三方非人的 “它” ,这个时候也就说所谓的 “真·预训练” 模型时代开启了。



这个时候的显著特点之一就是支持 “并行训练” ,和早期的 RNN、CNN 模型的只能通过一层一层的方式进行训练相比,也就是 RNN、CNN 在处理 “waht time is it ?” 这样的训练的时候,是一层一层处理完前一个任务之后,才会处理后一个任务。所以这种依托 “并行训练” 实现的大模型就替代了 RNN、CNN 这样的神经网络,功能上更加的强大,可以实现类似语义识别的能力了。

✨ 大模型发展 · ChatGPT的出现

2023年,OPenAI 的 ChatGPT 的出现,AI领域正式进入到超大模型和大模型统一的时代。这里的起始点,其实是从谷歌的 T5 模型开始的,ChatGPT中的 “T” 代表的就是谷歌的Transformer(转换器)

ChatGPT 引入的是 Prompt 这样的范式进行模型的训练,也就是说将 提示词(Prompt) 告诉模型,将答案训练出来,不停的通过这样的模式来持续的训练模型。当我们通过 “提示词”、“Prompt” 的方式对 ChatGPT进行引导,从而得出对应的答案。

到了这个时候,以 ChatGPT 和 GPT4 为代表的大模型,效果非常的惊艳,最新的成果就是目前的大模型都开始支持了 多模态 。也就是说开启 文生图、生成文字、生成图片、甚至生成视频 的时代,通过基于 Prompt 为范式训练大模型的方式,将这个标准给公布了出来。



前文介绍的,整个的大模型的发展是一个由点到面过程。其实就是一开始的 词向量 的技术,发展到了 神经网络 ,再到单线、并行训练,最后一直到现在这样的大规模、超大规模的训练集,最终呈现出来的就是现在大家所熟知、能够看到的一个大模型发展的一个结果。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rust web简单实战

一、使用async搭建简单的web服务 1、修改cargo.toml文件添加依赖 [dependencies] futures "0.3" tokio { version "1", features ["full"] } [dependencies.async-std] version "1.6" features ["attributes"]2、搭…

Java发送请求-http+https的

第一步:建议ssl连接对象,信任所有证书 第二步:代码同时支持httphttps 引入源码类 是一个注册器 引入这个类,和它的方法create 注册器,所以对http和https都进行注册,参数为id和item,其中http的…

WebAssembly 入门教程 c++、python编译wasm

WebAssembly 入门 了解 wasm 使用场景,复杂对象传递和经验法则。 简介 WebAssembly 是一种新的编码方式,可以在现代的网络浏览器中运行。它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并…

c#学习基础1

一、复杂数据类型 1)概述 2)枚举 1.基本概念 枚举是一个比较特别的存在,它是一个被命名的整形常量的集合,一般用它来表示状态,类型等 1.1申明枚举和申明枚举变量 1.2申明枚举语法 2.在哪里申明枚举 3.枚举的使用 4…

【网络编程下】五种网络IO模型

目录 前言 一.I/O基本概念 1.同步和异步 2.阻塞和非阻塞 二.五种网络I/O模型 1.阻塞I/O模型 2.非阻塞式I/O模型 ​编辑 3.多路复用 4.信号驱动式I/O模型 5. 异步I/O模型 三.五种I/O模型比较​编辑 六.I/O代码示例 1. 阻塞IO 2.非阻塞I/O 3.多路复用 (1)select …

Llama 3 安装使用方法

Llama3简介: llama3是一种自回归语言模型,采用了transformer架构,目前开源了8b和70b参数的预训练和指令微调模型,400b正在训练中,性能非常强悍,并且在15万亿个标记的公开数据进行了预训练,比ll…

Leetcode—422. 有效的单词方块【简单】Plus

2024每日刷题&#xff08;126&#xff09; Leetcode—422. 有效的单词方块 实现代码 class Solution { public:bool validWordSquare(vector<string>& words) {int row words.size();for(int i 0; i < row; i) {// 当前这一行的列数int col words[i].length(…

Postman的一些使用技巧

Postman 是一个流行的 API 开发工具&#xff0c;用于设计、开发、测试、发布和监控 API。在现代web开发中使用非常广泛。后端开发必备而且必会的工具。 目录 1.配置环境变量 2.动态变量 3.脚本 4.测试 5.模拟 6.监控 7.集合运行器 8.响应保存 9.请求历史 10.同步请求…

如何在iPhone上恢复出厂设置后恢复数据

你不想让这种情况发生&#xff0c;但它确实发生了。您必须将iPhone恢复出厂设置。当您的 iPhone 上出现软件问题且无法修复时&#xff0c;可能会发生这种情况。相反&#xff0c;在更新期间&#xff0c;或者您的iPhone遇到问题时&#xff0c;iPhone上的数据不再存在。 不过不用…

leetcode_47.全排列 II

47. 全排列 II 题目描述&#xff1a;给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 输入&#xff1a;nums [1,2,3] …

性能优化(一):ArrayList还是LinkedList?

引言 集合作为一种存储数据的容器&#xff0c;是我们日常开发中使用最频繁的对象类型之一。JDK为开发者提供了一系列的集合类型&#xff0c;这些集合类型使用不同的数据结构来实现。因此&#xff0c;不同的集合类型&#xff0c;使用场景也不同。 很多同学在面试的时候&#x…

Flutter笔记:使用Flutter私有类涉及的授权协议问题

Flutter笔记 使用Flutter私有类涉及的授权协议问题 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.cs…

使用docker-compose编排lnmp(dockerfile)完成wordpress

文章目录 使用docker-compose编排lnmp&#xff08;dockerfile&#xff09;完成wordpress1、服务器环境2、Docker、Docker-Compose环境安装2.1 安装Docker环境2.2 安装Docker-Compose 3、nginx3.1 新建目录&#xff0c;上传安装包3.2 编辑Dockerfile脚本3.3 准备nginx.conf配置文…

【哈希表】Leetcode 14. 最长公共前缀

题目讲解 14. 最长公共前缀 算法讲解 我们使用当前第一个字符串中的与后面的字符串作比较&#xff0c;如果第一个字符串中的字符没有出现在后面的字符串中&#xff0c;我们就直接返回&#xff1b;反之当容器中的所有字符串都遍历完成&#xff0c;说明所有的字符串都在该位置…

Java枚举(enum)

“今天我们来学习枚举吧&#xff0c;三妹&#xff01;”我说&#xff0c;“同学让你去她家玩了两天&#xff0c;感觉怎么样呀&#xff1f;” “心情放松了不少。”三妹说&#xff0c;“可以开始学 Java 了&#xff0c;二哥。” “OK。” “枚举&#xff08;enum&#xff09;…

Linux服务器安全基础 - 查看入侵痕迹

1. 常见系统日志 /var/log/cron 记录了系统定时任务相关的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息&#xff0c;也可以使用dmesg命令直接查看内核自检信息 /var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. /var/log/btmp:记…

【数据结构】链表专题2

前言 本篇博客继续探讨有关链表的专题&#xff0c;这片博客的题&#xff0c;提前打个预防针&#xff0c;有点意思哦&#xff0c;哈哈哈&#xff0c;话不多说&#xff0c;进入正文 &#x1f493; 个人主页&#xff1a;小张同学zkf ⏩ 文章专栏&#xff1a;数据结构 若有问题 评论…

ubuntu下安装配置python3.11

方案1 添加仓库&#xff1a; $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt update $ sudo apt install python3.11然后查看有多少个python版本已经安装了&#xff1a; ls -l /usr/bin/python*python2.7,python 3.8 ,python 3.11. 然后&#xff0c;设置系统默认…

【IC设计】CRC(循环冗余校验)

目录 理论解读CRC应用CRC算法参数解读常见CRC参数模型 设计实战校招编程题分类串行输入、并行计算、串行输出**串行计算、串行输出&#xff08;线性移位寄存器&#xff09;LSFR线性移位寄存器&#xff08;并转串&#xff09;(并行计算)模二除 总结——串行、并行计算的本质参考…

【数据结构】--- 深入剖析二叉树(上篇)--- 初识树和二叉树

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 数据结构之旅 &#x1f3e0; 初识树 &#x1f4d2; 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点…