自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bqw的博客

没什么描述

  • 博客(465)
  • 资源 (2)
  • 收藏
  • 关注

原创 【极速前进】20240706-24240714:用于Agent的树搜、理解LLM的语种困惑、事实知识抽取微调、Quiet-STaR

​ 基于LLM的Agent已经展现出了执行决策任务的能力,但是LM主要是针对自然语言理解和生成进行优化的。在基于多步推理、计划和理解环境反馈来求解现实计算机任务对于LM来说很难。本文为LM agent提出了一种推理时搜索算法,用于在web环境中执行探索和多步计划。​ 本文研究LLM的局限性:它们无法始终如一地以用户期望的语言生成文本。创建了一个语言困惑基准(Language Confusion Benchmark, LCBl)来评估语言一致性,其覆盖了15种不同类型的语言。

2024-08-04 11:45:16 759

原创 【极速前进】20240615-20240623:Zipper融合模态、VideoLLM视频理解、WebAgent可以自我改善、Nemotron-4、AnyGPT统一模态

将多个不同模态的基础模型合并成优于各个部分的大模型非常有挑战;两个关键挑战:(1) 对齐数据的可用性;(2) 如何在跨领域生成任务中利用单模态表示且不损坏原始能力;本文提出称为Zipper的多塔解码器架构,利用交叉注意力来从独立预训练单模态解码器构成多模态生成模型;在语音和文本融合实验中,本文提出的架构表示非常好;Zipper具有很好的灵活性,冻结相应模态来选择性地保持单模态生成能力;​ VideoLLM的目标是通过参数高效迁移学习将LLM应用在视频序列理解人物上。

2024-06-23 16:19:05 1209

原创 【极速前进】20240608-20240610:评估模型Prometheus 2、CoPE、DITTO:使用示例反馈对齐LLM、CoA:利用多Agent解决长文本、Qwen2在线合并优化器

论文名称:Prometheus 2: An Open Source Language Model Specialized in Evaluating Other论文地址:https://arxiv.org/pdf/2405.01535​ GPT-4这样的闭源模型经常被用来评估其他语言模型的效果。开源模型中没有与其完全相当的评估模型,通常要比效果比较差,要么评估任务的形式不够灵活。​ 直接评估就是将指令i和响应r映射为单个标量分数s,即fdirect:(i,r)→sf_{direct}:(i,r)\right

2024-06-10 19:37:41 720

原创 【自然语言处理】【Scaling Law】Observational Scaling Laws:跨不同模型构建Scaling Law

Scaling Law能够建立模型规模和效果的联系,但是需要跨不同尺寸来训练模型;本文提出的observational scaling law跳过模型训练的过程,而是从80个公开模型上建立scaling law;从多个模型族中构建scaling law非常有挑战,因为训练的计算代码和能力都在变化。然而,本文展示了这些变化普通的scaling law一致,语言模型的效果是低维能力空间的函数,而模型族的变化仅在将训练计算量转换为能力的效果上不同。

2024-06-02 18:25:47 1395 2

原创 【自然语言处理】【Scaling Law】语言模型物理学 第3.3部分:知识容量Scaling Laws

​ Scaling laws描述了模型尺寸与其能力的关系。不同于先前通过loss或者基准来评估模型能力,本文评估模型存储的知识数量。这里主要是关注以元组方式表示的知识,例如(USA, capital, Washington D.C)。通过多个受控数据集,发现每个参数仅能存储2 bit的知识,即使参数量化为8bit也有相同结论。因此,7B模型能够存储14B bit的指数,超过了英文Wikipedia和教科书的总和。

2024-05-30 23:09:18 1276

原创 【自然语言处理】Transformer中的一种线性特征

本文揭示了transformer decoder独有的一种线性特征。分析相邻层的embedding变换,发现其具有接近完美的线性关系。由于transformer层输出的范数一直很小,当移除残差链接时,线性度下降。实验显示,当移除特别接近于线性的模块或者使用线性近似这些模块,对loss或者模型表现几乎没有影响。通过在预训练中引入基于cosine相似度的正则化项来降低层的线性度,改善了模型在TinyStories和SuperGLUE上的效果。

2024-05-30 21:27:47 839

原创 【极速前进】20240524-20240526:Meta多模态模型Chameleon、参数高效微调MoRA、跨层注意力降低KV Cache、Octopus v4、SimPO

