LLM基础介绍

news2024/11/8 15:35:29

文章目录

  • 一、语言模型
    • 1、概念
    • 2、预训练语言模型
    • 3、NLP
    • 4、benchmark
      • 1)概念
      • 2)GLUE
    • 5、TPU
    • 6、语料
  • 二、神经网络
    • 1、概念
    • 2、训练神经网络
    • 3、案例:word2vec
    • 3、RNN(循环神经网络)
    • 4、GRU
    • 5、LSTM(长短时记忆网络)
    • 6、双向RNN
    • 4、CNN(卷积神经网络)
  • 三、迁移学习

一、语言模型

1、概念

  • 语言模型是一种用来评估语句或文本出现概率的统计模型。
  • 它通常用来预测给定一段文本中下一个词或字符是什么,或者评估一个句子的流畅度和合理性。
  • 语言模型在自然语言处理领域被广泛应用,包括机器翻译、语音识别、文本生成等任务中。常见的语言模型包括基于规则的模型、n-gram模型神经网络模型等。

2、预训练语言模型

  • 预训练语言模型是指在大规模文本数据集上进行预训练的神经网络模型,旨在通过学习文本数据中的语言规律和语义信息,从而获得对自然语言的深层理解和表示。
  • 这些预训练语言模型可以用于各种自然语言处理任务,如文本分类、命名实体识别、情感分析等。
  • 常见的预训练语言模型包括BERT、GPT、RoBERTa、XLNet等。这些模型的出现极大地推动了自然语言处理领域的发展,带来了许多突破性的成果。
  • 大量无监督数据预训练——任务相关数据适配——得到最后模型
    在这里插入图片描述

3、NLP

  • NLP(Natural Language Processing,自然语言处理)是人工智能领域的一个重要分支,旨在使计算机能够理解、解释和生成人类语言。
  • NLP技术涉及从文本数据中提取信息、理解语义、进行文本分类、情感分析、机器翻译、问答系统等任务。NLP技术的发展使得计算机可以更好地与人类进行交流和交互,例如智能语音助手、自然语言对话系统等应用。
  • 预训练语言模型的出现进一步推动了NLP技术的发展,为实现更加智能和自然的语言处理应用提供了更为强大的基础。

4、benchmark

1)概念

  • Benchmark(基准测试)通常用于评估和比较不同系统、算法或模型在特定任务上的性能。在机器学习和人工智能领域,benchmark通常用于衡量模型在各种任务上的表现,以便研究人员可以比较它们的性能,并确定最佳模型或方法。
  • 常见的benchmark包括自然语言处理中的GLUE、SuperGLUE、图像识别中的ImageNet、语音识别中的LibriSpeech等。
  • 通过参与benchmark测试,研究人员可以更好地了解他们的模型在现实任务中的表现,并推动领域内的进步和创新。

2)GLUE

  • GLUE(General Language Understanding Evaluation)是一个用于评估自然语言处理模型在多个任务上表现的benchmark。
  • 它由一系列针对语义理解和推理能力的任务组成,包括文本匹配、情感分类、自然语言推理等。
  • GLUE的目标是提供一个统一的框架,使研究人员能够比较不同模型在各种自然语言理解任务上的性能。
  • GLUE benchmark已经被广泛应用于评估各种预训练语言模型的性能,如BERT、RoBERTa、ALBERT等。
  • 通过GLUE测试,研究人员可以更全面地了解模型在不同任务上的表现,为自然语言处理领域的发展提供重要参考。

5、TPU

  • TPU(Tensor Processing Unit,张量处理单元)是由谷歌公司设计的专用于加速人工神经网络训练和推断的硬件加速器。
  • TPU针对深度学习工作负载进行了优化,具有高效的矩阵乘法运算能力和低功耗特性,能够提供比传统CPU和GPU更高的性能。
  • TPU通常用于加速谷歌的机器学习任务,如训练大规模的神经网络模型、进行推理和预测等
  • 。谷歌还提供了云端TPU服务,使开发者能够在谷歌云平台上利用TPU来加速他们的深度学习任务。
  • TPU的出现极大地推动了深度学习技术的发展,加速了人工智能应用的部署和发展。

