正在加载视频...

视频加载失败

在我们调用OpenAI的API的时候,除了Prompt和模型,还有几个参数可以选:Temperature、Top K和Top P。 大部分都知道温度(Temperature)参数是可以控制输出的确定性的,温度越低,输出结果越确定;反之温度越高,输出结果越具有多样性。 那么Top K和Top P是什么呢?看完这个视频你会找到答案!

75,956 次观看 • 3 年前 •via X (Twitter)

10 条评论

宝玉 的头像
宝玉3 年前

这个视频来自Google的Generative AI learning path课程系列的《Introduction to Generative AI Studio 生成式人工智能工作室介绍》 完整视频:

宝玉 的头像
宝玉3 年前

Top K 可以让模型从可能性最高的前 K 个词中随机返回一个词,这种方法可以让模型不会总是选概率最高的那个,而是从概率最高的前K个词中随机选择一个词。 但这种方法有一个缺陷,比如说你指定Top K是3,但如果概率最高的前3个词里面,第3个词其实概率很低相关度很弱,那么就会导致生成的结果不够好。 Top P则是另一种选择方式,让模型可以从一组总和不超过 P 的词中选择。 例如,Top P为0.75意味着你从一组累积概率大于0.75的词中取样。这样可以避免概率很低的词被选中。 不过通常来说,你是用不上Top K和Top P的,但是知道一下它们是什么意思总是不错的。

Erik Yi Loo 的头像
Erik Yi Loo3 年前

感觉它用同一张图来说明Top K和Top P会有点误导,一开始我没看懂这两有啥区别,看上去都是前N个值。Top K是前K个词选择没问题,但Top P影响的实际是由前面的语句预测出来的下一个词集的结果。它如果用2个不同的预测来说明Top P可能更好。

自力hzlzh 的头像
自力hzlzh3 年前

Nice,直观好懂

天生反骨 的头像
天生反骨3 年前

@SaveToNotion #tweet #chatgpt #topk

fabsOU 的头像
fabsOU3 年前

理解 Temperature、Top K和Top P #prompt

synia 的头像
synia3 年前

Top P感觉更有用些

Ted Zhang🇨🇦 的头像
Ted Zhang🇨🇦3 年前

@threadreaderapp unroll

Thread Reader App 的头像
Thread Reader App3 年前

@dotey @tedzhang2891 Hello, the unroll you asked for: See you soon. 🤖

ⓧ xy 的头像
ⓧ xy3 年前

@SaveToNotion #thread

相关视频

