大语言模型面试问题

自己在看面经中遇到的一些面试题,结合自己和理解进行了一下整理。

transformer中求和与归一化中“求和”是什么意思?
求和的意思就是残差层求和,原本的等式为y = H(x)转化为y = x + H(x),这样做的目的是防止网络层数的加深而造成的梯度消失,无法对前面网络的权重进行有效调整,导致神经网络模型退化(这种退化不是由过拟合造成的,而是较深模型后面添加的不是恒等映射反而是一些非线性层)。已经学习到较饱和的准确率(或者当发现下层的误差变大时),那么接下来的学习目标就转变为恒等映射的学习,也就是使输入x近似于输出H(x),以保持在后面的层次中不会造成精度下降。

注意力机制中计算注意力分数时为什么会除以根号dk?
这和softmax的求导有关,softmax的计算公式=exp(x1)/exp(x1)+exp(x2),另p=exp(x1)/exp(x1)+exp(x2),那么softmax求导之后=p*(1-p),当p趋近于1时,softmax的导数就趋近于0。故除以根号dk的原因是:为了避免softmax计算的结果过大,造成偏导数为0。

多头注意力比单头注意力的好处?
注意力的计算是并行进行的,多头可以提高计算效率。并且多头可以捕获不同子空间内的特征。

transformer比起RNN的优势?
RNN在传播的过程中会出现信息衰减,而transformer当前词不管距离其他词多远,其只有这个词与其他词的相关性有关。并且transformer的encode可以并行计算,RNN不可以。

transformer为什么使用层归一化?
(当前值减均值)/ 标准差。减小梯度消失和梯度爆炸的问题,并提高网络的泛化性能。*

批量归一化是不同训练数据之间对单个神经元的归一化,层归一化是单个训练数据对某一层所有神经元之间的归一化。

transformer中解码器的注意力与编码器的区别
decode中的自注意力是带掩码的,不让decode看到后文。还有一个encode-decode注意力层,这一层注意力层只有q来源于上一层decode单元的输出,剩下的k、v都来源于encode最后一层的输出。

前馈层
两层relu激活函数,一层全连接神经网络。

BERT的训练任务
1.在输入数据中选择15%用于预测,这15%的数据中有80%被替换为mask,10%的单词被替换为其他词,10%的单词保持不变。2.上下段落匹配,其中50%使用正确的上下句关系,50%随机抽取一个句子拼在后面。

BERT的优缺点
1.预训练阶段会出现特殊的[MASK]字符,而在下游任务中不会出现,造成预训练和微调之间的不匹配。
2.每个batch只有15%的token会被预测,所有收敛速度会比传统语言模型慢。
3.缺乏生成能力。

chatgpt的训练过程
1.SFT阶段(有阶段微调):使用问答对微调GPT3。这一阶段的损失是交叉熵。
2.RM奖励模型:使用1的SFT模型收集每个问题的4-9个回答,并对其进行人为排序。这一阶段使用的损失是排序损失函数,排序高的回答的奖励值-排序低的回答的奖励值,我们希望这个值越大越好。
3.PPO算法更新策略:

LLAMA作出的改进
1.归一化又LN改为了RMS Norm。
2.SwiGLU替代ReLU。
3.旋转位置编码替代位置编码。

ChatGLM作出的改进
1.重新排列了层归一化和残差连接的顺序
2.用GeLU替。换ReLU激活函数
3.在结构和训练目标上兼容这三种预训练模型,需要GLM中同时存在单向注意力和双向注意力,当attention_mask为全1时为双向的attention,当attention_mask为三角矩阵时为单向的attention。
4.使用P-tuning进行的微调。

ChatGLM的训练任务
1.文档级别的预测/生成:从文档中随机采样一个文本片段进行掩码,片段的长度为文档长度的50%-100%。
2.句子级别的预测/生成:从文档中随机掩码若干文本片段,每个文本片段必须为完整的句子,被掩码的词数量为整个文档长度的15%。
既保证了模型的自编码能力又有自回归能力。

Baichuan作出的改进
1.RoPE位置编码
2.RMSNorm归一化
3.SwiGLU激活函数
4.1.2万亿训练数据/上下文窗口4096

