当前位置: 首页 > news >正文

大模型面试问题

综合基础

1、讲讲制作一个LLM的流程以及各阶段的作用
2、发现模型性能不好,如何从各个阶段去排查问题

查看各阶段中是否有对应训练数据,然后再向下排查。

预训练

1、Transfomer模型介绍一下
2、讲讲 Q、K、V
3、Transfomer模型中Encoder输出给Decoder的输入参数有哪些?

K和V

4、讲讲padding的类别和使用举例

有left_padding和right_padding。
GPT会使用 left_padding
BERT会使用 right_padding

5、梯度突然消失和突然爆炸,如何排查问题

1、考虑激活函数
2、考虑数据
3、考虑学习率等参数

6、讲一讲Deepspeed和ZeRO

1、Deepspeed用于高效并行计算,支持数据并行 、模型并行和流水线并行等。
2、内存优化技术中引入了ZeRO(Zero Redundancy Optimizer)技术,通过优化模型状态的存储和通信来大幅减少所需的内存占用。
3、支持混合精度训练。支持同时使用单精度(FP32)和半精度(FP16)浮点数进行训练,可以在保持模型性能的同时减少内存占用和计算时间。
ZeRO通过优化模型状态的存储和通信来大幅减少所需的内存占用,使得在有限的内存资源下训练更大规模的模型成为可能。
ZeRO的核心思想是将模型的参数、梯度和优化器状态进行分片,并平均分配到所有的GPU中。这样,每个GPU只存储一部分数据,从而减少了单个设备的内存需求。同时,ZeRO还通过动态通信调度在分布式设备之间共享必要的状态,以保持数据并行的计算粒度和通信量,进一步减少内存占用。
ZeRO提供了多个优化级别,包括ZeRO-1、ZeRO-2和ZeRO-3,每个级别都在前一个级别的基础上减少更多的内存冗余。例如,ZeRO-1主要优化优化器的存储,ZeRO-2进一步优化模型参数和优化器状态的存储,而ZeRO-3还包括对激活的优化。随着优化级别的提高,能够支持的模型大小也随之增加,但同时对集群的通信和计算能力要求也更高。

SFT阶段

1、如何制作SFT数据
2、如何制作长文数据
3、讲讲正向数据和反向数据制作
4、如何去解决敏感数据问题
5、SFT阶段的目的是什么

1、激发垂直领域知识
2、引导LLM的输出内容的风格、输出形式等等

RLHF阶段

1、讲一讲DPO

大模型中的DPO(Direct Preference Optimization,直接偏好优化)技术是一种用于将语言模型(LM)的行为与人类偏好对齐的方法。DPO技术的核心思想是直接优化语言模型,以最大化模型生成符合人类偏好的响应的概率。具体来说,DPO通过以下步骤实现:
1. 标注偏好数据集(x, y1, y2)
2. 优化语言模型。基于标注的数据集和获取的πref,优化语言模型πθ来最小化DPO损失函数。这个损失函数旨在增大偏好响应相较于不偏好响应的log概率,同时包含一个动态的、每个样本上的重要性权重,以避免模型退化。
3. 避免过拟合。DPO的一个潜在缺点是容易过拟合偏好数据集。为了缓解这个问题,可以引入正则化项,如身份偏好优化(IPO),以使模型在训练过程中更加稳定。

2、PPO有哪些组件,各个组件的作用是什么

1、演员模型:目标训练模型
2、评论家模型:用于判断演员模型产生的动作,未来会获取的总收益有多大。这个模型的参数会被一起更新,用于让评判能力也“”与时俱进“”。主要实现是在初始的LLM的最后一层加一个求价值的层。
3、参考模型:原始的LLM,参数冻结。保证演员模型和最初的模型训练偏差不会太大,让模型不被训“歪”。
4、奖励模型:判断当前演员模型的动作产生的价值有多大。

3、RM的用途是什么

用于打分,让LLM对我们想要的数据偏好进行对齐。

4、如何训练RM

给RM输入一个价值偏好数据集(x, y1, y2),其中x是输入的数据,y1是正向偏好,y2是负向偏好。然后,更新RM参数,让模型给正向偏好打分更多,负向偏好打分更低。

5、如何对齐LLM
6、PPO过程中有哪些损失函数

1、策略损失函数:策略损失函数是PPO算法中用于优化策略网络的主要损失函数。它基于 **新旧策略的概率比例**(ratio)和 **优势函数** 来计算。
2、价值损失函数:价值损失函数用于优化价值网络的参数,使其能够更准确地估计给定状态下的未来累积奖励。价值损失函数通常使用均方误差(MSE)或均方根误差(RMSE)来计算预测值与真实值之间的差异。

7、退火的作用是什么

让训练时梯度更新不会波动太大,渐进式的更新

8、PPO的目的是什么

用于模型对齐,让模型的输出能更符合我们预期的价值偏好

RAG

1、讲讲RAG的过程
2、讲讲Encoder是如何制作的
3、使用的Embedding是什么
4、RAG和事实增强结合起来进行讲解

模型推理

