百度飞桨大模型训练营:人工智能与大语言模型

1 人工智能基础概念全景介绍

1.1 人工智能概念

解释这些概念

  • AI是计算机学科下的一个分支学科,旨在使用计算机使之能像人类一样学习和思考问题
  • 机器学习是AI的一个子集,它的一个重要特点就是不需要人去做显示编程(不用手撕函数),让计算机自行学习迭代总结规律,做出预测和决策
1.1.1 机器学习

机器学习下就有很多分支了,例如监督学习、无监督学习、强化学习

  • 监督学习目标是学习原始数据和标签之间的映射关系,他的一个特点就是是给定了原始数据和标签,让计算机自行总结归纳,他的经典的应用有对事物的分类、回归预测等

  • 无监督学习就是相对于监督学习,他只给原始数据而不给定标签,让计算机自行发现数据中的模式或规律,他的应用有聚类(就是分组)、降维、异值检测、自编码器(大语言模型中用到)、自监督学习等

  • 强化学习就是让模型在环境中采取行动,不断尝试,让他在环境中获得最大奖励的手段,类似于人类学习的模式,趋利避害,例如Alpha Go

1.1.2 深度学习

深度学习具有这三类学习的一些特点,也有自己的模式,属于都有点但都不是的状态

关于深度学习的核心就是两个词,连接、深度

连接的意思是说,采用了类似于神经元的模式,互相连接;而深度则是指一层一层的神经元来进行映射。

深度学习有一个很经典的应用就是识别手写的数字,通过输入,进行一层一层的运算,让计算机逐渐掌握这些数字更深层次的特征,从而输出正确的结果。

关于深度学习的过程一般有如下几个步骤

数据准备、模型构建、损失函数定义、优化器选择、模型训练、模型评估与调优、模型应用与部署

这些步骤里面最最重要的其实是模型训练这一步

这里有一些基本步骤的概念:

  • 前向传播:将训练数据输入到模型中,经过各层的计算得到输出
  • 计算损失:根据损失函数计算模型的输出与真实标签之间的损失值
  • 反向传播:根据损失值计算梯度,并将梯度反向传播到模型的每一层
  • 参数更新:使用优化器根据梯度信息更新模型的权重参数
  • 迭代训练:重复上述步骤,直到在验证集上的性能达到满意水平或达到预设的训练轮数

那么生成式AI其实就是深度学习的一种应用,而大语言模型并不都是生成式AI,生成式AI也不都是大语言模型,例如文生图、文生视频,还有谷歌的Bert模型都是特例。

2 语言模型的发展及核心算法

大语言模型又称为LLM(large language model)是一种利用自然语言的深度学习的模型

简单说就是给一些输入,就会返回一定的输出,在这个过程中仿佛就有了理解,记忆的能力

他能完成的任务就很多了,可以是续写,翻译,总结,对话等。

2.1 大语言模型为什么大

它的“大”一是体现在训练的数据量巨大,用这些数据进行无监督学习;

二是体现在参数量巨大,这些参数实际上就类似于方程的系数,用于刻画一定的现象,概念等。

这里就有一个Scaling Law,称之为规模定律,当模型大小,数据集大小和用于训练的计算浮点数的增加,模型的性能会提高,为了获得最佳性能,三个因素必须同时放大,当达到一定规模时,就会发生智能涌现的现象。

2.2 大语言模型为什么通用

大模型也被称为通用大模型,一方面随着模型和参数的增加,一个模型对于更多的情景都能产生不同的相应的成果,不需要像分别对词频统计,主题提取等各类方面分别计算推导,只需要一个模型足矣。

2.3 大语言模型的灵魂

Transformer

在2017年6月Transformer模型发布之后,大语言模型就开始发展了

2.4 Transformer之前

在Transformer之前,主流的神经网络是RNN(循环式神经网络),而RNN训练是需要等待上一个步骤完成之后才能开始进行下一步的计算,无法并行计算,训练慢。除此之外RNN难以训练长文本,非常容易以往,文本距离越远,前面对后面的影响就越弱

为了解决RNN的两个问题,他的改良版本LSTM(长短期记忆网络)就出现了 ,但是也没有办法完全解决上述问题,而在处理极长的序列时,仍然受到限制

2.5 Transformer的优势

Transformer有两个优势,一个是自注意力机制,另一个是位置编码

