![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码复现
文章平均质量分 93
青云遮夜雨
这个作者很懒,什么都没留下…
展开
-
从零开始复现GPT2(六):生成代码的实现
这段代码是一个完整的Python脚本,用于通过命令行界面生成使用GPT-2模型训练的文本。类,它使用了GPT-2模型。这个类能够基于给定的上下文生成文本。库来解析命令行参数。代码定义了一个用于文本生成的。原创 2024-02-03 15:48:22 · 1064 阅读 · 0 评论 -
从零开始复现GPT2(五):评估和可视化代码的实现
整体上,这个工具提供了一种灵活的方式来分析和理解模型在训练和评估过程中的性能变化,对于模型调优和理解其行为模式非常有帮助。这个实现体现了在NLP模型开发中常见的模式,即通过特定的评估规范和灵活的命令行参数接收方式,来支持模型的评估和性能分析。:接收通过命令行传入的参数,包括模型路径、评估语料库路径、词汇表路径、模型配置(序列长度、层数、头数、维度等)以及评估配置(批量大小、总步数、是否使用GPU)。:初始化评估规范时,接收评估数据集、词汇表路径、序列长度、模型的层数、头数、维度以及维度增长率等参数。原创 2024-02-02 16:54:18 · 562 阅读 · 0 评论 -
从零开始复现GPT2(四):训练代码的实现
参数列表训练批量大小,指定在训练过程中每个批次处理的数据数量。评估批量大小,指定在模型评估过程中每个批次处理的数据数量。总步数,指训练过程中的总迭代次数。评估步数,指定每多少步进行一次模型评估。保存步数,指定每多少步保存一次模型。模型保存路径,指定训练好的模型保存的位置。检查点保存路径,用于保存训练过程中的中间状态,以便于恢复训练或进行故障恢复。描述信息,用于记录这个训练配置的描述或备注。日志格式,指定训练过程中日志的输出格式。原创 2024-02-01 11:08:34 · 1174 阅读 · 0 评论 -
从零开始复现GPT2(三):词表,Tokenizer和语料库的实现
在构建词表的场景中,将词表大小设置为8的倍数可以确保数据在内存中的对齐。内存对齐是指数据在内存中按照一定的边界存储,这样做可以减少CPU或GPU在访问内存时的负载,从而提高数据处理的速度和效率。这个类的主要目的是为了处理一个经过分词处理的语料库,并在此基础上提供一些实用功能,适用于深度学习和自然语言处理任务中。类,这个类使用了一个词汇表(Vocab)实例和一些其他参数来进行文本的处理和标记化。是一个字典,将每个词汇映射到其在列表中的索引,以便快速查找。是一个列表,包含了所有的词汇(包括额外的特殊标记)。原创 2024-01-31 11:00:20 · 1667 阅读 · 1 评论 -
从零开始复现GPT2(二):模型实现和掩码机制
表示了 Transformer 模型中的一个层级,包括多头注意力层和前馈神经网络层,以及 Layer Normalization 层,用于处理序列数据和生成下一个时间步的输出。类用于创建一个未来掩码(future mask),在自回归模型GPT-2中,此掩码用于确保在预测每个位置的输出时,模型只能使用该位置之前的输入(即避免使用未来的信息)。这样,模型在训练时能够更好地捕捉数列中的因果关系,而不受到未来数字的干扰。通过在序列的未来位置添加偏移,创建了一个上三角的掩码,以避免模型在训练时看到未来的信息。原创 2024-01-22 11:49:54 · 1398 阅读 · 0 评论 -
从零开始复现GPT2(一):注意力机制、嵌入层和前馈神经网络的实现
网络则增强了模型在处理序列数据时的能力,使其能够在每个位置学习高级特征。这些特性共同使 GPT-2 成为处理各种复杂自然语言处理任务的强大工具。作为一种有效的激活函数,帮助模型捕捉非线性关系;,都是继承自 PyTorch 的。原创 2024-01-21 13:30:26 · 1519 阅读 · 3 评论 -
从零开始复现BERT,并进行预训练和微调
这段代码是使用BERT模型进行预训练和微调的一个完整示例,主要包括预训练数据的处理、模型的加载和微调。中,主要工作是将输入的查询(queries)、键(keys)和值(values)通过三个独立的线性层进行转换,以生成对应的查询、键和值表示。在这个函数中,首先将模型部署到可用的GPU上(如果有的话),然后在每个epoch中遍历训练数据,使用交叉熵损失函数计算损失,并通过反向传播更新模型参数。在每一步训练中,首先将数据移动到指定的设备(如GPU),然后执行前向和后向传播,计算损失并更新模型的权重。原创 2024-01-10 10:59:04 · 1867 阅读 · 0 评论