大语言模型理论基础

news/2024/11/14 23:46:53/

文章目录

  • 前言
  • 语言模型必需知识概述
  • 语言模型目标
  • 模型
  • 上下文
  • 神经网络的神经元
  • 常见激活函数
    • 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/news/1547070.html

相关文章

通过C++跨平台的预编译宏来区分不同的操作系统:Win32/Win64/Unix/Linux/MacOS

因为 C 具有跨平台的特性,所以有些需求一套代码就多端使用,比如我最近在学习的 OpenGL ES。 但是,不同平台还是具有一定差异性,所以我们首先得判断出是什么平台? 比如 iOS 系统和 Android 系统。 那么如何判断呢&…

测试实项中的偶必现难测bug--验证码问题

一、收不到验证码 1、网络问题 原因:手机的网络信号弱,或者数据连接不稳定,可能导致验证码短信无法及时接收。解决方法:确保手机有稳定的网络连接,尝试切换到更稳定的 Wi-Fi 网络或移动数据网络。如果信号较弱,可以尝试在信号更好的地方接收验证码。2、短信拦截功能 原因…

实现 think/queue 日志分离

当我们使用think/queue包含了比较多的不同队列,日志会写到runtime/log目录下,合并写入的,不好排查问题,我们遇到一个比较严重的就是用了不同用户来执行,权限冲突了,导致部分队列执行不了. 为了解决以上问题,本来希望通过Log::init设置不同日志路径的,但是本地测试没生效,于是用…

Prometheus面试内容整理-Metrics 类型

在 Prometheus 中,指标(Metrics)是核心数据单位,用于描述系统的各种状态和性能指标。Prometheus 将这些指标分为四种主要类型,每种类型适用于不同的监控场景。理解这四种指标类型有助于我们准确采集、分析和理解监控数据。 Counter(计数器) 1. 概念: Counter 是一种只…

Docker compose部署portainer

整个工具的代码都在Gitee或者Github地址内 gitee:solomon-parent: 这个项目主要是总结了工作上遇到的问题以及学习一些框架用于整合例如:rabbitMq、reids、Mqtt、S3协议的文件服务器、mongodb github:GitHub - ZeroNing/solomon-parent: 这个项目主要是…

Spring Boot编程训练系统:开发与部署

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

类加载过程详解

类的生命周期 类从被加载到虚拟机内存中开始到卸载出内存为止,它的整个生命周期可以简单概括为 7 个阶段:加载(Loading)、验证(Verification)、准备(Preparation)、解析&#xff08…

XML 编辑器:功能、选择与使用技巧

XML 编辑器:功能、选择与使用技巧 引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。由于其结构化和可扩展的特性,XML被广泛应用于各种领域,如网页开发、数据交换和配置文件等。在使用XML时&#xff0c…