首页 > 其他分享 >预训练模型 | Transformer模型的规模大小

预训练模型 | Transformer模型的规模大小

时间:2023-07-04 10:23:53浏览次数:32  
标签:Transformer 训练 模型 num 参数 dropout size

Transformer 有两个模型的规模大小标准:base、big。具体去thumt的models文件夹下的Transformer 模型实现可以看到其参数大小。

我们可以从Transformer 模型的原论文(Attention Is All You Need)中看到,Transformer 有两个模型的规模大小标准:base、big。

Transformer模型的超参数

Transformer模型的超参数,对模型的性能和训练过程有重要影响。下面是每个参数的解释:

  • pad: 用于填充句子长度不足时的占位符。
  • bos: 开始符号(beginning-of-sentence)的标记。
  • eos: 结束符号(end-of-sentence)的标记。
  • unk: 未知单词的标记。
  • hidden_size: Transformer模型中所有隐藏层的大小。
  • filter_size: Feed-Forward层中间层的大小。
  • num_heads: 多头自注意力机制中的头数。
  • num_encoder_layers: 编码器的层数。
  • num_decoder_layers: 解码器的层数。
  • attention_dropout: 注意力机制中的dropout概率。
  • residual_dropout: 残差连接中的dropout概率。
  • relu_dropout: ReLU激活函数中的dropout概率。
  • label_smoothing: 标签平滑的参数。
  • normalization: 归一化的方式,可以是"before"(在残差连接之前)或"after"(在残差连接之后)。
  • shared_embedding_and_softmax_weights: 是否共享编码器和解码器中的嵌入层和softmax层的权重。
  • shared_source_target_embedding: 是否共享编码器和解码器中的源语言和目标语言的嵌入层权重。
  • warmup_steps: 学习率线性增加的步数。
  • train_steps: 训练步数。
  • learning_rate: 学习率。
  • learning_rate_schedule: 学习率调整策略,可以是"linear_warmup_rsqrt_decay"(线性增加+平方根衰减)或"constant"(不调整)。
  • batch_size: 训练时的batch大小。
  • fixed_batch_size: 是否使用固定的batch大小。
  • adam_beta1: Adam优化器中的beta1参数。
  • adam_beta2: Adam优化器中的beta2参数。
  • adam_epsilon: Adam优化器中的epsilon参数。
  • clip_grad_norm: 梯度裁剪的阈值。

base参数:

pad="<pad>",
bos="<eos>",
eos="<eos>",
unk="<unk>",
hidden_size=512,
filter_size=2048,
num_heads=8,
num_encoder_layers=6,
num_decoder_layers=6,
attention_dropout=0.0,
residual_dropout=0.1,
relu_dropout=0.0,
label_smoothing=0.1,
normalization="after",
shared_embedding_and_softmax_weights=False,
shared_source_target_embedding=False,
# Override default parameters
warmup_steps=4000,
train_steps=100000,
learning_rate=7e-4,
learning_rate_schedule="linear_warmup_rsqrt_decay",
batch_size=4096,
fixed_batch_size=False,
adam_beta1=0.9,
adam_beta2=0.98,
adam_epsilon=1e-9,
clip_grad_norm=0.0

$Transformer_{base}$模型中:

  • 隐藏层的大小为(hidden_size):512。
  • Feed-Forward层中间层的大小为(filter_size):2048。
  • 多头自注意力机制中的头数为(num_heads):8。
  • 编码器的层数(num_encoder_layers)和解码器的层数(num_decoder_layers)都为:6

big参数:

在上面base参数的基础上,修改其中一些参数作为$Transformer_{big}$模型的参数。

hidden_size = 1024
filter_size = 4096
num_heads = 16
residual_dropout = 0.3
learning_rate = 5e-4
train_steps = 300000

$Transformer_{big}$模型中:

  • 隐藏层的大小为(hidden_size):1024。
  • Feed-Forward层中间层的大小为(filter_size):4096。
  • 多头自注意力机制中的头数为(num_heads):16。
  • 编码器的层数(num_encoder_layers)和解码器的层数(num_decoder_layers)都为:6

