- 博客(95)
- 资源 (1)
- 收藏
- 关注
原创 大模型推理框架(四)TensorRT-LLM
TensorRT-LLM是 NVIDIA 提供的一个用于优化大型语言模型(LLMs)在 NVIDIA GPU 上的推理性能的开源库。它通过一系列先进的优化技术,如量化、内核融合、动态批处理和多 GPU 支持,显著提高了 LLMs 的推理速度,与传统的基于 CPU 的方法相比,推理速度可提高多达 8 倍;
2025-01-04 20:00:00
906
原创 大模型推理框架(三)Text generation inference (TGI)
Text Generation Inference(TGI)是一个由Hugging Face开发的用于部署和提供大型语言模型(LLMs)的框架。它是一个生产级别的工具包,专门设计用于在本地机器上以服务的形式运行大型语言模型。TGI使用Rust和Python编写,提供了一个端点来调用模型,使得文本生成任务更加高效和灵活.
2025-01-04 15:47:11
1090
原创 大模型推理框架(二)vLLM
vLLM是一种基于PagedAttention的推理框架,通过分页处理注意力计算,实现了高效、快速和廉价的LLM服务。vLLM在推理过程中,将注意力计算分为多个页面,每个页面只计算一部分的注意力分布,从而减少了计算量和内存需求,提高了推理效率.
2024-12-31 14:05:48
792
原创 大模型训练框架(五)Accelerate
Hugging Face 的 Accelerate是一个用于简化和加速深度学习模型训练的库,它支持在多种硬件配置上进行分布式训练,包括 CPU、GPU、TPU 等。Accelerate 允许用户轻松切换不同的并行策略,同时它还支持混合精度训练,可以进一步提升训练效率。
2024-12-26 19:27:51
1321
原创 大模型推理框架(一)综述
除了分布式推理和支持量化之外,大模型推理框架最大的用处是加速推理。加速推理的主要目的是提高推理效率,减少计算和内存需求,满足实时性要求,降低部署成本
2024-12-26 19:26:18
848
原创 大模型训练框架(四)Megatron-LM
Megatron-LM 是由 NVIDIA 推出的一个用于训练大型语言模型的分布式训练框架,它支持在多节点、多 GPU 环境下进行模型训练。Megatron-LM 通过模型并行(Model Parallelism)的方式,允许训练具有数千亿参数的模型
2024-12-23 11:39:31
1501
原创 大模型训练框架(三)DeepSpeed
ZeRO(Zero Redundancy Optimizer)是DeepSpeed中的关键技术之一,它是为了解决大规模分布式训练中的内存瓶颈问题而设计的优化器。ZeRO通过优化模型状态的存储和通信来大幅减少所需的内存占用,使得可以在有限的资源下训练更大的模型。DeepSpeed是一个由微软开发的开源深度学习优化库,它旨在提高大规模模型训练的效率和可扩展性,而ZeRO是其核心组件之一,用于优化内存使用,允许训练更大的模型。
2024-12-20 14:46:49
2243
原创 大模型训练框架(二)FSDP
FSDP 可以看作是微软 Deepspeed 框架中提出的三种级别的 ZERO 算法中的 `ZERO-3` 的实现。它通过将模型的梯度、优化器状态和参数进行分片操作,使得每个 GPU 只存储部分参数信息,从而优化了资源的利用和提高了训练效率。此外,FSDP 也与包括 Tensor 实现、调度器系统和 CUDA 内存缓存分配器在内的几个关键 PyTorch 核心组件紧密协同设计,以提供非侵入式用户体验和高训练效率。
2024-12-20 14:43:20
928
原创 大模型训练框架(一)综述
尽管 PyTorch 是一个非常流行的深度学习框架,它在动态计算图、易用性、灵活性和强大的社区支持方面具有许多优点 ,但在大模型训练方面,我们需要更专业的框架来满足特定的需求,最主要的原因是:`分布式训练支持`.
2024-12-19 13:43:58
798
原创 AI大模型必备数学知识之线性代数(一)矩阵,奇异性和行列式
矩阵只是matrix的一个翻译,matrix一词来自拉丁语,表示 “子宫”之意,子宫是孩子诞生之处,故也引申为各种事物的源出之处,即“发源地”。这个词后来被用在各种学科中。西尔维斯特将之命名为matrix,中文翻译为“矩阵”。从另外一个角度看,矩阵外括号包围着内部数据,形态上也像子宫孕育着即将诞生的婴儿一般。
2024-12-19 11:51:40
1388
原创 LoRA不是唯一选择,Adapters微调大模型的奥秘(四)AdaLoRA
AdaLoRA是一种对LoRA技术的改进,它的核心思想是根据模型中不同权重矩阵的重要性来动态分配参数预算。换句话说,它让模型自己决定哪些部分在微调时更重要,从而在这些部分使用更多的参数进行更新,而对于不那么重要的部分则减少参数更新,以此来提高微调效率和模型性能。
2024-12-13 15:11:56
306
原创 LoRA不是唯一选择,Adapters微调大模型的奥秘(三)QLoRA
QLoRA(Quantized Low-Rank Adaptation)是一种针对大型预训练语言模型(LLM)的高效微调技术。它结合了量化和低秩适配(LoRA)两种技术,旨在减少模型微调过程中的内存占用和计算成本,同时尽量保持模型性能。
2024-12-13 15:11:04
771
原创 Adapters微调大模型的奥秘(二)LoRA
LoRA(Low-Rank Adapter)[1](#refer-anchor-1) 是最流行的 PEFT 方法之一,如果你刚开始使用 PEFT,它是一个很好的起点。它最初是为大型语言模型开发的,但由于其效率和有效性,它是一种非常流行的扩散模型训练方法。
2024-12-13 15:10:12
400
原创 LoRA不是唯一选择,Adapters微调大模型的奥秘(一)综述
大家应该都知道LoRA了,这是非常流行的PEFT方法,属于Adapters的一种。Adapters是一种非常好的微调大模型的方法,可以在不改变原模型参数的情况下,增加新的任务。这个系列会介绍Adapters的几种变种,包括LoRA、QLoRA、AdaLoRA等。
2024-12-07 11:10:21
1035
原创 LoRA不是唯一选择,Soft Prompts微调大模型的奥秘(五)Multitask prompt tuning
2023年5月,时隔2年后,soft-prompts又有了新方法,我第一次看到这个方法的时候,心里闪过一个词:一顿操作猛如虎
2024-12-04 14:00:00
348
原创 LoRA不是唯一选择,Soft Prompts微调大模型的奥秘(四)P-Tuning
P—Tuning是为了解决NLU任务而设计的Soft prompts方法,P-tuning添加了一个可训练的嵌入张量,这个张量可以被优化以找到更好的提示,并且它使用一个提示编码器(例如BiLSTM+MLP)来优化提示参数。
2024-12-04 09:58:34
290
原创 LoRA不是唯一选择,Soft Prompts微调大模型的奥秘(三)Prefix-Tuning
同样在2021年(和Prompt Tuning同一年),Prefix-Tuning被提出,它通过在模型输入的前缀位置添加可学习的提示向量来实现。这种方法的优势在于可以在不改变模型结构的情况下,为不同的任务提供不同的提示。
2024-12-02 19:47:23
489
原创 LoRA不是唯一选择,Soft Prompts微调大模型的奥秘(二)Prompt Tuning
在众多研究焦点中,Casual Language Model(仅解码器模型)只是其中之一。当时,GPT-3的问世引起了广泛关注。紧接着,在同年4月,谷歌推出了Prompt Tuning方法,最初在T5模型上进行实验——T5采用的是编码器-解码器架构。随后,Prompt Tuning在其他下游任务上也显示出了其有效性。
2024-11-27 13:42:18
344
原创 LoRA不是唯一选择,Soft Prompts微调大模型的奥秘(一)综述
Prompting通过包含一段描述任务或展示任务示例的文本提示,为特定的下游任务调整一个冻结的预训练模型。有了Prompting,你可以避免为每个下游任务完全训练一个单独的模型,而是使用同一个冻结的预训练模型。
2024-11-27 11:49:17
1209
原创 只会对文档进行RAG?10分钟了解如何进行多模态RAG
很多RAG是建立在文本的基础上的,但是现实的情况下,我们有很多图片甚至视频数据,我们有时候也会想搭建图片/视频的多模态RAG,让我们可以基于图片/视频进行问答。
2024-11-25 14:45:00
1110
原创 神经网络的激活函数(六)GELU和Mish
GELU通过高斯误差函数(即标准正态分布的累积分布函数)对输入进行平滑处理,从而提高模型的性能。GELU在许多任务中表现出色,特别是在自然语言处理(NLP)和计算机视觉任务中。
2024-11-25 10:03:57
1371
原创 神经网络的激活函数(五)门控系列 GLU、Swish和SwiGLU
SwiGLU激活函数结合了Swish和GLU的优点,通过引入门控机制和平滑非单调特性,解决了ReLU等激活函数的一些固有问题。SwiGLU在许多深度学习任务中表现出色,特别是在计算机视觉和自然语言处理任务中。它通过门控机制和平滑激活,使得模型能够更快地收敛并达到更高的性能
2024-11-20 14:00:00
1298
原创 神经网络的激活函数(四)ELU和它的变种SELU
ELU(Exponential Linear Unit,指数线性单元)激活函数是为了进一步改进ReLU及其变体(如Leaky ReLU和PReLU)的性能而提出的。ELU旨在解决ReLU的一些固有问题,特别是负区间的特性和输出均值的偏移。
2024-11-20 09:41:42
1137
原创 神经网络的激活函数(三)ReLU和它的变种Leaky ReLU、PReLU
本文我们介绍深度学习的功臣ReLU及其变种,它们在神经网络中的广泛应用,对于提高网络的性能和加速训练具有重要意义。
2024-11-18 09:01:17
2134
原创 神经网络的激活函数(二)Sigmiod、Softmax和Tanh
本文我们介绍三个古早的激活函数,虽然古老,但是在神经网络中仍然有着广泛的应用,尤其是Softmax作为输出层,仍然是统治地位.
2024-11-18 08:58:09
884
原创 什么是大模型复读机问题
LLMs复读机问题是指这些模型在生成文本时倾向于重复之前说过的内容或者重复某些常见的表达方式,而不是产生新颖或多样化的输出,这种现象在微调开源大模型时尤为常见。
2024-11-13 10:33:45
889
原创 神经网络的激活函数(一)综述
激活函数(Activation Function)是人工神经网络中的一个关键组件,它的作用是为神经网络引入非线性因素。如果没有激活函数,神经网络无论有多少层,都只能表示输入和输出之间的线性关系,这大大限制了网络处理复杂问题的能力。激活函数通常在神经网络的每个神经元或节点上应用,它们帮助网络学习和表示复杂的函数。
2024-11-13 10:22:27
1117
原创 大模型分布式训练并行技术(五)混合并行
混合并行技术是指同时使用多种并行技术,比如数据并行和模型并行,或者数据并行和流水线并行,或者数据并行和张量并行。
2024-11-11 09:03:28
788
原创 大模型分布式训练并行技术(四)张量并行
张量并行使用了矩阵乘法可以并行计算的特性,将模型的参数划分为多个部分,每个部分在不同的设备上进行计算,最后将结果进行汇总。下面,我们分别看FFN和Self-Attention的张量并行实现。
2024-11-11 09:00:39
474
原创 大模型分布式训练并行技术(三)流水线并行
我们知道,大厂的高效在于大家都是流水线上的工人,每个人只负责自己的那一部分工作。在并行训练中,流水线并行是一种非常重要的技术,它可以将模型的训练过程分解为多个阶段,每个阶段由不同的设备负责,从而提高训练的效率。本文将介绍流水线并行的基本原理。
2024-11-07 16:20:30
820
原创 大模型分布式训练并行技术(二)数据并行
数据并行(Data Parallelism)是一种常见的并行计算策略,它通过将大数据集分割成多个小批次(batches)或子集,然后在多个GPU上同时进行模型的训练。在LLM训练中,数据并行能够有效地加快模型训练的速度。
2024-11-07 16:15:33
1273
原创 大模型分布式训练并行技术(一)综述
这边,Meta使用了三种并行化方式:数据并行化、模型并行化和管道并行化。这三种并行化方式是大模型分布式训练的核心技术。在这个系列我将对这几种并行化方式进行详细介绍。本系列旨在用最简单的方式介绍大模型分布式训练并行技术,不涉及太多细节和实现方式,只介绍最基本的概念。
2024-11-04 19:04:07
512
原创 大模型并行策略[中文翻译]
在现代机器学习中,各种并行方法用于:1. 将非常大的模型加载到资源有限的硬件上2. 显著加快训练速度我们将首先深入讨论各种 1D 并行技术及其优缺点,然后研究如何将它们组合成 2D 和 3D 并行,以实现更快的训练并支持更大的模型。
2024-11-04 18:56:50
760
原创 每天5分钟搞懂大模型的分词器tokenizer(六):BBPE
BBPE是一种基于BPE的分词器,它是BPE的一种变种,是由Google Brain团队提出的。BBPE的全称是Byte-level BPE,它是一种基于字节级别的BPE分词器。
2024-10-30 14:15:00
663
原创 每天5分钟搞懂大模型的分词器tokenizer(五):SentencePiece
之前介绍的分词器,英文(拉丁语系有空格)和中文(没有空格)会采用不同的分词方式,在大模型中,我们需要一个统一的分词器,这个分词器需要能够处理多种语言。为此,我们需要一个统一的字符编码方式,这个编码方式需要能够处理多种语言,而且不会因为语言的不同而导致编码方式的不同。
2024-10-30 10:00:58
915
原创 每天5分钟搞懂大模型的分词器tokenizer(四):Unigram
在 SentencePiece 中经常使用 Unigram 算法,该算法是 AlBERT、T5、mBART、Big Bird 和 XLNet 等模型使用的标记化算法。
2024-10-28 09:37:00
1570
原创 每天5分钟搞懂大模型的分词器tokenizer(三):Wordpiece
WordPiece 是 Google 为预训练 BERT 而开发的标记化算法。此后,它在不少基于 BERT 的 Transformer 模型中得到重用,例如 DistilBERT、MobileBERT、Funnel Transformers 和 MPNET。它在训练方面与 BPE 非常相似,但实际标记化的方式不同。
2024-10-28 09:29:58
1068
原创 每天5分钟搞懂大模型的分词器tokenizer(二):BPE (Byte-Pair Encoding)
字节对编码 (BPE) 最初是作为一种压缩文本的算法开发的,最早是由Philip Gage于1994年在《A New Algorithm for Data Compression》一文中提出,后来被 OpenAI 在预训练 GPT 模型时用于分词器(Tokenizer)。
2024-10-23 10:20:30
999
1
原创 每天5分钟搞懂大模型的分词器tokenizer(一):word level,char level,subword level
在大模型中,Tokenizer有三种常见的分词方式:word level,char level,subword level。我们会用几篇小短文来讲解这三种分词方式
2024-10-23 10:15:58
1809
原创 干货:落地企业级RAG的实践指南
对于企业级数据,很多来自多种文档类型,例如 PDF、Word 文档、电子邮件和网页, 我们需要关注以下两个阶段:Load/Process,Split/Chunking
2024-10-21 14:03:16
1089
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人