参数微调的方法
1.Adapter Tuning:将其嵌入Transformer的结构里面,在训练时,固定住原来预训练模型的参数不变,只对新增的Adapter结构进行微调。
2.Prefix Tuning:构造隐式的输入token,加入到输入前缀(我的理解是将prompt变成可以调整参数的格式)
3.P-tuning:同样加了可微的virtual token,但是仅限于输入,没有在每层加。且virtual token的位置也不一定是前缀,插入的位置是可选的,这里的出发点实际是把传统人工设计模版中的真实token替换成可微的virtual token。
4.P-tuning V2:在输入前面的每层加入可微调的参数。
5.LoRA:冻结了预训练的模型权重,在需要训练的矩阵开通一个旁路矩阵,分为一个降秩矩阵和一个升秩矩阵(比如一个100×100的矩阵可以替换为一个100×2和一个2×100两个矩阵,参数量减少了10000-400),将最后的结果加到原始矩阵上。
6.QLoRA:引入了4位量化、双量化和利用nVidia统一内存进行分页。所有这些步骤都大大减少了微调所需的内存,同时性能几乎与标准微调相当。

模型量化
比如8位量化需要最大值为127,那么选取模型中参数最大的值/127为缩放比例a,将所有的数都除以这个缩放比例a。

Actor-Critic架构
在这里插入图片描述
Actor演员使用SFT模型初始化,使用问答对来更新其策略;Critic评论家使用RM模型初始化,用来拟合旧价值估计;Reward Model用来产生当前状态和策略下获得的奖励值;奖励值减掉SFT旧策略与新策略之间的KL散度作为reward,优势函数等于reward减掉旧状态价值估计。当优势函数大于0时,就要鼓励当前的动作;当优势函数小于0时,就要抑制当前动作。

优化器
SGD:随机梯度下降,它使用数据集中的单个样本或一批样本的梯度来更新模型参数。计算过程为原始参数=原始参数-学习率×梯度。
Adam:自适应学习率的梯度下降,Adam算法将不同的梯度给予不同的权重,使得神经网络在学习率稳定时,能快速、稳定的收敛到最佳点。
在这里插入图片描述

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

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

相关文章

如何创建自己的小程序?零编程一键创建实战指南

当今瞬息万变的数字世界中,拥有一个属于自己的小程序已成为企业与个人展示、服务和互动的重要途径。无需编码知识,通过便捷的云端可视化平台,也可以轻松创建一款符合自身需求且功能丰富的小程序。下面给大家分享如何创建自己的小程序。 1、选…

消息开始事件message start event

一:bpmn 二:java repositoryService.createDeployment().name("消息事件流程").addClasspathResource("bpmn/msg_event_process.bpmn").deploy(); identityService.setAuthenticatedUserId("huihui"); ProcessInstance p…

自适应批量生成二维码源码系统:电脑+手机端自适应 支持任何类型批量生成二维码 附带完整的搭建教程

在当今数字化的时代,二维码已经成为了我们日常生活和工作中的重要组成部分。无论是分享链接、添加好友,还是支付购物,二维码都以其便捷性受到了广泛的欢迎。下面,罗峰就来给大家分享一款自适应批量生成二维码源码系统,…

最新消息:OpenAI GPT Store 正式上线,GPTs 应用商店来了!

原文链接 https://openaigptguide.com/gpt-store-and-chatgpt-team/ OpenAI推出的两款新产品和服务:GPT Store和ChatGPT Team,提供了许多全新的解决方案和功能,旨在帮助用户更轻松地使用和构建GPT工具,同时也增加了公司的收入来源…

【JaveWeb教程】(17) MySQL数据库开发之 MySQL简介、安装、数据类型、SQL通用语法 详细代码示例讲解

目录 前言1. MySQL概述1.1 安装1.1.1 版本1.1.2 安装1.1.3 连接1.1.4 企业使用方式(了解) 1.2 数据模型1.3 SQL简介1.3.1 SQL通用语法1.3.2 分类 前言 在我们讲解SpringBootWeb基础知识(请求响应案例)的时候,我们讲到在web开发中,为了应用程序职责单一&…

Laravel 使用rdkafka_laravel详细教程(实操避坑)

一、选择rdkafka 首先要看版本兼容问题,我的是Laravel5.6,PHP是7.3.13,所以需要下载兼容此的rdkafka,去 Packagist 搜索 kafka ,我用的是 Packagist选择里面0.10.5版本, 二、安装rdkafka 在 Laravel 项目…

python爬虫实战(9)--获取澎pai热榜

1. 需要的类包 import pandas as pd import requests2. 请求地址 通过分析,数据可以直接从接口获取,无需解析页面标签,直接取出我们需要的数据即可。 def fetch_hot_news(api_url):response requests.get(api_url)if response.status_cod…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-3(2) 刚体的位形 Configuration of Rigid Body