需要注意的是,不同规模的Transformer模型具有不同的性能、计算资源和存储空间要求,需要根据应用场景和计算资源的可用性来选择合适的模型规模。同时,也可以通过微调预训练模型、调整超参数等方法来对Transformer模型进行调整和优化

标签:Transformer,训练,模型,num,参数,dropout,size
From: https://www.cnblogs.com/zhangxuegold/p/17524973.html

相关文章

  • 模型部署_模型量化、优化、编译、仿真、部署
    两种思路探路--由目前技术看未来-能做什么?造路--由目标而开始构建-要做什么?板子新唐NuMicro™Nano系列为32位单片机地平线旭日X3派RDK系列(HorizonRoboticsDeveloperKits,简称RDK)基于RDKX3(旭日X3派TogetheROS.Bot机器人操作系统(简称TROS.B)—RDKX3Module,模......
  • 2023ACM暑假训练day 8-9 线段树
    目录DAY8-9线段树训练情况简介题DAY8-9线段树训练地址:传送门训练情况简介题题意:思路:......
  • 中国大模型时间发展机会在企业级市场
    《构建“安全可信可控易用”的企业级AI大模型》尊敬的各位领导、各位嘉宾,大家下午好!由于时间有限,下面我分享一些对人工智能大模型的应用前景。前几个月大家都在讨论OpenAI和中国什么时候能够做出自己的大模型,这几个月大模型层出不穷,我看到很多投资人开始急了。前两天朱啸虎和付......
  • 大型语言模型与知识图谱协同研究综述
    大型语言模型(LLM)已经很强了,但还可以更强。通过结合知识图谱,LLM有望解决缺乏事实知识、幻觉和可解释性等诸多问题;而反过来LLM也能助益知识图谱,让其具备强大的文本和语言理解能力。而如果能将两者充分融合,我们也许还能得到更加全能的人工智能。今天我们将介绍一篇综述LLM与知......
  • Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|附代码
    要求撰写关于信贷风控模型的研究报告,包括一些图形和统计输出。在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化?有25个变量:ID: 每个客户的IDLIMIT_BAL: 金额SEX: 性别(1=男,2=女)4.教育程......
  • OSI七层模型和TCP/IP协议
    目录一、分层思想二、OSI七层模型三、TCP/IP协议模型总结一、分层思想分层思想将复杂的流程分解为几个功能相对单一的子过程分层优点整个流程更加清晰,复杂问题简单化更容易发现问题并针对性的解决问题二、OSI七层模型七层模型实际是把互联网的各种网络协议人为......
  • SXYZ-7.3训练赛
    T1啥啥啥,T1又又又爆了,整个人精神状态良好。解题思路考虑数据保证任意两个房子不重合建一个结构体存两边最后判断一下\(>t\)加两个\(==t\)加一个==但是!!!!,没有排序!!喜提5分==/*刚刚写思路咋卡退了??考虑数据保证任意两个房子不重合建一个结构体存两边最后判断一下>......
  • 大模型训练常见工具概念
    备忘用NCCL优化GPU内通信的原语NCCL是一个独立的库,用作GPU的标准通信路由,实现了all-reduce/all0gather/reduce/broadcast/reduce-scatter、基于发送、接受的通信模式(scatter,gather,all-to-all)。为PCIe、NVLink、NVswitch等平台、InfiniBandVerbs和TCP、IPsocket等网络优......
  • 大语言模型微调:定制自己的微调数据集
    摘要随着大型语言模型的普及,微调语言模型已成为适应特定应用场景的必要手段。为了构建高质量的微调数据集,需要考虑数据来源、数据质量、数据规模和数据相似性等因素。通常微调数据集比预训练数据集小得多,可以采用数据清洗和数据增强等技术以提高数据集的质量和丰富性。在微......
  • yaml创建模型结构,代码阅读
    *前言.最近读到类似Detectron2结构的训练代码,实在是太痛苦了。因此,做笔记记录一下。1.整体结构:Trainingkit;      |----configs:存储各种网络的yaml配置文件;      |----docs        |----imxcv:运行代码的核心组件;......