LLM(一):大语言模型

自2022年,ChatGPT发布之后,大语言模型(Large Language Model),简称LLM掀起了一波狂潮。作为学习理解LLM的开始,先来整体的理解一下大语言模型

一,发展历史

大语言模型的发展历史可以追溯到早期的语言模型和机器翻译系统,但其真正的起点可以说是随着深度学习技术的兴起而开始。

1.1 统计语言模型

在深度学习技术出现之前,语言模型主要基于传统的统计方法,也称为统计语言模型(SLM)

SLMs是基于统计语言方法开始,基本思想是基于马尔可夫假设建立词预测模型,如根据最近的上下文预测下一个词。具有固定上下文长度nnn的SLM也称为n−gramn-gramn−gram语言模型。

然而这些模型虽然简单,但在处理长文本序列时存在着词汇稀疏性和上下文理解能力有限等问题。

1.2 神经语言模型

随着神经网络技术的发展,Bengio等人于2003年提出了神经语言模型,将语言模型建模问题转化为了一个神经网络的学习问题。

循环神经网络(RNN)和长短期记忆网络(LSTM)的提出进一步增强了神经语言模型对文本序列的建模能力。这些模型能够捕捉到文本序列中的长程依赖关系,从而提高了语言模型的性能

2013年,Google提出了Word2Vec模型,通过词嵌入(Word Embedding)的方式将单词映射到连续的向量空间中,提高了语言模型对单词语义的理解能力。

2017年,谷歌提出了Transformer模型,该模型通过自注意力机制(Self-Attention)实现了并行计算,大大提高了模型的训练速度。

1.3 预训练语言模型

2018年,OpenAI发布了第一个版本的GPT)模型,利用Transformer结构进行预训练,这是首个成功利用大规模无监督学习方法来预训练通用语言表示的模型。

2018年,Google提出了BERT模型,与GPT的区别是GPT采用了单向的自回归方式进行预训练,而BERT通过MLM和NSP实现双向上下文建模。使得预训练语言模型的性能得到了进一步的提升

随后就激发了后续一系列的预训练模型的发展,如XLNet、RoBERTTa、T5、 GPT-2、GPT-3、GPT 3.5、GPT-4 等等

而大语言模型也是在此过程中被定义下来的

二,什么是大语言模型

2.1 定义

从大语言模型字面意思来理解,“语言”和“模型”很好理解,就是代表着在自然语言处理上的AI模型

而这个大指的是神经网络很大,包括模型的参数数量、训练数据量、计算资源等

参数数量

大语言模型通常含有数十亿到数千亿个参数,使得模型能够有更强的语言理解、推理和生成能力

如果只通过 GPT(生成式预训练 Transformer)模型的演进规模来看:

2018 年发布的 GPT-1 包含 1.17 亿个参数,9.85 亿个单词。 2019年发布的GPT-2 包含15亿个参数。 2020年发布的GPT-3 包含1750亿个参数。 ChatGPT 就是基于这个模型。 2023年发布的GPT-4 据爆料它可能包含1.8万亿个参数。

训练数据

训练大语言模型通常需要大规模的文本语料库。这些语料库可以包括来自互联网、书籍、新闻等各种来源的文本数据,从而确保模型能够学习到丰富和多样化的语言知识。

一些常用语训练大语言模型的语料库如下:

如GPT-3,它是在混合数据集上进行训练的;PaLM使用了一个有社交媒体对话、过滤后的网页、书籍、Github、多语言维基百科和新闻组成的预训练数据集

计算资源

训练大型语言模型需要大量的计算资源,包括高性能的计算机集群、大容量的存储设备以及高速的网络连接。

前一段时间有个特别火的新闻是Sam Altman筹资7万亿美元建芯片帝国

7万亿美元,是全球GDP的10%,大约是美国GDP的1/4,或者2/5个中国的GDP。

另外,英伟达价格高昂但依然一卡难求的高性能GPU H100,长期霸占着LLM领域的热门话题,可以说,英伟达垄断了目前的AI算力市场。

马斯克甚至戏言:GPU现在比drug还紧俏

2.2 大语言模型训练方式

