LLM生命周期

news2024/11/23 23:29:40

LLM生命周期

1.Using LLMs

第一种方式: Public API or Private API.

第二种方式: 感谢开源模型,Deploy or Using them via private API.

2.Stage1:BUILDING

1.准备数据(Data preparation & Sampling)

2.实现注意力机制(Attention mechanism)

3.LLM的架构

一、数据

数据的质量与数量: 训练数据,数据的质量比数量更重要。

数据准备和采样: 确保模型能够接触到有代表性和多样性的数据。注意采样前还需要对数据进行清洗,去除噪声。

Sampling的常见方法:

  • 随机采样:从数据集中随机抽取样本,每个样本被选中的概率相同。
  • 分层采样:先将数据按照某个标准分成不同的层次或类别,然后从每个层次中随机抽取一定比例的数据。
  • 加权采样:根据某些特征为样本赋予不同的权重,然后按照这些权重进行采样。
  • 主动采样:选择那些最能提高模型性能的数据点用于训练。
二、注意力机制

目的: 引入注意力机制,用来帮助模型理解输入数据中重要的部分。这是LLM的核心组件,能有效处理长文本和复杂的上下文关系。

三、LLM架构

目的: 将数据和注意力机制整合在一起,构建出LLM的整体架构。

在这里插入图片描述

四、GPT 架构

1.Tokenized Text: 输入的文本进行分词,即Tokenization,每个词转换成一个Token。这些Token是模型能够处理的数字编码。

2.Token Embedding Layer: 将Token转为向量(Embedding vectors),使每个Token都有一个高维度的表示。嵌入向量包含了词汇的语义信息,并允许模型在高维空间中进行操作。

3.Positional Emdedding Layer: 用于加入位置信息。因为Transformer结构本身没有时间序列的概念,所以需要在每个Token的向量中加入其在序列中的位置信息,以便模型能够理解词汇的顺序。

为什么要在位置编码后加一层Dropout? 为了提高模型的泛化能力,防止过拟合,其Dropout是一种正则化技术,用于防止神经网络在训练过程中过度拟合训练数据。避免模型过度依赖这些位置信息,Dropout 随机屏蔽一部分信息,使模型更加鲁棒。也就是说在位置编码后+Dropout,可以促进模型更好地学习到基于上下文的广泛特征,而不仅仅知识位置相关的特征。

4.Masked Multi-Head Attention: 多头注意力机制用于让模型同时关注输入序列中的不同位置的词汇。也就是说,通过多个注意力头,模型可以并行地处理并捕捉序列中不同特征。

Masked:在GPT模型中,注意力机制是掩蔽的,即只能看到当前词之前的词。这种掩蔽操作确保了生成的序列是有序的,每次只能基于之前的信息来预测下一个词。【只能看到之前地词】

LayerNorm 1:在多头注意力机制之前应用的归一化操作,用来标准化输入,帮助加快模型训练和提高稳定性。

5. Feed Forward Network:多层线性层激活函数GELU组成。在每一个Token上进行操作,用来进一步处理和转换来自注意力机制的输出。特别地,每个 Token 在经过注意力机制(Multi-Head Attention)处理后,会生成一个输出向量。这个输出向量保留了该 Token 与其他 Token 之间的上下文信息。而Feed Forward Network前馈神经网络的任务是对这个输出向量进行进一步的非线性变换,以丰富特征表达。它的处理方式是逐 Token 独立操作,这意味着它不会参考同一句子或序列中的其他 Token。

GELU激活函数:GELU(Gaussian Error Linear Unit)是一种激活函数,它的效果比ReLU更平滑,有助于提升模型的性能。

LayerNorm 2:在前馈网络之前的第二次归一化操作,进一步标准化输出数据。

为什么前向传播的结构是:Linear->GELU->Linear?

第一层线性层:将输入向量的维度扩展。通常将维度从输入的大小(比如512或768)扩展到更大的维度(比如2048或3072)。扩展维度的目的是让模型有更多的空间来学习和表示更复杂的特征和关系。

GELU激活函数:GELU(Gaussian Error Linear Unit)是一种非线性激活函数,用于引入非线性。激活函数的作用是打破线性变换的局限,使得网络能够表示和学习复杂的非线性模式。激活函数的作用是打破线性变换的局限,使得网络能够表示和学习复杂的非线性模式。

第二层线性层:将扩展后的向量维度缩回到原始的大小(比如512或768)。这样做是为了确保前馈网络的输出可以与后续层次进行正确的匹配,同时保证了在特征变换过程中可以保留足够的表达能力。

6.Residual Connections: 残差连接的作用就是将输入直接接到输出上,以防止梯度小时并保留原始信息,这样即使经过了复杂的变换,模型仍然可以保留输入的特征,确保信息的稳定传递。提高模型的学习能力。