CLA仅计算模型中部分层的key/value投影,没有计算key/value投影的注意力块则重用前一层的KV激活。相比于像GPT-4这样的模型,这种设计方式的优势是回答用户问题时,仅需要激活两个小模型,而不是一个巨大的模型。此外,对于特定的模型,可以在函数的doc string中详细说明所需的prompt模板。使用训练数据的子集来训练新的BPE tokenizer,词表大小为65536,其中包含8192个图像codebook tokens,使用sentencepiece库。:传递执行任务所需要的信息。

2024-05-26 22:04:34 401

原创 【自然语言处理】【大模型】DeepSeek-V2论文解析

论文地址:https://arxiv.org/pdf/2405.04434​ 传统Transformer采用MHA(Multi-Head Attention),但是kv cache会成为推理瓶颈。MQA(Multi-Query Attention)和GQA(Grouped-Query Attention)可以一定程度减少kv cache,但效果上不如MHA。DeepSeek-V2设计了一种称为MLA(Multi-Head Latent Attention)的注意力机制。MLA通过低秩key-value联合压

2024-05-12 12:15:47 2923

原创 【极速前进】20240423-20240428:Phi-3、fDPO、TextSquare多模态合成数据、遵循准则而不是偏好标签、混合LoRA专家

​ 发布了phi-3-mini,一个在3.3T token上训练的3.8B模型。此外,还发布了7B和14B模型phi-3-small和phi-3-medium。SAMI的目标就是在给定X的情况下,最大化C和Y的互信息,即最大化。​ 低质量数据对DPO有显著影响,fDPO的思路是使用奖励模型RM来过滤DPO的数据。​ InfoNCE是条件互信息的下界,因此通过优化InfoNCE来优化互信息,具体为。这种方式会降低对原始模型的影响,但也会导致LoRA带来的特性减弱。会受到影响,降低模型的生成能力。

2024-05-07 18:24:50 800

原创 【极速前进】20240422:预训练RHO-1、合成数据CodecLM、网页到HTML数据集、MLLM消融实验MM1、Branch-Train-Mix

通过分析token级别loss,发现token的损失值有4种模式:持续高损失值(H->H)、损失值增加(L->H)、损失值下降(H->L)、持续低损失值(L->L)。​ 有两种类型的数据常用于训练MLLM:一种是成对文本和图像的captioning数据,另一种是来自于网络的交错图像文本数据。​ 早期的Branch-Train-Merge方法在推理时通过确定领域来选择专家,通常多个专家被选择且最终的输出分布是next token的简单平均。通过简单的将每个领域的FF子层划分为更多的块就能增加专家的数量。

2024-04-22 22:36:54 606

原创 【极速前进】20240415-20240421:TR-DPO、压缩与智能的线性关系、模拟伪代码改善算术能力、Many-shot、合成数据综述

数学方面的合成数据主要包括预训练数据合成和微调数据合成。在《我的世界》游戏中,Voyager部署了一些基于GPT-4的Agent与环境交互,发现这些Agent在合成反馈的帮助下更快解锁新技能并完成规划。在RLHF中,近期研究提出将合成数据和人类数据结合的方法来训练更稳健的奖励模型。网络收集的图文对中通常包含噪音且语言描述粒度太粗,在文档、屏幕、图形和图表等领域,可以很方便从图像渲染引擎的合成管道中获得细粒度的对齐。LaMDA的训练数据中包含了众包的交互数据和合成数据,从而使其能够调用合适的工具;

2024-04-21 18:40:40 1020

原创 【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM

​ 语言模型的规模不断扩大,这对部署带来了巨大的挑战。本文设计了一种可扩展且稳定的1-bit Transformer架构来实现大语言模型,称为BitNet。具体来说,使用BitLinear作为标准nn的替代品。实验结果表明BitNet能够显著减少存储占用和能力消耗,并且与最先进的8-bit量化和FP16 Transformer能力相当。此外,BitNet也表现出了类似于全精度Transformer的scaling law,这也表明其有潜力在保持效率和性能的同时,能够更加有效的扩展至更大的语言模型。

2024-03-06 21:31:40 1718

原创 【自然语言处理】BitNet b1.58:1bit LLM时代

论文地址:https://arxiv.org/pdf/2402.17764.pdf。

2024-03-03 10:42:15 1178

原创 【深度学习】神经正切核(NTK)理论

