自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大模型强化学习之DPO

本文探讨了基于人类偏好的强化学习方法。传统on-policy方法需要先收集大量人类偏好数据,然后训练奖励模型来指导策略调整。这种方法依赖高质量的人类反馈数据,通过奖励模型将人类偏好转化为可量化的奖励信号,进而优化策略。研究强调了人类偏好数据在策略训练中的关键作用,以及奖励模型作为桥梁的重要性。

2025-09-22 16:30:45 169

原创 大模型强化学习-PPO应用

对于大模型输出的每一步而言,它的state就是截止到当前输出的token序列,action就是下一个输出的token,大模型就是策略函数。状态价值模型:对每个状态评估价值。问答对最后一个token序列的输出通过socre_head计算后,就是这个问答序列的得分了。训练模型:它的结构和基准模型的完全一致的,PPO训练的目标就是优化训练模型。需要调用两次reward模型,分别得到模型对chosen和rejected的得分。基准模型:一般是SFT之后的大模型。新训练后的模型输出的概率分布不能和基准模型相差太大。

2025-09-22 15:42:09 312

原创 零基础强化学习之PPO

摘要: On-policy方法使用同一策略采集数据并训练,效率较低。改进包括:1)基于动作后累计奖励而非整条轨迹调整概率;2)引入优势函数A和基线值优化动作评估;3)通过重要性采样将on-policy转为off-policy,允许复用数据。PPO算法通过KL散度或截断函数限制策略更新幅度,确保新旧策略分布相近,提升训练稳定性。核心思想是平衡数据利用效率与策略收敛性,兼顾采样效率与算法鲁棒性。

2025-09-21 15:28:02 397

原创 大模型常用的数据类型FP32,BF16,FP16

深度学习模型规模激增推动了对低精度数据类型的需求。本文系统解析了FP32、FP16、BF16、INT8和FP8等数据类型的结构特点、性能表现及适用场景。FP32作为基准格式精度高但效率低;FP16精度较好但动态范围有限;BF16专为训练设计,保持FP32的动态范围;INT8通过量化实现极致效率,适合推理;FP8结合浮点动态范围和整型效率,成为最新训练方案。文章对比了各类数据特性,并给出混合精度训练和量化方法,指导根据硬件条件选择合适类型。未来趋势指向更低比特、软硬协同和算法创新,以持续优化AI计算的效率与精

2025-09-02 16:15:46 1035

原创 【算法岗面试】手撕Self-Attention、Multi-head Attention

本文详细解析了自注意力机制(Self-Attention)到多头注意力(Multi-Head Attention)的实现过程。首先介绍了单头自注意力的计算步骤:通过线性变换得到Q/K/V矩阵,计算注意力分数并加权输出。然后扩展到多头实现,重点讲解了如何将输入张量[B,L,d_model]拆分为[B,num_heads,L,d_k]的步骤:先用view将特征维度拆分成(num_heads,head_dim),再通过transpose将头维度移到序列维度前。文章强调了拆分顺序的重要性,指出错误的维度交换会导致计

2025-08-13 14:59:03 1334

原创 【Lora微调详解】一篇文章带你搞懂Lora微调中的A、B矩阵,参数r,参数Alpha的详细解释与调参经验

本文全面解析了LoRA(低秩适应)技术中的关键参数与实现原理,重点阐述了A、B矩阵的作用机制及其差异。A矩阵作为特征提取器(降维),采用小随机数初始化;B矩阵作为输出调制器(升维),初始化为零以确保训练稳定性。文章通过数学公式、代码示例和直观类比(如智能眼镜)说明二者协同工作的原理,并强调$\alpha/r$缩放比的控制作用。同时详解了秩(r)、初始化策略及其他参数(dropout、bias等)的最佳实践,指出常见误区(如对称性误解),为高效微调大模型提供系统指导。

2025-07-29 15:03:20 2913 6

原创 云服务器上基于lora微调Qwen2.5-VL-7b-Instruct模型之Lora微调代码讲解

本文详细解析了基于LoRA微调Qwen2.5-VL-7B模型的配置参数。LoRA通过低秩分解技术,仅训练小矩阵增量,大幅降低显存消耗(节省70%+)。关键配置包括:任务类型为因果语言建模(CAUSAL_LM)、目标模块覆盖注意力层和FFN层(q/k/v/o_proj等)、秩r=64与alpha=16保持合理缩放比(0.25)、5%的dropout防止过拟合。该配置在16.7M参数的原模块上仅需训练0.52M参数,实现了高效微调,特别适合多模态生成任务。参数设置平衡了性能与效率,是Qwen模型的推荐实践方案。

2025-07-29 14:31:55 1033