保留原始信息: 残差连接使得每一层的输出不仅仅依赖于这一层的变换结果,还包含了上一层的输入。这意味着即使中间层的变换不理想,原始输入信息仍然可以传递下去,避免信息的丢失。

公式: y=F(x)+x

为什么残差连接要设置在多头注意力机制后和前向传播后?

多头注意力机制后:多头注意力机制的作用是聚合输入序列中的信息,使每个Token都可以利用上下文信息来增强其表示。但是,这个过程可能不会总是显著改变每个Token的表示,尤其是在早期训练阶段。因此,残差连接将注意力机制的输出与输入相加,确保即使注意力机制的效果不明显,原始信息依然保留在输出中。

前馈网络后:前馈网络在每个Token的表示上进行非线性变换,以增加其表达能力。然而,如果这种变换的效果不如预期,残差连接可以确保前馈网络的输出至少保留了输入的基本信息,从而减轻变换失败的负面影响。

7.Final LayerNorm: 在所有Transformer Block的输出之后,应用一个最终的LayerNorm来规范化整个输出。

8.Linear Output Layer: 线性输出层将模型的最终输出转换回词汇表中每个Token的概率分布。它的任务是为下一个Token的生成做出概率预测。

在这里插入图片描述

3.Stage2:PRETRAING

预训练是LLM开发的关键阶段,主要目的是在大数据集上训练模型,从而形成基础模型。这个基础模型为后续微调提供了基础,使其更好地适应特定任务。

Training loop: 首先会将文本数据映射为一个唯一的整数标识符,即为”标记化“(tokenization),长度过大即截断Truncation,过小则填充Padding。然后根据批量大小,即为batchsize(比如为2),作为输入进行训练。然后将这样的张量传递给神经网络模型(如:Transformer、LSTM等)作为输入,模型会根据这些输入进行前向传播,并根据得到的结果进行反向传播,不断更新其模型参数。

举个例子,假设我们有一个文本数据集,并且我们决定将批量大小(batch size)设置为2。这意味着每次训练迭代时,模型将同时处理两个文本样本。如果我们还确定了每个文本的最大长度为50个标记(tokens),那么文本数据的张量形状将为 (2, 50)

在这里插入图片描述
在这里插入图片描述

4.Stage3:FINETUNE

在这里插入图片描述

完整流程:

LLM本质上就是一个深度神经网络,主要用于预测文本的下一个单词。在预训练阶段,模型通过接收输入文本并生成下一个单词来学习。除此以外,还会将多个训练输入(data)合并为一个批次(batchsize),并保持相同长度以便于进行张量计算。

在这里插入图片描述

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

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

相关文章

Vue - Element 选择器 el-select 既可以选择下拉又可以手动输入文本功能(手动输入的值只能是数字 并且支持4位小数)

Vue - Element 选择器 el-select 既可以选择下拉又可以手动输入文本功能(手动输入的值只能是数字 并且支持4位小数) 备注 filterable 下拉框开启快速搜索功能 no-match-text 当输入的内容在下拉框中找不到时;下拉框提示的文字 handFocus 触发…

C++:模版初阶

目录 1. 泛型编程 2.函数模版 2.1. 函数模版的用法 2.2. 函数模版的原理 2.3 函数模板的实例化 2.4 模版参数的匹配原则 3. 类模版 3.1 类模版的格式 3.2. 类模版的实例化 1. 泛型编程 如何实现整形、字符串,或者其他自定义类型的交换函数&#x…

Unity AnimationClip详解(2)——动画数据的优化

【内存优化】 首先要意识到运行时和编辑时的区别,当运行时和编辑时所需的数据相差不大时,我们用同一套数据结构即可,当两者差异较多或者数据量很大时,需要有各自的数据结构,这意味着在打包或构建时需要将编辑时数据转…

Android Framework关闭触摸振动

文章目录 手势上滑时振动代码performHapticFeedback作用和意义 触摸振动开关设置Framework关闭触摸时振动 手势上滑时振动代码 安卓手机由底部往上滑时,会有震动,然后进入Recents多任务,其触发震动调用的代码 packages/apps/Launcher3/quick…

LCD手机屏幕高精度贴合

LCD手机屏幕贴合,作为智能手机生产线上至关重要的一环,其质量直接关乎用户体验与产品竞争力。这一工艺不仅要求屏幕组件间的无缝对接,达到极致的视觉与触觉效果,还需确保在整个生产过程中,从材料准备到最终成品&#x…

robots协议ctf

