大模型面试题库精选:必考问题与答案全收录

news2024/12/23 10:38:02

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



今天分享大模型面试相关知识点,喜欢记得收藏、关注、点赞。

技术交流群

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了_算法岗技术与面试交流群_, 想要获取最新面试题、了解最新面试动态的、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2040。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

面试精选

1. RAG技术体系的总体思路

数据预处理->分块(这一步骤很关键,有时候也决定了模型的效果)->文本向量化->query向量化->向量检索->重排->query+检索内容输入LLM->输出

2. 使用外挂知识库主要为了解决什么问题

  • 克服遗忘问题

  • 提升回答的准确性、权威性、时效性

  • 解决通用模型针对一些小众领域没有涉猎的问题

  • 提高可控性和可解释性,提高模型的可信度和安全性

3. 如何评价RAG项目效果的好坏

针对检索环节的评估:

  • MMR 平均倒排率:查询(或推荐请求)的排名倒数

  • Hits Rate 命中率:前k项中,包含正确信息的项的数目占比

  • NDCG

针对生成环节的评估:

  • 非量化:完整性、正确性、相关性

  • 量化:Rouge-L

4. 大模型的幻觉问题、复读机问题是什么

幻觉问题:即生成的内容是无意义的或不忠实于提供的源内容

复读机问题:重复生成某些话

5. 针对问题4,有没有什么解决办法

针对幻觉问题:引入外挂知识库,加入一些纠偏规则,限制输出长度等

针对复读机问题:

  • 丰富数据集的多样性,预处理时尽量过滤重复无意义的文本

  • 同义词替换等做数据增强

  • 温度参数调整

  • 后处理与过滤

6. 出现问题4的原因有哪些

针对幻觉问题:幻觉问题主要分为两大类,一类是生成结果与数据源不一致,自相矛盾。另一类是用户问题超出了大模型的认知。针对前者可能是训练数据和源数据不一致、数据没对齐或者编码器理解能力的缺陷和解码器策略错误可能导致幻觉。后者则是用户的问题不在语言模型认知范围内。

针对复读机问题:数据质量不高,存在大量单一、重复文本,文本过长(补充:当你的前面的条件文本过长时,大模型的输出的几个短文本会被原始的很长的条件文本淹没,继续预测下一个token的话,在模型看起来可能条件仍然是差不多的,此时如果使用greedy search,只选择概率最大的一个token,模型极大可能会将前面已经生成的短文本重新预测成概率最大的文本,以此类推,会一直重复下去。)

7. 当前主流的开源大模型是哪个,其架构具体是怎样的?

当前开源影响范围最广,生态建设最好的开源大模型是Meta的LLaMA。其依旧采用Transformers架构,并做了如下改动:

  • 为了提高训练稳定性,对每个子层做输入前置归一化,归一化函数为RMSNorm(受GPT-3启发)

  • 为了提升性能,SwiGLU激活函数替换ReLU激活函数(受PaLM启发)

  • 从绝对位置嵌入,改为旋转嵌入(受GPT-neo启发)

  • 使用causal multi-head attention的一个高效实现来减少内存占用和运行时间

8. 有哪几种SFT方法

  • 全微调

  • Adapter Tuning

  • Prefix Tuning

  • Prompt Tuning

  • P-Tuning v1

  • lora

  • RLHF

(SFT时,学习率设置为预训练阶段的10%,一般会取得不错的效果)

9. 什么是lora微调

在原始 PLM (Pre-trained Language Model) 旁边增加一个旁路,做一个降维再升维的操作,来模拟所谓的 intrinsic rank。训练的时候固定 PLM 的参数,只训练降维矩阵A与升维矩阵B。而模型的输入输出维度不变,输出时将BA与PLM的参数叠加。用随机高斯分布初始化A ,用0矩阵初始化B,保证训练的开始此旁路矩阵依然是 0 矩阵。

10. RAG的检索阶段,常见的向量检索模型有哪些?

ANN算法

  • 乘积向量

  • 暴力搜索

  • hnswlib

KD树

11. 针对通用的RAG,你觉得还有哪些改进点?

  • query侧:做query的纠错、改写,规范化和扩展

  • 对向量数据库做层次索引,提高检索效率和精度

  • 对LLM模型微调,针对当前垂直领域引入知识库,提升回答的专业性、时效性和正确性

  • 对最终输出做后处理,降低输出的不合理case

