抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

BERT BERT模型结构 由多个Transformer Encoder堆叠。分为12层的BERT-base和24层的BERT-large。最长序列:512个token,超过的需要截断。Tokenizer: WordPiece。每个句子首个token都是[CLS],分隔符用[SEP]。会拆分Subword,例如playing拆分为play和###ing。Embedding:见下图 ...

Scaled dot-product attention的时间和空间复杂度都是O(n^2)的,当n较大时,会是很大的占用。 Sparse attention 将空洞注意力与局部注意力相结合,使得既可以学到局部的特性,又可以学到远程稀疏的相关性。使得大部分元素为0,时间与空间复杂度下降为O(kn)。但是其是对标准attention的近似。 Flash attention Flash...

GPT-1 简述一下GPT的训练过程。 GPT的训练过程采用了预训练和微调的二段式训练策略。 非监督式预训练: 利用大规模无标记语料,构建预训练单向语言模型。训练目标是Language Modeling loss。 监督式微调: 用预训练的结果作为下游任务的初始化参数,增加一个线性层,匹配下游任务。训练目标是有监督的目标函数,并加上Language Modeling作为辅助目标。 ...

LLAMA LLaMa介绍 预训练数据:全是开源数据。Tokenizer: BPE implemented by SentecePiece,分词后训练集中共包含1.4T tokens。模型架构:相比与原始Transformer架构,有如下改动 Pre-norm:参考GPT3,在transformer sub-layer前进行norm。使用的是RMSNorm。 SwiGLU: 参考P...

LoRA LoRA原理 LoRA假设微调变化矩阵的内在秩远低于原矩阵维度d,因此将变化矩阵分解为B和A,而原矩阵的权重不发生变化。这样使得可训练参数数量极大减少,降低显存消耗量。见下图: 初始时将A矩阵高斯随机初始化,将B矩阵初始化为0,这样变化矩阵在开始训练时是0。还需要将ΔWx\Delta WxΔWx进行scale: αr\frac{\alpha}{r}rα​,其中分子为r中的一...

Qwen Qwen的技术要点 数据:公共网络文档,百科全书,书籍,代码等。此外,数据集是多语言的,其中很大一部分数据是英语和中文的。最终数据集多达3万亿token。 Tokenizer:采用开源的BPE,并以vocabulary C1100K base作为起始点,增加了常用的中文字符和单词以及其他语言的词汇。此外,仿照LLAMA2,将数字分为单个数字,最终词汇量大约是152K. 模型结...

Tokenizer的种类和区别 Tokenize有三种粒度: Word:对于英文等自然语言来说,存在着天然的分隔符;但是对于一些东亚文字包括中文来说,就需要某种分词算法才行。由于长尾现象的存在,词汇表可能会超大。 Char:词汇表只有最基本的字符。这样做的问题是,由于字符数量太小,我们在为每个字符学习嵌入向量的时候,每个向量就容纳了太多的语义在内,学习起来非常困难。 Subword:...

RAG流程

训练显存 FP32,FP16,BF16 FP32:1位符号,8位指数,23位尾数。FP16:1位符号,5位指数,10位尾数。BF16:1位符号,8位指数,7位尾数。BF16提供了与FP32相同的动态范围,但精度低于FP32和FP16。 如何计算训练大模型需要的显存? 模型参数:如果模型有P个参数,使用FP32保存的话,需要4P字节的显存。 梯度:大小与模型参数相同。使用FP32...