它的自注意力机制体现在即使两个词的位置隔得很远,他依然可以捕捉到他们的相关性,依赖关系,而这不仅仅是两个词之间的关系,而是所有词之间的关系

它的位置编码优势主要是因为首先在语言里,字的位置是非常重要的,他对于每个词赋予位置编码之后,那么就不需要再按照顺序进行输入,因为相当于词是自带位置的,那么此时就可以一次性输入大量的词,每一次都可以独立的计算,不需要等待其他位置的结果,也就是说可以进行并行训练

3 Transformer内部发生着什么

大语言模型输出的本质其实很简单,就是预测出下一个出现概率最高的词,例如搜索栏中预测的自动补全,那么在Transformer内部究竟发生了什么,他是如何进行预测的呢

3.1 数据预处理

  • 我们在输入一段文字时,计算机实际上是无法理解和处理的,这时候就需要进行预处理,这里称之为TOKEN化(或分词),他是将句子、段落、文章等长文本分解为以字词(token)为单位的数据结构
  • 在所有的文本都变成了token,数字化之后就需要进行词嵌入,他其实就是将token转化为一个向量,可以简单理解为他是一个有序的数组,他可以捕捉到token之间的语义和语法关系
  • 这时我们就需要加入之前提到的位置编码,捕捉词在句子中的顺序关系,维度和嵌入层一样(向量相加),得到一个包含了一个位置信息的新向量

这三步预处理之后,我们就把长文本转化成了包含语法语义和位置信息的向量

3.2 编码器

编码器的主要作用就是把上面的输入转化成一种更抽象的表示形式,这种表示形式也是向量,最主要的就是要捕捉向量之间的关键特征了

能进行这样的操作,主要就是依靠这里的自注意力机制了

  • 自注意力机制会计算句子中每个词与其他词之间的相关性得分,作为注意力权重,他反映了词与词之间的关联程度,可以用于确定哪些词在当前上下文中更加重要
  • 利用这些权重,调整每个词之间的表示,权重高的词将获得更大的关注,而权重低的词则相对被忽略
  • 最后使用权重对输入序列每个位置的嵌入向量加权求和,得到一个新的表示向量

这样我们就把一开始的向量加入权重得到新的向量

而这样的编码器,自注意力机制在这个过程中有很多个,称之为多头自注意力模块,他们可以从不同角度出发,互不影响,独立运算,关注文本中的不同方面或特征,类似于我们每个人对于同一件事情的看法是不同的。

3.3 解码器

这里解码器有两个输入来源,一是由编码器的输出,二是由之前上一轮文本的输出作为新的输入

解码器的过程与编码器类似,不同之处是解码器会关注输入序列里所有其他词,在解码器中,自注意力只会关注这个词和他前面的所有词,确保生成过程的顺序性和正确性

最终就可以得到包含输入序列的全局信息、关于当前位置信息和已生成的序列信息的新向量

3.4 Linear层和Softmax层

最后阶段实际上就是输出的步骤

  • 在Linear层中,会将输入的向量映射到一个更大的logits向量上。logits向量的长度通常与词汇表的大小一致,每一个向量上的数字对应一个词汇
  • 在Softmax层中,将logits向量的每一个数字转换成0到1之间的概率值,这些概率表示词汇在当前位置被选择的概率,并且所有位置的概率和为1

最终会将最高概率的token输出

3.5 Transformer的变形

仅编码器模型(自编码器模型)
这类编码器只使用Transformer的编码器部分,Bert是这种模型的代表,他通过遮蔽部分输入并预测这些遮蔽的词来训练模型,从而学习文本的上下文表示,这类模型适用于理解语言的任务,如文本分类、情感分析、问答等。

仅解码器模型(自回归模型)
这类模型只使用Transformer的解码器部分,并且通常通过自回归方式生成文本,GPT系列是这种模型的代表,他们通过预测序列中的下一个此来生成文本,这种模型适用于文本生成任务,文章协作,摘要生成。

编码器-解码器模型(序列到序列模型)
这类模型同时保留了两部分,T5、Bart等模型是这种结构的例子,通常适用于一个序列转换为另一个序列的任务,如机器翻译,文本摘要等。

4 类Chatgpt产品的诞生之路

4.1 无监督学习

1、数据准备与预处理:海量文本作为原料,使用分词器(tokenizer)将这些文本数据转化为token序列。如GPT3,训练数据的整体规模是3,000亿的token;

