大语言模型面试问题

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

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,一经查实,立即删除!

相关文章

点云从入门到精通技术详解100篇-基于多传感器融合的智能汽车 环境感知

目录 前言 智能驾驶汽车研究现状 智能驾驶环境感知研究现状

Linux和windows进程同步与线程同步那些事儿(三): Linux线程同步详解示例

Linux和windows进程同步与线程同步那些事儿(一) Linux和windows进程同步与线程同步那些事儿(二): windows线程同步详解示例 Linux和windows进程同步与线程同步那些事儿(三): Linux线…

CentOS7安装jdk1.8

CentOS7安装jdk1.8 一、解压jdk并放到指定位置二、设置环境变量并生效三、检查是否生效 一、解压jdk并放到指定位置 tar -zxvf jdk-8u25-linux-x64.tar.gz mv jdk-8u25-linux-x64 /home/seven/jdk二、设置环境变量并生效 # 设置环境变量 vim /etc/profile export JAVA_HOME/h…

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

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

消息开始事件message start event

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

js获取光标坐标

方法一: 使用事件对象的clientX和clientY属性获取光标坐标: document.addEventListener(mousemove, function(event) {var x event.clientX;var y event.clientY;console.log(光标位置:, x, y); });方法二: 使用getBoundingClientRect()方法获取目标元…

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

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

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

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

Spring Boot 自动装配原理

Java面试题目录 Spring Boot自动装配原理 Spring Boot启动类上的SpringBootApplication注解中包含EnableAutoConfiguration注解,表示开启自动装配。在EnableAutoConfiguration注解中使用Import注解引入AutoConfigurationImportSelector组件,此类中通过S…

【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…

循环打印当前时间的前七个小时

padStart和padEnd是es6中新增的语法 只能对字符串使用,是新增的方法不会修改原字符串 str.padStart(MaxLength,‘填充的内容’) // 当str的长度没有达到MaxLength,会将第二个参数填充到这个str前直到达到MaxLength str.padEnd(MaxLength,‘填充的内容’…

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

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

pyDAL一个python的ORM(9) pyDAL的嵌套查询

假设有以下两个表: db.define_table(person,Field(id, string), Field(‘name, string), Field(‘dept, string)) db.define_table(things,Field(id, string), Field(‘name, string), Field(‘owner, string)) 一、使用belongs进行嵌套查询 我们查询要求&#…

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就像一位来自异域的吉普赛女郎&#…

JavaScript中要实现爬虫抓取动态滚动条加载的内容Puppeteer

在JavaScript中,要实现爬虫抓取动态滚动条加载的内容(即滚动到页面底部时自动加载更多内容的网页),通常需要模拟用户滚动行为,并等待页面内容动态加载完成。由于浏览器环境下的JavaScript并不支持直接用于生产环境的网…