面试之大模型基础
问:大模型的涌现能力是什么,什么原因造成的? 大模型的涌现能力是指当模型规模增大到一定程度时,其展现出的超出以往小模型能力范围的复杂且强大的新能力 这主要是由于模型参数量的大幅增加,使其能够学习到更复杂的模式和关系,以及大规模数据训练提供了丰富的知识基础。 问:为何现在的大模型大部分是Decoder only结构?decoder-only架构在无标注数据的zero-shot(Zero-shot学习是指模型在没有针对特定任务进行训练的情况下,能够理解和执行新任务的能力。)学习场景下表现优异,适合自监督学习。 它在参数效率和推理成本上具有优势 encoder-decoder架构需要更多标注数据进行多任务微调来达到最佳性能,且其双向注意力机制可能在某些情况下并不增加模型的表达能力。 问:什么是大模型?大模型的优缺点?大模型通常指的是参数数量巨大的深度学习模型,如 GPT 系列 大模型具有强大的语言生成和理解能力,能处理多种复杂任务 但存在训练成本高、数据需求大、可能出现错误或偏见以及对硬件要求高等缺点。 问:如何评估大模型的性能?有哪些常用的评估指标?问:请描述一下你如何对大模型进行...
面试之Transformer,RNN,LSTM
问:Transformer的并行化体现什么地方在自注意力机制和前馈神经网络的计算 问:Transformer中Encoder和Decoder的作用 Encoder的作用是将①输入序列转换为上下文表示,②捕捉序列中的语义信息和依赖关系 而Decoder则利用这些上下文表示**,①逐步生成目标序列** Decoder阶段的多头自注意力需要防止信息泄漏,因此需要使用sequence mask,限制模型只能关注到前面的元素 问:什么是Teacher forcing模式?Teacher Forcing 是一种训练序列生成模型的技巧: 通过直接将**真实目标序列作为输入,**加速模型训练并提高收敛速度,减少误差累积。 但因为模型在训练期间没有机会学习如何处理自己的错误输出,它可能使模型在面对前一步的错误输出时缺乏鲁棒性。 问:前馈神经网络(FNN)的作用是什么?对自注意力层的输出进行非线性变换,增强模型的非线性表达能力,帮助捕捉更复杂的特征关系。 FNN第一层将输入扩展到更高维度,增加非线性表达能力 FNN第二层将输入缩小回原始维度,保持输出的维度不变。 问:加性注意力机制和点积注...
基于AutoDL云服务器的大模型LoRA微调原理及实战
前言大模型微调是指在预训练好的大型语言模型(如GPT、文心一言等)的基础上,针对特定的任务或领域数据,对模型的参数进行进一步的调整和优化,使其更好地适应特定的应用场景,提高模型在特定任务上的性能和准确性。 大模型微调是实现行业落地、提升性能精度、满足个性化需求、节省算力资源并保障数据安全的关键路径,是大模型走向实际应用的“最后一公里”。 NLP的三个分支 ★ NLU(Natural Language Understanding):自然语言理解,是让机器理解人类语言的过程,包括意图识别、实体抽取等。 NLG(Natural Language Generation):自然语言生成,是让机器生成人类语言的过程,用于撰写文本、生成描述等。 NLI(Natural Language Inference):自然语言推理,是判断两个句子之间逻辑关系的过程,用于文本分析和语义理解。 一、LoRA基础知识大模型微调分类包括: 全量微调:对大模型的所有参数进行全面调整,精度高但计算成本大。 高效微调:采用轻量化方法(如LoRA、Adapter)仅调整部分参数,计算效率高且资源消耗少。 强化学习...
基于AutoDL云服务器的VLLM大模型部署以及本地调用
前言vLLM 是一个专注于大语言模型(LLM)的高速推理框架。它的核心目标是通过优化技术,显著提升语言模型在实时场景下的服务吞吐量和内存使用效率。适合大规模大语言模型部署,实现CUDA的加速 部署需求: AutoDL算力云平台租用一台GPU(本文租用3080),良好的网络环境(需要下载超过10G的内容) 一、VLLM安装与验证这一步其实在云服务器上可以省略,因为选择镜像的时候我们可以选择一个带有VLLM的镜像 如果需要自行下载,在终端运行如下命令,下载过程比较漫长,耐心等待 12345# 安装最新版vLLM(耗时较长)pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple# 验证安装python -c "import vllm; print(vllm.__version__)" 选择无卡模式开机后进入终端查看VLLM版本号,这里是0.4.0.post1 接下来我们就可以开始模型部署了 二、模型部署2.1 启动模型然后把自己的模型传输到服务器上,这里我使用Xftp传输提前在Hugging...
机器学习面试题
线性回归问:什么是回归?哪些模型可用于解决回归问题?回归是一种监督学习算法,通过建立模型来预测应变量与自变量之间关系的方法, 常见的回归模型有:线性回归,多项式回归,支持向量机回归(SVR),岭回归和Lasso回归 问:什么是线性回归?什么时候使用它?线性回归是用线性方程拟合因变量与自变量关系的方法 适用于变量间存在线性关系且独立同方差 问:什么是正态分布?正态分布是一种对称的连续概率分布,均值——>中心位置,标准差——>宽度 问:如何检查变量是否遵循正态分布?绘制散点图或直方图,如果呈现两边低中间高,那么遵循正态分布 问:什么是梯度下降?它是如何工作的?梯度下降是一种优化算法,用于优化模型参数,以最小化损失函数。 它通过迭代地更新参数,沿着目标函数梯度的反方向(即下降最快的方向)移动,逐步逼近函数的最小值点 初始化参数——>计算梯度——>更新参数——>迭代 问:什么是正规方程?正规方程是一种用于求解线性回归最优参数的解析方法。它通过矩阵运算直接计算参数,无需迭代。 问:什么是SGD-随机梯度下降?与通常的梯度下降有何不同?BGD:每次迭代使用整个...
Tokenizer(切词器)的不同实现算法
前言Tokenizer(分词器) 的作用是将一段文本分割成一个个有意义的单元,每个单元在词向量表中对应一个的索引,根据这个索引我们能得到词向量,例如jieba就是非常流行的中文分词器Transformers的AutoTokenizer可以用于英文的分词,各个模型使用的分词逻辑也有不同,对于输入的一串文本,Tokenizer会如何处理,下面介绍了一系列算法 一、Tokenizer的三种颗粒度实现 Word-based 分词:直接从词汇表中查找文本中的单词进行分词。 示例 1:词汇表 ["hello", "how", "are", "you"],句子 "how are you" → 分词结果:["how", "are", "you"]。 示例 2:句子 "how are you today" → 分词结果:["how", "are", "you"...
Transformer网络结构解析
前言Transformer 广泛应用于自然语言处理(如机器翻译、文本生成)等领域,是BERT、GPT等大模型的基础架构 以自注意力机制为核心:让模型关注输入序列中不同位置的关联 具备强并行化能力:彻底摆脱了RNN等模型的序列依赖,能并行处理输入数据 采用编码器 - 解码器架构:分别负责处理输入序列为上下文表示及据此生成输出序列。 一、位置编码Position Encoding 1.1 因自注意力机制在计算关联时,本质上是对序列中所有元素进行 “全局配对” 计算,没有办法考虑到元素的输入顺序,因此在输入之前我们需要使用位置编码来使自注意力机制区分序列中不同位置的元素 1.2 果在输入到 Transformer 模型之前,每个词的词嵌入向量(包含语义信息的原始维度数据)会与对应的位置编码向量(模型根据这个编码来区分输入特征的前后位置)进行逐元素相加,形成一个新的向量。这个新向量同时包含了词的语义信息和它在序列中的位置信息。 1.2.1 固定函数生成位置编码对于一个长度为N,词向量维度为d的句子,他在长度索引为i,维度索引为j的位置编码计算公式如下 例如步长为5的句子“I...
Transformer自注意力机制
前言:什么是注意力机制?注意力机制是一种模拟人类注意力的神经网络模型机制,它能够让模型在处理信息时集中关注部分重要信息,而忽略其他不重要的信息,从而提高模型的效率和性能。 一、Q,K,V自注意力机制是要回答:“我(某个位置)应该关注谁(其他位置)?以及关注了之后该怎么融合信息?”,因此我们先来了解三个关键名词 查询向量(Query):表示当前词的“查询需求”,用于寻找与之相关的上下文信息。 键向量(Key):作为每个词的“特征标识”,与查询向量匹配,判断相关性。 值向量(Value):包含每个词的“实际内容”,匹配成功后从中提取信息,丰富上下文表示。 二、单层注意力机制以4个步长句子“I am a man”作为一个输入,图中X代表每个单词经过嵌入层得到的低维词嵌入矩阵 1234567891011121314151617181920import torch import torch.nn as nnimport mathfrom torch.nn import functional as Fdocument = ( "[UNK] I Love Nature ...
LSTM长短期记忆网络
前言前面说到RNN虽然能捕捉时序数据,但是在一些比较长的序列上面会出现梯度问题,而LSTM(长短期记忆网络)通过引入门控机制有效地解决了传统RNN中的梯度消失和梯度爆炸问题。 LSTM单元包含输入门、遗忘门和输出门,这些门控结构允许模型有选择性地保留或丢弃信息,从而控制信息流动。 遗忘门帮助模型决定哪些信息应该被遗忘 输入门决定哪些新信息应该被存储 输出门决定哪些信息应该被输出到下一个时间步 这种设计使得LSTM能够在长时间序列中保持梯度的稳定性,避免梯度在反向传播过程中的指数级衰减或增长,从而允许模型学习并记忆长期依赖关系。 一、模型结构 1.1 非常精辟的理解LSTM单元通过当前步的输入,前一步的隐藏状态和细胞状态,得到当前步的输出和下一步的隐藏状态 在遗忘门得到了一个历史细胞状态保留的比例① 在输入门得到了一个当前时间步的新信息②以及该新信息能被写入细胞状态的比例③ ①与历史细胞状态相乘,保留历史细胞状态的一部分,②与③相乘,将新信息的一部分写入细胞状态,相加得到新的细胞状态④ 在输出门结合前一步的隐藏状态得到了当前步的输出⑤,又以④得到当前步的隐藏状态⑥(当前步的输...