LLM
文章平均质量分 91
A抽子
zzu->tju。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hf transformers库中generate函数解读
本文介绍了Hugging Face Transformers库(版本4.37.1)中generate函数的参数配置和返回值格式。该函数主要用于文本生成任务,支持多种自定义参数:包括输入张量、生成配置、logits处理器、停止条件、前缀约束函数、多GPU同步开关、辅助模型加速、流式处理以及负面提示等。返回值格式根据return_dict_in_generate参数决定,可返回包含生成序列、分数、注意力权重等信息的结构化ModelOutput对象(分为GenerateDecoderOnlyOutput和Gene原创 2025-11-10 11:41:56 · 451 阅读 · 0 评论 -
hf中transformers库中generate的greedy_search
本文介绍了greedy_search方法的参数、返回值及核心代码逻辑。该方法接收input_ids、logits_processor等参数,控制文本生成过程。返回值根据return_dict_in_generate决定返回格式。代码初始化处理参数后,在循环中进行模型推理,通过logits_processor处理得分,并记录生成状态。支持批处理不同序列的独立终止判断,以及多GPU同步生成场景的处理。整个过程实现了基于贪心算法的文本生成功能。原创 2025-11-10 11:37:05 · 960 阅读 · 0 评论 -
hf transformers KV cache
KV cache显存计算涉及公式:2×精度×层数×embed维度×最大序列长度×批次大小。在HuggingFace Transformers中,past_key_values存储KV缓存,其格式为多层(key, value)元组,每个key/value的维度为(batch_size, num_heads, seq_len, head_dim)。实验显示,使用缓存时,随着解码步数增加,past_key_values的序列长度会逐步扩展(如从6增至7),验证了KV缓存的动态增长特性。通过对比完整生成与逐步解码过原创 2025-11-04 13:11:36 · 338 阅读 · 0 评论 -
Transformers中不同的generation strategies生成策略
本文介绍了Transformer模型中的几种文本生成策略。基础解码方法包括贪心搜索(每次选概率最大的token)、随机采样(按概率分布采样)和束搜索(追踪多个候选序列)。高级方法如投机采样,通过小模型生成候选token再由主模型验证,可加速生成过程。文中提供了HuggingFace库的代码示例,展示了不同策略在Llama-2等模型上的实现方式。这些方法各具特点,适用于不同场景的文本生成任务。原创 2025-10-20 20:01:59 · 302 阅读 · 0 评论 -
论文阅读:Reward-Guided Speculative Decoding for Efficient LLM Reasoning
摘要: 本文提出Reward-Guided Speculative Decoding (RSD)方法,以解决传统Speculative Decoding因严格无偏性要求导致的高效推理限制。RSD通过引入process reward model放宽draft model的接受条件,以reward而非概率匹配决定token是否被接受,从而减少target model调用次数并保证生成质量。理论分析表明,RSD的分布由draft和target模型共同决定,并通过动态权重函数平衡两者输出。实验验证了RSD在减少推理原创 2025-10-14 09:45:24 · 937 阅读 · 0 评论 -
Stanford CS336 assignment1 | Training a Transformer LM
本文介绍了训练Transformer语言模型的关键组件实现,主要包括交叉熵损失函数和优化器(SGD和AdamW)。交叉熵损失函数通过softmax计算概率分布并实现数值稳定技巧。SGD优化器使用学习率衰减策略,而AdamW优化器实现了自适应学习率调整和权重衰减功能。两种优化器都支持参数分组和状态跟踪,其中AdamW通过原地操作优化显存和计算效率。这些组件为Transformer语言模型的训练提供了基础支持。原创 2025-10-05 14:33:35 · 1015 阅读 · 0 评论 -
Deep Learning Optimizer | Adam、AdamW
本文介绍了Adam和AdamW优化算法及其相关概念。首先解释了指数加权平均(EMA)的原理,它是后续算法的基础。然后依次介绍了SGD、Momentum、RMSProp等优化方法的特点:SGD仅依赖当前梯度;Momentum引入梯度指数平均减少震荡;RMSProp通过梯度平方的指数平均自适应调整学习率。Adam结合了Momentum和RMSProp的优点,维护梯度和梯度的平方两个指数平均量。AdamW在此基础上增加了weight decay机制,防止参数过大提高泛化性。最后指出这些算法需要为每个参数维护两个额原创 2025-10-05 10:56:54 · 1115 阅读 · 0 评论 -
Stanford CS336 assignment1 | Transformer Language Model Architecture
摘要 本文介绍了Transformer语言模型架构中的基础模块实现方法。首先讲解了环境配置技巧,建议将虚拟环境激活命令写入.bashrc文件实现自动加载。接着详细说明了模型参数的初始化策略:线性层采用截断高斯分布N(0, 2/(din+dout)),嵌入层采用N(0,1)分布,均使用PyTorch的trunc_normal_函数实现。文章分别实现了Linear模块和Embedding模块的代码,包括初始化方法和前向传播逻辑,并提供了相应的测试方法。测试时使用pytest命令验证模块的正确性,测试通过后会有相原创 2025-10-03 19:15:10 · 1550 阅读 · 0 评论 -
Stanford CS336 Lecture3 | Architectures, hyperparameters
本文介绍了Transformer模型架构中的常见变种和关键超参数选择。在架构方面,对比了Pre-Norm和Post-Norm的归一化方式,指出Pre-Norm更稳定且适合深层模型;分析了LayerNorm与RMSNorm的区别,后者计算效率更高;讨论了ReLU、GeLU等激活函数及其门控变种,以及旋转位置编码(ROPE)的优势。在超参数方面,重点说明了前馈网络维度d_ff与模型维度d_model的典型4倍关系,并解释了采用GLU变体时的调整策略。这些技术细节对理解现代大语言模型的设计选择具有重要意义。原创 2025-10-01 13:09:06 · 984 阅读 · 0 评论 -
KV cache原理
文章摘要:本文介绍了decoder-only transformer的生成流程及KV cache优化技术。首先,输入prompt经过tokenizer和embedding层转换为词向量矩阵,再通过线性变换得到Q、K、V矩阵。在多头注意力机制中,通过mask保留注意力矩阵的下三角部分,与V矩阵相乘后得到上下文信息。KV cache通过缓存K和V矩阵,避免重复计算历史token的注意力分数,仅对新token进行增量计算。这种优化显著降低了计算复杂度,提升了推理效率。KV cache本质是一种增量算法,适用于自回原创 2025-09-29 21:57:51 · 873 阅读 · 0 评论 -
Jetson Xavier NX踩坑
本文介绍了在Jetson Xavier NX开发板上安装中文输入法、查看硬件配置、换源以及查看JetPack版本的全过程。主要内容包括:1) 通过apt安装fcitx拼音输入法框架并配置环境变量;2) 使用命令行工具查看系统信息、CPU、内存等硬件参数;3) 将apt源更换为华为云ARM64镜像以提升下载速度;4) 检查JetPack版本及CUDA环境配置,并安装jetson-stats监控工具。这些操作为后续开发环境搭建奠定了基础,特别针对ARM架构的Jetson平台进行了优化配置。原创 2025-09-27 22:14:57 · 762 阅读 · 0 评论 -
Stanford CS336 assignment1 | Byte-Pair Encoding (BPE) Tokenizer
本文介绍了BPE(Byte Pair Encoding)算法的实现过程。首先阐述了Unicode标准与编码方式(UTF-8/UTF-16/UTF-32)的区别,然后对比了词级分词和字节级分词的优缺点。BPE作为一种子词分词技术,通过统计高频字节对进行合并,既能解决未登录词问题,又能控制词表大小。文章详细描述了BPE训练的三个步骤:初始化256字节的基本词表;预分词处理文本并统计频率;迭代合并最高频的字节对。其中重点介绍了合并过程中的关键函数,如获取字节对频率、选择最优合并对等。代码实现展示了如何从文本中提取原创 2025-08-04 13:49:58 · 1230 阅读 · 0 评论 -
Agent基础之高级检索技术rerank模型
文章摘要:Rerank模型是RAG系统中的第二阶段文档过滤器,用于对初始检索结果重新排序,提升相关性文档优先级。由于embedding模型会损失信息且仅关注召回率,而LLM存在上下文长度限制,需要更精准的相关性排序。Bi-Encoder计算快但准确度较低,Cross-Encoder精度高但耗时。两者结合使用可平衡效率与准确性,先用Bi-Encoder初筛,再用Cross-Encoder重排,优化RAG系统效果。(149字)原创 2025-08-01 13:18:38 · 1123 阅读 · 0 评论 -
transformers基础Data Collator
本文介绍了HuggingFace Transformers库中的多种数据整理器(DataCollator),用于将数据预处理为模型可接受的batch格式。主要内容包括:基础数据整理器default_data_collator和DefaultDataCollator;动态padding的DataCollatorWithPadding;面向特定任务的DataCollatorForTokenClassification(序列标注)、DataCollatorForSeq2Seq(编码器-解码器任务)和DataCol原创 2025-07-16 17:16:03 · 927 阅读 · 0 评论 -
论文阅读:LLM distillation Distilling Step-by-Step!
部署大预言模型具有挑战性,因为它们在实际应用中内存效率低下且计算资源消耗巨大。指出大语言模型部署应用存在的问题:内存效率低(目前很多大语言模型有千亿参数)、计算资源消耗巨大(推理和训练都需要进行大量的矩阵运算)。使用人工标注的标签进行微调(fine-tuning);或者使用大语言模型(LLM)生成的标签进行知识蒸馏(konwledge distillation)。指出解决上述问题的目前的解决办法即用更小的模型代替。原创 2025-07-10 18:03:53 · 1017 阅读 · 0 评论 -
大语言模型评估测试
CMMLU和C-Eval是两个中文多学科评估基准。CMMLU包含67个主题的测试数据,主要评估中文大模型的知识和推理能力,项目结构分为src、data、script三个模块。C-Eval涵盖52个学科的13948道题目,分为4个难度等级,核心评估代码位于code/evaluator_series目录下,提供命令行参数评估功能。两个项目均开源在GitHub平台,为中文大语言模型评估提供标准化测试框架。原创 2025-06-28 11:08:05 · 459 阅读 · 0 评论
分享