- 博客(102)
- 收藏
- 关注
原创 简单分布式模型训练(多GPU)
适用于较小规模的多 GPU 环境,容易实现并且代码较为简单。:适用于大规模的多 GPU 环境,能够提供更好的性能和扩展性,尤其是在多节点训练中更为高效。你可以根据硬件环境的规模和训练的复杂度来选择使用或。
2025-03-26 11:23:13
273
原创 EMA与迁移学习技术的结合
这使得EMA成为迁移学习中的一种有效的工具,能够提高跨领域迁移和快速适应的能力。EMA的作用:在领域适应中,源领域和目标领域的样本分布不同,训练过程中可能会产生大量的噪声,导致训练过程中的参数不稳定。EMA的作用:通过使用EMA,元学习中的参数更新可以更加平稳,使得在新的任务或少量样本下,模型能够快速而稳定地适应新任务的学习,避免过于依赖单一训练步骤的梯度信息。在元学习的训练过程中,EMA可以帮助平滑在多个任务间的参数更新,从而增强模型在面对不同任务时的适应能力,避免在快速更新过程中出现过拟合或过慢收敛。
2025-03-25 10:16:45
560
原创 信息瓶颈Information Bottleneck笔记
https://zhuanlan.zhihu.com/p/454571264https://zhuanlan.zhihu.com/p/708633712https://www.zhihu.com/question/655715111/answer/3497199536https://www.zhihu.com/question/65697409/answer/3529724531https://www.zhihu.com/question/65725209/answer/3550981900http
2025-03-21 16:43:16
70
原创 增量学习 ewc
知识蒸馏(Knowledge Distillation):强制新模型模仿旧模型的输出。弹性权重巩固(EWC):保护重要参数(通过Fisher信息矩阵量化参数重要性)课程学习(Curriculum Learning):按难度渐进式引入新样本。问题:模型在新任务上优化时破坏旧知识(例如:训练识别鸟类后忘记如何识别猫)回放机制(Replay):存储部分旧数据或生成伪样本(如使用GAN)灾难性遗忘(Catastrophic Forgetting)。医疗诊断:整合新发现的疾病亚型或治疗案例。
2025-03-13 16:35:46
235
原创 对比学习优化策略(QA by AI )
通过选择最具有挑战性的负样本来训练,可以减少计算复杂度。在训练中,负样本通常是那些距离当前样本较近的样本,即“困难负样本”,这样模型可以更专注于对这些“困难”的负样本进行学习,避免计算那些距离远的负样本对。Online Hard Example Mining (OHEM):在每次训练中,只选取那些最难的负样本,而忽略掉容易的负样本,从而减少负样本的数量。一些方法,如 Hard Negative Mining,会在每一轮训练中选择困难的负样本来计算损失,这不仅加速了训练,而且提高了表示学习的效果。
2025-02-07 09:56:59
606
原创 Convert Ensembl IDs to gene symbols
【代码】Convert Ensembl IDs to gene symbols。
2025-01-23 14:28:56
103
原创 Problems with convergence in the Cox proportional hazard model
https://lifelines.readthedocs.io/en/latest/Examples.html#problems-with-convergence-in-the-cox-proportional-hazard-model
2025-01-22 10:19:58
105
原创 当面对医疗数据量少而模型复杂度高的情况
通过上述措施,你应该能够有效缓解因数据量不足而导致的模型训练困难,并提高模型在医疗应用中的可靠性和准确性。记住,医疗领域尤其需要谨慎对待模型的选择和评估,确保任何提出的解决方案都经过严格的验证流程。使用迁移学习,下载一个已经在大规模医学图像数据集(如ImageNet)上预训练好的ResNet模型,并在其基础上进行微调。利用领域知识,咨询病理学家关于关键特征的信息,进而调整模型的损失函数或正则化项,使其更符合临床实际。尝试集成学习,构建多个不同初始化的CNN模型,并通过投票或平均的方式做出最终预测。
2025-01-20 15:41:35
313
原创 MoEs and Transformers 笔记
GLaM 这篇工作探索了如何使用仅为原来 1/3 的计算资源 (因为 MoE 模型在训练时需要的计算量较少,从而能够显著降低碳足迹) 来训练与 GPT-3 质量相匹配的模型来提高这些模型的规模。增加更多专家可以提升处理样本的效率和加速模型的运算速度,但这些优势随着专家数量的增加而递减 (尤其是当专家数量达到 256 或 512 之后更为明显)。值得注意的是,Switch Transformers 的研究表明,其在大规模模型中的特性在小规模模型下也同样适用,即便是每层仅包含 2、4 或 8 个专家。
2025-01-08 13:58:51
697
原创 混合专家模型 (MoE)笔记摘要
令牌的路由方式是 MoE 使用中的一个关键点,因为路由器由学习的参数组成,并且与网络的其他部分一同进行预训练。在实际应用中,这些专家通常是前馈网络 (FFN),但它们也可以是更复杂的网络结构,甚至可以是 MoE 层本身,从而形成层级式的 MoE 结构。总结来说,在混合专家模型 (MoE) 中,我们将传统 Transformer 模型中的每个前馈网络 (FFN) 层替换为 MoE 层,其中 MoE 层由两个核心部分组成: 一个门控网络和若干数量的专家。与具有相同参数数量的模型相比,具有更快的 推理速度。
2025-01-07 17:18:57
398
原创 Attention系列笔记
通过点积,可以衡量查询和键之间的相似性。然后对点积结果进行缩放,即除以根号dk,对点积结果进行 softmax 归一化,得到每个查询对所有键的权重;最后,用归一化后的权重对值 V 进行加权求和,得到最终的注意力输出.自注意力的目标是根据输入序列中的每个位置的特征,计算该位置与序列中其他位置的相关性。这种机制能够动态地关注输入序列中的重要部分,而不是局限于固定大小的上下文窗口。除以根号d_k这个缩放步骤是为了避免在高维空间中,点积值过大,导致 softmax 的梯度过小,造成模型训练不稳定。
2025-01-07 12:25:32
380
原创 位置编码--RoPE
RoPE通过引入旋转矩阵来对序列中的每个位置进行编码,从而使得模型能够有效捕捉序列中的位置信息,尤其适用于长序列的建模。在标准的Transformer模型中,位置编码(Positional Encoding,PE)通常通过固定的正弦和余弦函数生成,旨在为模型提供序列中各个元素的位置。这个方法的一个潜在问题是,它对于长序列的泛化能力较差,尤其是在处理长文本或其他复杂的序列数据时,传统的位置编码可能无法很好地捕捉到长距离的依赖关系。这是通过旋转机制实现的,其中序列中的每个位置都由嵌入空间中的旋转表示。
2025-01-02 10:57:07
307
原创 位置编码--RPE
在一些改进版本的 Transformer 模型中(如 Transformer-XL、T5 和 Reformer),相对位置编码的计算方式可能进一步优化,以适应更大规模的数据集和更长的序列。相对位置编码是 Transformer 中的一种改进位置编码方式,它的主要目的是通过直接建模序列中元素之间的相对位置,而不是绝对位置,从而更好地捕捉序列元素之间的依赖关系,尤其在长序列或者具有较强依赖关系的任务中,能够展现出更好的性能。
2024-12-31 16:48:01
323
原创 位置编码-APE
绝对位置编码通过为每个序列位置生成固定的编码向量,将这些向量添加到输入的词嵌入中,从而将位置信息显式地融入模型。这种加法操作将词嵌入与位置编码结合在一起,使得模型既能够感知词语的语义信息,也能感知其在序列中的位置信息。周期性和可扩展性:正弦和余弦函数的周期性使得编码具有平滑的性质,且理论上可以扩展到更长的序列。长序列表示问题:对于非常长的序列,编码的分辨率可能不足(由于正弦和余弦函数的周期性)。平滑性:相邻位置的编码向量之间具有平滑的变化,便于模型捕捉到序列中的局部连续性。这减少了模型的参数量。
2024-12-31 16:24:40
584
原创 [未解决]RuntimeError: DDP exp ects same model across all ran ks, but Rank 0 has 80 params
需要将NCCL_P2P_DISABLE=1,就不会卡住了。
2024-12-25 14:06:04
209
原创 三个激活函数模块:GELU、SELU 和 RELU
输入拆分:每个类的forward方法都通过将输入x沿着最后一个维度拆分成两部分,x和gates。然后使用gates部分经过激活函数的处理,最终通过逐元素相乘的方式与x结合。不同的激活函数GELU使用高斯误差线性单元(Gaussian Error Linear Unit)。SELU使用自归一化的指数线性单元(Scaled Exponential Linear Unit)。RELU使用常见的修正线性单元(Rectified Linear Unit)。逐元素乘法:这些激活函数通过将x和激活后的gates。
2024-11-18 11:20:46
1658
原创 llava 配置
解决参考: https://blog.youkuaiyun.com/YY007H/article/details/135506622。建议一直添加镜像源: -i https://pypi.tuna.tsinghua.edu.cn/simple。参考github: https://github.com/haotian-liu/LLaVA。
2024-10-31 17:20:22
409
原创 docker安装+使用
1.安装教程,已测有效:https://blog.youkuaiyun.com/weixin_44355653/article/details/140267707?
2024-10-18 10:03:01
229
原创 accelerate 分布式框架
该框架包括 : DeepSpeed(三阶段:), FSDP, Megatron_LM 其中,Megatron_LM 集成了 TP(张量并行)、PP(流水线并行)、SP(序列并行)以及DP(数据并行)
2024-09-24 15:25:16
258
原创 linux nvidia-smi失败(已测有效)
b. 如果未安装驱动,则可以使用默认的开源驱动或手动下载和安装Nvidia驱动。常用的方法包括使用Nvidia官方提供的安装程序、通过包管理器安装或使用闭源驱动。环境变量配置错误:如果安装了Nvidia驱动但仍然无法找到nvidia命令,可能是由于环境变量配置错误导致的。nvidia命令未包含在安装的软件包中:另一个可能的原因是nvidia命令未包含在您安装的软件包中。Nvidia驱动未安装:首先,要使用nvidia命令,需要在系统上安装Nvidia驱动程序。c. 完成安装后,尝试运行nvidia命令。
2024-08-14 09:30:54
2799
原创 Windows+wget
step1: 下载wget.exe ,链接:https://eternallybored.org/misc/wget/step2:将wget.exe移动到C:Windows/System32文件夹下。
2024-08-13 12:15:01
411
原创 mygene
ref:https://weiyan.cc/yuque/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/%E8%BD%AF%E4%BB%B6/2019-07-01-python-mygene/#mygeneinfo
2024-08-01 17:07:08
440
原创 Convert Ensembl IDs to gene symbols python包
【代码】Convert Ensembl IDs to gene symbols python包。
2024-07-31 17:20:15
307
原创 模型训练时,模型输出nan
在PyTorch中,梯度剪裁(Gradient Clipping)是一种常用的技巧,用于解决梯度爆炸问题。梯度剪裁可以限制梯度的大小,防止梯度变得过大而导致数值不稳定或模型性能下降。基于值的梯度剪裁通过将梯度的值限制在一定范围内来实现。PyTorch提供了torch.nn.utils.clip_grad_value_()函数来实现这一点。基于范数的梯度剪裁通过限制梯度的L2范数来实现。PyTorch提供了几种梯度剪裁的方法,包括基于范数的剪裁和基于值的剪裁。
2024-07-30 11:45:38
958
原创 element 0 of tensors does not require grad and does not have a grad_fn
确保所有的张量都是相同的数据类型,并且适合进行梯度计算。例如,使用 float32 而不是 int32。检查你的操作是否支持自动求导。例如,一些整数类型的张量操作不支持自动求导。
2024-07-26 15:39:27
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人