2、任务构建:采用无监督学习的方式训练模型,常见的万法定掩码语言建模(Masked Language Modeling,MLIM)T还础筱n精换)们随机选择输入序列中的一些token进行掩码(即用特殊符号替换)﹐然后要求模型根据上下文预测这些被掩码的token

3、模型训练:将预处理后的token序列输到Transformer模型中,经过Transformer得到每个可能token的预测概率。将预测的概率分布与真实值(即被掩码的token)进行比较,计算交叉嫡损失。
通过反向传播算法,计算损失函数对模型参数的梯度,并使用优化算法(如梯度下降)更新模型的权重。这个过程迭代进行,直到模型在验证集上达到满意的性能。

4.2 监督学习微调

4.3 人工评价和监督学习

4.4 通过强化学习不断提升回复质量

当模型生成一个行为或回答时,奖励函数会计算一个奖励值,这个奖励值会被优化算法用来计算损失函数,并进一步用来更新大模型的权重,在这个过程中我们不断朝着增加这些行为或回答发生概率的方向进行调整。

参考:飞桨AI Studio星河社区 - 人工智能学习与实训社区 (baidu.com)

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

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

相关文章

进程等待详解

一、进程等待的作用 我们都知道&#xff0c;当子进程已经结束而父进程还在执行时&#xff0c;子进程会变成僵尸进程&#xff0c;造成内存泄漏等问题&#xff0c;如下&#xff1a; #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include &l…

【包邮送书】ARM汇编与逆向工程

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

被问了N遍的效率工具!批量自动添加好友

你还在手动输入客户号码或是微信号&#xff0c;再逐一进行搜索和添加吗&#xff1f; 现在有一个工具可以帮助你完成这项重复枯燥的工作任务&#xff0c;而且&#xff0c;这个工具不仅能够帮助你批量添加微信好友&#xff0c;更有很多自动化的功能&#xff0c;让你的办公效率得…

第二证券|AIGC行业新突破不断 文化传媒板块活跃

本周以来&#xff0c;以短剧、游戏为代表的文明传媒板块实现三连涨。3月13日&#xff0c;游戏股逆势大涨&#xff0c;游戏出海、网络游戏、短剧游戏方向领涨。到收盘&#xff0c;因赛集团以20%幅度涨停&#xff0c;掌趣科技涨超10%&#xff0c;凯撒文明、中广天择、时代出书、大…

【Datawhale组队学习:Sora原理与技术实战】训练一个 sora 模型的准备工作,video caption 和算力评估

训练 Sora 模型 在 Sora 的技术报告中&#xff0c;Sora 使用视频压缩网络将各种大小的视频压缩为潜在空间中的时空 patches sequence&#xff0c;然后使用 Diffusion Transformer 进行去噪&#xff0c;最后解码生成视频。 Open-Sora 在下图中总结了 Sora 可能使用的训练流程。…

Django之Cookie

Django之Cookie 目录 Django之Cookie介绍Django操作Cookie设置Cookie浏览器查看Cookie 获取Cookie设置超时Cookie注销Cookie 模拟登录验证登录验证装饰器登录验证装饰器-升级版 介绍 当我们上网使用社交媒体或者购物时&#xff0c;浏览器需要通过一种方式来记住我们。想象一下…

Spring boot java: 无效的目标发行版: 18

idea 搭建spring boot 报错java: 无效的目标发行版: 18 本人jdk 1.8 解决方案如下&#xff1a;

学点Java打小工_Day4_数组_冒泡排序

1 数组基本概念 程序算法数据结构 算法&#xff1a;解决程序的流程步骤 数据结构&#xff1a;将数据按照某种特定的结构来存储 设计良好的数据结构会导致良好的算法。 ArrayList、LinkedList 数组是最简单的数据结构。 数组&#xff1a;存放同一种类型数据的集合&#xff0c;在…

VGG网络的代码实现

VGG网络的程序实现完全根据配置表来实现。 全连接层之前的部分属于特征提取部分&#xff0c;后三部分全连接层用来分类。 1、模型 import torch.nn as nn import torch# official pretrain weights #预训练的权重下载地址 model_urls {vgg11: https://download.pytorch.org/…

电子科技大学链时代工作室招新题C语言部分---题号E