12. 什么是LangChain

LangChain为大型语言模型提供了一种全新的搭建和集成方式,通过这个强大的框架,我们可以将复杂的技术任务简化,让创意和创新更加易于实现。有点类似于神经网络开发与tensorflow/pytorch之间的关系

13. LangChain的常用模块有哪些?

  • document_loaders 文档加载

  • text_splitter 文档分块

  • embedding.huggingface 向量化

  • vectorstores 向量存储

  • chain.RetrievalQA 检索问答

14. SFT和RLHF优劣对比

在这里插入图片描述

15. 详细介绍一下RLHF

留个坑,改天详细歇一歇

16. 大模型训练经常出现一些OOM问题,在现有硬件基础下,有什么性能提升trick

梯度累积

  • 混合精度训练

  • 减轻模型参数

  • 分布式训练

  • 减少批量大小

  • 增加硬件资源

  • 数据处理与加载优化:例如,可以使用数据流水线技术来并行加载和处理数据,减少内存中同时存在的数据量

17. LLaMA模型输入句子理论上可以无限长吗?

不可以

  • 受限于计算资源

  • 训练阶段长句子会导致梯度消失或者梯度爆炸(因为它依赖前面的词进行最大似然估计作为损失函数,这个最大似然估计化简一下就是连乘的形式,容易造成梯度消失或者梯度爆炸)

  • 推理阶段会增加预测错误率

18. 如何让大模型处理更长的文本?

  • 分块处理,同时重叠保证连贯性

  • 增加模型参数量,复杂化模型架构,提高对更长文本的捕捉与表达能力

19. 大模型推理时,显存中有那几部分数据?

  • 模型参数

  • 输入数据

  • 计算中间结果

  • 内存管理策略:某些深度学习框架在推理时采用了一种延迟释放显存的策略,即显存不会立即释放,而是保留一段时间以备后续使用。这种策略可以减少显存的分配和释放频率,提高推理效率,但也会导致显存一直占用的现象。

20. 介绍下ChatGLM

首先要说起它的基座 GLM, GLM 既可以做 Encoder 也可以做 Decoder。

主要通过 两种mask方式来实现:

  • [mask]:bert形式,随机mask 文本中的短span

  • [gmask]:gpt 形式,mask末尾的长span

在chatglm里面做生成任务时,是用 [gmask]。chaglm2中完全采用 gmask来进行预训练。

在ChatGLM 的内部结构中的变换,从下到上依次是:

  • 位置编码:从BERT的训练式位置编码转变为旋转位置编码

  • 激活函数:从BERT中的 GeLU 转变为 GLU, 在ChatGLM2 中又变成了SwiGLU

  • LayerNormalization:采用的是DeepNorm,是对post-Normalization 的改进,即在残差之后做Normalization。在ChatGLM中,把 layer-normalization 改为 RMSNormalization。

在ChatGLM 2.0 中还添加了一些其他变化:

  • FlashAttenion:利用显存和内存来做加速

  • Multi-Query Attention:多个头只采用一个 KV对,通过参数共享来降低显存占用

21. 介绍下GLU激活函数和SwiGLU激活函数

GLU 的核心思想是通过门控机制来过滤信息,进而提高网络的表达能力和泛化能力。(门控机制有助于长距离建模)

SwishGLU 的核心思想是将 Swish 和 GLU 结合起来,SwishGLU 实际上只是多乘了一个 g(x)。

22. LLaMA1/2的异同

首先从数据角度,lamma2.0为2.0T, lamma1是1.4T。其次是上下文长度, lamma1是2k,lamma2是4k。

最后从模型架构角度:

从整体上看,二者都遵循自回归 Transformer 的架构,只不过内部的细节有些不同。

  • 位置编码:二者都采用了旋转位置编码

  • Normalization:二者都采用pre-normalization,只不过1.0中采用原始的 LayerNormalization,2.0中采用的是 RMSNorm

  • 激活函数:采用SwiGLU

23. 模型在训练和推理的时候各占用显存的多少?

一般来说,训练占用模型参数量的16倍大小(优化器、梯度、模型本身);推理占用模型参数量的2倍大小(fp16是一个单位参数大小对应两个字节,int8是一个单位参数大小对应一个字节)。

