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

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,一经查实,立即删除!

相关文章

性能测试什么时候开始?性能测试流程介绍

性能测试什么时候开始? 一般在系统功能稳定没有大的缺陷之后开始执行。但前期准备工作可以从系统需求分析时就开始:性能目标制定、场景获取、环境申请等。 一、制定性能测试目标 在特定的并发用户数下测试特定场景的响应时间 在一定的响应时间的要求下来测试特…

STM32的IAP讲解

stm32系列芯片的种类和型号 汇编文件种类型号startup_stm32f10x_cl.s互联型的器件STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s大容量STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.s大容量STM32F100xxstartup_stm32f10x_ld.s小容量STM32F101xx,STM32F10…

进程等待详解

一、进程等待的作用 我们都知道&#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;让你的办公效率得…

14028.malloc堆内存泄漏问题

文章目录 1 模拟堆内存不断增长的场景使用vmstat查看内存变化情况使用valgrind 的memcheck输出日志1 模拟堆内存不断增长的场景 #include <stdio.h> #include <unistd.h> #include <stdint.h> #

在Java中如何判断素数

目录 一、试除法 二、埃氏筛选法 三、欧拉筛选法 一、试除法 素数的定义&#xff1a;只能被1和自己的整除的正整数。注&#xff1a;1不是素数&#xff0c;最小素数是2判断一个数n是不是素数&#xff0c;当你<10^14&#xff0c;用试除法&#xff1b;当n>10^14&#xff…

【华为OD机试】去重求和【C卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 给定一个数组,编写一个函数, 计算他的最大N个数和最小N个数的和, 需要对数组进行去重。 输入描述 第一行输入M,M表示数组大小 第二行输入M个数,表示数组内容 第三行输入N表示需要计算…

Comparable接口详解

Comparable接口是Java中的一个接口&#xff0c;用于定义对象的自然排序方式。实现Comparable接口的类必须定义compareTo方法&#xff0c;该方法用于比较当前对象与另一个对象的大小。这种比较机制允许对象数组或集合通过如Arrays.sort()或Collections.sort()等工具类进行自然排…

第二证券|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;

雅思写作整理

常用单词 sufficient adj.充足的->sufficiently adv. bullet n.黑点 tone n.基调 consistent adj.始终如一的 adequately adv.足够地&#xff1b;适当地 recount v.说明 mechanically adv.机械地 tendency n.偏好&#xff1b;趋势 confuse v.使迷惑&#xff1b;混淆 barely…

学点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.1 口令策略未设置口令生存周期(高) 解决方法: 全局设置: 在/etc/login.defs中添加:PAS…

软件工程师,是时候了解下Rust编程语言了

背景 2024年年初&#xff0c;美国政府发布了一份网络安全报告&#xff0c;呼吁软件开发人员停止使用容易出现内存安全漏洞的编程语言&#xff0c;比如&#xff1a;C和C&#xff0c;转而使用内存安全的编程语言。这份报告由美国网络空间总监办公室 (ONCD) 发布&#xff0c;旨在落…

计算机行业在数字经济时代的角色和地位以及如何通过数字化转型提升行业竞争力

在数字经济时代&#xff0c;计算机行业扮演着至关重要的角色&#xff0c;并且拥有极高的地位。计算机行业是数字经济的基础设施和核心驱动力之一&#xff0c;为其他各个行业提供了关键的技术和解决方案。计算机行业通过数字化转型可以进一步提升自身的竞争力和地位。 首先&…