【从零构建大模型】第四章从零构建GPT模型,生成内容

1.概述

本文总结《从零构建LLM》的笔记,加深对GPT的理解,gpt架构的理解。

作者写了做个文章在下面公众号(驾驭AI美未来、大模型生产力指南)目的是提升大模型、智能体的理解,提高大家生产力,欢迎关注、点赞。

录了个视频课程,欢迎学习。

【从零构建大模型】 视频课程讲解,一步步带你理解大模型底层原理
在这里插入图片描述

2. 构建GPT

2.1 构建gpt思路

在这里插入图片描述
在这里插入图片描述

2.2 使用层归一化进行归一化激活

层归一化主要思想:调整整个神经网络的激活(输出),使其均值为0且方差为1。这样有助于快速收敛,并确保训练一致与可靠,避免梯度消失或梯度爆炸的问题。

在这里插入图片描述

  • 归一化代码
class LayerNorm(nn.Module):
    def __init__(self, emb_dim):
        super().__init__()
        self.eps = 1e-5
        self.scale = nn.Parameter(torch.ones(emb_dim))
        self.shift = nn.Parameter(torch.zeros(emb_dim))

    def forward(self, x):
        mean = x.mean(dim=-1, keepdim=True)
        var = x.var(dim=-1, keepdim=True, unbiased=False)
        norm_x = (x - mean) / torch.sqrt(var + self.eps)
        return self.scale * norm_x + self.shift

2.3 使用 GELU 激活函数实现前馈网络

代码解释:一文看懂前馈神经网络与GELU的哲学意义

在这里插入图片描述

class FeedForward(nn.Module):
    def __init__(self, cfg):
        super().__init__()
        self.layers = nn.Sequential(
           nn.Linear(cfg['emb_dim'], 4* cfg['emb_dim']),
           GELU(),
           nn.Linear(4 * cfg['emb_dim'], cfg['emb_dim'])
        )

    def forward(self, x):
        return self.layers(x);

Implementing: 动词,译为 “实现”,在技术语境中特指将理论模型通过代码(如 Python+PyTorch/TensorFlow)构建为可运行的程序或模块。
feed forward network: 即 “前馈网络”,是神经网络的基础结构,信号仅从输入层向隐藏层、输出层单向传递,无反馈回路,常见如全连接神经网络(FCN),广泛用于分类、回归等任务。
GELU activations: 全称 “Gaussian Error Linear Units”,译为 “高斯误差线性单元”,是一种常用的激活函数,公式近似为 GELU(x) = 0.5 * x * [1 + tanh(√(2/π) * (x + 0.044715x³))],相比 ReLU 等函数更符合生物神经元的激活特性,在 Transformer、BERT 等模型中被广泛采用,能提升模型训练稳定性与泛化能力。

  • 矩阵升维->降维 效果图
    在这里插入图片描述

2.4 shotcut 快捷链接

用于解决梯度消失的问题
在这里插入图片描述

2.5 transformer block¶

在这里插入图片描述

2.6 gpt 总结构

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值