原创 在云服务器上基于lora微调Qwen2.5-VL-7b-Instruct模型(下)

本文总结了基于LoRA微调Qwen2.5-VL-7b-Instruct模型的训练过程。主要包含:1)常见路径错误需检查checkpoint设置;2)通过SwanLab监控训练过程,发现学习率线性下降、loss降低但grad_norm上升的过拟合迹象,建议不超过2个epoch;3)模型输出呈现COCO数据集的简短英文风格;4)强调使用PeftModel.from_pretrained的前提是采用LoRA微调方法,否则需通过其他方式导入模型。训练过程可视化数据有助于及时调整参数,避免过拟合。

2025-07-28 16:56:33 488

原创 在云服务器上基于lora微调Qwen2.5-VL-7b-Instruct模型(上)

本文介绍了使用Qwen2.5-VL-7B-Instruct模型在COCO2014图像描述数据集上进行LoRA微调的方法。主要包括:1)环境配置(CUDA、Python3.8+、PyTorch及相关库);2)数据集处理,将COCO2014数据转换为特定格式的JSON;3)模型加载与LoRA配置(r=64,alpha=16);4)使用SwanLab监控训练过程,记录超参数和评估结果。代码实现了从数据预处理、模型训练到测试评估的完整流程,最终可生成图像描述结果。该方法适用于多模态图像到文本任务的微调优化。

2025-07-28 11:54:01 1594 3

原创 Qwen2.5-VL-7b云服务器部署详细从0开始教程

本文介绍了在云服务器上部署Qwen2.5-VL-7B模型的完整流程。首先创建无卡模式实例,在Autodl-tmp数据盘进行操作。通过Modelscope下载模型参数后,安装必要的依赖库并克隆官方代码。将下载的模型从系统盘迁移至数据盘,修改相关路径配置后,最终成功启动模型推理功能。整个过程涵盖了环境配置、模型下载、依赖安装和路径调整等关键步骤,为云端部署大语言模型提供了实践指导。

2025-07-27 10:33:04 474 1

原创 现有样本(0, 1), (1, 2), (2, 3), (3, 4),定义函数f=w*x+1,损失函数采用平方loss,请用梯度下降法对函数f进行参数估计

然后对于每一轮epoch,计算梯度的累加值,然后除以数据点长度取得平均值,用梯度的平均值更新w。思路:首先需要定义好数据点与初始化参数。

2025-04-22 16:30:50 267

原创 用梯度下降法求函数 f(x) = (x - 3)^2 - 1 的极小值点和极小值

X向梯度的反方向更新,也就是导数的反方向。思路:对函数求导,用梯度下降法迭代。

2025-04-22 15:39:19 147

原创 【Python实现】1. 两数之和(LeetCode)

你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2025-04-16 10:28:35 161

原创 【Python实现】202. 快乐数(LeetCode)

编写一个算法来判断一个数。

2025-04-16 09:51:52 500

原创 Transformer模型常见面试题总结以及回答【2025-4-7日最新更新】

QKTQK^TQKT 计算的是 Query 和 Key 之间的点积,如果 dkd_kdk​ 维度较大,那么点积的结果会增大,可能导致 softmax 的输入值过大,使得梯度消失(因为 softmax 会趋向于极端的 0 或 1)。BN 需要对整个 batch 计算均值和方差,而在 NLP 任务中,输入通常是变长序列,BN 处理不同长度的序列时不方便,而 LN 是。如果不做缩放,随着 dkd_kdk​ 增大,点积的方差会增大,使得 softmax 过于尖锐(接近 one-hot),影响学习效果。

2025-04-02 15:36:36 805

原创 Transformer架构-0基础解读,由浅入深的理解

word2vec后,单词的词向量与位置编码对位相加。

2025-04-02 15:17:43 385

原创 【Python实现】209. 长度最小的子数组-力扣(Leetcode)

在暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环 完成了一个不断搜索区间的过程。首先要思考 如果用一个for循环,那么应该表示 滑动窗口的起始位置,还是终止位置。如果只用一个for循环来表示 滑动窗口的起始位置,那么如何遍历剩下的终止位置?所以 只用一个for循环,那么这个循环的索引,一定是表示 滑动窗口的终止位置。那么滑动窗口如何用一个for循环来完成这个操作呢。如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。

2025-03-26 10:35:50 325

原创 【Python实现】27.移除元素-力扣(Leetcode)

快指针用来指向新数组所需要的元素,慢指针用来存储新数组的下标值。快指针指向的值赋给慢指针的下标就可以了。// 它以不等于 val 的值排序。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。// 长度正确的预期答案。// 排序 nums 的前 k 个元素。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你的函数函数应该返回 k = 2, 并且 nums。中的前两个元素均为 2。

