如何剖析和修复LLM运行程序中的失误
本文经过四个阶段环节来系统地理解和修复LLM运行程序中的失误。
大型言语模型(LLM)为机器学习的运行发明了一个新的范式。一方面,用户有一个机器学习模型,可以依据自己的需求和义务启动定制。另一方面,或者不可访问模型的权重和超参数。用户可以经过调整揭示和提供应模型的消息来控制模型的行为。
这关于那些习气于开发传统机器学习运行程序的人来说带来了难题。假设没有一种系统的方法来剖析失误并启动更正,那么或者会堕入凌乱的境地——随机更改揭示,但又不可权衡每次修正的影响。
本文经过以下四个阶段环节来系统地理解和修复LLM运行程序中的失误。
第一阶段:预备
在修正失误之前,应该能够权衡它们。在这个阶段,将以准许用户跟踪模型功能的形式制订目的义务。
(1)创立数据集: 创立50~100个示例,这些示例代表目的义务以及运行程序用户将发送的恳求类型和预期照应。每个示例都应该包括恳求和照应。假设宿愿照应蕴含推理链等其余消息,须要确保将其蕴含在示例中。假设照应必定以特定格局(例如JSON或键值对)前往,须要确保一切示例的格局都正确无误。
(2)开发评价方法: 须要找出一种方法来比拟模型的照应与数据集中的实践状况。关于数字义务和问答,评价就像创立一个比拟回答的函数一样便捷。
关于生成性义务(例如生成摘要)须要驳回更复杂的方法,如独自的LLM揭示。例如,首祖先工审查和纠正一些模型照应,并开发一小局部写入和失误的答案。而后,创立了独自的LLM-as-a-Jjudge揭示,其中蕴含对新模型答案启动评分的示例。
(3)指定目的接受规范: 并非一切义务都须要完美的输入。例如,在许多运行中,总是会驳回人工介入的循环形式,并且仅将LLM作为口头局部基础上班的辅佐工具。在这种状况下,可以指定一个准确度级别,以使LLM运行到达可颁布的规范。而后,可以搜集更少数据来优化揭示,并逐渐提高其准确度。例如,曾经协助一个团队翻译须要精心设计揭示的不凡文本。首先从便捷的揭示开局,该揭示将他们的翻译速度提高了25%。只管不完美,但这个运行却十分有价值,节俭了少量期间。随后,依据反应和示例逐渐完善揭示,使其能够实现他们80%的上班。
第二阶段:评价
这个阶段的目的是以一种可以系统地处置的形式来识别和分类模型所发生的失误。
(1)跟踪数据集上的失误: 在数据集上运转揭示,将模型的照应与实践状况启动比拟,并将模型发生失误的示例分开。关于这一步,将须要经常使用在上一阶段开发的评价函数。
(2)对失误启动分类: 创立一个电子表格,其中蕴含模型犯失误的示例、模型的照应以及正确的照应。将失误分为几个经常出现的要素和类别。一些要素示例可以是“不足常识”、 “推理不正确”、“计算失误”和“输入格局不正确”。(揭示:可以经常使用前沿模型来协助发现失误中的形式。为模型提供正确和失误的答案,并指点它将它们分为几个类别。只管它或者不会提供完美的结果,但将会提供一个很好的终点。)
第三阶段:纠正
这一阶段的目的是修正揭示,以纠正在前一阶段中发现的经常出现失误。在这一阶段的每个步骤中,对揭示符启动一次性修正,并从新运转模型出错的示例。假设失误没有处置,可以进入下一阶段,尝试驳回更复杂的处置打算。
(1)修正揭示: 依据在前一阶段发现的失误类别,对揭示启动修正。从十分便捷的修正开局,例如参与或更改说明(例如,“只输入答案,不输入额外的细节”,“只输入JSON”,“在回答疑问之前,逐渐思索并写下推理”)。
(2)在揭示中参与常识: 有时,疑问是模型没无关于义务的基本常识。在揭示中创立一个“常识”局部,可以在其中蕴含任何有助于模型的理想或额外消息。
这一局部可以包括任何与义务关系的内容,包括文档、代码和文章。 (在这个阶段不要担忧揭示的长度,只关注失误剖析。可以思索优化揭示的老本和规模。)
(3)经常使用小样本示例: 假设便捷的说明和额外的常识不能处置疑问,尝试在揭示中参放大指示例。在揭示中参与一个“示例”局部,其中包括问答对,并演示模型应该如何处置疑问。从两到三个例子开局,使揭示坚持冗长。假设失误仍未处置,则逐渐参与更多示例。因为当今的前沿模型支持很长的揭示,因此可以参与数百个示例。而尝试经常使用Claude、Gemini和ChatGPT,经常使用正确的场景示例格局,可以取得令人印象深入的结果。
(4)将揭示合成成几个步骤: 有时刻,在一个揭示中要求太多了。假设义务可以合成成独自的步骤,尝试为每个步骤创立一个独自的揭示。当被要求实现一项义务时,模型更有或者很好地口头。而后,可以创立一个揭示管道,将每个步骤的输入作为下一个揭示的输入文本。更初级的管道或者包括经常使用不同揭示序列的额外逻辑。例如,第一步或者是确定恳求能否须要外部消息的揭示。假设须要,恳求将被传送到一个RAG揭示符。否则,它将被传递给经常使用模型的内存常识的另一个揭示符。
第四阶段:最终确定
这一阶段的目的是确保修正不会造成其余疑问,也不会破坏模型在目的义务上的普通才干。
(1)从新评价整个数据集: 一旦将模型的失误纠正到可接受的水平,经过纠正揭示从新运转一切示例,以确保一切反常上班。假设遇到新的失误,重复评价和纠正阶段。
(2)保管一个独自的验证数据集: 为了确保揭示不会过拟合到数据集,为最终评价保管一个保管集。这将确保揭示逾越训练示例。这相似于经典的机器学习,有独自的测试和验证集。假设模型在验证集上体现不佳,则必定重复评价和纠正失误的阶段。之后,须要创立新的验证示例。(揭示:可以经常使用前沿模型生成新的示例,其方法是为它提供一些以前的示例,并要求它生成不同但相似的示例。)
如上所示,机器学习失误剖析的基本准则也适用于LLM运行程序。只有要从正确的角度思索疑问及其处置打算。
原文题目:HowtoanalyzeandfixerrorsinLLMapplications,作者:Ben Dickson
链接: