提示词工程的技术原理:为什么同样的意思不同的问法,大模型的回答天差地别
一个困惑的起点 你问 GPT-4:“告诉我关于量子纠缠的事情”,它给你一段教科书式的定义。你换个说法:“量子纠缠到底有多诡异?能用通俗的方式解释吗?“回答变得生动有趣,甚至还用了比喻。 ...
一个困惑的起点 你问 GPT-4:“告诉我关于量子纠缠的事情”,它给你一段教科书式的定义。你换个说法:“量子纠缠到底有多诡异?能用通俗的方式解释吗?“回答变得生动有趣,甚至还用了比喻。 ...
训练过大模型的人都知道,学习率是最关键的超参数之一。设置得太小,训练几个月也收敛不了;设置得太大,模型直接发散。但即使找到了一个看似合适的初始值,直接从头到尾使用恒定学习率,效果往往也不尽如人意。 ...
打开任何一个大语言模型的训练代码——GPT-3、LLaMA、BERT、Mistral——你会发现一个惊人的共性:它们清一色使用AdamW优化器。不是经典的随机梯度下降(SGD),不是带动量的SGD,而是AdamW。 ...
2017年,Transformer论文发表时,作者选择了一个看似平淡无奇的组件作为前馈神经网络(FFN)的激活函数:ReLU。这个在2011年被重新发现的函数,因其计算简单、梯度稳定而成为深度学习的标配。然而,到了2023年,几乎所有新发布的大语言模型——LLaMA、PaLM、Mistral——都在FFN层抛弃了ReLU,转而采用一个名字拗口的组合:SwiGLU。 ...
当你调用一个大语言模型的API时,通常会传入类似这样的结构: messages = [ {"role": "system", "content": "你是一个有帮助的助手。"}, {"role": "user", "content": "你好!"}, {"role": "assistant", "content": "你好!有什么可以帮助你的吗?"}, {"role": "user", "content": "2+2等于多少?"}, ] 这个整洁的消息列表,在送入模型之前,会被转换成一段连续的文本。问题是:这段文本长什么样? ...
1994年2月,Philip Gage在《C Users Journal》上发表了一篇题为"A New Algorithm for Data Compression"的文章。这位程序员的初衷很简单:找到一种更高效的方式来压缩数据。他没有想到,三十年后,他发明的Byte Pair Encoding(BPE)算法会成为让ChatGPT、Claude、LLaMA等大语言模型理解人类语言的第一道关卡。 ...
当一个新的大模型发布时,我们如何判断它到底有多强? 模型技术报告上那些眼花缭乱的数字——MMLU 92%、GSM8K 95%、HumanEval 88%——究竟意味着什么?为什么一个在基准测试中表现优异的模型,实际使用时却常常令人失望? ...