现有的神经网络在进行训练时,一般基于反向传播算法(BP算法),先对网络中的参数进行随机初始化,再利用随机梯度下降(SGD)等优化算法不断优化模型参数。

大语言模型的训练通常采用两阶段方法:预训练(pre-training)和微调(fine-tuning)

预训练(Pre-training):

  • 在预训练阶段,模型使用大规模无监督的文本数据进行训练,学习文本数据中的语言表示。
  • 通常采用自监督学习方法,即使用文本数据自身作为标签来训练模型。
  • 训练过程中,模型通过最小化损失函数来优化参数,以使得模型能够更好地表示文本中的语义和语法信息。

微调(Fine-tuning):

  • 在预训练完成后,可以将预训练好的模型参数应用于特定的下游任务,如文本生成、文本分类、情感分析等。
  • 在微调阶段,通常使用带标签的数据集对模型进行进一步训练,以适应特定任务的需求。微调可以在预训练模型的顶部添加一个或多个额外的层,并使用标签数据对这些层进行训练。
  • 微调的目标是调整模型参数,使得模型能够更好地适应特定任务的特征和标签,从而提高任务性能。

在微调阶段,模型在与目标任务或领域相关的更具体、更小的数据集上进一步训练。这有助于模型微调其理解,并适应任务的特殊要求。

三,预训练

3.1 数据收集及处理

3.1.1 数据来源

无论是怎样的模型,数据的质量都是相当重要的。现有的大语言模型主要混合各种公共文本数据集作为预训练语料库。如下为一些代表性模型的预训练数据来源的分布情况

语料库的来源可以广义分为通用文本数据专用文本数据。通用指的就是如网页、书籍和对话文本等广泛可获取的,可以增强模型的泛化能力;专用文本数据就是在想让模型更加专注某一专业领域时所用的,如科学数据、代码等。

如上图中的模型中,就大部分都是使用了通用的预训练数据

3.1.2 数据预处理

收集数据之后,由于不确定性,所以需要对数据进行预处理,尤其是噪声、荣誉、无关或有害的数据。预处理过程如下:

(1) 质量过滤(Quality Filtering) 删除低质量数据,常采用基于分类器基于启发式两种方法 分类器就是使用用高质量数据训练好的二分类的模型来对数据进行分类,不过可能会删除方言、口语和社会语言的高质量文本。 基于启发式就是设计一组精心设计的规则来消除低质量文本,如基于语言、生成文本的评估度量、统计特征、关键词等

(2)去重(De-duplication) 重复数据会降低语言模型的多样性,所以需要进行去重处理。 从数据颗粒上来说,可以分为在句子级、文档级和数据集级等进行去重;

(3)隐私去除(Privary Reduction) 如涉及敏感个人信息的隐私内容,也是需要去除的,很简单有效的就是用基于如姓名、地址、电话号码等关键词的方法

(4)分词(Tokenization) 非常关键的步骤,将原始文本分割成词序列,在之前的文章中有过相关介绍。在工程领域来说,为语料库专门设计一个分词器可能会更有效

3.2 架构

3.2.1 编码器-解码器架构(Encoder-Decoder)

如传统Transformer 模型就是建立在此结构上。它使用了6层的Encoder和Decoder

3.2.2 因果编码器架构(Causal decoder)

这时当前主流使用的,采用单向注意力掩码,以确保每个输入标记只能关注过去的标记和它本身。输入输出标记通过解码器以相同的方式处理

典型的模型有 GPT1/23, OPT, BLOOM, Gopher.

3.2.3 前缀解码器架构(Prefix decoder)

修正了因果解码器的掩码机制,以使其能够对前缀标记执行双向注意力,并仅对生成的标记执行单向注意力。 这样与编码器-解码器架构类似,前缀解码器可以双向编码前缀序列并自回归地逐个预测输出标记,其中在编码和解码过程中共享相同的参数。

总的来说,Encoder-Decoder适用于序列到序列的任务,Causal Decoder适用于需要生成自回归序列的任务,而Prefix Decoder适用于需要根据特定前缀生成序列的任务。

3.3 模型训练

在数据处理好,模型搭建好之后,就要开始对模型进行训练。

四,微调和强化学习