1、top-k、top-p、temperature、beam search的作用和效果上的体现
2、对比beam search、top-k、top-p

从效果上来看,top-k、top-p的调整要比beam search产生更多的多样性。

相关文章:

大模型面试问题

综合基础 1、讲讲制作一个LLM的流程以及各阶段的作用 2、发现模型性能不好,如何从各个阶段去排查问题 查看各阶段中是否有对应训练数据,然后再向下排查。预训练 1、Transfomer模型介绍一下 2、讲讲 Q、K、V 3、Transfomer模型中Encoder输出给Decoder的…...

keeplive配置详解与haproxy配置详解

一、keepalive相关知识 1.1 keepalive介绍 keepalive即LVS集群当中的高可用架构,只是针对调度器的高可用。是高可用的HA架构。 keepalive就是基于VRRP协议来实现LVS高可用的方案。 1、组播地址 224.0.0.18,根据组播地址进行通信,主备之间发…...

vivado里的LUT、LUTRAM、FF、BRAM、DSP、IO、BUFG、MMCM资源介绍

vivado里的LUT、LUTRAM、FF、BRAM、DSP、IO、BUFG、MMCM资源介绍 提示:以下是本篇文章正文内容,写文章实属不易,希望能帮助到各位,转载请附上链接。 vivado实现电路用到的资源类型 LUT(Look-Up Table)&am…...

window关闭端口占用

文章目录 一、打开命令行,输入命令,得到进程号二、找到其端口并杀死该端口总结 一、打开命令行,输入命令,得到进程号 winr打开命令行,输入命令 netstat -ano | findstr 端口号得到端口号 二、找到其端口并杀死该端…...

Java:类和对象

类和对象 类(Class)类的定义 对象(Object)对象的创建 构造方法(Constructor)构造方法的定义 继承(Inheritance)继承的示例 总结示例一设想一个场景:创建一个虚拟动物园一…...

Pandas数据分析案例之用户购买记录分析

文章目录 数据分析之用户购买记录分析第一部分:数据类型处理数据加载观察数据查看数据的数据类型数据中是否存储在缺失值将order_dt转换成时间类型查看数据的统计描述计算所有用户购买商品的平均数量计算所有用户购买商品的平均花费 在源数据中添加一列表示月份:ast…...

串口调试可能遇见的常见问题和排查方法

串口UART作为嵌入式应用和通讯领域中最常用的接口之一,接口协议虽然简单,但在实际应 用中不同设备之间的通讯也会存在各种小问题,下面对使用中各种常见的问题做下总结和梳 理,可作为调试参考。 01串口通信常见问题 串口通信乱码…...

运放学习提纲

目的:给初入硬件的朋友一个系统性学习运放的参考方向,避免像无头苍蝇那般 一:偏置电流 1.1. 为什么是输入偏置电流? 1.2. 什么是输入偏置电流? 1.3. 怎么搜索资料?怎么把 ADI 模型导 入Multisim &#…...

nvidia系列教程-AGX-Orin系统刷机及备份

目录 前言 一、准备工作 二、AGX Orin 系统刷机步骤 三、AGX Orin 系统备份 总结 前言 NVIDIA AGX Orin 是一款高性能的嵌入式计算平台,专为边缘计算和 AI 应用而设计。为了确保系统的稳定性和适应不同的应用场景,用户可能需要对 AGX Orin 进行系统刷…...

将 Mojo 与 Python 结合使用

Mojo 允许您访问整个 Python 生态系统,但环境可能会因 Python 的安装方式而异。花些时间准确了解 Python 中的模块和包的工作原理是值得的,因为有一些复杂情况需要注意。如果您以前在调用 Python 代码时遇到困难,这将帮助您入门。 Python 中的模块和包 让我们从 Python 开始…...

Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED

Unrecognized option: --add-opensjava.base/java.langALL-UNNAMED Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Disconnected from server 报错原因:这里我是启动一个SpringBoot项目的时候报这…...

js与ios、安卓原生方法互调。

注意方法名与参数需要与对方约束 1.js调用安卓原生方法 window.android.方法名(要传递的参数) 调用安卓方法并且传递参数过去:window.WebAppInterface.安卓方法("参数") window.安卓暴露的方法function(安卓传递过来的参数){} …...

C++——多态经典案例(二)制作饮品

案例:制作饮品的步骤是差不多一样的,假设都有四步,打开包装Open、煮水Boil、放杯子里面PutInCup、放佐料PutSomething、喝Drink 利用多态,制作茶和咖啡等饮品 分析:定义一个抽象类,纯虚函数包括Open、Boil…...

内网域森林之ProxyNotShell漏洞利用

点击星标,即时接收最新推文 本文选自《内网安全攻防:红队之路》 在渗透测试过程,如果目标环境存在Exchange服务器,我们也需要测试是否存在已知的远程命令执行漏洞,这里首先介绍ProxyNotShell。 ProxyNotShell和之前…...

SpringBoot基础 第一天

SpringBoot配置的文件名是固定的:application.yml application.properties YAML:以数据为中心 比Json xml更适合做配置文件 YAML语法: 1 字面量:普通值(字符串 布尔值 数字) (1) k: v (2) " "不会转义 会转义 2 对象,map(属性和值) (1)…...