​ 本文来自于《Theory of Deep Learning》,主要是对神经正切核(NTK)理论进行介绍。这里主要是补充了一些基本概念以及部分推导过程。作为软件工程出身,数学不是特别好,有些基础知识和推导步骤没办法一次补足。若有机会,后续会逐步补全缺失的部分。​ 设X1,…,XnX_1,\dots,X_nX1​,…,Xn​为nnn个独立的随机变量,且XiX_iXi​的边界为[ai,bi][a_i,b_i][ai​,bi​]。令Xˉ=1n∑i=1nXi\bar{X}=\frac{1}{n}\sum_{i=1

2024-01-02 14:48:57 1219

原创 【自然语言处理】【大模型】 ΨPO:一个理解人类偏好学习的统一理论框架

论文地址:https://arxiv.org/pdf/2310.12036.pdf​ 通过强化学习来学习人类偏好(RLHF)主要依赖于两个重要的近似。第一个假设是成对的偏好可以被单个奖励值所替代;第二个假设是基于奖励值训练的奖励模型能够泛化到分布外的数据上。近期,DPO方法已经可以从收集的数据中直接学习策略,而不需要奖励建模阶段。然而,这个方法严重依赖于第一个假设。​ 本文中,试图对这些实际中的算法进行更深入的理论理解。特别地,本文推导了一个新的通用目标函数ΨPO\Psi\text{PO}ΨPO来从人类偏好

2023-12-27 22:17:02 1195

原创 【强化学习】PPO:近端策略优化算法

近端策略优化算法论文地址:https://arxiv.org/pdf/1707.06347.pdf。

2023-12-24 20:51:32 1059

原创 【自然语言处理】【大模型】VeRA:可调参数比LoRA小10倍的低秩微调方法

​ LoRA是降低微调LLM时降低可训练参数的一种方法,但是将其应用在更大的模型仍然面临着挑战。本文提出了了一种基于向量的随机矩阵适配(VeRA,Vector-based Random Matrix Adaptation)。与LoRA相比,其可以将训练参数的数量减少10倍,但保持相同的性能。​ LoRA微调两个低秩矩阵的乘积来适应LLM。正式来说,对于预训练权重矩阵W0∈Rm×nW0​∈Rm×n,权重更新矩阵被约束为低秩分解,即hW0xΔWxW0xBA。

2023-12-03 17:47:40 1220

原创 【自然语言处理】【大模型】赋予大模型使用工具的能力:Toolformer与ART

​ 本文介绍了两种赋予到模型使用工具能力的方法:Toolformer和ART。Toolformer的思路:通过prompt令语言模型生成一些能够调用工具的样本,然后利用语言模型对文本的困惑度来过滤这些样本,得到高质量的数据集。最后,利用高质量数据集微调语言模型,赋予其使用工具的能力。ART的思路:人工构建一下常见的工具使用样本,然后利用新任务与已有任务的相似性来辅助语言模型使用工具。(ART文章写的真是一言难尽)​ 两种方法虽然实现思路不同,但是仍然属于prompt工程范畴。

2023-11-19 12:50:58 1471

原创 【自然语言处理】【长文本处理】RMT:能处理长度超过一百万token的Transformer

总的来说,RMT的思路简单。相比Transformer-XL来说,片段间传递的参数会少很多。RMT采用递归的方式传递信息,那么训练时梯度也需要回传,这导致训练时不太能并行。原始论文中采用decoder-only架构,但是在扩展至百万tokens的实验中采用了encoder-only架构,是decoder-only的效果不够好吗?评测的任务总体比较简单,迁移至当前的LLM上效果怎么样还比较难以确定。

2023-10-29 18:56:30 1348

原创 【自然语言处理】【大模型】MPT模型结构源码解析(单机版)

​ MPT是由MosaicML团队开源出来了英文预训练大模型,共开源了4个模型:MPT-7B Base、MPT-7B-StoryWriter-65k+、MPT-7B-Instruct、MPT-7B-Chat。

2023-09-23 13:11:28 1037

原创 【自然语言处理】【大模型】RWKV:基于RNN的LLM

RWKV:基于RNN的LLM​ 基于Transformer的LLM已经取得了巨大的成功,但是其在显存消耗和计算复杂度上都很高。RWKV是一个基于RNN的LLM,其能够像Transformer那样高效的并行训练,也能够像RNN那样高效的推理。

2023-09-17 19:23:28 1221

原创 【深度学习】【分布式训练】一文捋顺千亿模型训练技术:流水线并行、张量并行和3D并行

一文捋顺流水线并行、张量并行与3D并行​ 流水线性并行和张量并行都是对模型本身进行划分,。简单来说,流水线并行划分模型,即按照对模型进行划分;张量并行则是划分模型。3D并行则是将流行线并行、张量并行和数据并行同时应用到模型训练中。

2023-09-03 20:40:44 541

原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(四):张量并行版Embedding层及交叉熵的实现及测试

张量并行版Embedding层及交叉熵的实现及测试​ Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其模型并行代码mpu的细节(位于megatron/mpu下)。​。

2023-08-13 20:55:26 705

原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(三):张量并行层的实现及测试

Megatron-DeepSpeed:张量并行的实现及测试​ Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其模型并行代码mpu的细节(位于megatron/mpu下)。​。

2023-08-06 21:07:22 723

原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(二):Collective通信操作的封装mappings

Collective通信操作的封装mappings​ Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其张量并行代码mpu的细节(位于megatron/mpu下)。​

2023-07-15 16:48:13 662

原创 【Megatron-DeepSpeed】张量并行工具代码mpu详解(一):并行环境初始化

Megatron-DeepSpeed:并行环境初始化​ Megatron-DeepSpeed是DeepSpeed版本的NVIDIA Megatron-LM。像BLOOM、GLM-130B等主流大模型都是基于Megatron-DeepSpeed开发的。这里以BLOOM版本的为例,介绍其张量并行代码mpu的细节(位于megatron/mpu下)。

2023-07-04 21:13:16 1286 3

原创 【深度学习】【分布式训练】DeepSpeed:AllReduce与ZeRO-DP

deepspeed核心技术ZeRO与AllReduce的关系

2023-06-24 18:56:47 1743

原创 【深度学习】混合精度训练与显存分析

混合精度训练与显存分析​ 关于参数精度的介绍可以见文章https://zhuanlan.zhihu.com/p/604338403相关博客。

2023-06-04 11:29:08 752

原创 【自然语言处理】【大模型】ChatGLM-6B模型结构代码解析(单机版)

ChatGLM-6B模型结构代码解析(单机版)​ 本文介绍ChatGLM-6B的模型结构,代码来自https://huggingface.co/THUDM/chatglm-6b/blob/main/modeling_chatglm.py。

2023-05-29 22:21:09 5576 3

原创 【自然语言处理】【大模型】BLOOM模型结构源码解析(单机版)

BLOOM模型结构源码解析(单机版)​ 本文基于transformers中BLOOM模型代码来解析BLOOM的原理及实现。

2023-05-15 22:19:44 1580 3

原创 【自然语言处理】【大模型】CodeGen:一个用于多轮程序合成的代码大语言模型

​ 程序合成(program synthesis)的目标是自动化编程过程,从而生成能够满足用户意图的计算机程序。程序合成面临两个关键的挑战:(1) 搜索空间难以处理;(2) 难以确定用户意图。为了解决搜索空间的问题,本文将程序合成任务形式化为语言建模过程,即基于前面的tokens预测下一个token的条件概率分布。​程序合成需要理解用户的意图。用户通常通过逻辑表达式、伪代码、输入-输出示例、或者自然语言表达意图。逻辑表达式和伪代码通常需要用户具有相关领域知识,成本比较高。输入-输出示例。

2023-05-09 22:42:56 2026

原创 【自然语言处理】【大模型】CodeGeeX:用于代码生成的多语言预训练模型

​ 代码生成的目标是:给定人类意图的描述(例如:“写一个阶乘函数”),系统自动生成可执行程序。这个任务由来已久,解决的方案也层出不穷。近期,通过将程序看作是语言序列,利用深度学习的transformer架构进行建模,显著的改善了代码生成的质量。特别是当大规模的开源代码数据与大语言模型相结合。​ OpenAI的12B模型CodeX证明了在数十亿行公开代码上预训练的大模型的潜力。通过使用生成式预训练的方式,CodeX能够很好地解决python中的入门级编程问题。

2023-05-07 16:27:27 6005 1

原创 【自然语言处理】【大模型】LaMDA:用于对话应用程序的语言模型

​ 语言模型的预训练是自然语言处理中非常有前景的研究方向。预训练会使用无标注的文本,能够结合大规模数据集和大模型来实现更好的效果或者新的能力。例如,GPT-3是一个在大规模无标注文本上训练的175B参数模型,并展现出令人影响深刻的few-shot learning能力。​ 对话模型(大语言模型最有趣的应用之一)成功利用了Transformers表示文本中长距离依赖的能力。与通用语言模型类似,对话模型也非常适合大规模。模型的尺寸和对话质量有很强的关联。

2023-04-24 21:43:13 1520

原创 【自然语言处理】【大模型】极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码

极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码。

2023-04-14 22:51:39 3684 2

原创 【自然语言处理】【大模型】DeepMind的大模型Gopher

​ 使用自然语言进行交流是智能的核心,因为其可以在人类和人工智能系统之间有效地分享想法。语言的普遍性使我们能够使用自然语言输入来表达许多智能任务,并产生自然语言输出。​ 使用语言模型作为智能的一部分与它最初的应用形成了鲜明的对比:通过有限带宽的通信信道来传输文本。香农的《Mathematical Theory of Communication》将自然语言的统计建模与压缩关联起来,表明衡量语言模型的交叉熵相当于衡量其压缩率。

2023-04-06 17:29:20 1931

原创 【自然语言处理】【大模型】DeepSpeed+Transformers:简单快捷上手百亿参数模型微调

​ 本文以百亿大模型FLAN-T5 XXL为例,展示如何使用DeepSpeed+Transformers来快速上手百亿参数模型的微调。​ FLAN-T5是经过instruction tuning的T5模型,关于instruction tuning可以看文章【自然语言处理】【ChatGPT系列】FLAN:微调语言模型是Zero-Shot学习器。本文选用FLAN-T5 XXL模型作为示例,该模型参数量约为11B。​ 此外,本文涉及到混合精度训练和ZeRO的配置,相关知识可以看文章:​ 为了简洁明了,模型训练相关

2023-03-29 23:31:21 1678

原创 【深度学习】【分布式训练】Collective通信操作及Pytorch示例

​ 大模型时代,单机已经无法完成先进模型的训练和推理,分布式训练和推理将会是必然的选择。各类分布式训练和推断工具都会使用到Collective通信。网络上大多数的教程仅简单介绍这些操作的原理,没有代码示例来辅助理解。本文会介绍各类Collective通信操作,并展示pytorch中如何使用。​ 将各个显卡的张量进行聚合(sum、min、max)后,再将结果写回至各个显卡。​ 将张量从某张卡广播至所有卡。​ 执行同AllReduce相同的操作,但结果仅写入具有的某个显卡。​ 每个显卡上有一个大小为N的张量,共

2023-03-26 11:35:52 1519 1

原创 【自然语言处理】【大模型】Chinchilla:训练计算利用率最优的大语言模型

​ 近期出现了一些列的大语言模型(Large Language Models, LLM),最大的稠密语言模型已经超过了500B的参数。这些大的自回归transformers已经在各个任务上展现出显著效果。​ 训练LLM的计算和能源消耗是巨大的,并且随着模型尺寸的增加而增加。实际中,分配的计算预算是提前知道的:有多少机器可用以及我们想使用它们多久。通常训练LLM只会训练一次,在给定计算预算的情况下准确估计最优模型的超参数是至关重要的。​展示了自回归语言模型的参数数量和其表现有着幂律关联。

2023-03-19 16:43:31 4650

原创 【自然语言处理】【大模型】大语言模型BLOOM推理工具测试

​ BLOOM的原理见​ BLOOM是由HuggingFace推出的大模型,其参数量达到176B(GPT-3是175B)。目前超过100B参数量且能够支持中文的开源大模型只有BLOOM和GLM-130B。由于HuggingFace是著名开源工具Transformers的开发公司,很多推理工具都会支持Transformers中的模型。​ LLM(大语言模型)推理的两个问题:(1) 单张显卡无法容纳整个模型;(2) 推理速度太慢。本文初步整理了一些推理大模型的工具和代码,并简单测试了推理速度。

2023-03-05 21:47:18 3559 3

原创 【自然语言处理】【大模型】GLM-130B:一个开源双语预训练语言模型

​ 大语言模型(LLMs),特别是参数超过100B的模型呈现出诱人的scaling laws,其会突然涌现出zero-shot和few-shot能力。具有175B参数的GPT-3率先对100B尺度的LLM进行了研究:在各种基准上,使用32个标注示例可以显著超越全监督的BERT-Large模型。然而,GPT-3本身以及如何训练仍然是无法公开获得的。训练出如此规模的高质量LLM,并对每个人分享模型和训练过程非常的有价值。​ 我们的目标是预训练一个开源且高准确率的100B模型。

2023-02-20 21:47:04 7974 1

basic-miktex-2.9.6643-x64.exe

MikTeX是Tex/LaTex最新的实现程序,使用Anaconda将文档保存成PDF时需要安装。

2018-04-04

Linux下模拟软件互斥实现算法

在Linux下,模拟实现四种软件互斥算法:Dekker,Peterson,Lamport,Eisenburg-Mcguire.

2012-09-07

空空如也

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

TA关注的人

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