网站怎么做平台,池州市建设厅官方网站,哪家成都公司做网站,石家庄网页设计招聘一、基于evaluation的prompt使用解析
基于大模型的应用评估与传统应用程序的评估不太一样#xff0c;特别是基于GPT系列或者生成式语言模型#xff0c;因为模型生成的内容与传统意义上所说的内容或者标签不太一样。 以下是借用了ChatGPT官方的evaluation指南提出的对结果的具…一、基于evaluation的prompt使用解析
基于大模型的应用评估与传统应用程序的评估不太一样特别是基于GPT系列或者生成式语言模型因为模型生成的内容与传统意义上所说的内容或者标签不太一样。 以下是借用了ChatGPT官方的evaluation指南提出的对结果的具体的评估步骤 Compare the factual content of the submitted answer with the context. \
I gnore any differences in style, grammar, or punctuation.
Answer the following questions: - Is the Assistant response based only on the context provided? (Y or N) - Does the answer include information that is not provided in the context? (Y or N) - Is there any disagreement between the response and the context? (Y or N) - Count how many questions the user asked. (output a number) - For each question that the user asked, is there a corresponding answer to it? Question 1: (Y or N) Question 2: (Y or N) ... Question N: (Y or N)
- Of the number of questions asked, how many of these questions were addressed by the answer? (output a number)
所谓的factual content是指显性表达出来的有明确文字说明的内容另外需要忽略掉写作风格语法标点符号等带来的差异因为大多数情况下不同的用户表达同样的意思会有差异这对于比较模型生成结果和你指定的正确答案来说很重要否则会失去语言的灵活性。” Answer the following questions”部分说明了评估必须经过的步骤另外也说明了不能简单地说“Y”或者“N”而是需要给出一些中间的reasoning process或者说intermediate steps这样的设计很具有技巧考验你对业务的理解能力包括对数据的理解能力以及对模型的理解能力等等。 在下面这个评估方法中有用户的信息上下文的信息以及对话机器人返回的信息其中system_message如下
You are an assistant that evaluates how well the customer service agent \
answers a user question by looking at the context that the customer service \
agent is using to generate its response.
一般来说系统级别的信息就是上下文(context)从模型的角度来说所有输入的东西都是在context的支配下工作的。 上面这个方法基于传入的system_message和user_message调用方法get_completion_from_messages获得返回的response 调用方法并打印response如下 二、关于prompt内部工作机制 训练GPT系列大模型时一个基本的能力是预测下一个词(word)那模型为什么能根据我们提供的prompt做出响应譬如GPT-3它是根据前面的内容来产出下一个word前面的内容你都可以认为是prompt。 这个问题的本质是GPT-3/GPT-4是如何训练的在已有的一个基础的大模型base LLM的前提条件下会经历以下几个核心步骤
-以一问一答的方式提供样例数据给这个base LLM
-由data contractor人工检查LLM的输出即human-rating操作看什么是有用的什么是没用的
-使用RLHF来调整模型对产生更高rating的输出增加概率
经过上述步骤后会导致我们输入一个prompt譬如上面说到的evalution使用的看起来有点复杂的prompt后会产生相应的结果。 用户在不断地与对话机器人进行交互时对话机器人在产出结果时至少要考虑两个层面的东西一是用户输入的内容二是系统的设定。 Prompt的使用形式有如下几种
-问答的形式给一个输入返回一个输出
-Chain of ThoughtCoT
-Self Consistency with CoTCoT-SC
-Tree of ThoughtsToT根据用户的输入产生一个树状结构每一层表示针对上面的节点的prompt或者step产生的结果譬如第一层针对输入可能会产生不同的结果然后层层递推其中存在一个evaluation system就是判断哪个路径是最相关或者说产出的结果最能够完成用户指定的问题或者任务。 三、从一篇论文来剖析prompt
我们需要思考在一个prompt中有哪些因素能够影响到一个prompt的功能另外也要考虑如何使一个prompt最小化因为这涉及到tokens的使用数量另外如果信息太多也会干扰到模型对信息的“理解”这里的“理解”指的是一种形式上的理解本质上来说模型是无法像人类一样真正理解我们提供的信息的。 下面这篇论文很重要提出了几个核心的论述
-在输入的一个prompt中“factual patterns”的存在对于CoT的成功来说并不重要
-对于模型来说中间的步骤intermediate steps会作为灯塔信号让模型参照用户输入中的符号symbols构成的patterns来产出结果模型表现出的仅仅是一种形式上的推理论证
-模型在训练时会获得commonsense knowledge and meaning从而帮助模型在用户输入的文本形式的prompt中找到patterns
-通过试验分析揭示了在text和patterns之间存在类似生物间相互依赖的一种关系模型会从文本中基于常识获取patternspatterns反过来会强化模型对任务进行形式上的理解和指导结果信息的生成
-你能够尽量去裁剪prompt只留下关键的信息基于常识依旧能够表达patterns这些patterns能够指导模型“理解”prompt指定的任务来生成结果
-prompt中的符号的具体形式exact type of symbols不影响模型的表现
-CoT帮助模型以prompt为例来学习其中的patterns然后为任务生成正确的tokens