自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 大模型岗位面试常见问题及解答

在设计和训练前馈神经网络时,需要考虑多个因素,包括网络的层数、每层的神经元数目、激活函数的选择、学习速率、正则化策略等,这些都对网络的性能有重要影响。如果有经验:在之前的工作中,我参与了一个基于大模型的文本生成项目。通过优化模型结构和训练策略,我们成功地提高了模型的生成质量和效率,并在实际应用中取得了良好的效果,生成的文本在流畅性、相关性和准确性方面都达到了预期的要求。位置编码通常是通过正弦和余弦函数生成的,这些函数可以根据位置索引生成不同的向量,将其与输入的词向量相加,就可以让模型感知到位置信息。

2025-06-29 23:30:45 246

原创 一文了解Transformer发展简史:AI时代的最强引擎

同时,边缘计算技术的发展也为Transformer模型的部署提供了新的解决方案,通过在靠近数据源的边缘设备上进行模型推理,减少数据传输延迟,提高系统的实时响应能力。位置编码则为模型提供了输入序列中元素的位置信息,使其能够处理顺序信息。2017年,谷歌团队在论文《Attention Is All You Need》中正式提出了Transformer架构,它完全摒弃了循环结构和卷积操作,仅依靠注意力机制来处理序列数据,实现了并行计算,极大地提高了训练效率和模型性能,从此开启了Transformer的辉煌篇章。

2025-06-29 23:27:26 309

原创 leetcode.2014 重复k次的最长子序列

leetcode 2014重复k次的最长子序列解题思路

2025-06-27 21:49:37 232

原创 深入理解潜在扩散模型(LDM)

《潜在扩散模型原理剖析》摘要(149字) 本文系统解析了潜在扩散模型(LDM)的工作原理:1)扩散模型通过马尔科夫过程在像素空间逐步添加高斯噪声,逆向过程则通过U-Net预测噪声实现去噪;2)LDM改进在于将加噪/去噪过程移至潜在空间,使用VAE编码器压缩图像,显著提升计算效率;3)引入文本语义指导,通过CLIP文本编码器生成条件向量,使模型具备可控生成能力;

2025-06-27 21:10:50 779 1

原创 leetcode-2311.小于等于k的最长二进制子序列

摘要:本文解决了一个关于二进制子序列的问题,提出从字符串尾部遍历的策略。核心思路是将所有0纳入子序列,再选择性插入1,其中插入位置越靠前对总值影响越大。为避免数值溢出,对超过31位的位移运算直接跳过。最终代码简洁高效地实现了这一逻辑,通过逆向遍历字符串并控制条件判断,确保了在k限制下获得最长有效子序列。时间复杂度为O(n),空间复杂度O(1)。

2025-06-26 23:45:28 262

原创 VAE 变分自编码器是什么?

VAE(变分自编码器)是一种改进的生成模型,在自编码器基础上引入变分机制,通过编码器生成样本的均值和方差分布,再随机采样特征向量进行解码。其创新点在于:(1)用概率分布代替离散点映射,使潜在空间具有连续性;(2)损失函数包含重构误差和KL散度正则项,防止方差坍缩。相比传统自编码器仅学习离散点映射,VAE能捕捉特征间的渐变规律(如表情从笑到哭的过渡),从而生成更自然的样本。该模型通过强制编码器输出分布而非固定值,实现了潜在空间的平滑插值能力。

2025-06-26 23:27:03 439

原创 leetcode-2138.将字符串划分为若干个长度为k的组

本文介绍了一个字符串分割问题的解法。题目要求将字符串s分成每组k个字符,不足部分用fill字符填充。解题思路是:首先计算字符串长度和余数,若有余数则在末尾补充fill字符;然后每k个字符为一组进行分割。代码使用vector存储结果,通过substr函数实现分割操作。该方法适用于字符串长度较小的情况,时间复杂度为O(n),空间复杂度为O(n/k)。

2025-06-25 19:54:09 262

原创 Transformer中核心机制的讲解:位置编码,注意力机制优化!

本文探讨了Transformer模型中位置编码和注意力机制的优化方法。

2025-06-25 19:49:02 1102

原创 leetcode-2966.划分数组并满足最大差限制

本文提出了一种将数组划分为多个子数组的解法,要求每个子数组大小为3且最大值与最小值之差不超过k。首先对数组进行排序,然后每3个元素为一组检查差值是否满足条件。若所有组都符合要求,则将排序后的数组按顺序分组返回;否则返回空数组。该方法通过预处理排序和分组检查确保算法高效性,时间复杂度主要取决于排序步骤。代码简洁明了,使用标准库函数实现核心逻辑。

2025-06-24 16:41:20 166

原创 Transformer优化:激活函数与归一化突破!

摘要:本文聚焦Transformer架构中归一化机制和激活函数的优化进展。在激活函数方面,从早期Sigmoid、Tanh和ReLU发展到GeLU、GLU和SwiGLU,通过引入门控机制和自适应特性增强了表达能力。归一化机制从传统的BatchNorm和LayerNorm演化为RMSNorm(简化计算)和DeepNorm(解决梯度消失)。RMSNorm通过移除均值计算加速训练,DeepNorm采用参数缩放策略稳定深层网络训练。这些优化显著提升了Transformer的性能和训练效率,为后续研究提供了重要参考。

