一、背景主要通过llama-factory在对qwen72b做强化学习(dpo)期间遇见的问题进行总结。二、问题1.能支持的长度(1)batch_size为 1, 使用zero3, 非 offlown方式,rejected 和 chosen 1k以内。prompt最长支持8k。(2)后面使用llama-factory新版模型,使用一下几个参数:--gradient_checkpointing True \ --enable_liger_kernel True \ --use_unsloth_gc True \可以使得prompt支持到10k。(3)使用offload,内存 - 阅读剩余部分 -

一 基本介绍vLLM(Vectorized Large Language Model Serving System)是一个用于大型语言模型推理加速的工具。它的核心技术主要包括:PagedAttention技术:这是一种内存管理技术,可以在不连续的内存空间中存储注意力机制中的键和值,从而减少显存碎片并提高显存利用率。连续批处理:vLLM能够连续批处理接入的请求,充分利用GPU资源,提高吞吐量。CUDA核心优化:vLLM对CUDA核心进行了优化,确保了速度与效率。分布式推理支持:vLLM支持分布式推理,能够在多台GPU上并行运行模型,进一步提高推理速度。一、PagedAtten- 阅读剩余部分 -

DPO定义DPO(Direct Preference Optimization, 直接偏好优化)通过利用奖励函数与最优策略之间的映射关系,证明这个受限的奖励最大化问题可以通过单阶段的策略训练来精确优化,本质上是在人类偏好数据上解决一个分类问题。DPO是稳定的、性能和计算成本轻量级的,无需拟合奖励模型,在微调期间从 LM 中采样,或执行显着的超参数调整。通过实验表明:DPO 进行微调超过了 RLHF 效果,并提高了摘要和单轮对话的响应质量。1、简化:DPO(直接偏好优化)简化了RLHF流程。2、原理:它的工作原理是创建人类偏好对的数据集,每个偏好对都包含一个提示和两种可能的完- 阅读剩余部分 -

一、位置编码的需求为了理解 RoPE 的重要性,我们首先回顾一下为什么位置编码至关重要。 Transformer 模型根据其固有的设计,不会考虑输入标记的顺序。例如,像“the dog chases the pig ”和“the pig chases the dogs”这样的短语虽然含义不同,但由于它们被视为一组无序的标记,因此被视为无法区分。为了维护序列信息及其含义,需要一个表示来将位置信息集成到模型中。二、绝对位置编码1.定义(理解)在句子的上下文中,假设我们有一个代表一个单词的嵌入。为了对其位置进行编码,需要使用另一个具有相同维度的向量,其中每个向量唯一地代表句子中的- 阅读剩余部分 -

一、简介Deepspeed是微软推出的一个开源分布式工具,其集合了分布式训练、推断、压缩等高效模块。该工具旨在提高大规模模型训练的效率和可扩展性。它通过多种技术手段来加速训练,包括模型并行化、梯度累积、动态精度缩放、本地模式混合精度等。DeepSpeed还提供了一些辅助工具,如分布式训练管理、内存优化和模型压缩等,以帮助开发者更好地管理和优化大规模深度学习训练任务。二 、分布式训练方法如今的大模型训练,离不开各种分布式的训练框架,一般来说,并行策略包含:数据并行、模型并行、流水线并行。三种方式:数据并行、模型并行、3D并行参考:https://juejin.cn/post/- 阅读剩余部分 -

以下内容主要针对AI能力具体需求一、明确具体需求目前cdss内容比较庞杂,功能较多,准确率不够,需要确定删减内容,保留必须选项。同时要保留或者新增新疆产品功能。

一、rag 1.找回模型:嵌入模型(embedding model)2.重排模型(rerank)其中一个选择是 Cohere[2] 的在线模型,可以通过调用 API 访问。此外,还有一些开源模型,如 bge-reranker-base 和 bge-reranker-large