6、语料

  • 语料(corpus)是指用于语言研究、语言学习、自然语言处理等领域的大量文本数据集合。语料是研究语言现象和进行文本分析的基础,可以包括书籍、文章、对话、新闻、博客、社交媒体内容等各种形式的文本数据。

  • 语料可以是标注的(annotated)或未标注的(unannotated),标注语料通常包含额外的语言信息,如词性标注、实体识别、句法分析等,以帮助进行语言学研究或训练机器学习模型。未标注语料则只包含原始文本数据,需要进行预处理和分析后才能应用于具体任务。

  • 在自然语言处理领域,语料库是训练和评估文本处理模型的关键资源。通过对大规模语料进行处理和分析,可以帮助模型学习语言规律、建立词汇表征,并在各种文本相关任务中取得更好的性能。

  • 语料的规模和质量对于自然语言处理任务的效果有重要影响。通常,更大规模、更多样化的语料库可以帮助模型更好地理解语言多样性和语境。因此,构建和维护高质量的语料库对于促进自然语言处理技术的发展至关重要。

二、神经网络

1、概念

  • 一个神经元
    在这里插入图片描述

  • 多个神经元(单层)
    在这里插入图片描述

  • 多层神经元
    在这里插入图片描述

  • 如果没有激活函数,则每一层的操作只是对上一层的输出进行一个线性变换,则本质上多层神经网络都用一层就可以表示,即多层神经网络和单层表达能力是一致的。

  • 因此引入非线性的激活函数是为了防止多层神经网络塌缩成单一的神经网络。从而增加表达能力,拟合更复杂的函数

在这里插入图片描述

  • 常见激活函数
    在这里插入图片描述
  • 输出层的形态取决于想要什么数据:
    • 回归问题:线性输出
    • 二分类问题:sigmoid(输出在0-1之间)
    • 多分类问题:softmax(如下图,一个分类在所有分类中占比)
      在这里插入图片描述
      在这里插入图片描述

2、训练神经网络

  • 首先需要设定目标(哪类问题),得到对应的损失函数,降低损失函数的值对目标不断进行调整。
    • 回归问题:降低均方差
      在这里插入图片描述
    • 分类问题:最小化交叉熵
      在这里插入图片描述
  • 最小化损失函数:梯度下降
    • 梯度即对损失函数进行单位大小改动时变化最快的一个方向( α \alpha α为学习率,即一次迈多大步长)
      在这里插入图片描述

    • 求每个参数对于损失函数的梯度
      在这里插入图片描述
      在这里插入图片描述

  • 利用链式法则求解梯度
    在这里插入图片描述
  • 反向传播求解梯度
    在这里插入图片描述

3、案例:word2vec

  • Word2Vec是一种用于自然语言处理的技术,它可以将单词映射到一个高维向量空间中。

  • Word2Vec模型的核心思想是通过训练神经网络,将单词表示为密集的向量,使得在向量空间中相似含义的单词在距离上更接近。这种表示方式有助于捕捉单词之间的语义和语法关系,可以用于词义相似度计算、文本分类、信息检索等任务。

  • Word2Vec模型有两种经典的实现方式:Skip-gram和CBOW(Continuous Bag of Words)。

  • Word2Vec利用滑动窗口构造训练数据,一个滑动窗口是在一段文本中连续出现的几个单词,窗口中最中间的词是target,即目标词。其他词称为context,即上下文词。

  • Skip-gram模型通过目标词来预测其周围的上下文单词,而CBOW则是通过上下文单词来预测目标单词。这两种模型在训练过程中都可以学习到单词的向量表示。
    在这里插入图片描述

  • CBOW:输入采用one-hot模型(不同单词在向量只有一个维度有值且为1),输出采用n分类
    在这里插入图片描述

  • Skip-gram:输入即一个词,输出取前n个相关的词
    在这里插入图片描述

  • 问题,若词汇量过大,one-hot分维度会导致计算量过大,采用负采样或分层softmax进行优化。

  • 类似还有其他优化,比如非固定滑动窗口(越靠近target的context应该是更相关的)

