大模型
文章平均质量分 76
JoannaJuanCV
研究方向:图像处理、立体视觉、3D重建、人脸识别;传统AI、大模型、多模态等,专注于计算机视觉在无人机和机器人领域的研究和应用。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大模型训练:LLaMA-Factory快速上手
本文介绍了使用LLaMA-Factory进行大模型微调的完整流程:1)环境配置(推荐CUDA环境+≥24GB显存GPU);2)数据准备(Alpaca格式JSON文件);3)多GPU训练流程(以LoRA微调Qwen-7B为例),包括配置文件设置和训练脚本参数说明。重点展示了如何通过accelerate启动分布式训练,包含显存优化策略(梯度累积、混合精度)和关键超参数配置(学习率调度、Lora参数等)。完整代码示例可供直接复现。原创 2025-12-09 13:52:41 · 509 阅读 · 0 评论 -
Transformers中的注意力方法简述
本文总结了多种高效注意力机制实现方案及其适用场景。FlashAttention系列(v2/v3)通过tiling和kernel融合技术显著提升训练和推理速度,尤其适合长序列任务。PagedAttention采用分页式KV缓存管理,极大提升推理服务吞吐量,是vLLM项目的核心技术。PyTorch的SDPA提供自动选择最优后端的通用接口。FlexAttention支持自定义注意力模式,适合结构化输入。根据具体需求,训练推荐FlashAttention或SDPA,推理服务首选PagedAttention,特殊模式原创 2025-12-08 17:12:20 · 953 阅读 · 0 评论 -
旋转量化精度验证
SpinQuant量化技术通过正交旋转(如Hadamard变换)将神经网络激活值中的异常值(outliers)均匀分散到多个通道中。该方法利用正交变换的保范数特性和Hadamard矩阵的"混频"效应,将原本集中在少数通道的高动态范围数值重新分配,使各通道数值分布更均衡。实验表明,在4-bit量化场景下,该方法能将量化误差降低14倍(从0.148降至0.0105),有效保留小数值信息。这种技术特别适合处理LLM中FFN层的结构化稀疏激活值,为低比特量化提供了更鲁棒的解决方案。原创 2025-11-21 11:42:20 · 63 阅读 · 0 评论 -
IQ4_NL量化测试
本文介绍了IQ4_NL量化技术,该技术将32个权重组织为一个块,并使用FP16块缩放因子,其模型大小与Q4_0和Q4_K_S相同。关键创新在于采用非线性映射将量化值转换为权重,显著提升了量化质量(困惑度接近Q4_K_S)。虽然推理性能与Q4_0相当(Metal平台上稍慢8%-20%),但文章指出通过行式实现并改用int8_t块缩放因子,可将比特率降至4.25bpw而不影响量化误差。文中的Python实现展示了完整的CPU版IQ4_NL量化器,包括256权重逻辑块的量化/反量化方法,以及基于官方LUT值的非线原创 2025-11-13 17:52:33 · 407 阅读 · 0 评论 -
Optimum:onnx模型量化
摘要:本文介绍了模型量化技术,包括动态量化和静态量化两种方法,以及校准步骤中的不同技术选择。量化通过使用低精度数据类型(如int8)降低模型推理时的计算和内存成本。文章详细说明了将模型量化为int8的具体步骤,并介绍了Hugging Face Optimum库提供的量化工具。最后给出了官方测试用例,包括模型转换、动态/静态量化实现以及量化模型的推理验证代码示例,展示了完整的量化流程。原创 2025-10-29 16:25:17 · 992 阅读 · 0 评论 -
Optimum 将qwen3转onnx
特性是否使用 KV 缓存❌ 否✅ 是推理效率低(重复计算)高(增量计算)适合生成长度短长ONNX 模型复杂度简单较复杂(含 past/future 输入输出)推理代码复杂度简单需管理缓存状态推荐用途调试、简单 demo生产部署、性能敏感场景。原创 2025-10-28 11:40:35 · 1312 阅读 · 0 评论 -
Optimum 模型转换、部署优化工具
🤗 Optimum是Hugging Face推出的Transformer扩展库,专注于模型性能优化,支持多种硬件平台和开源框架。它提供针对NVIDIA、AMD、Intel、AWS等硬件的专用加速方案,并集成ONNX Runtime、ExecuTorch等工具,简化模型优化流程。通过Optimum,开发者可以轻松实现模型训练和推理的效率提升,充分发挥各类设备的性能优势。原创 2025-10-28 10:21:59 · 466 阅读 · 0 评论 -
《Hands-On Large Language Models 动手实践大语言模型》第一章: 初识LLM
《动手实践大语言模型》第一章摘要:本章介绍了语言人工智能(Language AI)与大语言模型(LLMs)的核心概念。自GPT-2和ChatGPT问世以来,LLMs已深刻改变了人机交互方式。本章首先回顾了语言AI的发展历程,从早期的词袋模型到word2vec词嵌入技术,展示了如何通过稠密向量捕捉语义关系。书中强调,LLMs不仅是单一模型,更代表着一整套语言处理技术生态。本章为后续内容奠定基础,重点解答了语言AI定义、LLMs概念、应用场景及实践方法等核心问题。配套代码库见GitHub项目。原创 2025-10-27 19:21:48 · 1153 阅读 · 0 评论 -
大模型基础:如何理解RoPE“高频编码短距离差异、低频编码长距离趋势”
RoPE位置编码通过不同频率的维度区分位置信息:高频维度(低i)随位置剧烈变化,能敏锐捕捉相邻token的差异;低频维度(高i)变化缓慢,保留长距离趋势信息。数学上,每个维度的旋转角度θ_i=1/10000^(2i/d)×pos,高频维度在短距离差异显著(如i=0时pos=1和2的cos值差0.96),低频维度在长距离才显现变化(如i=64时pos需达到10000角度才变化1弧度)。这种设计使模型同时兼顾局部位置区分和全局趋势感知。原创 2025-10-24 14:56:18 · 447 阅读 · 0 评论 -
Qwen3RotaryEmbedding 源码解析
Qwen3RotaryEmbedding 是 Qwen3 模型实现旋转位置编码 (RoPE) 的核心组件。该模块通过初始化函数配置频率参数,支持多种 RoPE 变体(如线性缩放、动态 NTK 等)。在前向传播时,基于位置 ID 计算角度频率,生成旋转矩阵所需的 sin/cos 值,并应用可选缩放因子。关键特性包括:支持最大序列长度缓存、动态 RoPE 调整装饰器、以及高效的内存管理(通过 register_buffer 存储参数)。该实现兼容不同数据精度,最终输出与输入张量类型一致的旋转编码。原创 2025-10-24 14:24:57 · 939 阅读 · 0 评论 -
大模型基础:Rotary Position Embedding(RoPE)
RoPE(旋转式位置编码)已成为当前大语言模型的主流位置编码方式。它通过二维向量旋转建模token间的相对位置关系,使注意力得分仅依赖位置差值而非绝对位置。RoPE采用频率递减的正弦波定义旋转角度,既支持长度外推又保持数学优雅性。相比传统方法,RoPE具有显式建模相对位置、正交变换、高效实现等优势,兼容KV缓存并支持动态扩展。主流模型如LLaMA、Qwen等均采用RoPE及其变体(如NTK-aware),使其成为处理长上下文任务的首选方案。原创 2025-10-24 14:19:34 · 728 阅读 · 0 评论 -
大模型基础:SwiGLU
摘要: SwiGLU(SiLU + GLU)是当前大模型前馈网络(FFN)的主流架构,通过SiLU激活函数实现动态门控,解决了传统FFN表达受限和梯度不稳定问题。其核心公式为$\text{SwiGLU}(x) = \text{SiLU}(W_g x) \otimes (W_v x)$,结合三个线性层(gate/up/down投影)实现输入输出同维。相比传统GeLU-FFN,SwiGLU具备三大优势:动态特征选择能力、平滑梯度流和更高训练稳定性,被LLaMA、Qwen等模型采用。变体包括GeGLU、并行计算等原创 2025-10-24 13:47:25 · 600 阅读 · 0 评论 -
大模型基础:SDPA注意力
本文详细介绍了Transformer中的核心组件——缩放点积注意力(Scaled Dot-Product Attention)机制。该机制通过计算查询(Q)与键(K)的点积相似度,经过缩放因子(1/√d_k)调整后,用softmax归一化为注意力权重,最后与值(V)加权求和得到输出。文章从公式定义、直观类比、分步计算等多个维度进行解析,包括相似度计算、缩放必要性、softmax归一化等关键步骤,并讨论了其在因果掩码和多头注意力中的应用。通过PyTorch代码示例和维度变化分析,展示了该机制在解码阶段的具体实原创 2025-10-24 11:35:07 · 887 阅读 · 0 评论 -
vscode debug Transformer源码说明
本文介绍了在conda环境中安装和使用HuggingFace Transformers库的步骤:1)确认conda环境后克隆源码并安装;2)提供测试代码示例,展示如何加载Qwen3-0.6B模型进行文本生成;3)说明在VSCode中调试的方法,包括安装Python插件、选择环境及启动调试。该指南完整覆盖了从安装到调试的整个流程,适合开发者快速上手使用Transformers库。原创 2025-10-23 17:56:01 · 234 阅读 · 0 评论 -
大模型基础理解:为什么最后一个 hidden state就能预测next token
摘要:自回归语言模型在推理时只需最后一个token的logits,因为其目标是基于历史token预测下一个token。Transformer的因果注意力机制确保最后一个隐藏状态已聚合全部上下文信息。KV Cache技术进一步优化这一过程,通过缓存历史key-value对,使每次解码只需处理最新token。这种设计既符合自回归建模本质,又显著提升推理效率,仅在训练或多路径搜索等特殊场景才需要多个logits。(149字)原创 2025-10-23 17:34:30 · 940 阅读 · 0 评论 -
Transformers 自回归文本生成主循环 源码解析
这是一个Transformer模型的自回归文本生成主循环源码解析,核心功能是逐token生成文本。关键点包括: 循环控制:通过_has_unfinished_sequences判断是否继续生成,支持多GPU同步 输入准备:动态构建模型输入,包括KV缓存处理 前向推理:区分首次预填充(prefill)和后续解码步骤 输出处理:对logits进行采样或贪婪搜索,支持概率调整 状态更新:维护生成序列和停止条件,支持流式输出 该实现支持多种生成模式(贪婪/采样)、分布式推理和中间结果收集,是Hugging Face原创 2025-10-23 14:08:25 · 863 阅读 · 0 评论 -
Qwen3ForCausalLM 源码解析
摘要: Qwen3ForCausalLM是Qwen3模型的核心类,继承自Qwen3PreTrainedModel和GenerationMixin,支持文本生成和分布式训练优化。关键特性包括:1) 词嵌入与输出层权重共享;2) 通过_tp_plan和_pp_plan实现张量与流水线并行;3) 前向传播支持Partial Logits Computation优化显存;4) 完整训练/推理流程集成,包含KV缓存、损失计算等功能。类设计兼容HuggingFace标准,适用于大规模语言建模任务,尤其注重分布式场景下的原创 2025-10-22 17:49:41 · 1116 阅读 · 0 评论 -
Qwen3DecoderLayer 源码解析
Qwen3DecoderLayer是Qwen3模型的核心解码器层,继承自GradientCheckpointingLayer以支持显存优化。该层采用现代Transformer架构,包含自注意力模块(支持RoPE和KV Cache)、SwiGLU MLP和RMSNorm归一化。其创新点包括:1)每层可配置不同的注意力机制;2)Pre-LN结构增强训练稳定性;3)支持梯度检查点技术。前向传播时,数据依次通过输入归一化、自注意力、残差连接、MLP处理,最终输出维度保持与输入一致(如[1,18,1024]),适用于原创 2025-10-22 16:52:56 · 940 阅读 · 0 评论 -
Qwen3MLP 源码解析
Qwen3MLP类实现了Qwen-3大语言模型中的MLP子模块,采用SwiGLU结构设计。其核心特点包括:使用SiLU激活函数,通过gate_proj、up_proj和down_proj三个无偏置线性层构成门控机制,中间层维度扩展3倍(如1024→3072)。前向传播时,先计算门控信号与上行分支的逐元素乘积,再降维回原始尺寸。这种SwiGLU结构相比传统FFN具有更强的非线性表达能力,能动态控制特征传递,实验表明能显著提升大模型性能。原创 2025-10-22 16:32:06 · 902 阅读 · 0 评论 -
大模型基础:分组查询注意力GQA
GQA(Grouped Query Attention)是一种结合MHA(多头注意力)和MQA(多查询注意力)优势的注意力机制。它通过让多个查询头共享一组Key/Value头,显著降低KV Cache的显存占用(可减少50-70%),同时保持接近MHA的模型性能。GQA在推理速度、长文本支持等方面表现优异,成为大规模语言模型的高效选择。原创 2025-10-22 16:13:07 · 1132 阅读 · 0 评论 -
Qwen3Attention init 源码解析
《Qwen3Attention模块解析》摘要:Qwen3Attention是通义千问模型的核心模块,基于Transformer架构实现了多项前沿优化技术。该模块支持RoPE位置编码、分组查询注意力(GQA)、滑动窗口注意力等机制,具备高效的多头注意力计算能力。通过初始化参数配置,它可灵活适应不同场景需求,如减少KV Cache显存占用、稳定注意力分布等。模块设计巧妙融合了线性投影层、RMSNorm归一化等技术,体现了现代大模型在性能与效率上的平衡追求,为长序列处理和高效率推理提供了关键支持。原创 2025-10-22 15:14:24 · 1108 阅读 · 0 评论 -
大模型基础:大模型嵌入层(Embedding Layer)
摘要:嵌入层是NLP中将离散符号映射为连续向量的核心组件,其主要功能包括将高维one-hot表示转换为低维稠密向量,并捕获词汇间的语义关系。该层通过可学习的查找表实现,输入为token索引,输出为对应向量。嵌入矩阵通常随机初始化并在训练中更新,能有效捕捉语义相似性和线性关系(如"国王-男人+女人≈女王")。自测代码展示了嵌入过程及词向量相似度计算,验证了嵌入层的基本工作原理和语义表示能力。原创 2025-10-22 14:43:28 · 320 阅读 · 0 评论 -
大模型基础:旋转位置编码(Rotary Position Embedding, RoPE)
摘要: 旋转位置编码(RoPE)通过复数旋转变换将位置信息融入词向量,成为现代大语言模型的主流位置编码方式。其核心是将词向量视为复数对,乘以旋转因子实现位置编码,最终转化为实数向量。RoPE具有显式建模相对位置、支持长上下文外推、无需修改模型结构等优势,相比传统绝对位置编码和相对位置编码更高效优雅。Qwen3等模型已实现RoPE,通过三角函数计算旋转后的注意力得分,使模型直接感知词间相对距离。RoPE兼容多种技术,成为大模型位置编码的重要突破。原创 2025-10-21 15:17:00 · 2039 阅读 · 0 评论 -
大模型基础:RMSNorm 轻量级归一化技术在大模型中的应用
摘要: RMSNorm(均方根归一化)正逐渐取代LayerNorm成为大语言模型(如LLaMA、Qwen等)的高效归一化方法。其核心区别在于仅使用特征向量的均方根值进行归一化,省去了LayerNorm的均值中心化操作。数学上表示为输入向量除以均方根值并乘以可学习参数γ。相比LayerNorm,RMSNorm计算量减少约1/3,显存访问更少,更适合并行计算,且在大模型中性能相当甚至更稳定。典型实现如Qwen3RMSNorm仅需计算方差并进行缩放初始化。虽然理论上对分布偏移更敏感,但实践表明其高效性使其成为LL原创 2025-10-21 14:48:07 · 987 阅读 · 0 评论 -
Qwen3Model init 源码解析
本文解析了Qwen-3模型的核心类Qwen3Model的实现细节。该类继承自Qwen3PreTrainedModel,主要包含词嵌入层、多层解码器、RMSNorm归一化层和RoPE位置编码等组件。关键设计包括:使用padding_idx忽略填充token的梯度,通过nn.ModuleList构建多层解码器结构,采用RMSNorm提升训练稳定性,以及集成RoPE位置编码增强位置感知能力。模型还支持梯度检查点技术以节省显存,并可选配滑动窗口注意力机制优化长序列处理效率。最后通过post_init()完成权重初始原创 2025-10-21 14:22:56 · 433 阅读 · 0 评论 -
大模型基础:unk_token、bos_token、eos_token、pad_token
本文介绍了自然语言处理中的四种特殊标记:unk_token(未知标记,用于词汇表外的词)、bos_token(序列开始标记)、eos_token(序列结束标记)和pad_token(填充标记)。这些标记在文本处理中起关键作用,如批量处理时统一序列长度。文中还提供了使用Hugging Face的AutoTokenizer查看这些标记的代码示例,并说明当pad_token缺失时可将其设置为eos_token。这些标记对模型训练和文本生成任务至关重要。原创 2025-10-21 13:57:59 · 169 阅读 · 0 评论 -
LLAMA-Factory 报错cuDNN Frontend error: [cudnn_frontend] Error: No execution plans support the graph
● torch2.5cudnn 存在兼容问题。原创 2025-10-20 15:09:21 · 95 阅读 · 0 评论 -
Qwen3-0.6模型开关思考模式测试
Qwen3混合思考模型支持硬开关(enable_thinking参数)和软开关(提示词指令)两种控制方式。当enable_thinking=True时,可通过/no_think临时关闭思考模式;当enable_thinking=False时,所有软开关指令无效,模型不会生成思考内容。测试显示,两种模式下模型均能正确响应开关指令,并输出相应的思考内容或直接回答。原创 2025-10-17 16:45:20 · 459 阅读 · 0 评论 -
error: can‘t find Rust compiler
摘要:文章提供了一个在Linux/macOS系统下安装Rust编程语言的快速方法。通过curl命令可直接从官方源下载并运行安装脚本(rustup.rs),该命令使用HTTPS协议和TLS 1.2加密确保安全传输。这种单行命令方式简化了Rust的安装流程,适合开发者快速配置开发环境。原创 2025-10-16 11:36:15 · 224 阅读 · 0 评论 -
大模型训练框架:LLaMA-Factory框架
📌是一个开源的大语言模型微调框架让每个人都能轻松训练自己的大模型!虽然名字叫 “LLaMA”,但它并不仅限于 LLaMA 系列,而是支持多种主流中文和英文模型。GitHub 地址:👉。原创 2025-09-13 14:01:31 · 909 阅读 · 0 评论 -
大模型训练框架:Swift 框架
Swift是阿里云ModelScope团队开源的大模型训练与部署框架,支持主流大模型(如Qwen、ChatGLM)的轻量化微调,提供QLoRA等高效方法,24GB显存即可微调7B/14B模型。内置Web UI简化操作,专为中文优化,支持多模态任务和生产级部署。相比LLaMA-Factory,Swift更侧重中文场景和生产部署,适合企业知识库、代码生成等应用。开发者可通过Swift降低大模型定制门槛,实现从训练到上线的全流程。原创 2025-09-13 13:56:10 · 1332 阅读 · 0 评论 -
大语言模型基石:Transformer
如今火爆的 GPT、LLaMA、通义千问、ChatGLM 等大语言模型,背后都离不开一个核心架构——Transformer。2017 年,Google 在论文《Attention Is All You Need》中首次提出 Transformer 模型,彻底改变了自然语言处理的发展方向。它摒弃了传统的循环结构(RNN/LSTM),完全依赖注意力机制实现高效、并行化的序列建模。原创 2025-09-13 13:13:25 · 1287 阅读 · 0 评论
分享