2025-06-24 16:39:10 635

原创 leetcode-3085.成为K字符串需要删除的最小字符串数

本文提出了一个字符串删除操作的解决方案。通过统计字母频率并排序,算法枚举每个字母作为最终最低频率字符的情况。对于每个候选字母,计算需要删除的操作次数:删除比它频率低的全部字母,并将超过其频率+k的字母删减至限定值。最终返回所有候选情况中的最小操作次数。该算法时间复杂度为O(26^2),空间复杂度为O(26),适用于26个小写字母的字符串处理。

2025-06-23 09:16:06 120

原创 手搓多模态-09 主模型的搭建(下)

本文介绍了Gemma模型中注意力机制和KVCache的实现细节。在注意力模块中,采用了分组注意力计算(GQA),通过让多个query头共享同一个key和value头来优化计算效率。KVCache模块则用于存储各层的key和value状态,支持序列的增量处理。文章详细说明了注意力计算的流程,包括QKV投影、旋转位置编码、注意力得分计算和权重聚合等步骤,并对KVCache的数据结构和更新方法进行了阐述。这些实现为模型的高效推理提供了基础支持。

2025-06-23 09:14:03 571

原创 GPT-1 与 BERT 架构

GPT-1采用仅解码器架构,使用12层自注意力模块(1.5亿参数),通过掩码实现单向语言建模,适合文本生成但信息提取能力较弱。BERT为仅编码器架构,引入[CLS]和[SEP]标记,通过掩码语言模型(MLM)和邻接序列预测(NSP)任务进行预训练,增强了语义理解但失去生成能力。二者核心差异在于:GPT-1专注自回归生成,需针对不同任务单独微调;BERT强化双向上下文编码,适用于分类等判别任务。前者生成能力强,后者信息提取更优,体现了Transformer架构在不同方向的演化

2025-06-21 23:55:21 665

原创 Transformer中的核心问题 知识点汇总

关于transformer的一些细节知识点,面试时可能有用!!!

2025-06-21 16:48:27 1159

原创 leetcode-3443. K次修改后的最大曼哈顿距离

摘要:本文提出了一种解决曼哈顿距离最大化问题的算法。通过将方向划分为N/S和W/E两组对抗阵营,计算优势阵营的优势值,并利用k次修改机会将劣势阵营转化为优势阵营。算法遍历字符串时动态记录各方向计数,根据剩余修改次数计算当前最大曼哈顿距离。时间复杂度为O(n),其中n为字符串长度。该方法巧妙地通过"见风使舵"策略,利用有限的修改次数最大化距离。

2025-06-20 16:10:20 315

原创 leetcode-2966.划分数组并满足最大差限制

该算法将数组划分为大小为3的子数组,要求每个子数组的最大差不超过给定值k。首先对数组排序,然后检查每三个连续元素的差值是否≤k。若满足条件,则将这些元素分组返回;否则返回空数组。时间复杂度主要由排序决定,为O(nlogn)。代码使用C++实现,先排序后分组检查,确保子数组满足条件后输出结果。

2025-06-20 16:09:32 435

原创 手搓多模态-08 主模型的搭建(上)

本文介绍了构建Gemma模型顶层架构的关键步骤,主要包括三个核心组件:1) GemmaForCausalLM作为顶层封装,通过MLP将注意力嵌入转换为token概率分布;2) GemmaModel由多个注意力块组成序列,采用RMSNorm进行标准化处理;3) GemmaLayer实现了带残差连接的注意力机制,包含多头注意力层和前馈网络。特别强调了使用RMSNorm(均方根归一化)的优势,它通过仅控制方差而非均值来加速训练。模型还实现了参数捆绑策略和KV缓存机制,以支持自回归生成过程中的高效推理。整个架构设计

2025-06-18 21:31:47 887

原创 leetcode-3405 统计恰好有k个相等相邻数组的个数

本文探讨了构造满足特定条件的数组个数问题。首先通过动态规划方法递推关系式dp(n,k)=dp(n-1,k-1)+dp(n-1,k)*(m-1),随后优化为空间复杂度O(k)的滚动数组解法。针对大数情况,改用组合数计算方法,利用费马小定理和快速幂预处理阶乘及其逆元,最终通过公式C(n-1,k)m(m-1)^(n-k-1)%MOD求解。该方法有效解决了n、m、k值较大时的计算效率问题

2025-06-18 21:28:38 874

原创 langchain bug修复

针对langchain 0.3.14版本调用接口时出现的"NoneType相加错误",解决方案是创建patch.py文件进行补丁修复。该补丁包含两个关键修改:1) 使用safe_add_usage函数对token计数进行安全处理,避免None值相加;2) 替换_create_usage_metadata函数以正确处理token元数据。通过在项目主文件开头导入此补丁文件,可有效解决该类型错误。补丁主要增强了代码对None值的鲁棒性,确保token计数字段始终有默认值0。

2025-06-14 00:38:10 121