3、RNN(循环神经网络)

  • 循环神经网络(Recurrent Neural Network,RNN)是一种专门用于处理序列数据的神经网络结构。
  • 与传统的前馈神经网络不同,循环神经网络具有循环连接,可以在网络内部保持状态信息,从而能够更好地处理序列数据的特性,如自然语言、时间序列等。
  • 在RNN中,每个时间步的输入不仅取决于当前时刻的输入,还取决于上一时刻的隐藏状态,这使得RNN可以对序列数据中的时间信息进行建模。通过不断更新隐藏状态,RNN可以在处理序列数据时保留之前的信息,并在后续时间步中利用这些信息。
    在这里插入图片描述
    在这里插入图片描述
  • RNN进行句子中下一个单词预测
    可以看出,不论输入是什么,Wx和Wh都是一样的,因此RNN可以实现参数共享。
    在这里插入图片描述
  • 问题:梯度消失/梯度爆炸
    因为RNN的输入需要用到前面的数据,因此在反向传播时链式会很长
    在这里插入图片描述
    当每一层梯度都大于1,则梯度会指数倍上涨,即梯度爆炸。若小于1,则指数式衰减,即梯度消失。
  • 传统的RNN存在梯度消失或梯度爆炸的问题,导致难以训练长序列数据(链越长越容易长生)。为了解决这一问题,出现了一些改进的RNN结构,如长短时记忆网络(LSTM)和门控循环单元(GRU)。这些改进的结构通过引入门控机制,可以更好地处理长序列数据,并更有效地捕捉序列数据中的长期依赖关系。

4、GRU

  • GRU包含了更新门和重置门两个重要的门控机制,通过这两个门控单元来控制信息的流动,从而实现对序列数据的建模。
  • 在GRU中,重置门决定了如何将过去的记忆与当前的输入相结合,而更新门则决定了如何将当前的记忆与上一时刻的记忆进行整合。通过这种门控机制,GRU可以有效地捕捉序列数据中的长期依赖关系,同时减少了参数数量,使得网络更易训练,同时具有较好的性能。
    在这里插入图片描述

5、LSTM(长短时记忆网络)

  • LSTM引入了三个门控单元:遗忘门(forget gate)、输入门(input gate)和输出门(output gate),以及一个细胞状态来控制信息流动。这些门控单元通过学习来决定哪些信息应该被记住、遗忘或更新,从而实现对序列数据的记忆和学习。
  • 具体而言,遗忘门负责控制前一时刻的细胞状态中哪些信息需要被遗忘;输入门负责控制当前时刻的输入信息中哪些信息需要被更新到细胞状态中;输出门负责控制细胞状态的哪些信息被输出到下一时刻的隐藏状态中。通过这种门控机制,LSTM可以有效地处理长序列数据,并学习到长期依赖关系。

6、双向RNN

  • 依靠过去和未来的输入
  • 双向循环神经网络(Bidirectional Recurrent Neural Network,Bi-RNN)是一种结合了前向和后向信息的循环神经网络结构,用于处理序列数据。在双向RNN中,输入序列会同时经过一个前向RNN和一个后向RNN,从而能够捕捉到序列数据中前后两个方向的信息。
  • 具体地,双向RNN包含两个独立的RNN结构:一个是正向RNN,负责处理输入序列的正向信息;另一个是反向RNN,负责处理输入序列的反向信息。这两个RNN结构可以独立地学习序列中的前向和后向关系,然后将它们的输出进行合并,从而综合考虑了整个序列中的信息。
    在这里插入图片描述

4、CNN(卷积神经网络)

  • 卷积神经网络(Convolutional Neural Network,CNN)是一种专门用于处理结构化数据,尤其是二维图像和视频数据的深度学习模型。CNN的核心思想是通过卷积层、池化层和全连接层来提取和学习数据的特征,从而实现对图像等数据的高效分类和识别。
  • CNN的主要组成部分包括:
  1. 卷积层(Convolutional Layer):卷积层通过卷积操作提取输入数据的特征,其中包括卷积核(filter)和步长(stride)。卷积操作可以有效地捕捉图像中的局部特征,同时通过共享权重可以减少参数数量。

  2. 池化层(Pooling Layer):池化层用于降采样,减少特征图的维度,同时保留主要特征。常见的池化操作包括最大池化和平均池化。

  3. 全连接层(Fully Connected Layer):全连接层负责将卷积层和池化层提取的特征进行分类或回归。全连接层通常在网络的最后几层出现。

通过堆叠多个卷积层、池化层和全连接层,CNN可以逐渐提取数据的高级特征,从而实现对复杂数据(如图像)的准确识别和分类。CNN在计算机视觉领域取得了巨大成功,被广泛应用于图像分类、目标检测、人脸识别等任务中,并且在自然语言处理等领域也有一定的应用。
在这里插入图片描述

