理想大模型实习面试题6道(答案解析)

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。

最大的感受就是,今年的算法面试题普遍反馈特别的新!AIGC 相关的面试题猛增,特别是去年到今年爆火的大模型、多模态、扩散模型、SAM等考察的知识点越来越多。


基于讨论和大模型实践,我们写一本书:《大模型面试宝典》(2024版) 发布!


今天分享社群中一位面试理想大模型(实习)的面试题,希望对大家找工作有帮助,喜欢记得点赞、收藏、关注。文末提供技术交流方式。

问题1、LLAMA 和 ChatGLM 的区别

模型

训练数据

训练数据量

模型参数量

词表大小

LLaMA

以英语为主的拉丁语系,不包含中日韩文

1T/1.4T tokens

7B、13B、33B、65B

32000

ChatGLM-6B

中英双语,中英文比例为 1:1

1T tokens

6B

130528

模型

模型结构

位置编码

激活函数

layer norm

LLaMA

Casual decoder

RoPE

SwiGLU

Pre RMS Norm

ChatGLM-6B

Prefix decoder

RoPE

GeGLU

Post Deep Norm

问题2、BatchNorm 和 LayerNorm 什么区别。

layernorm和batchnorm的区别:LN中同层神经元输入拥有相同的均值和方差,不同的输入样本有不同的均值和方差;

BN中则针对不同神经元输入计算均值和方差,同一个batch中的输入拥有相同的均值和方差。

LN不依赖于batch的大小和输入sequence的深度,因此可以用于batchsize为1和RNN中对变长的输入sequence的normalize操作。

由于NLP中的文本输入一般为变长,所以使用layernorm更好。

问题3、Bert 的参数量是怎么决定的

Bert(Bidirectional Encoder Representations from Transformers)的参数量由其模型结构以及隐藏层的大小、层数等超参数所决定。具体来说,Bert 模型由多个 Transformer Encoder 层组成,每个 Encoder 层包含多个注意力头以及前馈神经网络层。因此,Bert 的参数量主要由这些层的数量、每层的隐藏单元数、注意力头的数量等因素决定。

问题4、p tuning v2 和 prompt tuning 的区别

Prompt tuning是之前其他论文提出的一种方法,通过冻结语言模型仅去调整连续的prompts,在参数量超过10B的模型上,效果追上了fine-tune,但是在normal-sized模型上表现不好,并且无法解决序列标注任务。针对这两个问题,作者提出了P-tuning v2。

P-Tuning V2在P-Tuning V1的基础上进行了下述改进:

  • 在每一层都加入了Prompts tokens作为输入,而不是仅仅加在输入层,这与Prefix Tuning的做法相同。这样得到了更多可学习的参数,且更深层结构中的Prompt能给模型预测带来更直接的影响。

  • 去掉了重参数化的编码器。在 P-tuning v2 中,作者发现重参数化的改进很小,尤其是对于较小的模型,同时还会影响模型的表现。

  • 针对不同任务采用不同的提示长度。提示长度在提示优化方法的超参数搜索中起着核心作用。在实验中,我们发现不同的理解任务通常用不同的提示长度来实现其最佳性能,这与Prefix-Tuning中的发现一致,不同的文本生成任务可能有不同的最佳提示长度。

  • 可选的多任务学习。先在多任务的Prompt上进行预训练,然后再适配下游任务。一方面,连续提示的随机惯性给优化带来了困难,这可以通过更多的训练数据或与任务相关的无监督预训练来缓解;另一方面,连续提示是跨任务和数据集的特定任务知识的完美载体。

问题5、多头注意力机制和单个注意力机制时间复杂度会变吗?

多头注意力机制和单个注意力机制的时间复杂度都是

O(n^2d),其中 n 是序列长度,d 是每个词向量的维度。因为注意力机制涉及计算注意力分数的所有词对,因此时间复杂度与序列长度的平方成正比。无论是多头还是单个注意力机制,时间复杂度都是相同的。

问题6、大模型微调过程中如何避免灾难性遗忘?

在微调大模型的过程中,确实可能会遇到灾难性遗忘的问题,即模型在优化某一特定任务时,可能会忘记之前学到的其他重要信息或能力。为了缓解这种情况,可以采用以下几种策略:

(1)重新训练:通过使用所有已知数据重新训练模型,可以使其适应数据分布的变化,从而避免遗忘。

(2)增量学习:增量学习是一种在微调过程中逐步添加新数据的方法。通过增量学习,大模型可以在不忘记旧知识的情况下学习新数据。

(3)知识蒸馏:知识蒸馏是一种将老模型的知识传递给新模型的方法。通过训练一个教师模型来生成数据标注或权重,然后将标注或权重传递给新模型进行训练,可以避免灾难性遗忘。

