Blog Cover

提示词工程的技术原理:为什么同样的意思不同的问法,大模型的回答天差地别

一个困惑的起点 你问 GPT-4:“告诉我关于量子纠缠的事情”,它给你一段教科书式的定义。你换个说法:“量子纠缠到底有多诡异?能用通俗的方式解释吗?“回答变得生动有趣,甚至还用了比喻。 ...

18 min · 8950 words
Blog Cover

大模型训练中的学习率调度:从线性预热到WSD策略的技术演进

训练过大模型的人都知道,学习率是最关键的超参数之一。设置得太小,训练几个月也收敛不了;设置得太大,模型直接发散。但即使找到了一个看似合适的初始值,直接从头到尾使用恒定学习率,效果往往也不尽如人意。 ...

12 min · 5596 words
Blog Cover

大模型为何普遍选择AdamW而非SGD:从自适应学习率到解耦权重衰减的技术解析

打开任何一个大语言模型的训练代码——GPT-3、LLaMA、BERT、Mistral——你会发现一个惊人的共性:它们清一色使用AdamW优化器。不是经典的随机梯度下降(SGD),不是带动量的SGD,而是AdamW。 ...

10 min · 4911 words

SwiGLU为何成为大模型的标配:从ReLU到门控激活函数的十五年演进

2017年,Transformer论文发表时,作者选择了一个看似平淡无奇的组件作为前馈神经网络(FFN)的激活函数:ReLU。这个在2011年被重新发现的函数,因其计算简单、梯度稳定而成为深度学习的标配。然而,到了2023年,几乎所有新发布的大语言模型——LLaMA、PaLM、Mistral——都在FFN层抛弃了ReLU,转而采用一个名字拗口的组合:SwiGLU。 ...

14 min · 6895 words

对话模板:大模型应用中最容易被忽视的隐形语言

当你调用一个大语言模型的API时,通常会传入类似这样的结构: messages = [ {"role": "system", "content": "你是一个有帮助的助手。"}, {"role": "user", "content": "你好!"}, {"role": "assistant", "content": "你好!有什么可以帮助你的吗?"}, {"role": "user", "content": "2+2等于多少?"}, ] 这个整洁的消息列表,在送入模型之前,会被转换成一段连续的文本。问题是:这段文本长什么样? ...

10 min · 4709 words

Tokenizer 如何塑造大语言模型的世界观:从 BPE 到 Byte Latent Transformer 的三十年技术演进

1994年2月,Philip Gage在《C Users Journal》上发表了一篇题为"A New Algorithm for Data Compression"的文章。这位程序员的初衷很简单:找到一种更高效的方式来压缩数据。他没有想到,三十年后,他发明的Byte Pair Encoding(BPE)算法会成为让ChatGPT、Claude、LLaMA等大语言模型理解人类语言的第一道关卡。 ...

15 min · 7293 words

大模型如何评估:从标准化考试到人类偏好的完整技术解析

当一个新的大模型发布时,我们如何判断它到底有多强? 模型技术报告上那些眼花缭乱的数字——MMLU 92%、GSM8K 95%、HumanEval 88%——究竟意味着什么?为什么一个在基准测试中表现优异的模型,实际使用时却常常令人失望? ...

13 min · 6105 words