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

参考

相关推荐
量子位2 天前
GPT-5编程专用版发布!独立连续编程7小时,简单任务提速10倍,VS Code就能用
gpt·chatgpt
Code_流苏4 天前
AI热点周报(9.7~9.13):阿里Qwen3-Next震撼发布、Claude 增强记忆与服务抖动、OpenAI 聚焦模型规范化...
人工智能·gpt·ai·openai·claude·qwen3-next·架构创新
gptplus4 天前
【重要通知】ChatGPT Plus将于9月16日调整全球充值定价,低价区将被弃用,开发者如何应对?
人工智能·gpt·chatgpt
nju_spy5 天前
GPT 系列论文1-2 两阶段半监督 + zero-shot prompt
人工智能·gpt·nlp·大语言模型·zero-shot·transformer架构·半监督训练
*星星之火*5 天前
【GPT入门】第67课 多模态模型实践: 本地部署文生视频模型和图片推理模型
gpt
技术程序猿华锋5 天前
深度解码OpenAI的2025野心:Codex重生与GPT-5 APIKey获取调用示例
人工智能·vscode·python·gpt·深度学习·编辑器
钝挫力PROGRAMER5 天前
GPT与BERT BGE
人工智能·gpt·bert
edisao6 天前
[特殊字符] 从助手到引擎:基于 GPT 的战略协作系统演示
大数据·人工智能·gpt
陈敬雷-充电了么-CEO兼CTO7 天前
BLIP-2革新多模态预训练:QFormer桥接视觉语言,零样本任务性能飙升10.7%!
人工智能·gpt·机器学习·机器人·多模态·blip·多模态大模型
安思派Anspire7 天前
GPT-OSS 深度解析:OpenAI 最新大语言模型(LLM)架构
gpt·语言模型·架构