深度学习中有许多超参数需要设置,它们会对模型的性能和训练过程产生重要影响。以下是一些常见的超参数及其作用学习率(Learning Rate):控制参数更新的步长。较小的学习率可以使模型收敛更稳定,但可能需要更多的训练时间;较大的学习率可以加快收敛速度,但可能导致不稳定或错过最优解。批量大小(Batch Size):每次迭代中输入到模型的样本数量。较大的批量大小可以提高训练效率,但也可能使模型陷入局部极小值或漏掉最优解;较小的批量大小可以帮助模型更好地泛化,但可能增加训练时间。迭代次数(Epochs):训练数据集被完整遍历的次数。较多的迭代次数可以使模型学习更充分,但如果过多- 阅读剩余部分 -

一、SentencePiece 简介SentencePiece 在大模型领域主要用于文本的 分词 和 编码。1、分词是将文本分割成一个个独立的词语或符号。传统的中文分词方法,例如 BMM 分词、隐马尔可夫(H M M ) 分词,都是基于规则的,需要人工制定分词规则。而 SentencePiece 则是基于 无监督学习 的,它可以自动学习文本的语义和结构,并根据学习结果进行分词。2、编码是将分词后的词语或符号转换为数字形式,以便计算机能够处理。SentencePiece 使用了一种称为 字节对编码 的方法,它可以将每个词语或符号编码成一个或多个字节。字节对编码的优点是能够有效- 阅读剩余部分 -

一、点乘(Dot Product)、点积 内积点乘也称为标量积或内积,是两个等长向量之间的运算。它将两个向量的对应元素相乘,然后将乘积相加,得到一个标量值。点乘只适用于向量。点积是点乘的另一种说法,通常在数学和物理学中使用,但在深度学习中,点乘和点积可以互换使用。内积通常指的是点乘,是两个向量之间的运算,得到一个标量值。内积的概念也可以扩展到矩阵,称为矩阵乘法,但矩阵乘法的结果是一个矩阵,而不是一个标量。1、对应元素相乘,求和dot:只能张量中向量(一维)操作,结果是一个标量。比如两个embedding求相似度。import torch x = torch.tensor([- 阅读剩余部分 -

一般分三大类Fine-Tuning:全量微调PEFT:高效微调(SOTA PEFT),部分参数的微调方法RLHF:基于人工反馈机制的强化方法一、大模型微调需要的参数量当模型的参数量大小为 B ,模型所占用的硬盘空间为 的 2 倍, 推理所需的显存一般是 ** 的 2 倍。对于全参数微调所需显存,目前来说普遍的说法是约为推理所需显存的 4 倍(包括模型推理(1倍)、梯度(1倍)、优化器状态(AdamW 2倍,SGD 1倍))例如:当模型的参数量大小为 7B ,模型所占用的硬盘空间为14G,推理所需的显存一般是14G多15G,对于全参数微调所需显存,目前来说普遍的说法是约为推- 阅读剩余部分 -

一、什么是优化器用于优化模型的参数。当前向计算完成后,根据loss获得参数的梯度后,优化器就是如何利用梯度来更新和计算模型的网络参数,使得在后期计算中能够让模型的损失最小化。优化器通过不断更新模型参数来拟合训练数据,从而使得在新数据上表现良好。优化器不计算梯度,它只是梯度的更新者,它决定了以什么样的形式更新参数。二、优化器算法1、梯度下降法https://zhuanlan.zhihu.com/p/687987540

一、pycharm中运行/调试torch分布式训练整体比较简单,可以参考:我下面的二、pycharm中运行/调试deepspeed分布式训练关键步骤为:软链接distributed文件通过对调用分布式的命令分析,我们首先需要找到torch.distributed.launch这个文件,并将它软链接到我们的Pycharm项目目录下。为什么使用软链接而不是直接复制呢?因为软链接不会变更文件的路径,从而使得launch.py文件可以不做任何改动的情况下去import它需要的包。在Ubuntu中,通过以下命令创建软链接ln -s /yourpython/lib/python3.6/- 阅读剩余部分 -