24. 详细说说Deepspeed的机制

以下内容引用自该篇文章

是一种数据并行的方法,采用的ring all reduce方式。

传统的parameter server是server和client的方式,client通过计算分配给自己的数据,产生梯度,传给server,server做聚合,然后把聚合后的参数再传给client,这个方式的弊端是server容易成为瓶颈,server通信量太大。另外可能一个client失败,会导致其他client等待。

Ring all reduce是一种分布式的方式,各个节点分配通信量。总的通信量和ps没啥变化,但是通信的压力平摊到各个GPU上了,GPU之间的通信可以并行进行。

假如,GPU数量是N,把模型参数分成N份,每个GPU要存放整个参数。每个GPU也要分配训练数据。当一次迭代,N个GPU之间要经过一个scatter和gather操作,reduce-scatter是将不同gpu上对应的参数的gradient相加,一共需要通讯(N-1)次。All-gather 是将合并完整的参数,传到其他gpu上,需要通讯(N-1)次。一次all reduce,单卡通信量为2*sita。

Zero包括3种方案,逐步递进:

zero1:将adam的参数分割成N份,这样一个GPU上只能保存一份adam参数:这对于forward没啥影响,gradient需要进行一次all-reduce,但是只能更新一部分参数,所以W需要进行一次all-gather,通信量为3N*sita,存储为 12*sita/N + 4*sita

zero2: 将adamw,gradient都分割成N份,梯度就不需要all-gather了,只需要scatter了,w需要all-gather,通讯量为2N*sita

zero3: 将参数,adam 和gradient都分割,forward的时候,需要将w all-gather,backfoward时,还需要把w all-gather回来,计算梯度,丢掉不属于自己的w,然后对梯度做reduce scatter,更新w,通讯量为3N*sita。

最后采用采用stage3:用1.5倍的通讯开销,换回近120倍的显存

另外,还有ZeRO-Offload是基于Zero2,将adam和gradient放到内存中,在cpu内起了N个线程计算。其中的一条主线是gradient总是需要scatter的,感觉这个数据并行标志。这里需要注意一点 不管是forward 还是backward,都是需要有完整的w的。另外有了gradient,以及adamW的参数,才能更新W。

25. 什么是混合精度训练

FP64用8个字节共64位,FP32用4个字节共32位,FP16用2个字节共16位。在神经网络模型的训练过程中,通常默认使用单精度(FP32)浮点数据类型来表示网络模型的权重和其他参数。

为什么需要混合精度训练呢?

使用FP16训练神经网络,相比使用FP32有以下优点。

  • 内存占用减少:FP16的位宽是FP32的一半,所以权重等参数占用的内存也减少了一半,这样就可以训练更大的网络模型或者使用更多的数据。

  • 通讯效率提高:对于分布式训练,特别是大模型训练,通讯的开销是一个性能瓶颈,通讯的位宽减少了一半,就可以加快通讯速度,减少等待时间,提高数据流通效率。

  • 计算效率更高:在一些专门的AI加速芯片上,使用FP16的计算性能比FP32更快。

但是使用FP16也会带来一些问题,主要有两个方面:

  • 数据溢出和

  • 舍入误差

为了利用FP16的优势,提高深度学习训练的效率和性能,同时避免精度溢出和舍入误差的影响,可以采用FP16和FP32的混合精度训练,主要涉及到一下三个重要技术点:

  • 权重备份(Weight Backup)

  • 损失放大(Loss Scaling)

  • 精度累加(Precision Accumulated)

26. 什么是prefix LLM和casual LLM

prefix LM:token可以相互看到,输入双向注意力,输出单向注意力(ChatGLM、ChatGLM2、U-PaLM)

casualLM:严格自回归,从左到右的单向注意力 (LLaMA-7B、LLaMa 衍生物、Qwen)