原创 手搓多模态-07 主模型上层的搭建

本文介绍了PaliGemma多模态生成模型的架构设计与实现细节。模型由视觉编码器、文本嵌入投影器和语言模型组成,通过将图像patch编码与文本token嵌入对齐维度并拼接作为输入。关键设计包括:1)图像特征投影器将视觉与文本特征维度统一;2)输入构建模块通过掩码机制融合两种模态特征;3)采用全零注意力掩码实现无条件注意力;4)根据KV缓存状态动态计算位置编码。该架构实现了视觉-语言特征的深度融合,为后续的多模态生成任务奠定了基础。

2025-06-14 00:28:47 842

原创 DEBUG问题-静态变量初始化顺序

静态变量初始化顺序引发的一个bug和对应的防御性编程的解决方案。

2025-04-11 21:08:15 428

原创 [问题帖] vscode 重启远程终端

有的时候,在vscode 远程ssh连接到服务器的时候,可能遇到需要重启终端才能生效的配置,比如add group的时候,而此时无论你是关闭vscode终端重启,还是reload窗口都是没用的。此文介绍了解决方法。

2025-04-11 21:06:31 396

原创 手搓多模态-06 数据预处理

paligemma多模态模型的数据预处理阶段代码的实现。

2025-04-07 23:57:16 789

原创 手搓多模态-05 transformer编码层

手搓多模态之transformer编码器的实现

2025-04-07 19:24:27 1030 2

原创 手搓多模态-03 顶层和嵌入层的搭建

【代码】手搓多模态-03 顶层和嵌入层的搭建。

2025-04-06 23:59:15 1009

原创 手搓多模态-04 归一化介绍

在机器学习中归一化是一个非常重要的工具它能帮助我们加速训练的速度。在我们前面的SiglipVisionTransformer中也有用到归一化层如下代码所示这里的postlayernorm就是归一化层所以本文将一起介绍归一化层。

2025-04-06 23:56:50 833

原创 手搓多模态-02视觉编码器的架构

视觉编码器的架构

2025-04-03 14:19:44 297

原创 手搓多模态-01 对比损失的优化

多模态模型训练过程中的对比损失优化

2025-04-02 21:46:34 797

原创 调试MiniOB

vscode 调试 miniOB

2025-03-31 14:34:26 1066

原创 docker + vscode开发 MiniOB

如何简单通过docker配置MiniOB的开发环境

2025-03-16 15:14:17 888

原创 Windows下利用MetaGPT MultiAgent 生成贪吃蛇游戏

MetaGPT 是一种多智能体协同的大语言模型框架,旨在利用多个 AI 代理(Agents)协作完成复杂任务,例如软件工程、商业分析等。它的核心思想是将大语言模型(LLM)组织成类似团队的结构,每个代理扮演不同的角色,如产品经理、架构师、工程师、测试员等,以模拟真实世界的软件开发流程,提高任务完成的专业性和效率。

2025-03-04 22:56:49 739

原创 Python bitsandbytes库找不到CUDA CUDA SETUP: CUDA detection failed. Either CUDA driver not installed.....

解决环境问题

2025-02-27 19:52:03 405

原创 LLM的函数调用,让LLM能够使用api接口

大模型的函数调用实践

2024-12-19 17:53:48 1579 2

原创 大模型入门篇-李宏毅generative ai课程

看李宏毅老师的生成式人工智能课程有感而发的笔记。

2024-12-15 20:30:38 995

原创 YARN学习02-YRAN的工作流程和常用功能

yarn框架的学习记录,包括yarn的执行流程,以及yarn的常用的功能,以及yarn的常用命令

2024-12-11 23:37:53 776

原创 YARN学习01-YARN初探和环境配置(VMWare + CentOS 7)

在本文中,我们初步了解了YARN的起源和架构,并且在hadoop集群初始化配置了yarn并运行了词频统计的实例。

2024-12-08 00:42:20 703

原创 HDFS学习05--HDFS中的高级指令+动态扩展/下线数据节点

hdfs学习记录05,这里写了一些hdfs会用到的一些高级指令,包括磁盘操作,节点扩展等等,并动手实现的数据节点的动态上线和动态下线

2024-12-05 23:59:48 831

原创 在windows上使用IDEA来操纵HDFS

Hadoop HDFS的JAVA接口调用,使用IDEA+maven来配置项目,实现在跨机器对hadoop集群的访问,实现对hdfs中文件的上传和下载

2024-12-04 22:47:18 620

原创 HDFS学习04-Vscode+Java+hdfs的环境配置,通过代码来操作HDFS

使用vscode来编写maven项目的java代码,从而以代码接口的方式来操作hdfs,这里需要对宿主机和虚拟机进行一些环境配置,使得开发环境能够利用虚拟机上的maven来构建项目。

2024-12-04 20:00:27 742

原创 Hadoop 本地真分布式部署(Windows 11+CentOS 7+VMWare)

Hadoop在windows11宿主机以及centos7虚拟机的配置环境下,利用vmware的克隆功能快速实现多机真分布式的部署,并利用部署的环境运行了词频统计的官方测试案例。

2024-12-03 23:48:08 947

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除