非常好的一个演示视频,通过可视化清晰的介绍了 LLM 的核心 Transformer 架构的原理。 包括词嵌入、自注意力机制等关键技术。对了解GPT-3等大型语言模型的内部结构很有帮助。 👇下面是文字版本: GPT的全称及其含义 GPT是Generative Pre-trained Transformer的缩写。其中,"Generative"表示这个模型是用来生成新文本的;"Pre-trained"意味着模型是在大量数据上预先训练好的;"Transformer"则指代一种特定类型的神经网络结构。因此,GPT本质上是一个基于Transformer架构、经过预训练、能够生成文本的语言模型。 Transformer的定义及其在AI领域的应用 Transformer是一种专门处理序列数据的神经网络架构。它最初是为机器翻译任务设计的,但后来被发现在其他许多NLP任务上也有出色表现,如语言建模、命名实体识别等。除了NLP,Transformer也被应用于语音识别、图像字幕生成等领域。Transformer的成功很大程度上归因于其独特的自注意力机制,使其能够高效地处理长程依赖关系。 Transformer的工作原理简介 Transformer的工作流程可以概括为三个主要步骤:首先,将输入的文本序列转化为一组向量表示;然后,通过自注意力机制和前馈神经网络对这些向量进行变换和更新;最后,根据更新后的向量生成输出分布,用于预测下一个词。整个过程中,自注意力机制起到了关键作用,使得模型能够动态地确定输入序列中每个位置与其他位置之间的相关性,从而更好地捕捉上下文信息。 Transformer处理文本信息的过程 当Transformer处理一段文本时,首先需要将其分割成一个个基本单元,如单词或子词,这些基本单元被称为"token"。接着,每个token都会被映射为一个高维向量,即"词嵌入"。这一步旨在将离散的文本符号转化为连续的向量表示,以便神经网络进行处理。然后,这些词向量会通过多个编码器层进行变换和更新,每一层都会综合考虑当前token与其他token之间的关系,从而使每个向量都融入了上下文信息。最后,解码器根据编码器的输出和之前生成的token,预测出下一个最可能的token。通过不断重复这一过程,Transformer就可以生成连贯的文本片段。 词嵌入(Word Embedding)的概念和作用 词嵌入是一种将词映射到高维向量空间的技术。通过词嵌入,每个词都被表示为一个实数向量,这个向量捕捉了该词的语义信息。词嵌入的一个重要特性是,语义相似的词往往在向量空间中距离较近。例如,"king"和"queen"这两个词的向量之间的距离会比"king"和"apple"的距离更近。此外,词嵌入还能够反映词之间的类比关系,如"king"-"man"+"woman"的结果会接近"queen"。词嵌入为神经网络提供了一种处理文本数据的有效方式,使其能够利用词语之间的语义关系进行推理和预测。 深度学习模型的基本结构和特点 深度学习模型通常由多个层组成,每一层对输入数据进行一定的变换,并将结果传递给下一层。层与层之间的连接通常是通过矩阵乘法实现的,其中矩阵的元素就是模型的参数。这些参数在训练过程中会不断更新,以使模型的输出与期望输出尽可能接近。深度学习模型的训练通常采用反向传播算法,即根据输出的误差,逐层调整参数的值。通过多次迭代,模型可以逐渐学习到数据中的规律和模式。深度学习模型的一个显著特点是,它们可以自动学习数据的表示方式,而无需人工设计特征。这使得深度学习在处理图像、语音等复杂数据时表现出色。 Softmax函数的作用和计算过程 Softmax函数常用于深度学习模型的输出层,特别是在多分类问题中。它的作用是将一组实数转化为一个概率分布,使得每个类别都有一个0到1之间的概率值,并且所有类别的概率之和为1。Softmax函数的计算过程分为两步:首先,对每个输入值取指数;然后,将每个指数值除以所有指数值的和。这样得到的结果就是一个合法的概率分布。Softmax函数有一个很好的性质,即输入值较大的类别会获得较高的概率,而输入值较小的类别的概率会趋近于0。这使得模型的输出更容易解释,并且有利于进行决策和预测。 生成模型预测下一个词的过程 当生成模型(如GPT)预测下一个词时,通常采用以下步骤:首先,根据前面已经生成的词,模型会计算出每个可能的下一个词的概率。这个概率分布反映了模型对不同词的偏好程度。然后,从这个分布中采样出一个词作为新生成的内容。接下来,模型将这个新词加入到已生成的序列中,并重复上述过程,直到达到预设的长度或遇到终止条件(如句号)为止。通过这种不断预测和采样的方式,生成模型可以创作出连贯而富有创意的文本。值得注意的是,为了提高生成文本的多样性和自然度,可以引入"temperature"等超参数来调节输出分布的形状。 GPT-3的参数量和嵌入矩阵 GPT-3是目前最大的语言模型之一,其参数量高达1750亿。这意味着,模型需要学习和存储大量的权重值,以刻画自然语言中的规律和模式。GPT-3的一个重要组成部分是嵌入矩阵(embedding matrix),它负责将每个词映射为一个高维向量。在GPT-3中,嵌入矩阵的大小为50257×12288,即词表中共有50257个不同的词(或子词),每个词被映射为一个12288维的向量。嵌入矩阵中的每个元素都是一个可学习的参数,在训练过程中会不断更新,以使得语义相似的词具有相近的向量表示。GPT-3庞大的参数量使其能够学习到比以往模型更加细致入微的语言知识,这也是其在各种NLP任务上表现出众的原因之一。 模型训练中的"Temperature"超参数 在生成模型的训练过程中,"Temperature"是一个重要的超参数,它控制着输出分布的形状。具体来说,temperature值越高,输出分布就越平缓,生成的结果也就越多样化;反之,temperature值越低,输出分布就越尖锐,生成的结果也就越保守。合适的temperature值可以在确保生成内容连贯性的同时,提高其丰富性和创造性。例如,当temperature值接近于0时,模型会倾向于选择概率最高的那个词,导致生成的文本可能流于老套;而当temperature值较高时,模型会给予概率较低的词更多机会,从而产生更加新颖和意想不到的结果。在实践中,temperature值通常需要根据具体任务和需求进行调整,以达到理想的平衡。

