大语言模型理论基础

ops/2024/11/14 19:45:55/

文章目录

  • 前言
  • 语言模型必需知识概述
  • 语言模型目标
  • 模型
  • 上下文
  • 神经网络的神经元
  • 常见激活函数
    • Sigmoid
    • Tanh
    • Relu
    • softmax
  • 通用近似定理
  • 多层感知机(MLP)
  • 拟合
  • 最后

前言

你好,我是醉墨居士,我们接下来对大语言模型一探究竟,看看大模型主要的核心的概念是什么

语言模型必需知识概述

LLM(大语言模型)采用了Transformer架构,其中比较重要的部分有tokenizer,embedding,attention

训练流程:预训练 -> 微调 -> RLHF(基于人类反馈的强化学习)

训练方式:分布式训练,数据并行,流水并行,张量并行

高效推理能力

语言模型目标

能够根据用户输入的文本预测并输出接下来要出现的内容,LLM简单的可以理解为是一个文本接龙的应用

模型

模型可以简单理解为一个能够模拟复杂映射关系的非线性函数,能够基于输入得到输出

上下文

其具备一个上下文窗口,用于记录历史对话,通过将上下文窗口内的数据提交给模型,模型就会返回预测的下文内容,然后并将下文内容追加到上下文窗口中,下次提问将携带该信息,上下文窗口具备一个最大长度,当上下文窗口填充满之后将会舍弃最旧的信息,就相当于一个FIFO(先进先出)队列

神经网络的神经元

在这里插入图片描述
神经元具备两个关键性能力

  1. 计算单元,基于输入参数的加权求和计算,每个输入参数都具备一个对应的参数权重
  2. 激活函数,对加权求和结果进行激活函数的变换,让神经元具备非线性近似的能力,提高神经元的表达能力

常见激活函数

Sigmoid

  • 函数表达式
    在这里插入图片描述

  • 导数表达式
    在这里插入图片描述

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

Tanh

  • 函数表达式
    在这里插入图片描述

  • 导数表达式
    在这里插入图片描述

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

Relu

  • 函数表达式
    在这里插入图片描述

  • 导数表达式
    在这里插入图片描述

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

softmax

  • 函数表达式
    在这里插入图片描述

  • 导数表达式
    在这里插入图片描述

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

  • 说明
    能够将多个输入转换成一组对应输入在[0, 1]范围内的概率值,并且输入对应的概率值之和为1,下图形象的表明了输出层经过Softmax变换的处理过程
    在这里插入图片描述

能够结合模型输出结果与理论输出结果通过交叉商执行损失函数计算损失值,评估预测结果与实际结果的偏离程度,进行梯度下降,不断缩小损失值,让模型能够不断拟合真实场景

通用近似定理

通用近似定理指出,只要神经网络包含足够多的隐层神经元,就可以使用任意精度来逼近任何预定的连续函数

多层感知机(MLP)

多层感知机由输入层(Input Layer),隐藏层(Hidden Layers),输出层(Output Layer)
隐藏层可以是多层也可以是单层,下图就是一个三层的隐藏层。隐藏层越多,神经网络能够拟合的函数也就越复杂,其表达能力也会越强
在这里插入图片描述
对于多层隐藏层来说,每一层的每一个神经元能够汇总上一层输出的所有结果

拟合

对于我们的神经网络内部参数的权重在神经网络初始化的时候都是随机数,如何能够使神经网络不断拟合实际函数,这就需要引入两个概念,分别是前向传播和反向传播

  • 正向传播
    给定神经网络输入,计算神经网络实际输出和理想输出的损失值,评估神经网络拟合程度,从输入层开始,计算输出,然后逐层向后传递这些输出作为输出,最终根据损失函数计算实际输出与理想输出的损失值

  • 反向传播
    让各个神经元沿着损失函数梯度下降方向,调整和优化神经元中的权重,减少损失值,使神经网络进一步拟合真实函数,从输出层开始,计算损失函数相对于每个参数的梯度,然后逐层向前传递这些梯度以更新参数

最后

我是醉墨居士,感谢您的阅读,后续我会持续输出优质的文章,让大家一起互相进步


http://www.ppmy.cn/ops/133664.html

相关文章

探索 Seata 分布式事务

Seata(Simple Extensible Autonomous Transaction Architecture)是阿里巴巴开源的一款分布式事务解决方案,旨在帮助开发者解决微服务架构下的分布式事务问题。它提供了高效且易于使用的分布式事务管理能力,支持多种事务模式,确保数据的一致性和完整性。 以下是 Seata 的一…

渗透利器-kali工具 (第三章-5) sqlmap之sql注入一、二

一:常见的注入方式 1.sqlmap用于Access数据库注入 2.sqlmap用于Cookie注入  --cookie 3.sqlmap用于Post注入  --froms 、--data、抓包 4.sqlmap用于mysql注入 绕过waf脚本测试:--tamper "space2morehash.py" 常见sqlmap使用方法&#xff1…

基于大语言模型意图识别和实体提取功能;具体ZK数值例子:加密货币交易验证;

目录 基于大语言模型意图识别和实体提取功能 案例背景 零知识证明过程 具体例子 具体举例(简化) 具体ZK数值例子:加密货币交易验证 定义多项式 承诺 挑战 证明构造 证明验证 结论 zkLLM Zero Knowledge Proofs for Large Language Models 在大模型验证过程中处…

Android 13.0 framework系统修改安兔兔等显示的屏幕尺寸大小功能实现

1.前言 在13.0的系统rom定制化开发中,在使用第三方app检测系统的一些信息中,比如安兔兔 设备信息等检测app中,有时候显示的屏幕尺寸大小和 产品规格书等信息不同,稍微有些差异,所以就需要看下系统framework层中,相关的设备信息是怎么读出来的,然后做些调整 接下来就来分…

06.VSCODE:备战大项目,CMake专项配置

娇小灵活的简捷配置不过是年轻人谈情说爱的玩具,帝国大厦的构建,终归要交给CMake去母仪天下。一个没有使用 CMake 的 C 项目,就像未来世界里的一台相声表演,有了德纲却无谦,观众笑着遗憾。—— 语出《双城记》作者&…

【MySQL】explain之type类型

explain的type共有以下几种类型,system、const、eq_ref、ref、range、index、all。 system:当表中只有一条记录并且该表使用的存储引擎的统计数据是精确的,比如MyISAM、Memory,那么对该表的访问方法就是system。 const&#xff…

「QT」几何数据类 之 QSize 尺寸类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

提取神经网络数学表达式

来自《老饼讲解神经网络》 www..bbbdata.com 当我们在matlab训练好网络后,可以使用神经网络工具箱的sim(net,x)函数进行预测输出。但往往想提取出它的数学表达式,该怎么提取呢? 下面以《一个简单的神经网络例子》中的模型为例,提取…