在预训练后,大语言模型可以获得解决各种任务的通用能力。然而,还可以通过特定目标进一步调整,也就是微调(Instruction Tuning)

4.1 指令微调

通过在特定的指令性任务数据集上进行训练,提高模型对于指令类输入的理解和响应。

指令的意思,举个例子,对聊天机器人的指令,需要包括如“今天天气如何”和对应的回答,供模型学习

也就是说需要包含明确指令的数据集,一个指令需要包括一个任务描述、一个输入输出对以及少量实例(可选)。

常用的指令实例格式化方法有格式化已有的数据集还有格式化人类需求

指令微调对模型的性能改进和任务泛化能够起到很好的作用

4.2 对齐微调

大语言模型有时可能表现出意外的行为,例如制造虚假信息、追求不准确的目标,以及产生有害的、误导性的和偏见性的表达。为了避免这些意外行为,研究提出了人类 对齐,使大语言模型行为能够符合人类的期望也就是对齐微调

在预训练阶段使用的训练语料库是没有对模型的主观定性评估的。所以可以在使用人类反馈的数据进行微调,这个过程称为强化学习

五,应用

大语言模型作为具有广泛应用的变革工具而受到重视。

  • 文本生成:这些模型具有理解上下文、含义和语言的微妙复杂性的固有能力。因此,他们可以生成连贯且上下文相关的文本。
  • 问答与信息检索:大语言模型在问答和信息检索领域正在快速发展。他们理解人类语言的卓越能力使他们能够从庞大的数据存储库中提取相关细节。
  • 情感分析与意见挖掘:了解人类的情感和观点在不同的环境中都具有巨大的意义,从塑造品牌认知到进行市场分析。像在社交媒体监控和品牌认知分析领域的应用
  • 辅助代码生成:如GitHub Copilot、通义灵码

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

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

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

相关文章

基于java+springboot+vue实现的图书管理系统(文末源码+Lw)23-259

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,图书信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广…

2路音频解码器JR-AD201

音频解码器 详细介绍 JR-AD201 2路音频解码器,支持RF/ASI/IP输入,支持DRA/AC3/EAC3/AAC/MPEG等音频,输出:2路模拟立体声,2路AES/EBU。 产品特点 支持多种输入方式RF/IP/ASI 接口丰富,AES/EBU/模拟立体声/A…

SpringBoot视图技术