robots协议 Robots协议,全称为“网络爬虫排除标准”(Robots Exclusion Protocol),是互联网上用于指导搜索引擎蜘蛛如何抓取和访问网站的一种协议。网站可以通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,从而保护…

神经架构搜索:自动化设计神经网络的方法

在人工智能(AI)和深度学习(Deep Learning)快速发展的背景下,神经网络架构的设计已成为一个日益复杂而关键的任务。传统上,研究人员和工程师需要通过经验和反复试验来手动设计神经网络,耗费大量时…

怿星科技薛春宇丨智能汽车软件研发工具链国产化的挑战和探索

2024年7月25日,由上海良益企业管理咨询有限公司主办的“2024域控制器技术论坛“在上海成功举办,十位嘉宾做了精彩分享。“整零有道”将陆续刊出部分演讲的文字实录,以飨读者。 本期刊出怿星科技副总经理薛春宇的演讲实录:智能汽车…

react-signature-canvas 实现画笔与橡皮擦功能

react-signature-canvas git 地址 代码示例 import React, { Component } from react import { createRoot } from react-dom/clientimport SignaturePad from ../../src/index.tsximport * as styles from ./styles.module.cssclass App extends Component {state { trimmed…

sheng的学习笔记-AI基础-正确率/召回率/F1指标/ROC曲线

AI目录:sheng的学习笔记-AI目录-CSDN博客 分类准确度问题 假设有一个癌症预测系统,输入体检信息,可以判断是否有癌症。如果癌症产生的概率只有0.1%,那么系统预测所有人都是健康,即可达到99.9%的准确率。 但显然这样的…

多款云存储平台存在安全漏洞,影响超2200万用户

据苏黎世联邦理工学院研究人员Jonas Hofmann和Kien Tuong Turong的发现,端到端加密(E2EE)云存储平台存在一系列安全问题,可能会使用户数据暴露给恶意行为者。在通过密码学分析后,研究人员揭示了Sync、pCloud、Icedrive…

方形件排样优化与订单组批问题探析

方形件排样优化与订单组批问题是计算复杂度很高的组合优化问题,在工业工程中有很广泛的应用背景。为实现个性化定制生产模式,企业会选择订单组批的方式,继而通过排样优化实现批量切割,加工完成后再按照不同客户需求进行分拣&#…

洛谷 P1226:【模板】快速幂

【题目来源】https://www.luogu.com.cn/problem/P1226【题目描述】 给你三个整数 a,b,p,求 a^b mod p。【输入格式】 输入只有一行三个整数,分别代表 a,b,p。【输出格式】 输出一行一个字符串 a^b mod ps&a…

多线程——线程池

目录 前言 一、什么是线程池 1.引入线程池的原因 2.线程池的介绍 二、标准库中的线程池 1.构造方法 2.方法参数 (1)corePoolSize 与 maximumPoolSize (2)keepAliveTime 与 unit (3)workQueue&am…

GPT-4o 和 GPT-4 Turbo 模型之间的对比

GPT-4o 和 GPT-4 Turbo 之间的对比 备注 要弄 AI ,不同模型之间的对比就比较重要。 GPT-4o 是 GPT-4 Turbo 的升级版本,能够提供比 GPT-4 Turbo 更多的内容和信息,但成功相对来说更高一些。 第三方引用 在 2024 年 5 月 13 日&#xff0…

HTB:Blocky[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机进行端口扫描 再次使用nmap对靶机开放端口进行脚本、服务信息扫描 对FTP服务版本:ProFTPD_1.3.5进行漏洞扫描 对SSH服务版本:OpenSSH 7.2p2进行漏洞扫描 使用浏览器访问靶机80端口 使用浏览器访问U…

信息搜集-域名信息收集

1.1 域名信息收集 WHOIS查询: 通过WHOIS查询可以快速得到域名的IP段、DNS解析、注册时间、地址等信息,或许运用合理可以巧妙的绕过CDN。备案信息收集: 网站备案信息收集更加方便定位资产到具体的企业名称、ICP备案号、备案人名称、公司、所处…

图片写入GPS经纬高信息

近期项目中需要往java平台传输图片,直接使用QNetworkAccessManager和QHttpMultipart类即可,其他博文中有分享。 主要是平台接口对所传输图片有要求:需要包含GPS信息(经度、纬度、高度)。 Qt无法直接实现,…

2003年秋季我给哈工大数学研究生写的讲义

我写的没出版讲义共有278页,书末参考文献 我写的讲义书末索引,冯克勤的书《代数数论》书末没有索引,陆洪文、李云峰的书《模形式讲义》书末也有索引 我写的讲义自制的封面 (对数学的研究我的经验是,跟其他科学类似&am…

「Qt Widget中文示例指南」如何实现半透明背景?

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 本文将为大家展示如…