三、迁移学习

迁移学习(Transfer Learning)是一种机器学习领域的技术,通过将在一个任务上学习到的知识和经验应用到另一个相关任务上,从而加速模型的训练过程、提高模型性能。迁移学习的核心思想是利用已经训练好的模型(通常是在大规模数据集上训练的模型)的特征表示来帮助解决新任务,而不是从零开始训练一个全新的模型。

迁移学习的优势包括:

  1. 加速训练过程:通过在预训练模型的基础上微调模型参数,可以显著减少训练时间和数据量,加快模型收敛速度。
  2. 提高模型性能:预训练模型已经学习到了大规模数据集的特征表示,可以提供更好的特征抽取能力,从而提高模型在新任务上的性能。
  3. 解决数据稀缺问题:当新任务的数据集较小或稀缺时,迁移学习可以通过利用在其他任务上学到的知识,提升模型的泛化能力。

迁移学习通常可以分为以下几种类型:

  1. 特征提取(Feature Extraction):冻结预训练模型的参数,只更新全连接层等分类器的参数。
  2. 微调(Fine-tuning):在预训练模型的基础上继续训练整个模型,更新所有参数。
  3. 领域自适应(Domain Adaptation):通过调整模型的表示使其适应不同的数据分布。

在深度学习领域,迁移学习经常应用于图像分类、目标检测、自然语言处理等任务中。常用的预训练模型包括ImageNet上预训练的模型(如ResNet、VGG、Inception等),BERT、GPT等自然语言处理预训练模型。

总之,迁移学习是一种利用已有知识来加速模型训练、提高性能的重要技术,可以在许多实际应用中发挥重要作用。

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

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

相关文章

探索GPT-4V在学术领域的应用——无需编程即可阅读和理解科学论文

1. 概述 论文地址:https://arxiv.org/pdf/2312.05468.pdf 随着人工智能潜力的不断扩大,人工智能(AI)在化学领域的应用也在迅速发展。特别是大规模语言模型的出现,极大地扩展了人工智能在化学研究中的作用。由于这些模…

随笔——预处理详解

目录 前言预定义符号#define#define定义常量#define定义宏 带有副作用的宏参数宏替换的规则宏和函数的对比#和###运算符##运算符 命名约定#undef命令行定义条件编译头文件的包含包含方式嵌套包含 其他预处理指令完 前言 之前我们在《随笔——编译与链接》中对预处理作了大致的…

BitSet位图进行去重海量数据

问题 怎么在40亿个整数中找到唯一重复的数字? 1.Set的不可重复性 if(set.contains(x))System.out.println("重复的数字是"x);else{set.add(x);}但是,contains()方法消耗的时间,消耗的空间很大,毕竟有约40亿的数据,所…

上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,h750和之前的103、407相比较,本身cpu频率比较高,flash大小一般,但是ram比较大&#x…

uni-app前端,社区团购系统搭建部署

目录 前言: 一、社区团购模式: 二、社区团购系统功能: 三、总结: 前言: 区团购系统是一种利用互联网技术和组织力量,通过线上线下结合的方式,为社区居民提供方便快捷的商品和服务采购平台。…

前端三大件速成 05 javascript(2)字符串对象、数组对象、函数对象、BOM对象、DOM对象

文章目录 一、字符串对象1、创建字符串对象的两种方式2、字符串属性3、字符串的方法(1)编排方法(2)查询字符串索引(3)字符串切片(4)大小写转换(5)获取指定字符…

Neo4j 桌面版打不开踩坑贴

真的踩坑。。。没有人告诉我为啥桌面版和社区版不能一起下啊!! 我是先下载了社区版之后再下载的桌面版,结果桌面版界面一直打不开。 尝试了网上多种办法都没效果,好多都是说jdk不兼容导致无法打开,让我从JDK 17 ->…

element 表格第一列合并,第二列展开后出现错位情况

展开后发现蓝色一行挤下来&#xff0c;而且还错位了 解决思路&#xff1a;展开行&#xff0c;在dom上其实是新增了一行的高度&#xff0c;合并上新增一个高度就可以 <el-tablev-loading"tabLoading"fitref"oneRef"height"100%":span-method…

VS Code扩展开发介绍和快速示例

