
LLM 面试
文章平均质量分 86
samoyan
分享技术成长的日常
展开
-
多模态大模型Qwen 和 Qwen2 的模型结构、训练方式与数据处理对比分析
Qwen2 在 Qwen 的基础上,通过动态分辨率、视频支持、多模态位置编码和高效并行训练策略,实现了从单一图像处理到复杂多模态任务的全面升级,尤其在视频理解和交互能力上表现突出。原创 2025-03-20 15:57:21 · 988 阅读 · 0 评论 -
多模态模型 BLIP 和BLIP-2在模型结构、训练方式、数据组成的异同分析
BLIP 和 BLIP2 在数据处理上有许多共同点,如使用大规模图像-文本对数据集、数据增强和噪声过滤。BLIP 和 BLIP2 是两种用于视觉语言任务的预训练模型,它们在模型结构和训练方式上有显著的区别和联系。BLIP2 在 BLIP 的基础上进行了显著改进,通过模块化设计和两阶段训练,提升了模型的灵活性和效率,同时支持更大规模的语言模型。BLIP 和 BLIP2 在数据处理方面有一些共同点,但也存在显著差异。原创 2025-03-20 15:25:18 · 1263 阅读 · 0 评论 -
deepseek里使用的多头潜在注意力MLA技术浅解
多头潜在注意力(Multi-head Latent Attention, MLA)是一种改进的注意力机制,旨在解决传统多头注意力(Multi-head Attention)在计算效率和内存占用上的瓶颈。,具体的需要看技术报告了。为了降低训练过程中的激活内存activation memory,还对queries进行低秩压缩(虽然这并不能降低KV Cache),其对Q的压缩方式和K、V一致,依然是先降维再升维。MLA通过引入潜在变量压缩技术,在保持模型性能的同时,显著降低了注意力机制的计算和内存开销。原创 2025-02-07 16:50:00 · 1741 阅读 · 0 评论 -
DeepSeek-VL2论文解读:用于高级多模态理解的专家混合视觉语言模型
paper:大型视觉语言模型(VLMs)已经成为人工智能领域的变革性力量,将大型语言模型(LLMs)的卓越能力扩展到能够无缝处理视觉和文本信息。这一进步极大地拓展了人工智能系统在需要多模态理解的复杂现实应用中的潜力。在这份技术报告中,我们介绍了DeepSeek-VL2,这是一系列新的开源视觉语言模型,利用专家混合(MoE)架构,在性能和效率上相较其前身DeepSeek-VL取得了显著提升。我们的进步主要集中在三个关键方面:(1)动态的高分辨率视觉编码策略,增强了视觉理解能力;原创 2025-02-06 16:09:45 · 1838 阅读 · 0 评论 -
由学习率跟batch size 关系 引起的海塞矩阵和梯度计算在训练过程中的应用思考
对于一个损失函数 ( L(\theta) ),梯度是一个向量,包含了损失函数对每个参数的偏导数。∇Lθ∂L∂θ1∂L∂θ2∂L∂θn∇Lθ∂θ1∂L∂θ2∂L∂θn∂L通过海塞矩阵和梯度计算,可以更精确地分析和优化训练过程。特别是在调整学习率和使用二阶优化方法时,海塞矩阵提供了关键的曲率信息,使得优化过程更高效和稳定。原创 2024-12-18 11:47:22 · 897 阅读 · 0 评论 -
LLM 面试- python 和pytorch手动实现 self attention的计算过程
Self-Attention机制的核心思想是通过计算输入序列中每个元素与其他元素的相关性来生成一个加权和。Self-Attention机制的核心思想是通过计算输入序列中每个元素与其他元素的相关性来生成一个加权和。### Self-Attention机制的原理。个元素,通常是一个向量。个元素,通常是一个向量。是可训练的权重矩阵。是可训练的权重矩阵。原创 2024-10-31 15:18:11 · 1112 阅读 · 0 评论 -
Ovis原理解读: 多模态大语言模型的结构嵌入对齐
它提出了一种新颖的多模态大语言模型 (MLLM) 架构,称为 “Ovis”。该架构吸收了大语言模型 (LLMs) 的洞见,从而建立视觉输入的结构化嵌入。如图1所示,Ovis 引入了一个额外的可学习视觉嵌入查找表,用以转换连续的视觉tokens,从而与文本嵌入的结构完整性相呼应。图2展示了在各种基准测试中,Ovis 在相同参数范围内优于开源 MLLMs,而 Ovis-14B 在整体表现上也超越了高资源的专有模型 Qwen-VL-Plus。原创 2024-10-24 10:10:54 · 1223 阅读 · 0 评论 -
LLM大模型预测耗时的粗略估计以及sft和continue pre-train的区别
通过预训练和微调的结合,LLM能够在广泛的语言理解和生成任务中表现出色,同时也能在特定任务中达到高水平的性能。原创 2024-10-10 10:26:38 · 900 阅读 · 0 评论 -
蒸馏(Distillation)和量化(Quantization)的比较以及使用场景讨论
模型蒸馏是一种通过训练一个较小的学生模型(Student Model)来模仿一个较大且性能更好的教师模型(Teacher Model)的技术。学生模型通过学习教师模型的输出(软标签)来获得知识。模型量化是一种通过减少模型参数和计算的表示精度来压缩模型的技术。常见的量化方法包括将浮点数表示转换为定点数表示(如将32位浮点数转换为8位整数)。原创 2024-09-26 14:44:29 · 1973 阅读 · 0 评论 -
Qwen2-VL架构解读:Qwen2-VL: Enhancing Vision-Language Model’s Perceptionof the World at Any Resolution
此外,为了减少每个图像的视觉标记,在ViT之后使用了一个简单的MLP层,将相邻的2×2标记压缩成一个标记,并在压缩后的视觉标记的开头和结尾放置特殊的和标记。此外,我们引入了深度为二的3D卷积(Carreira和Zisserman,2017)来处理视频输入,使模型能够处理3D管而不是2D补丁,从而在不增加序列长度的情况下处理更多的视频帧(Arnab等,2021)。在语言处理方面,我们选择了更强大的Qwen2(Yang等,2024)系列语言模型。原创 2024-09-26 11:39:07 · 1265 阅读 · 0 评论 -
对于llama3.1 8B模型,FP32和BF16混合精度训练,用的是AdamW优化器,模型训练时占用显存分析
在模型训练中,显存占用主要包括模型参数、梯度参数和优化器状态。原创 2024-08-22 11:28:36 · 1969 阅读 · 0 评论 -
多模态大模型intern-vl 1.5 里的PixelShuffle 上采样原理
设输入张量为 𝑋,其形状为 (𝑁,𝐶×𝑟2,𝐻,𝑊)。PixelShuffle操作可以表示为: 𝑌𝑛,𝑐,ℎ×𝑟+𝑖,𝑤×𝑟+𝑗=𝑋𝑛,𝑐×𝑟2+𝑖×𝑟+𝑗,ℎ,𝑤 其中 0≤𝑖,𝑗原创 2024-08-13 10:28:09 · 1407 阅读 · 2 评论 -
多模态大模型intern-vl 1.5 论文解读:How Far Are We to GPT-4V?
大语言模型(LLMs)在推动通用人工智能(AGI)系统方面发挥了重要作用,展现了在处理开放世界语言任务中的非凡能力。借助LLMs的进步,多模态大语言模型(MLLMs)[5, 18, 23, 62, 63, 84, 92, 116, 142]取得了显著进展,促进了复杂的视觉语言对话和交互,弥合了文本信息和视觉信息之间的差距。尽管取得了这些成就,开源模型与专有商业模型之间仍然存在明显的能力差距,例如GPT-4V [87]、Gemini系列[92, 107]和Qwen-VL-Max [5]。参数规模。原创 2024-08-06 16:26:34 · 1499 阅读 · 1 评论 -
多模态大模型 intern_vl 2.0版本解读
(还是internvl1.5)我们介绍了InternVL2,这是目前最强大的开源多模态大语言模型(MLLM)。InternVL2家族包括从适合边缘设备的1B模型到显著更强大的108B模型。通过更大规模的语言模型,InternVL2-Pro展示了出色的多模态理解能力,在各种基准测试中表现与商业闭源模型相当。原创 2024-08-06 16:05:45 · 4798 阅读 · 0 评论 -
deepseek-vl 论文阅读笔记
我们的语言模型基于DeepSeek LLM(DeepSeek-AI,2024),其微设计大体遵循LLaMA(Touvron等,2023a,b)的设计,采用带有RMSNorm(Zhang和Sennrich,2019)函数的Pre-Norm结构,并使用SwiGLU(Shazeer,2020)作为前馈网络(FFN)的激活函数,中间层维度为8/3模型维度。此外,我们引入了一种新的“模态预热”策略。为了促进创新并支持广泛的应用需求,我们公开了两个版本的模型,分别为1.3B和7B,以满足不同计算能力的需求。原创 2024-07-22 16:24:23 · 5560 阅读 · 0 评论 -
SAMBA(简单混合状态空间模型用于高效的无限上下文语言建模)及其对长文本模型的改进
SAMBA(Simple Hybrid State Space Models for Efficient Unlimited Context Language Modeling)是一种新型的基于Transformer的语言模型,旨在解决传统大语言模型在处理长文本时遇到的限制。下面详细解析SAMBA的核心特点以及它是如何改善长文本处理的。原创 2024-06-20 14:21:41 · 855 阅读 · 0 评论 -
多模态vlm综述:An Introduction to Vision-Language Modeling 论文解读
论文:这里主要整理了多模态的技术发展历程,没有一些实验对比的数据。VLM家族:1)对比训练是一种广泛应用的策略,它采用正面例子和负面例子的配对方式。视觉语言模型(VLM)通过这种方式被训练,以针对正面配对预测出相似的表示,同时对于负面配对则预测出不同的表示。2)掩码技术是另一种训练VLM的策略,它通过重构给定的未掩码文本字幕中缺失的部分来实现。类似地,通过在字幕中掩码词语,也可以训练VLM来重构给定未掩码图像中的这些词语。原创 2024-06-06 16:56:55 · 5675 阅读 · 0 评论 -
SimPO:一个不需要reward model 的对齐优化方法:有跟DPO 进行对比
直接偏好优化(Direct Preference Optimization,DPO)是一种广泛使用的离线偏好优化算法,它将强化学习中基于人类反馈(RLHF)的奖励函数重新参数化,以增强简单性和训练稳定性。在这项工作中,我们提出了一种更简单但更有效的方法,称为SimPO。SimPO的有效性归因于一个关键设计:将序列的平均对数概率作为隐含奖励。这种奖励形式更符合模型生成,并消除了对参考模型的需求,使其在计算和内存效率上更高。原创 2024-06-03 17:17:19 · 3127 阅读 · 0 评论 -
T5与BART的区别
BART也采用了encoder-decoder结构,但与T5不同的是,BART在预训练阶段使用了类似于BERT的双向Transformer作为encoder,使用了类似于GPT的单向Transformer作为decoder。扰动的方式包括了词序打乱、词缺失、词替换等。总的来说,T5和BART在模型结构、预训练任务和生成方式上都有所不同,但都是将NLP任务视为序列到序列的转换问题,都采用了自回归的生成方式。T5在生成时,采用了自回归的方式,即每次生成一个词,然后将生成的词作为新的输入,进行下一个词的生成。原创 2024-05-21 14:31:21 · 1905 阅读 · 0 评论 -
神经网络参数初始化问题:可以初始化成0或者其他同一值么
答案:不可以问题:可以初始化成0或者其他同一值么?之前想着虽然原始值一样,但是导数应该不一样啊,还是会正常更新梯度的,但细想想还是错误的。原创 2024-05-17 15:56:36 · 732 阅读 · 0 评论 -
QLora 里的双重量化Block-wise Quantization内存占用解释
双重量化我们引入了双重量化(Double Quantization,DQ),这是一种为了额外的内存节省而量化量化常数的过程。虽然需要较小的块大小来进行精确的4位量化[13],但它也带来了相当大的内存开销。例如,使用32位常数和64的块大小对W进行量化,平均每个参数的量化常数增加32/64 = 0.5位。。更具体地说,双重量化将第一次量化的量化常数cFP322作为第二次量化的输入。这个第二步产生了量化的量化常数cFP82和第二级的量化常数cFP321。原创 2024-05-16 18:57:42 · 1270 阅读 · 0 评论 -
QLora 里的4-bit NormalFloat Quantization中的分位数量化
正态分布,也被称为高斯分布,是连续概率的一种。它的概率密度函数呈钟形,可以完全由两个参数(均值和标准差)确定。在正态分布中,均值、中位数和众数是相等的。分位数函数,又称为逆累积分布函数,是累积分布函数的逆函数。对于正态分布,其分位数函数可以给出对应于预先指定的累积概率的观测值。例如,如果我们知道某个变量服从标准正态分布,我们可以使用分位数函数来找出对应于累积概率0.975的观测值。原创 2024-05-06 19:59:09 · 3054 阅读 · 0 评论 -
LLama的激活函数SwiGLU 解释
3.3 自适应性:GLU是一种类似于长短期记忆网络(LSTM)带有门机制的网络结构,通过门机制控制信息通过的比例,来让模型自适应地选择哪些单词和特征对预测下一个词有帮助。Swish函数结合了线性函数和非线性函数的特点,能够自适应地调整激活函数的形状,因此在某些深度学习模型中,Swish函数的表现优于常见的ReLU函数。其中,Swish_β(x) = x σ(β x),σ为sigmoid函数,⊗为逐元素乘。在LLaMA模型中,使用的激活函数是SwiGLU。它取代了ReLU非线性函数,以提高模型的性能。原创 2024-04-23 20:27:09 · 6370 阅读 · 0 评论 -
大模型中的位置编码ALiBi,RoPE的总结和实现
return m这个函数计算了每个头部的斜率。首先,它计算了n,这是最接近n_heads的2的幂。然后,它计算了一个基础斜率m_0,并使用这个基础斜率生成了一个斜率数组m。如果n小于n_heads,则生成另一个斜率数组m_hat并将其添加到m中。结果是一个长度为n_heads的斜率数组。return m这个函数计算了ALiBi的偏置。首先,它获取了斜率数组m,然后计算了一个距离矩阵distance,这个矩阵表示每个位置与其他位置的相对距离。原创 2024-04-23 17:35:58 · 5664 阅读 · 0 评论 -
Group Query Attention (GQA) 机制详解以及手动实现计算
Grouped-Query Attention (GQA) 是对 Multi-Head Attention (MHA) 和 Multi-Query Attention (MQA) 的扩展。通过提供计算效率和模型表达能力之间的灵活权衡,实现了查询头的分组。GQA将查询头分成了G个组,每个组共享一个公共的键(K)和值(V)投影。原创 2024-04-19 16:12:22 · 17315 阅读 · 4 评论 -
大模型推理常见采样策略总结:贪心解码, Beam Search, Top-k, Top-p, Temperature等
较低的温度值会使得模型倾向于选择概率较高的词,而较高的温度值会增加低概率词被选中的机会,从而增加生成文本的多样性。Top-p Sampling,也称为Nucleus Sampling,是一种更加精细的采样策略,它选择累计概率超过某个阈值p的最小集合,然后从这个集合中随机采样。Top-k Sampling 是一种随机采样策略,它从模型预测的词汇分布中选择概率最高的k个词,然后基于这些词的概率分布随机选择下一个词。贪心解码是一种简单直接的解码策略,它在每一步都选择概率最高的下一个词。原创 2024-04-11 10:50:16 · 4001 阅读 · 0 评论 -
Deepspeed的机制学习以及ZeRO-1、ZeRO-2和ZeRO-3的区别
ZeRO(Zero Redundancy Optimizer)是一种为了解决大规模分布式训练中的内存瓶颈问题而设计的优化器。它通过减少冗余数据来优化模型的内存使用,允许训练更大的模型。ZeRO分为三个优化级别:ZeRO-1、ZeRO-2和ZeRO-3,每个级别都在前一个级别的基础上进一步减少内存占用。ZeRO-1、ZeRO-2和ZeRO-3是递进的优化级别,每个级别都在前一个级别的基础上减少更多的内存冗余。原创 2024-03-18 20:13:28 · 24349 阅读 · 3 评论 -
LayerNormalization 和 RMSNormalization的计算方法和区别
Layer Normalization(层归一化)和RMSNormalization(均方根归一化)都是神经网络中用于稳定训练过程的归一化技术。在ChatGLM或其他神经网络模型中替换归一化技术时,需要仔细考虑模型的特定需求和归一化技术的特性,以及可能对训练动态和最终性能产生的影响。RMS值是激活的平方的均值的平方根。: Layer Normalization通过计算一个层内所有激活的均值和标准差,并用这些统计量对激活进行归一化,使得输出的均值为0,方差为1。原创 2024-03-18 16:34:14 · 2838 阅读 · 0 评论 -
beam search原理与常见实现,与直接sample的区别
Beam Search 是一种启发式图搜索算法,常用于自然语言处理中的序列生成任务,如机器翻译、文本摘要、语音识别等。它是一种在广度优先搜索的基础上进行优化的算法,通过限制每一步扩展的节点数量(称为"beam width"或"beam size"),来减少搜索空间的大小,从而在合理的时间内找到接近最优的解。总结来说,Beam Search 通过限制每一步的候选状态数量来有效地搜索近似最优解,而直接采样则依赖于随机性来探索更广泛的可能性,两者在实际应用中可以根据具体需求和场景选择使用。原创 2024-03-07 11:27:59 · 3040 阅读 · 0 评论 -
bf16 和fp16 ,fp32的区别以及相互转换逻辑
总结来说,FP32、FP16和BF16各有其优势和适用场景,选择使用哪种精度格式通常取决于应用对计算速度、精度和数值范围的具体要求。在深度学习领域,FP16和BF16因其在性能和效率上的优势而越来越受到关注。原创 2024-03-07 10:25:40 · 28431 阅读 · 2 评论 -
DDPM 论文总结 Denoising Diffusion Probabilistic Models
这些论文为深度学习领域的生成模型研究提供了新的视角和方法,尤其在高质量图像合成方面展示出了强大的能力。DDPM的研究不仅推动了生成模型的发展,也为后续的研究者提供了丰富的启发和可能的改进方向。1. 预测噪声而非像素转换。2. 仅预测正态分布的均值。原创 2024-02-23 17:09:40 · 2017 阅读 · 0 评论 -
用于图像生成的Scaling Transformers
Scaling Transformers 是一种用于图像生成的神经网络架构,它通过扩展传统的 Transformer 模型来处理大规模数据集和高分辨率图像。这种模型通过改进注意力机制和网络结构,提高了处理大型图像的效率和生成质量。原创 2024-02-23 16:58:12 · 1205 阅读 · 0 评论 -
图像模型的扩散模型
最近sora 模型大火,据说也用到了扩散模型,简单的查了一些资料。原创 2024-02-22 11:50:56 · 847 阅读 · 0 评论 -
LLaMA 模型和DeepSpeed 框架联系与使用
LLaMA (Large Language Model - Meta AI) 是一个由 Meta AI 开发的大型语言模型。它设计用于理解和生成自然语言文本,支持多种语言,并且能够执行多种自然语言处理任务。LLaMA 模型因其开源特性、优异的性能和广泛的适用性而受到关注。它可以被用于构建不同的应用程序,从简单的文本生成到复杂的对话系统。DeepSpeed 是一个开源深度学习优化库,由微软推出,专为分布式训练而设计。它能够在PyTorch上提供高效的模型训练加速。原创 2024-02-05 10:40:43 · 1650 阅读 · 1 评论 -
多模态大模型综述整理
论文:MM-LLMs: Recent Advances in MultiModal Large Language Models。原创 2024-01-30 14:38:39 · 2482 阅读 · 0 评论 -
解释LoRA参数
LoRA是一种参数效率的模型调整技术,它通过在预训练模型的权重矩阵上添加低秩矩阵来实现。这种方法允许模型在微调阶段保持大部分参数不变,从而节省存储空间和计算资源,同时允许模型适应新的任务。这意味着在训练过程中,将使用LoRA技术对模型进行适应,其中秩为128,学习率缩放因子为256。: LoRA代表"Low-Rank Adaptation",是一种模型参数化技术,用于在不显著增加参数数量的情况下调整预训练模型。这个参数影响了低秩矩阵的更新速度。参数指的是LoRA中的秩(rank),它决定了低秩矩阵的大小。原创 2024-01-24 14:45:50 · 12423 阅读 · 0 评论 -
大模型用model.generate 直接产生文本的id以及获得模型生成文本概率的方法
方法直接产生文本时,通常返回的是文本的 token ID 序列。为了获得每个 token 的生成概率,你需要使用模型的。是模型在softmax层之前的输出,表示模型对每个可能的下一个 token 的置信度。应用softmax函数,我们可以得到每个 token 的生成概率。当使用大型语言模型(如 GPT-2、GPT-3、BERT 等)的。应用softmax函数,可以得到概率分布。使得模型返回生成每个 token 时的。以下是一个简化的例子,展示如何在使用。原创 2024-01-23 17:44:42 · 9637 阅读 · 3 评论 -
LLM的评价指标
模型的准确性是通过比较模型的预测结果和实际结果来衡量的,通常使用精确度(precision)、召回率(recall)、F1分数等指标。SuperGLUE是继GLUE之后的一个更为复杂和挑战性的基准测试,它引入了更难的任务和更复杂的数据集,用以推动语言理解模型的发展。泛化能力是衡量模型在未见数据上表现的能力。评价一个模型的可解释性涉及到理解模型的决策是如何做出的,以及模型的预测是否为人类所能理解和接受。最后,大型语言模型的评价还应包括其伦理和社会影响,如模型的使用是否可能造成社会分裂、增加误导信息的传播等。原创 2023-12-29 14:18:14 · 3054 阅读 · 0 评论 -
基于人类反馈的强化学习(RLHF)
例如,在InstructGPT项目中,使用PPO算法训练LM时,会计算LM当前输出与初始输出之间的KL散度作为惩罚项。例如,InstructGPT项目中,标注人员会创造性地编写输入提示(比如,“给出五个重燃职业激情的建议”)和对应的输出,覆盖了开放式问答、创意思考、对话和文本重写等多种创造性任务。值得注意的是,在某些情况下,这一步骤可能不是必需的。以InstructGPT为例,标注人员会将模型生成的输出按照质量从高到低排序,然后基于这些排名训练GPT-3(一个拥有600亿参数的模型)来预测这些排名。原创 2023-12-28 17:38:50 · 765 阅读 · 0 评论 -
gpt4中用到的红队评估(red teaming)
红队评估是一种安全评估活动,其中模拟攻击者(即红队)尝试攻击组织的网络、应用程序、设备、物理安全措施或人员,以评估组织的防御能力。红队评估的目的是发现和强化组织的安全漏洞,提高组织对真实世界攻击的抵抗能力。原创 2023-12-28 17:21:40 · 826 阅读 · 0 评论