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=input1: x=input:−1,y=input1:

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

参考

相关推荐
xywww1684 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
程序员佳佳12 小时前
不是接口调不通,而是链路没拆清:Dify RAG、向量引擎与 timeout 排查实战
gpt·aigc·文心一言·gpu算力
kyriewen13 小时前
我扒了 GPT-5.6 的全部编程跑分——有一项 OpenAI 没敢放出来
前端·gpt·ai编程
糖果店的幽灵17 小时前
从 GPT Researcher 学习 LangChain
gpt·学习·langchain
dunge20261 天前
# GPT 与 Codex:软件正在从“静态程序”演化为“持续推理系统”
大数据·gpt
跨境观察员小周1 天前
如何使用Chat GPT进行爬虫?2026年最新教程
爬虫·gpt·chatgpt
奇牙coding1231 天前
gpt-5.5、deepseek-v4-pro、claude-opus-4.8 跑同一套 50 道编程题——有一类任务结果和官方榜单完全反过来
gpt·ai
库拉大叔2 天前
一站式AI模型聚合平台实测:GPT/Claude/Gemini全系调用,国内直连无需翻墙
人工智能·gpt
love530love2 天前
GPT + Codex CLI + CodexPro 三位一体:AI 编程协作工作流
人工智能·windows·gpt·chatgpt·devops·mcp
A8ai_napiai2 天前
SpaceXAI+Cursor首款联合AI模型7月8日亮相:600亿收购后的第一枪,部分性能对标GPT-5.5与Opus 4.8
人工智能·gpt