【人工智能之大模型】GPT系列(GPT-1 到 GPT-2 和 GPT-3(以及后续 GPT-4 的概念性改进))模型是如何演进的?(二)

【人工智能之大模型】GPT系列(GPT-1 到 GPT-2 和 GPT-3(以及后续 GPT-4 的概念性改进))模型是如何演进的?(二)

【人工智能之大模型】GPT系列(GPT-1 到 GPT-2 和 GPT-3(以及后续 GPT-4 的概念性改进))模型是如何演进的?(二)



欢迎宝子们点赞、关注、收藏!欢迎宝子们批评指正!
祝所有的硕博生都能遇到好的导师!好的审稿人!好的同门!顺利毕业!

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可关注VX “学术会议小灵通”或参考学术信息专栏:https://blog.youkuaiyun.com/gaoxiaoxiao1209/article/details/145231978


3. 代码逐行解释

TransformerBlock 类

初始化部分

  • self.self_attn = nn.MultiheadAttention(d_model, nhead, dropout=dropout):定义多头自注意力层,处理输入序列中的依赖关系;因果掩码确保自回归生成时不会泄露未来信息。
  • self.linear1self.linear2 构成前馈网络,负责对注意力输出进行非线性变换。
  • self.norm1self.norm2 分别在自注意力和前馈网络后进行层归一化,保证训练稳定。
  • self.dropout 用于防止过拟合。

前向传播部分

  • 调用自注意力层,并将输出与原输入进行残差连接,然后进行 LayerNorm 归一化。
  • 经过前馈网络后再次加残差并归一化,最终输出更新后的特征表示。

GPT 类

初始化部分

  • self.token_embedding 将输入 token 编码为连续向量。
  • self.pos_embedding 为每个位置分配可学习的位置编码,这在 Transformer 中用于引入序列位置信息。
  • self.layers 通过 nn.ModuleList 堆叠多个 TransformerBlock,实现深层自注意力建模。
  • self.fc_out 用于将最后的隐藏状态投影回词汇表大小,输出预测的 logits。

前向传播部分

  • 输入 input_ids 经过词嵌入和位置编码后得到的张量形状为 [batch_size, seq_length, d_model]
  • 转置为 [seq_length, batch_size, d_model] 以符合 nn.MultiheadAttention 的输入要求。
  • 构造因果掩码 causal_mask,确保生成过程中每个位置只能关注之前的 token。
  • 依次通过各个 TransformerBlock 后,转置回 [batch_size, seq_length, d_model],并通过全连接层得到 logits。

示例部分

  • 定义模型超参数,构造一个 GPT 模型实例。
  • 随机生成一组输入 token,模型输出 logits,打印输出形状验证模型工作情况。

4. GPT 系列演进中的关键变化

规模扩展:

  • GPT-1 基于较小的模型规模(如 512 维、6 层),
  • GPT-2 在相同架构基础上大幅增加层数和参数量,
  • GPT-3 则进一步扩展到数百亿参数,使得模型具备更强的生成和推理能力。
  • 代码中各参数(如 d_model、num_layers)的选择正反映了这种扩展趋势。

训练数据和预训练策略:

  • 从 GPT-1 开始,使用无监督预训练通过大量文本数据学习语言模型;
  • GPT-2 和 GPT-3 进一步扩大数据规模,改善模型泛化能力和少样本学习能力。

生成效果:

  • 随着模型规模增大,生成的文本更连贯、语义更丰富;但也带来训练和推理的计算挑战。

架构改进:

  • 尽管基础架构保持不变,但后续版本在优化、正则化、训练技巧(如学习率调度、优化器选择)上不断改进,以充分发挥大规模模型的能力。

总结

  • GPT 系列模型从最初的 GPT-1 到 GPT-2 和 GPT-3,经历了从较小规模到大规模预训练模型的发展过程
  • 核心架构基于 Transformer 解码器,通过自回归生成实现文本生成。模型参数规模的不断扩展、数据量的不断增加以及训练技术的改进,使得生成文本的能力和泛化能力显著提升

上述代码示例展示了一个简化的 GPT 模型,并通过详细解释说明了其内部结构和工作流程,这也为理解 GPT 系列演进提供了直观的代码参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

985小水博一枚呀

祝各位老板前程似锦!财源滚滚!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值