SpringBoot视图技术 前端模板引擎技术的出现,使前端开发人员无需关注后端业务的具体实现,只关注自己页面的呈现效 果即可,并且解决了前端代码错综复杂的问题、实现了前后端分离开发。Spring Boot框架对很多常用的 模板引擎技术(如…

Android 10.0 系统设置语言和输入法菜单Launage语言列表增加支持多种英语语言功能

1.前言 在10.0的系统ROM产品定制化开发中,在系统中的语言和输入法菜单中,在添加语言的默认列表中对于同一类型的语言就可以 会出现一中语言,比如多种英语类型 就显示的不全,所以要求显示所有的英语类型,这样就需要了解语言列表的加载流程 然后加载所有的英语类型,接下来…

股票高胜率的交易法则是什么?

股票交易中的高胜率交易法则并非一成不变,而是根据市场状况、个人投资风格和经验等多种因素综合而定的。以下是一些有助于提升交易胜率的法则和策略: 1.趋势跟踪法则:在股票交易中,趋势跟踪是一种有效的策略。通过观察大盘和个股…

Netty学习——实战篇1 BIO、NIO入门demo

1 BIO 实战代码 Slf4j public class BIOServer {public static void main(String[] args) throws IOException {//1 创建线程池ExecutorService threadPool Executors.newCachedThreadPool();//2 创建ServerSocketServerSocket serverSocket new ServerSocket(8000);log.in…

后端nginx使用set_real_ip_from获取用户真实IP

随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址. 前言:Nginx ngx_http_realip_module…

leetcode 322

leetcode 322 题目 例子 思路 记忆化搜索&#xff0c;使用数组&#xff0c;记录val的最少硬币数量&#xff1b; 递归加bfs; 代码实现 #include <vector> #include <climits> // For INT_MAX #include <algorithm> // For minclass Solution { public:int…

数据结构——线性表(顺序存储结构)

语言&#xff1a;C语言软件&#xff1a;Visual Studio 2022笔记书籍&#xff1a;数据结构——用C语言描述如有错误&#xff0c;感谢指正。若有侵权请联系博主 一、线性表的逻辑结构 线性表是n个类型相同的数据元素的有限序列&#xff0c;对n>0&#xff0c;除第一元素无直接…

雷霆传奇H5_源码搭建架设_神魔之魔改龙珠2

本教程仅限学习使用&#xff0c;禁止商用&#xff0c;一切后果与本人无关&#xff0c;此声明具有法律效应&#xff01;&#xff01;&#xff01;&#xff01; 一. 效果演示 雷霆传奇H5_源码搭建架设_神魔之魔改龙珠2 联网环境&#xff1a; centos7.6 &#xff0c; 放开所有端口…

2024中国航空航天暨无人机展览会8月在重庆举办

2024中国航空航天暨无人机展览会8月在重庆举办 邀请函 主办单位&#xff1a; 中国航空学会 重庆市南岸区人民政府 招商执行单位&#xff1a; 重庆港华展览有限公司 展会背景&#xff1a; 为更好的培养航空航天产业人才&#xff0c;汇聚航空教育产业创新科技&#xff0c;…

基于java+springboot+vue实现的售楼管理系统(文末源码+Lw)23-255

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本售楼管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…

TC1-1-13M SMD-5P 4.5-3000MHZ RF千兆射频变压器

TC1-1-13M 是一款射频变压器。 TC1-1-13M 是一款射频变压器 1. 变压和隔离&#xff1a;将两个电气节点之间进行隔离&#xff0c;同时提供电压转换。 2. 调谐和匹配&#xff1a;通过调整 TC1-1-13M 的谐振频率&#xff0c;可以匹配负载阻抗和源阻抗&#xff0c;从而提高信号传…

设计模式——责任链模式13

责任链模式 每个流程或事物处理 像一个链表结构处理。场景由 多层部门审批&#xff0c;问题分级处理等。下面体现的是 不同难度的问题由不同人进行解决。 设计模式&#xff0c;一定要敲代码理解 传递问题实体 /*** author ggbond* date 2024年04月10日 07:48*/ public class…

【LAMMPS学习】八、基础知识(1.8)键的断裂

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

2011年认证杯SPSSPRO杯数学建模B题(第二阶段)生物多样性的评估全过程文档及程序

2011年认证杯SPSSPRO杯数学建模 B题 生物多样性的评估 原题再现&#xff1a; 2010 年是联合国大会确定的国际生物多样性年。保护地球上的生物多样性已经越来越被人类社会所关注&#xff0c;相关的大规模科研和考察计划也层出不穷。为了更好地建立国际交流与专家间的合作&…

自定义vue-cli 实现预设模板项目

模板结构 主要包括四个部分&#xff1a; preset.jsonprompts.jsgenerator/index.jstemplate/ 项目最终结构 preset.json preset.json 中是一个包含创建新项目所需预定义选项和插件的 JSON 对象&#xff0c;让用户无需在命令提示中选择它们&#xff0c;简称预设&#xff1b;…

JavaWeb-监听器

文章目录 1.基本介绍2.ServletContextListener1.基本介绍2.创建maven项目&#xff0c;导入依赖3.代码演示1.实现ServletContextListener接口2.配置web.xml3.结果 3.ServletContextAttributeListener监听器1.基本介绍2.代码实例1.ServletContextAttributeListener.java2.配置web…

java如何对接波场链

引言 本文将通过列举一些核心步骤的例子&#xff0c;确保大家看完之后能通过举一反三自行对接。 0&#xff0c;建立波场链连接 1&#xff0c;同步区块&#xff0c; 2&#xff0c;区块解析 3&#xff0c;交易状态判断 4&#xff0c;交易转账如何打包 5&#xff0c;如何调用链上指…

蓝桥杯物联网竞赛_STM32L071KBU6_我的全部省赛及历年模拟赛源码

我写的省赛及历年模拟赛代码 链接&#xff1a;https://pan.baidu.com/s/1A0N_VUl2YfrTX96g3E8TfQ?pwd9k6o 提取码&#xff1a;9k6o