(4)正则化技术:限制模型参数的变化范围,从而减少遗忘,使得大模型在微调过程中保持稳定性。

(5)使用任务相关性数据:如果可能的话,尽量使用与原始任务相关或相似的数据进行微调。这样,模型在优化新任务时,更容易与先前学到的知识建立联系。

在此特别推荐今年、明年找工作的同学加入我们算法群和星球学习!不仅有数千题算法岗&软开岗的面试真题,还可以提问如何找工作,方向选择,还有Offer选择等问题,更有上百家公司的内推和求职准备攻略。

技术交流&资料

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

成立了大模型面试和技术交流群,相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、微信搜索公众号:机器学习社区,后台回复:加群
方式②、添加微信号:mlc2040,备注:来自CSDN + 技术交流

通俗易懂讲解大模型系列

  • 重磅消息!《大模型面试宝典》(2024版) 正式发布!

  • 重磅消息!《大模型实战宝典》(2024版) 正式发布!

  • 做大模型也有1年多了,聊聊这段时间的感悟!

  • 用通俗易懂的方式讲解:大模型算法工程师最全面试题汇总

  • 用通俗易懂的方式讲解:不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

  • 用通俗易懂的方式讲解:我的大模型岗位面试总结:共24家,9个offer

  • 用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

  • 用通俗易懂的方式讲解:ChatGPT 开放的多模态的DALL-E 3功能,好玩到停不下来!

  • 用通俗易懂的方式讲解:基于扩散模型(Diffusion),文生图 AnyText 的效果太棒了

  • 用通俗易懂的方式讲解:在 CPU 服务器上部署 ChatGLM3-6B 模型

  • 用通俗易懂的方式讲解:ChatGLM3-6B 部署指南

  • 用通俗易懂的方式讲解:使用 LangChain 封装自定义的 LLM,太棒了

  • 用通俗易懂的方式讲解:基于 Langchain 和 ChatChat 部署本地知识库问答系统

  • 用通俗易懂的方式讲解:Llama2 部署讲解及试用方式

  • 用通俗易懂的方式讲解:一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路

  • 用通俗易懂的方式讲解:LlamaIndex 官方发布高清大图,纵览高级 RAG技术

  • 用通俗易懂的方式讲解:为什么大模型 Advanced RAG 方法对于AI的未来至关重要?

  • 用通俗易懂的方式讲解:基于 Langchain 框架,利用 MongoDB 矢量搜索实现大模型 RAG 高级检索方法

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

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

相关文章

springboot如何给上传的图片加水印,java工具类分享

我写了一个摄影网站,但是不太希望其他用户窃取别人的图片,需要业务中有一个加水印的功能 /*** 图片文件上传*/Autowiredprivate StringRedisTemplate redisTemplate;PostMapping(value "/imageUpload", name "图片文件上传")publi…

离线 Linux 开发环境搭建

背景 无法连接外面的内网开发 通常需要打通如下: 虚拟机和网络模式VSCode 插件安装虚拟机软件安装 虚拟机和网络模式 虚拟机可以使用 Windows 自带的 Hyper-V 通常受限网络,网络模式更为复杂 Hyper-V 虚拟机有很多网络模式: 网络开机…

「33」如何让你的直播场景增加透视感?

「33」模糊滤镜增强背景画面透视感 在直播中,背景一直是作为一种陪衬而存在的,位于主场景的后面,其实,说得更直白一些,背景的存在就犹如“绿叶”,是为了衬托红花更加艳丽。所以…… 你通过画面背景的调整,可以从整体上对视频或图片的画面进行装饰,有助于增加画面的空间…

面试算法-127-优势洗牌