歸藏(guizang.ai)

52,604 次观看 • 2 年前

离谱,FUMO 这个模型,在我这几轮复杂任务里居然比 Fable 5.1 和 GPT-5.6 Sol 更好用,价格也便宜老多了!!! 他是一个融合模型,设计非常精妙,而且完全可以应用到生产级,你可以把它理解成他会根据任务做到哪一步,临时找最合适的模型参与,最后给你最好的结果。 这和我之前用过的融合模型差别特别大,以前很多产品都是几个模型同时回答,再把答案拼到一起,但是效果挺鸡肋的... FUMO 在任务执行中动态调度,它每完成一步,再决定下一步该让谁做什么,并且能够选择最适合的模型。 我做了很多测试,它在复杂任务上的表现完全不输顶级旗舰,价格却便宜了一大截。 我给 FUMO 上了几种完全不同的难题: 跨多个系统找故障、判断容易被常识误导的科学问题、从一堆冲突资料里做商业决定,还故意在中途加入新证据。 它有时继续查,有时否定前面的结论,有时停下来补证据,最后都能给出一份完整结果。 这个才让我觉得 FUMO 牛逼:任务怎么变,它都知道下一步还该做什么,而且价格比旗舰模型便宜很多。 很多任务都很适合直接上 Fusion: 1、一个问题横跨很多文件和系统 2、商业方案、几十份资料互相冲突,需要做深度调研 3、Agent 连续执行很多步,中间结果会污染后续步骤 其实简单问题大多数模型都行,但任务越复杂、出错后的代价越高, FUMO 的优势越明显,它目前还是邀请制,期待全量开放!

余温

16,530 次观看 • 1 个月前

《用ChatGPT API构建系统》课程简介 吴恩达:欢迎参加关于使用ChatGPT API构建系统的课程。 之前,Isa和我介绍了如何提示(Prompt)ChatGPT的课程。 但是一个系统需要的远不止一个提示(Prompt)或一个对LLM(大型语言模型)的调用。 在这个短期课程中,我们想和您分享使用LLM构建复杂应用程序的最佳实践。 Isa:我们将以构建一个端到端的客户服务辅助系统为例,该系统将多个调用链接到语言模型, 根据前一个调用的输出使用不同的指令,有时甚至从外部来源查找信息。 例如,对于用户输入的“告诉我有哪些电视出售”,我们将使用以下步骤来处理。 首先,您可以评估输入以确保其不包含任何有问题的内容,例如仇恨言论。 接下来,系统将处理输入。它将确定这是哪种类型的查询。 这是一个投诉还是产品信息请求等? 一旦确定这是一个产品查询,它将检索有关电视的相关信息,并使用语言模型编写一个有帮助的回答。 最后,你需要检查输出内容,确保没有问题,比如不准确或不适当的答案。 吴恩达:在这门课程中,你会发现一个主题,那就是一个应用程序通常需要多个对最终用户不可见的内部步骤。 你通常希望按顺序处理用户输入,经过多个步骤才能得到最终显示给用户的输出。 当你使用LLM构建复杂系统时,从长远来看,你通常还希望不断改进系统。 因此,我还将与您分享开发基于LLM的应用程序的过程感受以及评估和改进系统的最佳实践。 我们感谢许多为这门短期课程做出贡献的人。 在OpenAI方面,我们感谢Andrew Kondrich、Joe Palermo、Boris Power和Ted Sanders。 来自 Ladwig、Eddy Shyu和Tommy Nelson。 Isa:通过这门短期课程,我们希望你能够对自己建立一个复杂的多步应用程序的能力充满信心, 并且能够维护和不断改进它。 让我们开始吧。

宝玉

35,535 次观看 • 3 年前