27. 说一说针对MHA后续的一些计算优化工作

  1. KV cache,核心思想:因为transformers是自回归,每一个token的预测包含大量前文的重复冗余计算。优化点是将需要重复利用的中间结果存下来,避免重复计算

  2. MQA,核心思想:虽然SRAM的带宽很大,但是容量很小(A100只有大概20M),所以要进一步减少需要缓存的数据。MQA中的多头只有Q是不一样的,K、V完全相同。

  3. GQA,核心思想:进一步减少需要缓存的数据大小,K、V分组复制,数据大小介于MQA和MHA之间。

  4. FlashAttention,核心思想:将Q、K、V切分为更小的块,从HBM中加载到SRAM,需要计算的时候直接从SARM中读(因为目前transformers的计算效率瓶颈不在于计算速度,而是IO)

FlashAttention涉及到很多计算trick,有空单独开一篇文章来说

28. 说说attention几种常见的计算方式

  • self-attention

  • din的attention计算在得到权重之后,没有进行softmax归一化操作,而是保留了权重原始的信号强度。原始权重是通过网络最后一层激活函数得到,因此可以利用激活函数的特点,将其值限制在0-1之间,如sigmoid函数,从而使得到的原始权重值可直接用于加权求和,保留了权重的差异性。使用softmax操作虽然可以进行归一化,但同时会弱化了权重之间的差异性,有损用户兴趣的局部聚焦性。

在这里插入图片描述

大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

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

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

相关文章

让项目管理更高效:10款文档管理工具

这篇文章介绍了以下几个工具:PingCode、Worktile、企企通、网易云信、Tower、ProcessOn、Zoho Docs、iWork、Confluence、Google Drive。 项目管理中,文档的管理常常是一大痛点。文档分散、版本混乱、协作不便,这些问题不仅耗费时间&#xf…

ctfshow-web入门-sql注入(web216-web220)时间盲注结束

目录 1、web216 2、web217 3、web218 4、web219 5、web220 1、web216 最开始还以为是需要进行 base64 的相关处理,其实不必,直接闭合掉前面的括号即可,因为这里是字符串的拼接,将我们的 payload 替换掉那个 $id 。 在上一题的…

通过Fiddler抓包保存网页上的视频(包括Bilibili、B站和其他视频站)亲测可用

本文仅供学习交流用途 文中出现的信息仅为演示需要 请勿以任何方法剽窃、盗用任何视频作者的任何视频 有时候遇到一些素材想保存下来,但是网站不给保存,无论视频是否允许转载。这篇介绍一下最近发现的一个保存视频的方法。 不会介绍Fiddler了&#xf…

C# simd指令之MaskMove

MaskMove指令说明:该方法将掩码向量中的每个非零元素对应的源向量中的元素移动到内存地址指定的位置。如果掩码中的元素为零,则对应的内存位置不会被修改。 MaskMove指令接受三个参数(source、mask、address): 源向量…

基于LQR算法的机器人轨迹跟踪控制详解

本文摘要 本文详细介绍了基于线性二次型调节器(LQR)算法的机器人轨迹跟踪控制方法。首先,文章通过建立基于运动学模型的离散状态方程,来描述机器人的当前状态与目标状态之间的关系,并利用此模型进行状态误差的计算。接…

js中的getElementById的使用方法

在JavaScript中,document.getElementById()是一种用于通过元素的id属性获取DOM元素的方法。它的作用是返回与指定id匹配的HTML元素。 使用document.getElementById()可以通过元素的id属性直接获取该元素的引用,然后可以使用该引用对元素进行各种操作。例…

LLMOps — 使用 BentoML 为 Llama-3 模型提供服务

使用 BentoML 和 Runpod 快速设置 LLM API 经常看到数据科学家对 LLM 的开发感兴趣,包括模型架构、训练技术或数据收集。然而,我注意到,很多时候,除了理论方面,许多人在以用户实际使用的方式提供这些模型时遇到了问题…

单元训练07:矩阵键盘的基本操作-sbit写法

蓝桥杯 小蜜蜂 单元训练07:矩阵键盘的基本操作 sbit写法中加入了定时器使用。 #include "stc15f2k60s2.h"typedef unsigned char uint8_t;uint8_t timerCounter 0; uint8_t timerEnable 0;#define LED(X) \{ …

数据结构之排序(下)

片头 嗨!小伙伴们,咱们又见面啦,在上一篇数据结构之排序(上)中,我们学习了直接插入排序、冒泡排序和希尔排序,今天我们继续学习排序这一块,准备好了吗?Ready Go ! ! ! 一、选择排序 1.1 基本思…