题目 给定两个长度相等的数组 nums1 和 nums2,nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描述。 返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。 示例 1: 输入:nums1 [2,7,11,…

【C++】vector问题解决(非法的间接寻址,迭代器失效 , memcpy拷贝问题)

送给大家一句话: 世界在旋转,我们跌跌撞撞前进,这就够了 —— 阿贝尔 加缪 vector问题解决 1 前言2 迭代器区间拷贝3 迭代器失效问题4 memcpy拷贝问题 1 前言 我们之前实现了手搓vector,但是当时依然有些问题没有解决&#xff…

牛市股票还会亏钱?--外观模式

1.1 牛市股票还会亏钱? 炒股,碰到熊市,亏得一塌糊涂。 "我们公司的人现在都在炒股票,其实大部分人都不太懂,就是因为现在股市行情很火,于是都在跟风呢!" 刚入市的人,什么都…

Day84:服务攻防-端口协议桌面应用QQWPS等RCEhydra口令猜解未授权检测

目录 端口协议-口令爆破&未授权 弱口令爆破 FTP:文件传输协议 RDP:Windows远程桌面协议 SSH:Linux安全外壳协议 未授权案例(rsync) 桌面应用-QQ&WPS&Clash QQ RCE 漏洞复现 WPS RCE 漏洞复现 Clas* RCE 漏洞复现 知识点…

【攻防世界】ics-05

php://filter 伪协议查看源码 preg_replace 函数漏洞 1.获取网页源代码。多点点界面,发现点云平台设备维护中心时,页面发生变化。 /?pageindex 输入什么显示什么,有回显。 用php://filter读取网页源代码 ?pagephp://filter/readconvert.…

设计模式 --5观察者模式

观察者模式 观察者模式的优缺点 优点 当一个对象改变的时候 需要同时改变其他对象的相关动作的时候 ,而且它不知道有多少具体的对象需要改变 应该考虑使用观察者模式 。观察者模式的工作就是解除耦合 让耦合双方都依赖与抽象 而不是具体 是的各自改变都不会影响另…

【文献分享】ALKEMIE:加速材料发现和设计的智能计算平台

题目:ALKEMIE: An intelligent computational platform for accelerating materials discovery and design 链接:DOI: 10.1016/j.commatsci.2020.110064 ALKEMIE:加速材料发现和设计的智能计算平台 摘要 通过传统的试错方式开发具有目标特性…

ChatGPT 的核心 GPT 模型:探究其生成式预训练变换架构的革新与应用潜力

GPT(Generative Pre-trained Transformer)模型是一种深度学习模型,由OpenAI于2018年首次提出,并在随后的几年中不断迭代发展,包括GPT-2、GPT-3以及最新的GPT-4。GPT模型在自然语言处理(NLP)领域…

领地选择

题源 二维前缀和 题目描述 作为在虚拟世界里统帅千军万马的领袖,小 Z 认为天时、地利、人和三者是缺一不可的,所以,谨慎地选择首都的位置对于小 Z 来说是非常重要的。 首都被认为是一个占地 CC 的正方形。小 Z 希望你寻找到一个合适的位置&am…

程序员如何赚美元的案例

偶然的契机让我走上了开发共享软件的道路。说起编写MP3 CD Maker,要追溯到1998年。当时国内掀起了VCD热潮,中关村很多家公司做起了VCD刻录软件的生意。 我也对这个市场很感兴趣,当时市面上刻录VCD的方法,是通过几种国外软件的组合…

ssm基于HTML5的出租车管理系统论文

摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此出租车信息的管…

Linux云计算之Linux基础3——Linux基本认识操作

1、终端 终端(terminal):人和系统交互的必要设备,人机交互最后一个界面(包含独立的输入输出设备) 物理终端(console):直接接入本机器的键盘设备和显示器虚拟终端(tty):通过软件方式虚拟实现的终端。它可以…

C++相关概念和易错语法(4)(构造函数、析构函数)

一、构造函数 1.实现的功能:实例化对象的时候默认自动调用,相当于初始化。 条件:在书写时要满足构造函数的规范(函数名 类名,不写返回值,也没有返回值),可以用inline来修饰。 2.自…

Spring中依赖注入的方法有几种,分别是什么?

依赖注入的目的: 都是为了减少对象之间的紧密耦合 1. 构造函数注入:通过在类的构造函数中接受依赖对象作为参数,Spring在创建对象时将依赖注入。 2. Setter方法注入:在类中提供setter方法,Spring通过调用这些setter方法…

Docker安装Memcached

要在Docker 中安装 Memcached,你可以使用官方提供的 Memcached 镜像。以下是安装的步骤: 首先确保已经安装了 Docker。如果还没有安装,请先安装 Docker。 使用以下命令从 Docker Hub 拉取 Memcached 镜像: docker pull memcach…

Qt模拟面试(超硬核)

1. 请简要介绍一下你的 Qt 开发经验。 建议:诚实地描述你的 Qt 经验,包括你使用过的 Qt 版本、开发过的项目类型、遇到的挑战以及如何解决它们。 假如你没有开发经验,可以提供一些关于 Qt 开发的一般信息和常见的经验分享。 Qt 是一个跨平…

4.6 offset指令,jmp short指令,far,dword ptr各种跳转指令

4.6 offset指令,jmp short指令,far,dword ptr各种跳转指令 可以修改IP,或同时修改CS和IP的指令统称为转移指令。概括的讲,转移指令就是可以控制CPU执行内存中某处代码的指令 1. 转移指令 1.1 8086CPU的转移行为有以…