- 博客(64)
- 收藏
- 关注
原创 在DeepSeek-R1-Zero的训练中π_ref(参考策略)
在DeepSeek-R1-Zero的训练中,π_ref(参考策略) 通常指代用于约束策略更新的基础策略,其具体设计与实现可能包含以下技术细节:1. π_ref的核心作用策略更新约束:通过KL散度惩罚项(如公式中的−βDKL(πθ∥πref)−βD KL (π θ ∥π ref )),防止新策略πθπ θ 过度偏离参考策略,保持训练稳定性。安全与合规保障:确保模型行为符合预设规范(如内容安全、逻辑合理性)。知识保留:在持续学习场
2025-04-01 17:14:05
239
原创 充分了解训练数据
这段话系统性地描述了数据检查的多个维度,形成了一个完整的"数据认知框架"。其核心思想是通过人类的模式识别能力(快速但非结构化)与统计分析方法(慢速但结构化)的结合,为后续的模型设计提供可靠的基础。这种深度数据检查往往能节省数周的无效调参时间。
2025-03-05 14:30:00
713
原创 Dropout的使用位置
在Transformer架构(如BERT)中,Dropout的使用位置和作用确实与原始论文《Attention Is All You Need》中的描述有所不同。
2025-03-04 17:23:38
181
原创 offset_mapping NER中的token处理
是连接 Tokenizer 输出与原始文本的桥梁。通过它,你可以精确知道每个 token 在原始文本中的位置,这对序列标注、实体识别等任务至关重要。
2025-03-04 14:45:59
619
原创 papermill -k python --log-output good-mnist.ipynb output.ipynb如何理解
这条命令的作用是:使用python内核执行文件中的代码,并将执行过程的输出打印到命令行,最后将包含执行结果的新笔记本保存为文件。这在自动化执行和批量处理 Jupyter Notebook 文件时非常有用,特别是在数据分析、机器学习模型训练等需要重复执行的场景中。
2024-12-24 20:11:26
256
原创 mixture_of_depths
是一种用于处理不同深度模型组合的技术或机制,通常用于模型的加载和推理过程中。它涉及将模型的不同层次或深度进行组合或切换,以提高模型的灵活性和性能。
2024-08-22 15:20:30
499
原创 Booster
Auto是一种通用的自动优化策略,适合广泛应用,平衡性能和易用性。FlashAttn2专注于加速自注意力机制的计算,尤其在处理长序列的 Transformer 模型中有显著效果。Unsloth则更偏向于激进的性能优化,适合对速度有极致需求的场景,可能会牺牲一些稳定性或精度。选择哪种模式取决于你的模型架构、任务需求以及对优化结果的预期。
2024-08-22 12:06:26
516
原创 RoPE(Rotary Position Embedding)
None: 没有进行任何缩放,适合与训练时相同或相似长度的序列。Linear: 线性调整 RoPE 的频率,适合处理比训练时稍长的序列。Dynamic: 动态调整 RoPE 的频率,适合处理不同长度的序列,特别是极长的序列。这些策略为模型提供了灵活性,使其能够更好地处理不同长度的输入序列,尤其是在需要扩展到比训练时更长的序列时。
2024-08-22 12:05:48
913
原创 {“current_steps“: 15, “total_steps“: 15, “epoch“: 2.608695652173913, “percentage“: 100.0, “elapsed_t
在这个例子中,epoch为2.608695652173913,意味着你在第3个epoch的进程中(2表示已完成2个epoch,0.608695652173913表示当前epoch的进度)。: 预计剩余时间,这是根据当前训练速度估算的。这里是0秒,表示训练已经完成。: 每秒处理的样本数量,这里是442.55个样本每秒,表示当前训练的速度。这里显示为15,表示已经完成了15个训练步骤。在这个例子中,总的训练步数也是15,说明训练已经完成。: 已经过的时间,即从训练开始到目前为止所用的时间。
2024-08-21 11:55:05
177
原创 DeepSpeed offload。数据卸载功能
是一种在内存资源有限的情况下训练大模型的实用技术,但它可能会减慢训练速度。因此,在启用此功能时,必须在内存使用和训练速度之间进行权衡。
2024-08-15 16:35:20
945
原创 DeepSpeed Stage
DeepSpeed 是一个用于大规模深度学习训练的优化库,旨在提高训练效率和扩展性。DeepSpeed 提供了许多优化技术,其中 ZeRO (Zero Redundancy Optimizer) 是一个核心组件,它通过减少冗余的数据传输和存储,来有效地利用计算资源和内存。ZeRO 被划分为多个阶段(stages),每个阶段代表了不同的优化级别或策略。通常提到的 "DeepSpeed stage" 就是指这些 ZeRO 的不同阶段。DeepSpeed ZeRO 的三个主要阶段Stage 1: Optim
2024-08-15 16:31:29
679
原创 Gradient Low-Rank Projection
是一种通过将梯度投影到低秩子空间中来优化模型训练的方法。它可以降低计算复杂度、减小梯度噪声,并提高模型的泛化能力。4o。
2024-08-15 16:09:21
388
原创 【无标题】
在 PPO 训练中指的是将奖励信号进行白化处理,使其均值为 0,方差为 1。这种处理有助于提高训练的稳定性和效率,防止奖励信号的极端值对训练过程造成不利影响。4o。
2024-08-15 16:07:36
252
原创 PPO中的Normalizing scores
PPO是一种常见的强化学习算法,用于训练智能体(agent)来最大化累积奖励。PPO 通过限制策略更新的幅度,避免了策略在训练中发生剧烈变化,从而提升了训练的稳定性和效率。在 PPO 训练中是一个重要步骤,通常指的是对奖励或优势进行归一化处理。这一过程可以使训练过程更加稳定,减小数值不稳定带来的问题,并提高模型的训练效率。
2024-08-15 16:03:58
529
原创 PiSSA(Pseudoinverse-Based Sliced Structured Adaptation)
PiSSA是一种用于参数高效微调(parameter-efficient fine-tuning)的技术,旨在通过优化模型的适应性来提高在新任务上的表现。它的核心思想是利用伪逆矩阵来实现更高效的模型调整。PiSSA(Pseudoinverse-Based Sliced Structured Adaptation)是一种用于高效微调预训练模型的方法,通过利用伪逆矩阵和切片结构来优化模型参数,从而提升模型在新任务上的适应性和训练效率。它为处理大规模模型和计算资源有限的场景提供了一种有效的解决方案。
2024-08-15 15:34:10
453
原创 Weight-Decomposed LoRA(权重分解 LoRA)
目的:LoRA 旨在通过引入低秩矩阵来调整预训练模型,使其适应新任务,同时保持大部分预训练参数不变。这种方法的主要优点是可以在不显著增加计算和存储成本的情况下,进行有效的模型调整。权重分解 LoRA是对传统 LoRA 方法的扩展和改进,通过对模型权重进行细致的分解,来提高模型在新任务上的适应能力和训练效率。这种方法能够在保持计算效率的同时,提升模型的性能和适应性。
2024-08-15 15:29:44
323
原创 Rank Stabilization Scaling Factor(秩稳定性缩放因子)
秩稳定性缩放因子:用于调整对低秩矩阵 AAA 和 BBB 更新的缩放,主要目的是稳定训练过程,防止 LoRA 参数对模型的训练过程产生过大的干扰。通过调整这个缩放因子,可以实现更稳定、更受控的 LoRA 训练,从而提升模型的性能和收敛效果。
2024-08-15 15:25:55
437
原创 LoRA alpha
LoRA alpha是 LoRA 技术中的缩放系数,用于调节低秩矩阵更新对模型参数的影响。通过设置适当的 alpha 值,可以在保持原始模型性能的同时,灵活地进行模型微调,从而在特定任务上达到最佳效果。
2024-08-15 15:12:02
1308
原创 LoRA rank
LoRA (Low-Rank Adaptation) 是一种用于高效微调大型预训练模型的方法,而 LoRA rank 则指的是 LoRA 矩阵的秩(rank)。以下是关于 LoRA 和其 rank 的详细解释:LoRA 简介:LoRA 的核心思想是在不改变原始模型权重的前提下,通过引入低秩矩阵来表示模型参数的更新。这种方法可以大幅减少训练时的参数量,从而降低计算和存储成本。在具体实现中,LoRA 会在模型中的某些特定层(比如注意力机制中的投影矩阵)插入一个低秩的矩阵分解。然后,这些低秩矩阵会在微调过
2024-08-15 15:07:19
580
原创 tokenizer.json和tokenizer.model
tokenizer.json 和 tokenizer.model 都是用于自然语言处理模型中的分词器文件,但它们有不同的格式和用途。以下是它们的区别:1. tokenizer.json:格式: tokenizer.json 是一个 JSON 格式的文件,它通常包含了分词器的完整配置信息,包括词汇表(vocabulary)、分词规则(tokenization rules)、特殊标记(special tokens)等。用途: 这个文件一般用于描述分词器的行为,并且可以直接加载用于模型的推理或训练。它通常
2024-08-15 11:47:45
2302
1
原创 TensorBoard 和wandb
来记录实验日志和结果,是深度学习研究中常见的实践。这些工具帮助研究人员更好地理解模型的行为,并通过直观的可视化方式加快模型优化的过程。
2024-08-15 11:07:13
579
原创 Shift Short Attention
"Shift Short Attention" 是一种由 LongLoRA 提出的技术,旨在优化长序列处理时的注意力机制。以下是对这个概念的解释:1. LongLoRA:LongLoRA 是一种专门用于处理长序列的微调技术。LoRA(Low-Rank Adaptation)是常用于模型微调的技术,通过引入低秩矩阵来减少模型的参数和计算复杂度。LongLoRA 则是在此基础上进一步优化,以便更有效地处理长序列。2. Attention Mechanism:在自然语言处理(NLP)模型中,注意力机制(
2024-08-15 11:04:06
313
原创 Label Mask 标签掩码
"Disable the label mask on the prompt (only for SFT)" 这句话通常出现在指令式微调(Supervised Fine-Tuning, SFT)的上下文中,涉及模型训练过程中的特定操作。
2024-08-15 10:53:34
550
原创 “Avoid cross-attention between packed sequences“ 和 “Use neat packing“
"Avoid cross-attention between packed sequences" 和 "Use neat packing" 是与模型训练中的数据处理和优化策略相关的概念,特别是在训练自然语言处理模型时使用。1. Avoid Cross-Attention Between Packed Sequences背景: 在深度学习中,特别是在自然语言处理(NLP)任务中,训练样本可能具有不同的长度。为了提高计算效率和节省内存,通常会将多个短序列拼接(packing)成一个批次(batch),并进
2024-08-14 11:19:44
469
原创 NEFTune 噪声增强微调
NEFTune(Noise-Enhanced Fine-Tuning)是一种新兴的优化技术,它通过引入噪声来增强模型的微调过程。与传统的优化方法不同,NEFTune 利用了噪声来帮助模型跳出局部最优解,从而找到更好的全局最优解。这种方法尤其适用于大模型和复杂的训练任务。
2024-08-14 11:10:42
425
原创 pip install -e . 后找不到库
和实际上是类似的命令,它们都用于以开发模式安装 Python 包,但有一些细微的差别。以下是对这两个命令的详细解释和为什么可能导致环境找不到库的原因。
2024-08-09 19:32:48
506
原创 模型微调之参数template
在 "base" 模型和 "instruct/chat" 模型中选择适当的模板,是为了确保输入格式和训练一致,从而最大化模型的表现。这对于模型的正确性和效率都至关重要。
2024-08-09 17:45:23
699
原创 .gitattributes
是一个 Git 配置文件,用于控制 Git 在特定文件或文件类型上的行为。它可以定义文件在不同操作系统上的行结尾格式、指定文件的合并策略、设置文件的差异显示方式,甚至可以用来锁定某些文件不允许合并。此外,它还能与 Git LFS(Large File Storage)结合使用来管理大型文件。
2024-08-09 16:36:16
694
原创 Python中的Makefile文件
Makefile 文件定义了一些可以通过 make 命令执行的任务,用于自动化常见的开发任务,比如代码质量检查、代码风格格式化以及运行测试。.PHONY: quality style testcheck_dirs := scripts src testsquality: ruff check $(check_dirs) ruff format --check $(check_dirs)style: ruff check $(check_dirs) --fix ruff forma
2024-08-09 16:28:16
603
原创 Python 的Ruff
Ruff是一个用于 Python 代码的静态分析工具,旨在提供高效的代码质量检查和格式化功能。它可以帮助开发者自动检测和修复代码中的常见问题,如风格不一致、语法错误、未使用的变量等。Ruff类似于其他 Python 代码质量工具,如Flake8pylintblack等,但它的设计目标是更快、更轻量,并且集成了多种工具的功能。
2024-08-09 16:18:48
517
原创 python包构建之MANIFEST.IN
是一个用于控制 Python 包分发时包含哪些文件的配置文件。它通常与setup.py文件配合使用,以确保在打包和分发时,某些特定的文件或目录能够包含在最终的包中。默认情况下,Python 的打包工具(如setuptools)会自动包括一些文件,比如 Python 源码文件(.py)、READMELICENSE等。但是,如果你想要在包中包含其他类型的文件(例如,文档、配置文件、示例数据等),你就需要使用来指定。
2024-08-09 15:30:23
698
原创 python库构建之pyproject.toml
文件在的过程中会被pip引用,以确定如何构建和安装项目。pip主要使用其中的部分来加载构建工具和依赖,然后调用这些工具生成项目的分发包,并最终将其安装到当前环境中。
2024-08-09 15:13:17
7542
1
原创 开源许可证
Apache License 2.0 是一种灵活且被广泛采用的开源许可证,适合个人、组织和企业使用开源代码而不希望受到限制的场景。它提供了广泛的自由,同时通过版权声明和专利授权条款保护贡献者的权益。
2024-08-09 11:22:40
593
原创 库名.egg-info是什么?
目录是由setuptools生成的,用于存储关于包的元数据和依赖信息。它在包的安装和管理过程中起着重要作用,确保包管理工具能够正确处理该包及其依赖关系。
2024-08-08 18:07:40
817
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人