本文仅供学习使用,总结很多本现有讲述运动学或动力学书籍后的总结,从矢量的角度进行分析,方法比较传统,但更易理解,并且现有的看似抽象方法,两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有…

Vue+Element Ui实现el-table自定义表头下拉选择表头筛选

用vueelement ui开发管理系统时,使用el-table做表格,当表格列过多的时候,想要做成可选表头的,实现表格列的筛选显示,效果如下: 代码文件结构: 废话不多说,直接上代码: 第…

2023年,AI爆发的一年

公众号:算法一只狗 今年以来,AI呈爆发式发展。在文本生成的领域,涌现出以ChatGPT为代表的生成式大模型。而在文本图像生成方面,有高度自定义的Stable Diffusion,和简单易用上手的Midjournery。多模态领域更是百花齐放&…

外汇天眼:Options与OneTick合作,共同打造全球SAAS分析平台

Options Technology,一家为全球金融领域提供云服务的托管服务提供商,今天宣布与OneMarketData及其旗舰产品OneTick平台的合作。 Options将使OneTick订户能够访问其庞大的市场数据存储库,包括股票、外汇、期货、期权和固定收益数据&#xff0…

OpenAI GPT商店来了! 创业公司打不过就加入?|对话Agent创业公司S2R

文|郝 鑫 1月10日,OpenAI推出了在线商店“GPT Store”。该商店已于昨日开始向付费用户、团队和企业用户推出,商店汇集了用户为各种任务创建的ChatGPT的自定义版本。 2023年初到年末,Agent就像一位来自异域的吉普赛女郎&#…

linux 网络基础配置

将Linux主机接入到网络,需要配置网络相关设置一般包括如下内容: 主机名 iP/netmask (ip地址,网关) 路由:默认网关 网络连接状态 DNS服务器 (主DNS服务器 次DNS服务器 第三个DNS服务器) 一、…

【System Verilog and UVM实力进阶2】SVA语法

毛主席说过:没有调查就没有发言权。 《SVA介绍——学习SVA语法》系列第二讲 本文还是延续上一篇的风格,语言内容尽可能简单明了,有问题大家相互讨论,共同进步。需要电子书的朋友可以给我发邮件。tommi.weiqq.com 1.16 "ended…

本地远程实时获取无人机采集视频图像(天空端 + jetson nano + 检测分割 + 回传地面端显示)

无线图传设备介绍 2、jetson nano天空端数据采集检测保存 3、本地回传显示 1、无线图传设备介绍 由于本设计考虑将无人机得到检测结果实时回传给地面站显示,因此需要考虑一个远程无线通信设备进行传输。本设计采用思翼HM30图传设备。通过无线图传的wifi将天空端的桌…

2023全球软件研发技术大会(SDCon2023)-核心PPT资料下载

一、峰会简介 本次峰会包含12大会议主题:云原生设施与平台、微服务架构实践、软件质量与效能、大数据实践与前沿、架构设计与演进、高可用与高性能架构、Web与大前端开发、编程语言与平台、AIGC与大模型、推荐系统实践、AI智能应用与研究、机器学习架构实践。 软件…

版本控制背景知识

版本控制背景知识 本文是关于 Git 系列文章的导读,我们先介绍一下版本控制的背景知识。 什么是版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。它将什么时候、什么人更改了文件的什么内容等信息如实记录下来…

HTML---JavaScript操作DOM对象

目录 文章目录 本章目标 一.DOM对象概念 二.节点访问方法 常用方法: 层次关系访问节点 三.节点信息 四.节点的操作方法 操作节点的属性 创建节点 删除替换节点 五.节点操作样式 style属性 class-name属性 六.获取元素位置 总结 本章目标 了解DOM的分类和节点间的…

超市商品管理系统设计 C++实现

超市商品管理系统设计—C实现 文章目录 超市商品管理系统设计---C实现一、内容要求大纲图 二、源代码(包含大量注释)1、main.cpp文件2、supermarket.h文件3、supermarket.cpp文件4、administrator.h文件5、administrator.cpp文件6、user.h文件7、user.cp…

数据结构之单调栈、单调队列

今天学习了单调栈还有单调队列的概念和使用,接下来我将对其定义并配合几道习题进行讲解: 首先先来复习一下栈与队列: 然后我们来看一下单调栈的定义: 单调栈中的元素从栈底到栈顶的元素的大小是按照单调递增或者单调递减的关系进…