VS Code 介绍 VS Code&#xff08;Visual Studio Code&#xff09;是一款由微软开发的轻量级的免费开源的源代码编辑器&#xff0c;它支持多种操作系统&#xff0c;包括Windows、macOS和Linux。以下是对VS Code的详细介绍&#xff1a; 一、跨平台支持 VS Code是一个真正的跨…

Java语言+前端框架html+Thymeleaf +后端框架springboot开发的UWB智能定位系统源码 UWB三维可视化人员定位系统源码

Java语言前端框架htmlThymeleaf 后端框架springboot开发的UWB智能定位系统源码 UWB三维可视化人员定位系统源码 UWB定位系统基于B/S架构的软件和嵌入式硬件都具有很好的扩展性和兼容性&#xff0c;可以与其他系统接口&#xff08;比如&#xff1a;围界、AB门、高压电网、报警、…

HyperBDR新版本上线,自动化容灾兼容再升级!

本次HyperBDR v5.5.0版本新增完成HCS&#xff08;Huawei Cloud Stack&#xff09;8.3.x和HCSO&#xff08;Huawei Cloud Stack Online&#xff09;自动化对接&#xff0c;另外还突破性完成了Oracle云(块存储模式)的自动化对接。 HyperBDR&#xff0c;云原生业务级别容灾工具。支…

Vue3【十八】Vue3的生命周期

Vue3【十八】Vue3的生命周期 Vue3【十八】Vue3的生命周期 生命周期 vue组件实例在创建时要经历一系列的初始化步骤&#xff0c;在此过程中vue会在何时的时机&#xff0c; 调用特定的函数&#xff0c;从而让开发者有机会在特定时段运行自己的代码&#xff0c; 这些特定的函数统称…

字符串循环遍历抵消、队列的应用-649. Dota2 参议院

题目链接及描述 649. Dota2 参议院 - 力扣&#xff08;LeetCode&#xff09; 题目分析 题目描述的意思&#xff1a;对于一个字符串循环执行抵消操作&#xff0c;&#xff08;R的个数为1时可以使后续的一个D失效&#xff0c;D的个数为1时可以使后续的一个R失效&#xff09;【相…

私人云盘(自动云同步)

一、项目简介 模仿小米的云服务&#xff0c;实现一个通过TCP实现的私人云盘&#xff0c;因为能力有限&#xff0c;所以只实现自动云同步这一个功能&#xff0c;具体可以分为三个小功能&#xff0c;即保持云端和终端数据一致、实现文件的上传与下载以及手动同步 二、涉及到的知…

LayerNorm层归一化

1.背景 与 Batch normalization 不同&#xff0c;Layer normalization 是在特征维度上进行标准化的&#xff0c;而不是在数据批次维度上。像 Batch Norm 它的核心是数据批次之间的归一化【强调的是第 i 批次和第 i1 批次的区别&#xff0c;然后BN去缩小他们的的区别】&#xf…

Jacob环境探索(兼容性、管理员、DLL位置、VS环境,COM权限)

概述&#xff1a; 最近在生产开发实践出现了很多问题&#xff0c;经过了一系列排查&#xff0c;特做如下总结 探索成果&#xff1a; 1. jacob.dll的建议位置 首先jacob的官网&#xff0c;以及官方GitHub&#xff0c;你可以从这里找到DLL文件&#xff0c;以及相关资料然后DLL文…

lxml库在爬虫领域的贡献及应用

重头戏lxml库里面的xpath 一段代码给各位开开胃 这段代码首先导入了lxml库中的etree模块&#xff0c;然后定义了一个包含HTML内容的字符串html。接着&#xff0c;我们使用etree.HTML()函数解析这个HTML字符串&#xff0c;得到一个表示整个HTML文档的树形结构。最后&#xff0c;…

WindTerm使用SSH密钥连接阿里云实例,服务器设置SSH密钥登录

安装Windterm 地址https://github.com/kingToolbox/WindTerm/releases 下载完放到文件夹就可以打开 阿里云开启密钥对 打开阿里云ecs控制台 https://ecs.console.aliyun.com/keyPair/region/cn-wulanchabu 网络与安全->密钥对&#xff0c;创建密钥对&#xff0c;创建成…

STM32项目分享:智能蓝牙手环

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板打样焊接图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.c…

改变Layout布局中路由渲染区域页面跳转变全屏

有一个需求需要点击侧边栏跳转页面时变全屏&#xff0c;而不是还在content中