【C/C++】C语言和C++实现Stack(栈)对比

我们初步了解了C,也用C语言实现过栈,就我们当前所更新过的有关C学习内容以栈为例子,来简单对比一下C语言和C。 1.C中栈的实现 栈的C语言实现在【数据结构】栈的概念、结构和实现详解-CSDN博客 ,下面是C实现的栈, 在St…...

mysql定时备份脚本

概述 整理Mysql数据库备份脚本,用在生产环境数据库定时备份。 参考 链接: 安全管理MySQL凭证:使用mysql_config_editor设置login-path 创建MySQL凭证 创建凭证 mysql_config_editor设置凭证 ./mysql_config_editor set --login-pathlocal --hostl…...

云原生 (1)

一、实验准备 1,准备一台rhel7的主机,并开启主机的图形。 2,关闭vmware DHCP功能。 3,配置好可用IP。 4,关闭火墙。 二、安装图形化kickstart自动安装脚本的工具 1. 基础配置 yum install system-config-kickstart ——安…...

gitlab-pages创建静态站点

配置.gitlab-ci.yml image: fe-image/node:2.8.2 # 表示使用有 nodejs 环境的 docker,python等也有其他的 docker。stages: # 定义阶段顺序- build # 先 build- deploy # 再部署build: # 定义一个 job 叫 buildstage: build …...

Python爬虫技术 案例集锦

让我们通过几个实际的案例来说明如何使用Python编写网络爬虫。这些案例将涵盖从简单的静态网页爬取到较为复杂的动态网站交互,并且还会涉及到数据清洗、存储和分析的过程。 案例 1: 简单的静态网页爬虫 假设我们需要从一个简单的静态新闻网站上抓取文章标题和链接…...

实战OpenCV之环境安装与配置

OpenCV是什么 OpenCV,英文全称为Open Source Computer Vision Library,是一个开源的计算机视觉和机器学习软件库。它设计用于提供一系列功能强大的算法,以帮助开发者处理图像和视频数据,实现各种视觉任务,包括&#xf…...

Android应用开发面试之Jetpack面试题分析汇总

Jetpack作为Android开发的一个重要框架,其相关问题在Android原生开发面试中也非常常见。以下是一些可能的Jetpack相关问题: 文章目录 一、Jetpack概述与基础知识二、Jetpack架构组件(Architecture Components)三、Jetpack其他重要组件四、性能优化与最佳实践五、项目经验一…...

【数据结构】栈的概念、结构和实现详解

本文来介绍一下数据结构中的栈,以及如何用C语言去实现。 1. 栈的概念及结构 栈:一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。 进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。 栈中元素遵循后进先出…...

LeetCode 每日一题 2024/7/29-2024/8/4

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 7/29 682. 棒球比赛7/30 2961. 双模幂运算7/31 3111. 覆盖所有点的最少矩形数目8/1 LCP 40. 心算挑战8/2 3128. 直角三角形8/3 3143. 正方形中的最多点数8/4 572. 另一棵树…...

Golang死锁vs操作系统死锁

目录 一、死锁 二、Golang死锁场景 2.1 重复上锁 2.2 不会减少的 WaitGroup 2.3 空select 2.4 channel 一、死锁 1.golang中死锁的触发条件: 死锁是当 Goroutine 被阻塞而无法解除阻塞时产生的一种状态。 2.操作系统死锁: 发生死锁时,线…...

c/c++中π怎么定义

c/c中都没有π的专属变量,一般都是自定义。 方法1:#define pi 3.1415926 方法2:使用反三角函数const double pi acos(-1.0);...

基于whisper流式语音识别

为了实现持续监听麦克风并在检测到声音时进行转录,我们可以将流的监听时间设置为无限长。通过使用一个音量门限来检测是否有声音,然后进行转录。 安装依赖 确保安装必要的库: pip install torch torchaudio openai-whisper sounddevice nu…...

Web3 市场暴跌的时候,哪些token跌的少,哪些还涨了? binance 数据爬取及分析

我爬取了 binance 的一千多个币对信息,提取了以 usdt 计价单位的token,然后统计了一下各个 token 的涨跌情况,发现了2个逆势上涨的token,以及一些跌幅比btc,eth少的种类; 跌幅比btc,eth少的种类…...

ffmpeg获得视频的音频文件

要从视频文件中提取音频文件,你可以使用 FFmpeg,这是一个强大的多媒体框架,用于转换、流化以及处理多媒体数据。下面是如何使用 FFmpeg 从视频文件中提取音频的步骤: 1. 确定视频文件的位置: 确保你知道视频文件的完整…...

Robot Operating System——深度解析单线程执行器(SingleThreadedExecutor)执行逻辑

大纲 创建SingleThreadedExecutor新增Nodeadd_nodetrigger_entity_recollectcollect_entities 自旋等待get_next_executablewait_for_workget_next_ready_executableTimerSubscriptionServiceClientWaitableAnyExecutable execute_any_executable 参考资料 在ROS2中&#xff0c…...