测评各主流大模型对复杂文档处理的精确度,司马阅领先

司马阅一直在升级,这次升级后,我们将司马阅和主流的AI大模型再做一次测评。这次极端测评,主要pk各大模型对复杂文档处理的精确度。 我们选取的依然是这份专业的行业报告:《中国生成式AI开发者洞察》,共58页&#xff0…

js实现图片以鼠标为中心滚轮缩放-vue

功能背景 实现以鼠标在图中的位置为中心进行图片的滚轮缩放,现在是无论鼠标位置在哪都以图片中心进行缩放,这不符合预期; 关键点 缩放前鼠标在的位置是 A(clinetX,clientY) 点,缩放后鼠标的位置是 A’&a…

遇到 aspects 依赖引入失败问题

在引入 aspects 的相关依赖时&#xff0c;没有找到这个版本 <dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>6.0.0-M2</version> </dependency> 第一次尝试&#xff…

中国云计算技术(三)

目录 四、云视频监控技术&#xff08;一&#xff09;cVideo云视频监控系统&#xff08;二&#xff09;cVideo智能分析系统&#xff08;三&#xff09;cVideo云转码系统 四、云视频监控技术 随着云计算技术的飞速发展&#xff0c;许多传统行业纷纷向“云”上靠拢&#xff0c;视频…

【日记】朋友和他女朋友领证了(368 字)

正文 一定程度上感受到了驻场运维的水深火热&#xff0c;感觉成天到晚都在救火。今天下午就给人修了四五台机器…… 回想了一下&#xff0c;今天貌似还真没干什么。毕竟早上睁眼就是 8:35 了&#xff0c;给人吓得半死。 &#xff08;感觉 AI 也很智障&#xff0c;当初就是发现音…

0603定时器的输入捕获

定时器的输入捕获 最终程序现象&#xff1a; 1.输入捕获模式测频率 2.PWMI模式&#xff08;PWM输入模式&#xff09;测频率和占空比 输入捕获电路&#xff1a;左边这一部分。 右边的就是输出比较部分。 4个输入捕获和输出比较通道&#xff0c;共用4个CCR寄存器&#xff0c;另外…

uniapp 自定义全局弹窗

自定义全局弹窗可在js和.vue文件中调用&#xff0c;unipop样式不满足&#xff0c;需自定义样式。 效果图 目录结构 index.vue <template><view class"uni-popup" v-if"isShow"><view class"uni-popup__mask uni-center ani uni-cust…

10款企业网络准入控制系统排行榜|网络准入控制系统推荐

在当今数字化时代&#xff0c;企业网络的安全性对于维护业务连续性和保护敏感数据至关重要。网络准入控制系统&#xff08;NAC&#xff09;作为企业安全架构的核心组成部分&#xff0c;负责管理和控制所有试图接入企业网络的设备。我们列出了2024年企业网络准入控制系统的排行榜…

别急着买新手机:OPPO Reno13系列配置全解析,性价比爆表

在智能手机市场&#xff0c;OPPO Reno系列凭借其高性价比和出色的影像实力&#xff0c;一直是消费者关注的焦点。 随着科技的不断进步&#xff0c;OPPO也在不断推陈出新&#xff0c;满足用户对高性能手机的需求。最近&#xff0c;OPPO Reno13系列的曝光&#xff0c;预示着OPPO…

【高性能高易用】物联网AI开发套件----Qualcomm® RB3 Gen 2 开发套件

Qualcomm RB3 Gen 2 开发套件 专为高性能计算、高易用性而设计的物联网开发套件 Qualcomm RB3 Gen 2 开发套件拥有先进的功能和强大的性能&#xff0c;包括强大的AI运算&#xff0c;12 TOPS 算力和计算机图形处理能力&#xff0c;可轻松创造涵盖机器人、企业、工业和自动化等…

谷歌账号登录的时候提示被停用,原因是什么,账号还有救吗?该如何处理?

今日早上&#xff0c;有个久违的朋友找到我说&#xff0c;要恢复账号。 他的情况是这样的&#xff1a;7月21日的时候&#xff0c;他发现自己的谷歌账号登录的时候提示活动异常先&#xff0c;需要输入手机号码验证才能恢复账号。但是输入了自己和亲友们的多个手机号码都无法验证…