1. 题目 这道题大概的意思是说&#xff0c;一座城市中被埋了许多雷&#xff08;用一个只含0和1的字符串表示城市&#xff0c;1代表有雷&#xff0c;0代表无雷&#xff09;。 你作为一个排雷兵&#xff0c;需要花最少的钱引爆所有的雷来使城市中不再有雷&#xff08;太逆天了&a…

测试用例的设计(1)

目录 1. 测试用例的基本要素 2.测试用例的设计方法 2.1.基于需求设计 2.2根据功能需求测试 2.3非功能测试 3. 具体的设计方法 3.1等价类法 3.2边界值法 3.3判定表 1. 测试用例的基本要素 测试用例是为了实施测试而面向测试的系统提供的一组集合,这组集合包含:测试环境,…

Java Web开发从0到1

文章目录 总纲第1章 Java Web应用开发概述1.1 程序开发体系结构1.1.1 C/S体系结构介绍1.1.2 B/S体系结构介绍1.1.3 两种体系结构的比较1.2 Web应用程序的工作原理1.3 Web应用技术1.3.1 客服端应用技术1.3.2 服务端应用技术1.4 Java Web应用的开发环境变量1.5 Tomcat的安装与配置…

2024年3月2日~2024年3月15日周报

文章目录 一、前言二、 D 2 UNet \textrm{D}^{2}\textrm{UNet} D2UNet 阅读情况2.1 体系结构2.2 损失函数 三、遇到的问题及解决四、小结 一、前言 在上上周寻找改进网络框架与超参数的灵感&#xff0c;并跑代码查看了效果。 最近两周&#xff0c;继续修改网络框架结构&#xf…

【Unity】Tag、Layer、LayerMask

文章目录 层&#xff08;Layer&#xff09;什么是LayerLayer的应用场景Layer层的配置&#xff08;Tags & Layers&#xff09;Layer的数据结构LayerMaskLayer的选中和忽略Layer的管理&#xff08;架构思路&#xff09;层碰撞矩阵设置&#xff08;Layer Collision Matrix&…

SpringBoot(拦截器+文件上传)

文章目录 1.拦截器1.基本介绍2.应用实例1.去掉Thymeleaf案例中使用session进行权限验证的部分2.编写自定义拦截器 LoginInterceptor.java 实现HandlerInterceptor接口的三个方法3.注册拦截器1.第一种方式 配置类直接实现WebMvcConfigurer接口&#xff0c;重写addInterceptors方…

综合小区管理系统|基于Springboot的综合小区管理系统设计与实现(源码+数据库+文档)

综合小区管理系统目录 目录 基于Springboot的综合小区管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、出入管理 2、报修管理 3、车位管理 4、公告管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#…

day06、07-MySQL

文章目录 一、MySQL概述1.1 安装1.2 数据模型1.3 SQL简介1.3.1 SQL通用语法1.3.2 分类 二. 数据库设计-DDL2.1 项目开发流程2.2 数据库操作2.2.1 查询数据库2.2.2 创建数据库2.2.3 使用数据库2.2.4 删除数据库 2.3 图形化工具2.3.1 介绍2.3.2 安装2.3.3 使用2.2.3.1 连接数据库…

【项目管理】进度管理

一、前言 小型项目中&#xff0c;定义活动、排列活动顺序、估算活动持续时间及制定进度模型形成进度计划等过程的联系非常密切&#xff0c;可以视为一个过程&#xff0c;可以由一个人在较短时间内完成。项目管理团队编制进度计划的一般步骤为&#xff1a;首先选择进度计划方法…

HTML—标签的分类,span和div标签,不同的标签之间类型转换

标签的分类&#xff1a; ①块级标签&#xff1a;无论内容多少&#xff0c;会充满整个行。大小可自定义 例&#xff1a;p&#xff0c;h1&#xff0c;ul&#xff0c;ol&#xff0c;hr 等 ②行级标签&#xff1a;自身的大小就是标签的大小&#xff0c;不会占一整行。大小不可调 例…

密码保护小贴士:如何应对常见的网络钓鱼攻击?

网络钓鱼攻击是一种常见的网络欺诈手段&#xff0c;针对个人隐私和财产安全构成威胁。以下是一些密码保护的小贴士&#xff0c;帮助您应对常见的网络钓鱼攻击&#xff1a; 1.谨慎点击链接&#xff1a;收到来历不明的邮件、短信或社交媒体消息时&#xff0c;不要轻易点击其中的…