2025-03-19 09:31:52 427

原创 【Python实现】3. 无重复字符的最长子串-力扣(LeetCode)

因为无重复字符的最长子串是"abc",所以其长度为 3。因为无重复字符的最长子串是 "wke",所以其长度为 3。因为无重复字符的最长子串是"b",所以其长度为 1。,说明子串重复,结束当前子串查找(,请你找出其中不含有重复字符的。的长度,"pwke" 是一个。请注意,你的答案必须是。

2025-03-12 09:58:16 385

原创 【Python实现】2. 两数相加-力扣(LeetCode)

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。用列表来存储数据,然后返回一个新链表就行。的方式存储的,并且每个节点只能存储。

2025-03-11 11:20:27 303

原创 新手入门算法必看:Python定义链表,构建链表,遍历链表

Python基础 定义链表,构建链表,便利链表

2025-03-11 10:05:56 159

原创 详解Python中if __name__ == ‘__main__‘的作用和原理

可以看到在test.py中__name__的值等于__main__,而import_test.py中的__name__变量值为 test,不满足 __name__ == "__main__"的条件,因此,无法执行 if __name__ == "__main__": 后面的代码。由于每个Python模块(Python文件)都包含内置的变量__name__,当运行模块被直接执行的时候,__name__等于__main__。所以当模块被直接执行时,__name__ == '__main__'结果为真;

2025-03-05 15:08:13 349

原创 唐宇迪-大语言模型入门实战具体代码

在之前加载了数据集raw_datasets,使用map函数,将tokenize_function函数应用到raw_datasets的每个数据上。如下图所示,可以看到多了三个字段(蓝色),是tokenize_function函数算出来的东西。在训练模型的过程中只打印了loss,如果想知道别的评估函数下模型的表现:就用load_metric。传入一个模型并且指定好模型的名字,会自动加载这个模型的分词器。加载数据,这个的用处是将数据变为一个一个的batch导入训练,相当于data_loader。

2024-09-26 16:52:36 610 4

原创 清华大学openBMB大语言模型课程笔记【5】

OpenBMB携手清华大学自然语言处理实验室,共同推出《大模型交叉研讨课》,意在为对大模型感兴趣的同学提供相关资源,为大模型领域的探索打下基础。本课程将手把手带领同学从深度学习开始快速了解大模型的相关理论和实践,最后利用所学知识进行前沿问题的探索。

2024-09-26 16:20:27 349

原创 清华大学openBMB大语言模型课程笔记【4】

OpenBMB携手清华大学自然语言处理实验室,共同推出《大模型交叉研讨课》,意在为对大模型感兴趣的同学提供相关资源,为大模型领域的探索打下基础。本课程将手把手带领同学从深度学习开始快速了解大模型的相关理论和实践,最后利用所学知识进行前沿问题的探索。

2024-09-23 16:17:42 991

原创 清华大学openBMB大语言模型课程笔记【3】

OpenBMB携手清华大学自然语言处理实验室,共同推出《大模型交叉研讨课》,意在为对大模型感兴趣的同学提供相关资源,为大模型领域的探索打下基础。本课程将手把手带领同学从深度学习开始快速了解大模型的相关理论和实践,最后利用所学知识进行前沿问题的探索。

2024-09-23 16:10:47 222

原创 清华大学openBMB大语言模型课程笔记【2】

OpenBMB携手清华大学自然语言处理实验室,共同推出《大模型交叉研讨课》,意在为对大模型感兴趣的同学提供相关资源,为大模型领域的探索打下基础。本课程将手把手带领同学从深度学习开始快速了解大模型的相关理论和实践,最后利用所学知识进行前沿问题的探索。

2024-09-20 09:52:11 576

原创 清华大学openBMB大语言模型课程笔记【1】

OpenBMB携手清华大学自然语言处理实验室,共同推出《大模型交叉研讨课》,意在为对大模型感兴趣的同学提供相关资源,为大模型领域的探索打下基础。本课程将手把手带领同学从深度学习开始快速了解大模型的相关理论和实践,最后利用所学知识进行前沿问题的探索。

2024-09-20 09:45:08 347

原创 Gaussian 09W和GaussView 5.0常见报错解决思路分享

Gaussian 09W和GaussView 5.0常见报错解决思路分享:Severe Error Message #2070The processing of the last link ended abnormally. All processing has been aborted.

2024-07-24 15:36:17 7232 6

原创 GaussView 5.0与Gaussian 09W使用学习记录

Gaussian 09W与GaussView 5.0学习记录

2023-09-27 17:51:02 13156 8

空空如也

空空如也

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

TA关注的人

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