GPT的实现细节

关于GPT的代码细节,这里梳理了一下:

数据集构造

原始数据集schema:

text 复制代码
input=who is your favorite basketball player?
output=Of course Kobe Bryant!

那么在构造训练集时,根据chunk size构造多个输入:

text 复制代码
input_1=who is your favorite basketball player? Of
input_2=who is your favorite basketball player? Of course
......
input_n-1=who is your favorite basketball player? Of course Kobe Bryant!
input_n=who is your favorite basketball player? Of course Kobe Bryant! <EOS>

由于训练任务是下一个单词预测,所以 x = i n p u t [ : − 1 ] , y = i n p u t [ 1 : ] x=input[:-1], y=input[1:] x=input[:−1],y=input[1:]

loss

x x x是模型可见已知的,需要mask掉不算入loss

python 复制代码
y[:-1] = -1
loss = F.cross_entropy(logits.view(-1, logits.size(-1)), targets.view(-1), ignore_index=-1)

生成

karpathy/minGPT项目中,是直接粗暴地生成固定长度的文本。这样做的问题就是生成的文本无法判断何处阶段。

在构造模型输入的时候,我们就加入了 <EOS> token,来标记文本的结束。那么在推理阶段,如果碰到该token,则结束生成

python 复制代码
if token == "<EOS>":
    break

参考

相关推荐
牛大了202310 天前
【LLM学习】2-简短学习BERT、GPT主流大模型
gpt·学习·bert
1213410 天前
LLM:重构数字世界的“智能操作系统”
gpt·aigc·ai编程·llama·gpu算力
叠叠乐16 天前
ROS2编译的理解,与GPT对话
gpt
蚂蚁数据AntData17 天前
DB-GPT V0.7.2 版本更新:图表组件可视化增强、支持混合搜索 、支持DeepSeek-R1-0528模型等
大数据·数据库·gpt·架构·数据库架构
PacosonSWJTU21 天前
加载GPT-2模型参数报错:TensorFlow不存在
人工智能·gpt·tensorflow
zm-v-1593043398622 天前
GPT-ArcGIS 在生态评价中的综合应用:多因子权重分析与适宜性制图
gpt·arcgis
激进小猪100224 天前
LLM基础5_从零开始实现 GPT 模型
gpt
阿部多瑞 ABU1 个月前
# 从底层架构到应用实践:为何部分大模型在越狱攻击下失守?
gpt·安全·ai·自然语言处理
阿部多瑞 ABU1 个月前
大模型安全测试报告:千问、GPT 全系列、豆包、Claude 表现优异,DeepSeek、Grok-3 与 Kimi 存在安全隐患
gpt·安全·ai
武子康1 个月前
AI炼丹日志-28 - Audiblez 将你的电子书epub转换为音频mp3 做有声书
人工智能·爬虫·gpt·算法·机器学习·ai·音视频