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

参考

相关推荐
hunteritself17 小时前
ChatGPT高级语音模式正在向Web网页端推出!
人工智能·gpt·chatgpt·openai·语音识别
2402_871321951 天前
MATLAB方程组
gpt·学习·线性代数·算法·matlab
xwm10001 天前
【如何用更少的数据作出更好的决策】-gpt生成
gpt
学习前端的小z1 天前
【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成
人工智能·gpt·chatgpt·aigc
菜鸟小码农的博客2 天前
昇思MindSpore第四课---GPT实现情感分类
gpt·分类·数据挖掘
bingbingyihao2 天前
代码辅助工具 GPT / Cursor
android·java·gpt
hunteritself3 天前
ChatGPT Search VS Kimi探索版:AI搜索哪家强?!
人工智能·gpt·chatgpt·openai·xai
qq_339191144 天前
笔记本run个llm, 本地如何启动大模型,大模型ubuntu 3b llm启动,llm部署 ollama 黑盒run大模型
gpt
新知图书5 天前
PyTorch深度学习与企业级项目实战-预训练语言模型GPT
人工智能·gpt·语言模型
知来者逆6 天前
讨论大语言模型在学术文献应用中的未来与所带来的可能性和担忧
人工智能·gpt·语言模型·自然语言处理·chatgpt·llm·gpt-4v