CN115796299A - 经由机器学习语言模型的链的透明且可控的人智交互 - Google Patents
经由机器学习语言模型的链的透明且可控的人智交互 Download PDFInfo
- Publication number
- CN115796299A CN115796299A CN202211214276.0A CN202211214276A CN115796299A CN 115796299 A CN115796299 A CN 115796299A CN 202211214276 A CN202211214276 A CN 202211214276A CN 115796299 A CN115796299 A CN 115796299A
- Authority
- CN
- China
- Prior art keywords
- model
- chain
- output
- instantiations
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及经由机器学习语言模型的链接的透明且可控的人智交互。本公开提供经由机器学习语言模型的链的透明且可控的人智交互。特别地,尽管现有语言模型(例如,所谓的“大型语言模型”(LLM))在简单任务上展示令人印象深刻的潜力,但是当辅助人类进行更复杂的任务时,它们的范围广度、缺乏透明度和不充足的可控性能够使它们不太有效。作为响应,本公开引入了将机器学习语言模型(例如,LLM)的实例化链接在一起的概念,其中一个实例化的输出变成下一实例化的输入,依此类推,从而每步聚合增益。
Description
相关申请
本申请基于并且要求具有申请2021年10月1日的美国临时专利申请 No.63/251,264和具有申请日2022年3月2日的美国临时专利申请No. 63/315,648中的每一个的权益,它们中的每一个以其全文通过引用并入本文。
技术领域
本公开总体涉及经由机器学习的语言建模。更具体地,本公开涉及经由机器学习语言模型的链的透明且可控的人智交互,在一些实例中,包括用于定期地构建和/或编辑包括一个或多个机器学习语言模型的实例化序列的模型链的图形用户界面。
背景技术
语言模型包括对语言进行建模的模型(例如,机器学习模型)。例如,语言模型能够接收和处理输入数据以生成输出数据,其中输入数据和/或输出数据以诸如例如自然语言(例如,英语、法语、普通话等)或编程语言 (例如,C+、Java、Python等)等语言来表达。
最近,(例如,在参数数量、训练数据容量、架构复杂度等方面)明显很大的机器学习语言模型已经提供了高质量的语言建模。这些明显很大的模型在本领域中被称为大型语言模型(LLM)。
LLM已经为人智协作引入了新可能性。对(例如,来自互联网的) 大量(例如,数十亿)输入进行预训练,像GPT-3的LLM现在能够执行各种各样的任务,范围从翻译到问答,甚至是高级的故事书写。它们的成功来自于它们纯粹使用提示(例如,其可以是任务的自然语言描述)来适应各种期望任务的能力。例如,可以简单地通过用关键字“English:Hello!French:”指示源语言和目标语言来将LLM适配为充当翻译引擎。基于该提示,模型可能输出正确的法语翻译:“Bonjour!”。
基于自然语言的提示编程的相对容易性暗示了LLM和其它语言模型可以是用于现实任务的有用辅助,其中用户根据他们自己的需要定制模型。鉴于此,自然语言处理(NLP)的最近工作已经开始检查LLM主要在综合任务上的算法能力。
然而,许多现实任务能够相当复杂(例如,调试软件代码,概述长的论文),并且可能提出对从单个模型运行中解决的当前语言模型(例如,当前LLM)的挑战。例如,由于其查找、细化和连接多个功能块的能力有限,当解决需要多步推理的任务时,LLM产生较低质量的输出。同样,它们可能无法捕获同时平衡多个目标的许多任务的微妙之处。
除了固有地受限于复杂问题之外,LLM还难以与其交互,因为它们可能是不透明的并且难以调试或解释。由于LLM能够接受任何自然语言提示,终端用户可能难以破译如何改变他们的提示以补救意外的模型输出。它们也可能难以理解LLM的能力和限制。通常不清楚如何能够改变提示来直接改进复杂的多任务问题上的LLM性能。
因此,在本领域中需要改进语言模型的可解释性、可控性和性能的系统和方法。
发明内容
本公开的一个示例方面涉及一种链接一个或多个机器学习语言模型以提供改进的可解释性的计算系统。计算系统包括一个或多个处理器和一个或多个非暂时性计算机可读介质,这些非暂时性计算机可读介质共同存储当由一个或多个处理器执行时使得计算系统执行操作的指令。这些操作包括接收初始语言输入。这些操作包括利用模型链处理初始语言输入以生成语言输出。模型链包括包括一个或多个机器学习语言模型的多个模型实例化。每个模型实例化被配置为接收和处理模型输入以生成模型输出,其中,模型输入的至少一部分包括描述由模型实例化在模型输入上执行以生成模型输出的任务的模型提示。模型链中的多个模型实例化被顺序地排列,使得除了模型链中的初始模型实例化之外,模型链中的每个模型实例化的相应模型输入包括来自模型链中的顺序上先前的模型实例化的相应模型输出。这些操作包括提供语言输出作为输出。
在一些实施方式中,操作还包括:提供可视化模型链并且使得用户能够模块化地构建模型链的用户界面。
在一些实施方式中,操作还包括:提供使得用户能够编辑对模型链中的每个模型实例化的相应提示的用户界面。
在一些实施方式中,对模型链中的每个模型实例化的相应提示从与原语子任务相对应的多个预定义模板提示中是用户可选择的。
在一些实施方式中,操作还包括:提供可视化并且使得能够编辑模型链中的模型实例化中的至少一个的相应模型输出的用户界面;经由用户界面接收修改模型链中的模型实例化中的所述至少一个的相应模型输出的用户输入;以及在将相应模型输出输入到模型链中的顺序上后续模型实例化中之前,根据用户输入来修改相应模型输出。
在一些实施方式中,用户输入:改变模型链中的模型实例化中的所述至少一个的相应模型输出的内容;从模型链中的模型实例化中的所述至少一个的相应模型输出中删除内容;或者将内容添加到模型链中的模型实例化中的所述至少一个的相应模型输出。
在一些实施方式中,所述一个或多个机器学习语言模型包括单个机器学习语言模型;并且所述多个模型实例化包括单个机器学习语言模型的多个模型实例化。
在一些实施方式中,所述一个或多个机器学习语言模型包括两个或更多个不同的机器学习语言模型;并且所述多个模型实例化包括所述两个或更多个不同的机器学习语言模型的多个模型实例化。
在一些实施方式中,模型链被配置成对初始语言输入执行元任务以生成语言输出;并且模型链中的一个或多个机器学习语言模型的多个模型实例化中的每一个被配置为执行元任务的多个不同组件子任务中的相应一个。元任务能够包括复杂任务,该复杂任务具有多个组件子任务或通过执行多个组件子任务来生效。
在一些实施方式中,模型链中的多个模型实例化中的至少一个的相应模型输入包括:来自模型链中的顺序上先前的模型实例化的模型输出;以及来自模型链中的每一个均在模型链中的所述顺序上先前的模型实例化之前的一个或多个模型实例化的模型输出。
在一些实施方式中,语言输出包括自然语言输出。
在一些实施方式中,语言输出包括编程语言输出。
在一些实施方式中,机器学习语言模型中的至少一个与计算系统分开存储并且经由应用编程接口访问。
另一示例方面涉及实现语言模型链的模块化构建、控制和可解释性的计算机实现方法。该方法包括接收初始语言输入。该方法包括提供可视化并且使得用户能够编辑被配置为处理初始语言输入以生成语言输出的模型链的用户界面,其中,模型链包括顺序地排列的一个或多个机器学习语言模型的多个模型实例化,使得除了模型链中的初始模型实例化之外,模型链中的每个模型实例化的相应模型输入包括来自模型链中的顺序上先前的模型实例化的相应模型输出。该方法包括利用模型链处理初始语言输入以生成语言输出。该方法包括提供指示模型链中的多个模型实例化中的一个或多个的相应模型输出的数据以用于在用户界面内显示。
在一些实施方式中,该方法还包括,提供指示模型实例化中的一个或多个的相应模型输出的数据以用于在用户界面内显示,包括以描绘模型链的结构的链视图模式提供用户界面。
在一些实施方式中,在链视图模式中,用户界面使得用户能够编辑模型链的结构。
在一些实施方式中,提供指示模型实例化中的一个或多个的相应模型输出的数据以用于在用户界面内显示包括,以使得用户针对模型实例化中的一个或多个中的每一个编辑形成模型实例化中的一个或多个的相应模型输入的一部分的相应提示的步骤视图模式提供用户界面。
在一些实施方式中,该方法还包括提供使得用户能够从模型链添加或移除模型实例化以及编辑模型链中的模型实例化之间的连接的工具。
在一些实施方式中,该方法还包括提供使得用户能够放大与模型实例化中的一个模型实例化相关联的可视块中以编辑与该模型实例化相关联的相应模型输入的工具。
在一些实施方式中,该方法还包括提供使得用户能够放大与模型实例化中的一个模型实例化相关联的可视块中以编辑与该模型实例化相关联的相应提示的工具。
附图说明
在参考附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
图1A描绘了语言模型在单个运行中执行复杂任务的示例尝试。
图1B描绘了根据本公开的示例实施例的经由子任务链执行复杂任务的示例模型链。
图2A-C描绘了根据本公开的示例实施例的用于与模型链交互的示例交互界面。
图3A-B描绘了根据本公开的示例实施例的用于与模型链交互的另一示例交互界面。
图4描绘了根据本公开的示例实施例的用于与模型链交互的另一示例交互界面。
图5A-E描绘了根据本公开的示例实施例的用于与模型链交互的另一示例交互界面。
图6A描绘了根据本公开的示例实施例的示例计算系统的框图。
图6B描绘了根据本公开的示例实施例的示例计算设备的框图。
图6C描绘了根据本公开的示例实施例的示例计算设备的框图。
具体实施方式
总体上,本公开涉及经由机器学习语言模型的链接的透明且可控的人智交互。特别地,尽管现有语言模型(例如,所谓的“大型语言模型”(LLM)) 已经在简单任务上例示令人印象深刻的潜力,但是当辅助人类进行更复杂的任务时,它们的范围广度、缺乏透明度和不充足的可控性能够使它们不太有效。作为响应,本公开引入了将机器学习语言模型(例如,LLM)的实例化链接在一起的概念,其中一个实例化的输出变成下一实例化的输入,依此类推,从而聚合每步的增益。
根据一个方面,本公开提供了一种交互式系统,其中用户能够以模块化方式建立和修改模型链以及它们的中间结果。以此方式链接不仅增强了任务结果的质量,而且还明显增强了系统透明度、可控性和协作感。在一些示例中,所提供的用户界面能够使得用户能够:构造和/或编辑新的或现有的模型链和/或查看和编辑链内的每个实例化的输入、输出和/或提示。在一些实施方式中,能够使得用户能够从本文定义的对于链构建和细化有用的原语操作集合中选择对给定实例化的提示。
所提出的系统能够以多种不同的方式使用。作为示例,系统的用户能够利用子任务来校准模型期望;通过保留并行下游效应来比较和对比替代策略;通过“单元测试”链的子组件来调试非预期模型输出;和/或能够改进模型链的可解释性、可控性和/或性能的其他交互。
因此,本发明引入了跨多个不同模型提示将多个语言模型实例“链接”在一起的概念。链接能够帮助用户以更透明和可调试的方式利用语言模型 (例如,LLM)完成复杂任务。在一些示例中,链接利用LLM的独特能力来处理(例如,经由提示定义的)各种独立任务。在链中,问题能够被分解成多个较小的子任务,每个子任务利用对应提示被映射到不同步骤;一个或多个先前步骤的结果能够被聚合在下一步骤的输入提示中。因此,链接使得用户能够在多个子任务上运行一个或多个语言模型(例如,在一些情况下,相同的LLM),其中每个子任务具有较高的成功概率(例如,与一次性解决整个任务相反)。
除了潜在地改进结果之外,链接还为精细粒度的人工反馈和控制打开了新通道。特别地,根据另一示例方面,本公开提供了向终端用户暴露这些附加“旋钮(knob)”的交互式用户界面。例如,交互式用户界面能够显示模型链结构的实况可视化,并且能够允许用户在各种级别定制链。作为示例,能够使得用户能够:迭代或以其他方式修改每个步骤的本地提示;编辑在步骤之间转换的中间数据;和/或重构或修改模型链的流的架构。
在一些实施方式中,能够使得用户能够从多个预定义提示中进行选择。例如,每个预定义提示能够对应于包括默认提示和数据结构的原语操作。这些预定义提示能够帮助用户执行有效的任务分解,并且更好地理解某些步骤如何彼此馈送。同样,预定义或默认链也能够被用作各种任务的起始位置。
使用所公开的技术进行的示例实验证明结果(例如,准确性)的改进。例如,示例实验示出参与者通常使用链接获得更高质量的结果,并且链接改进人智体验的关键维度,诸如:透明度、可控性、协作性和精神支持。
本文中描述的系统和方法还能够被用于除立即任务实现之外的改进。例如,用户能够:使用较小范围的子任务的模型期望;通过比较并行下游效应来探索备选提示策略;通过隔离和“单元测试”链的不同部分来调试意外模型输出;和/或其它元交互或单步交互,以削弱和理解模型性能。作为又一示例,当最终黄金答案不清楚和/或支持关于注入AI的应用的丰富原型开发时,链接还能够提供中间基本原理。能够在不改变(例如,重新训练)底层机器学习模型(例如,LLM)本身的情况下实现任务性能和用户体验的这些改进。
由本公开利用的一个概念是,一种改进另外不透明的黑盒LLM的可解释性和可调试性的方式是使其做得更少:将问题分解成更小问题,使模型分别解决每个(更小)问题,示出中间结果,并且允许用户编辑那些结果。
本公开提供了许多技术效果和益处。作为一个示例,本公开引入了语言模型链的概念。通过一系列被链接的模型调用,每个模型调用以小的且范围良好的子任务为目标,一个或多个语言模型(例如,单个LLM)能够贡献或执行任务的多个子组件。
作为另一示例技术效果和益处,本公开提供了用于构建模型链并且与模型链交互的构件块的设计和实施方式。在一些示例中,这些包括表示对于语言模型的单个运行的限制范围的函数的原语语言模型操作集合。作为另一示例,提供了显示模型链的步骤内结构和步骤间结构的交互式界面。用户能够逐步地运行链,并且以各种粒度定制它们(例如,定制中间数据、重新布线步骤等)。这样,用户界面能够通过提供原语操作、显示系统的中间数据和连接结构来引导用户执行特定任务,以使得用户能够交互地查看系统中的变化的效果并且确定系统的正确输入提示和结构。用户界面提供系统的状态的内部视图,并且使得用户能够更好地操作系统。与例如如上所述的用户能够难以确定正确输入提示以获得期望输出的单个单片 LLM相比,这另外提供了用于操作系统的用户输入的更好手段。
作为另一示例技术效果和益处,本公开的系统和方法能够增加系统透明度、可控性和任务结果。重要的是,在一些实施方式中,这些增益在没有对底层模型(例如,底层LLM)的任何改变(例如,重新训练)的情况下实现。因此,本公开的示例实施方式能够导致改进的性能(例如,准确度或其他质量度量),而不需要重新训练或以其他方式修改语言模型。消除重新训练模型的需要可以节省计算资源,诸如处理器时间、存储器使用、网络带宽等。特别地,在LLM的情况下,给定模型的大尺寸,即使单个重新训练也能够消耗非常大量的资源。
更一般地,通过提供增加的透明度和粒度可控性,本文中描述的系统和方法能够使得用户能够更快地实现期望结果,从而产生更少的设计迭代、测试迭代和训练迭代。最终结果是实现期望结果所需的计算资源的显著减少,同时提供了模型链的内部操作的更加用户友好和可解释的接口。
尽管本公开的示例方面在本文中参考语言模型来讨论,但是所提出的技术同样适用于除语言之外的数据域。例如,对任何模型实例的输入、输出和/或提示能够包括除语言以外的域中的数据。作为一个示例,可以使得多模态机器学习模型能够在包括图像数据的输入数据上执行任务,以执行由自然语言提示(例如,“在该照片中找到所有狗”)指定的任务。因此,本文中包含的关于语言模型的描述也能够适用于处理不是语言数据的数据或执行通常不被认为是语言建模任务的机器学习模型。
现在参考附图,将更详细地描述本公开的示例实施例。
示例模型链和益处说明
图1A和1B描述了本公开的益处的示例说明。具体地,图1A描绘了语言模型在单个运行中执行复杂任务的示例尝试(以及一般故障);而图1B描绘了根据本公开的示例实施例的经由子任务链执行复杂任务的示例模型链。
更具体地,图1A展示了同行评审重写任务的示例,该任务是复杂且多方面的。在图1A中的同行评审重写任务中,虽然LLM既能够对建议形成构思又能够独立地调整写作基调,但是它缺乏以端到端的方式同时执行这两者的能力。结果,它产生仅满足少数要求的普通段落(例如,在底部示出为“更友好反馈”)。此外,不存在明显的编辑(例如,对原始提示),例如,这些编辑能够鼓励模型向图1A中的最终段落添加关于“幻灯片上的文本太多”的更多建议。
因此,对图1A中使用的LLM的单个调用不能将同行评审段落重写为更有构建性和友好性。特别地,即使提示描述任务并且识别文本段,所生成的文本仍然主要是非个人化的,并且包含模糊的建议。
相反,本公开的示例系统和方法能够通过将多个提示链接在一起来帮助解决这个问题,使得问题被分解成多个较小的子任务,每个子任务利用对应提示被映射到不同步骤。特别地,在图1B中,虽然底层LLM保持与图1A中所使用的相同,但是通过将演示问题和每个问题的设想建议分成不同的子任务,最终合成的段落在解决所有问题方面明显更全面,并且具有更建设性的基调。
具体地,在图1B中,使用包括三个步骤的LLM链,每个步骤用于不同的子任务:首先,从原始反馈中提取每个单独演示问题的“分割点”步骤/提示;第二,对每个问题的建议进行头脑风暴的“构思(Ideation)”步骤/提示;以及第三,将所有问题和建议合成为最终友好段落的“合成点 (compose point)”步骤/提示。结果被显著改进。
除了潜在地改进结果之外,链接还为细粒度的人工反馈和控制打开了新通道。例如,由于图1B中的分开的建议构思步骤,链接允许用户定制哪些建议要包括在最后段落中,这是在图1A中不可用的操作(如前所述)。
用于链接模型的示例技术
本文中提供的示例技术使得用户能够生成或使用模型链。链接模型能够包括将复杂任务分解成较小步骤的过程或由其产生,其中每个步骤能够通过模型实例化的独立运行来完成,并且其中一个步骤的输出被用作下一步骤的输入。作为跨多个运行累积增益的结果,模型链能够解决对于单个模型(例如,单个LLM)难以在单个运行中执行的任务。因此,LLM链接对于对LLM在单遍中完成具有挑战性的任务特别有益,但是通过LLM 良好执行的一系列较小任务能够更容易地完成。
以下段落总结LLM面临的常见挑战,然后描述原语操作集合,该原语操作集合表示看来似乎由LLM的单个运行良好处理并且能够被用于解决概括的挑战的任务空间。
通过原语操作所解决的挑战对原语操作进行分类
存在LLM面临的三个主要挑战或者LLM不太能够处理的情况:
LLM缺乏多步推理能力。因为LLM被设计为掌握语言的形式而不是含义,所以它们较差地执行如顺序数学问题、多跳问答或者需要分支逻辑的任务。
LLM遭受曝光偏差。因为LLM通常以自回归方式顺序地生成文本 (由模型生成的符号本身被用于预测下一字),所以来自先前运行的错误或缺陷能够累积。因此,当生成长文本主体时,LLM不太可能良好执行。曝光偏差也可以使得LLM产生冗余内容,在一些严重的情况下,反复重复相同的短语。结果,它们不太可能生成具有不同主题或论据(例如,对图1B中所有三个问题的建议)的文本。
LLM对输入提示敏感。它们的有效性随提示格式和释义而变化,并且它们也倾向于偏爱某些类型的输入。通常,输入中的名词和动词比形容词和功能词更重要,并且不自然的文本往往效率较低。
同时,LLM的独特强度和能力包括辅助电子邮件响应、检测讨厌的语音、提取计划等。
考虑到上述挑战,本公开提供了多个示例原语操作,每个原语操作具有有助于解决挑战的唯一功能。特别地,下面的表1示出了所推导的操作如何落入三个类别并且能够解决上述三个挑战:
表1:根据预期目标分组的示例原语操作。
首先,LLM可能难以将常识推理或复杂推理应用于细微问题,如前所述。示例分类验证操作能够通过在执行更多步骤之前充当验证检查或分类来帮助解决这个问题(表1a)。例如,聊天机器人可能需要在提供足够响应之前首先对用户提问的问题的类型进行分类。
其次,为了减轻曝光偏差(例如,不能生成长且多样的文本),一些操作能够被用于查询小块新内容(参见,例如,表1B),以便逐渐地构建多样性和长度。获得新内容的三种示例方式包括查询事实、生成想像和构思内容列表。例如,在同行评审重写情况中(图1B),每个问题的分开的构思防止对一个批评的建议受到其他两个批评的影响。
最后,因为LLM可能与某些输入提示类型斗争,所以当其原始形式被卷积时重新组织提示能够是有帮助的。示例重写和合成点操作将输入变换成更多可解析形式;示例信息提取引出简明信息;并且示例分割点将文本分割成更小和更易管理的单元—所有这些单元都在表1C中总结。如关于可视化调试的示例案例研究中所示,将JSON格式的规范转换为自然语言描述有助于LLM解析对应的可视化。
这些操作自然支持各种众包工作流。例如,信息提取和分类是用于有效文本编辑的查找-修复-验证工作流的关键组件(例如,“修复”步骤取决于文本目标可以是重写、合成点或生成)。但是,除了主要强调任务分解和重组(即,如何达到子任务)的众包(crowdsourcing)工作流之外,示例操作进一步在每个步骤内确定LLM适用性的范围(即,每个子任务应该是什么)。这本质上是由于任务分解的不同目标:众包减少了单个子任务的认知负荷和持续时间,同时仍然假设所有得到的任务在最小指导下是可行的。相反,LLM在适用性方面更受限制,并且需要更严格的指令来执行期望功能。
需求分析
以下段落总结了创作LLM链面临的常见挑战,稍后在论文中通过接口设计解决这些挑战。
创作LLM能够遇到三个主要挑战:
LLM提示与链构造之间的断开。LLM能够采用非结构化(开放式语言)提示作为输入。然而,在一些情况下,它们可能缺少明确的“功能签名”。因此,在某些情况下,LLM提示能够与总体链构造断开。
LLM函数和数据变换的复杂性。LLM的多功能性意味着它们能够产生任意格式的输出,使得转换上游LLM步骤的输出以便它们与下游LLM 步骤的输入兼容是不平凡的。
级联误差的可能性。在单个步骤中的次优或甚至不安全的输出可能潜在地导致LLM链上的级联误差。
考虑到上述挑战,本公开提供了多个所提出的接口设计特征,每个接口设计特征具有有助于解决挑战的独特功能。
设计用于模型链构建的示例操作
能够通过经由共享的输入和输出(例如,其可以被称为数据层)连接这些操作(和/或其他操作)来构造示例模型链。在图1B中,步骤b1对反馈的输入采用操作分割以输出Alex的问题。然后,所连接的步骤b2利用用于改进的构思建议的所生成的问题。
因此,当操作清楚地定义要接受什么数据、如何处理它们以及它们应当传递什么数据时,模型链构建能够受益。因此,能够参考以下三个准则来生成示例设计操作。作为演练示例,这部分解释了下面的表2中的参数如何帮助构建表1中的构思行(也是图1中的步骤b2)。
表2:具有以下的表1中的构思的示例实施方式:(1)提示模板,其涉及任务描述、数据类型和用于输入和输出的占位符;以及(2)控制 LLM生成随机性的默认温度。
首先,调用期望功能(构思、分割点等)的操作可能是有益的。如上所述,LLM能够通过文本提示在上下文中学习。这样的提示通常包括自然语言任务描述(“给定问题,以下是建议列表”)或一些演示性“少样本(few-shot)”示例(“问题:太多文本;建议:(1)使用更多图形, (2)使用项目符号点),或两者的组合。
一些示例实施方式主要利用任务描述定义了每个操作的提示模板。它们以应用不可知的方式利用关键动词和占位符为应用特定细节指定期望模型功能,从而改进模型一般化。例如,表2通过“给定_,以下是_的列表”描述构思。遵循提示惯例,一些示例也将前缀-如Alex的问题的数据输入和输出的名称-并入模板中,以(1)分开文本部分,(2)重新强调生成的目标,以及(3)将各个生成紧密地联接到描述中的关键字。一些示例实施方式还包括温度,影响LLM生成的随机性的参数。例如,构思需要比例如更确定的分类操作(例如,t=0.0)高得多的温度(例如,t=0.7)。
第二,将定制的数据层作为输入和输出灵活地进行操作能够是有益的。如表2,提示模板中的空白能够采用用于每个数据层的多重(例如,两种)类型的信息:(1)表示它们的名称的前缀,以及(2)可选地解释附加信息的细节字符串。然后,用户能够简单地通过用数据层定义填充模板来构建具体模型步骤(对其的提示)。表1中的构思示例满足具有两个数据层的模板:(Alex的问题,Alex的演示问题)和(改进的简短建议,建议)。
第三,处理语法分析和重构输入和输出的操作能够是有益的,因为数据层可以在不同步骤中采用不同格式。例如,在构思步骤(b2)中,Alex 的三个演示问题被并行解决,从而创建了模型调用的三个路径。随后在合成点(b3)中,将三个问题和建议集合合并为一个集合。一些示例定义每个操作所需的数据类型以及对应的提示弱化和解析器。为了反映接受单个字符串并且输出想法列表的构思,其提示模板能够包括例如就在输出文本之前的“1”,以鼓励生成列表,并且还基于这样的编号将输出解析成列表。
这些示例默认不仅提供跨域的工程和链接模型函数上的稳定和一致的起始点,而且指定终端用户如何能够与模型链交互的示例。例如,当构造模型链时,用户能够定义数据层并且选择操作;并且如果他们希望定制步骤,他们也可以细化任务描述,或可选地包括应用特定示例任务。下一节展示了这些设计如何能够用作交互式模型链执行和定制的底层数据结构的示例。
示例用户界面
本节描述了支持用户与模型链交互的交互式界面,包括修改每个步骤的提示和中间模型输出,以及定制链。在该节中描述的示例界面被提供仅作为示例。能够使用具有更多或更少功能或粒度的其它界面。
示例设计基本原理
某些示例模型链接口的三个示例设计基本原理如下:
视觉上反映底层链结构。一些更简单的示例实施方式能够使用静态幻灯片板面来解释链结构,该静态幻灯片板面突出显示在每个步骤产生的数据。然而,其他更丰富的示例界面能够提供更多信息,该信息帮助用户理解在每个步骤处采取的操作以到达这些数据层(例如,分割点、构思、合成点)。这能够让用户通过模型链可视地跟踪进程。为了实现这一点,一些示例界面能够反映在链的每个步骤内的数据层以及数据操作和提示细节。
提供不同粒度的控制。一些用户喜欢灵活控制。因此,一些示例界面能够支持对模型链的本地修改(例如,改变一个任务描述)和全局修改(例如,改变步骤如何连接)。此外,交互的容易程度能够与控制的水平一致。用户频繁地对在模型步骤之间流动的中间数据点进行本地修复,并且因此示例界面能够允许原地编辑,而无需显式地切换到编辑模式。另一方面,重新布线整个链具有更有影响的结果,并且倾向于覆盖底层结构。因此,一些示例实施方式默认地隐藏该级别的修改。
结构化控件仍应该反映LLM所支持的自然语言交互。一些示例实施方式能够将数据格式化为结构化表,其中每个数据层是列。然而,在单元格中进行文本编辑可能感觉不自然,因为用户可能失去通过自然语言与模型交互的感觉。因此,为了保留自然交互体验,一些示例界面能够将这些结构保持为内嵌文本字段。
示例界面设计和实施方式
遵循上述基本原理的一个示例界面设计在图2A-C、图3A-B、图4 和图5A-E中示出。图2A-C、图3A-B、图4和图5A-E中的界面包括三个主要视图或模式,或者可以以三个主要视图或模式操作:链视图(图2A、图3A、图4和图5A-E)、步骤视图(图2B/C)和节点视图(图3B)。
链视图。图2A通过流程图描绘了高级链接结构。它包含紧密反映上述基础设计的三种主要视觉提示。首先,示例界面能够使用灰色字形来表示模型操作,其中形状指示1-1(矩形)、1-N(梯形)和N-1(倒梯形)数据映射。点击这些字形能够允许用户选择放大哪个步骤,并且步骤视图将作为响应而改变(如稍后所讨论的)。然后,为了表示数据层,示例界面能够使用具有彩色条的矩形,并且能够在矩形中包括前缀和细节。用户还能够通过行预览数据条目,例如,图2a2,其在每个LLM执行之后被更新,并且因此跟踪模型链执行进度。最后,示例界面可以用虚线箭头联接这些元素以突出显示哪个数据输出用作哪个步骤的输入,并且使用箭头编号来粗略地反映该步骤期望单个输入/输出(例如,对分割点的单个反馈)还是它们中的多个(例如,进入构思的多个问题)。
图3A通过节点链接图描绘另一示例高级链接结构。每个矩形可以描绘能够表示链中的单个步骤的节点,其中它们之间的边表示这些节点如何连接,或者一个节点的输出如何用作对下一节点的输入。具体地,如图5A-E (图4的放大节点402)所示,每个节点能够具有一个或多个命名的输入和输出(例如,“user”是命名的输入,“is_music”是“Is aboutmusic(是关于音乐)”步骤中的命名的输出)。用户能够通过将边从一个节点的输出(例如,“is_music”)拖到下一节点的输入来连接两个节点,例如,图4的用户403。能够提供节点预览以增加链接透明度,包括突出显示节点是否包含误差的状态图标,分支预览(例如,图5C,“Hey there,what’ s up(你好,怎么了)”显示在“not_music”之后),以及输入和输出数据的可选的详细预览,如图5D中所见。
此外,能够定义若干类型的节点。特别地,用户能够从节点库中进行选择。例如,节点库能够向用户提供一个或多个可用的节点类型,用户能够在一个或多个节点处从这些节点类型中进行选择。下面的表3示出了能够被定义的示例节点类型。
表3:节点类型的示例,包括核心LLM节点、用于数据转换和评估的帮助节点、以及用于与外部用户或服务交换LLM数据的通信节点。
具体地,可以有两种总体类型的LLM节点;用户能够通过提供自然语言提示来实现这些节点,利用该提示作为输入来调用LLM,并且相应地使用LLM输出。计算系统还能够提供帮助节点以帮助解决数据转换和评估需要。此外,计算系统还能够允许熟悉基本编程的那些作者实现他们自己的定制JavaScript(JS)节点以最大化灵活性。最后,为了支持用户对注入AI的应用进行原型设计,计算系统能够提供用于与外部世界交换数据的若干通信节点。例如,用户动作节点能够模仿终端用户检查和编辑LLM输出的体验,而像调用YouTubeAPI节点的API节点在原型设计中能够集成专业服务和LLM功能。
最后,计算系统能够提供频繁组成的(子)链的示例图库。LLM的广泛能力意味着用户可能需要帮助开发能力最可能有用的精神模型。计算系统的图库能够示出示例链中所使用的常见LLM能力,以帮助用户充分利用LLM能力。它也能够用作对提示模式集合的软窗口抖动(nudge),使得用户的提示更可能与预定义的处理节点兼容(例如,图3A中的提取字符串到列表解析器)。这些示例也能够被列出在节点库中,使得用户能够决定他们是否想要从头开始,或者编辑现有链。
步骤视图。图2B中的这个视图允许用户通过与输入、输出和底层提示结构交互来探索每个模型步骤。它被分成指令块和几个运行块,以反映可能的并行路径。运行块表示独立路径,每个表示不同的LLM调用,并且指令块是应用于所有运行块的总体驱动力。它们可以被组合以形成最终提示。例如,图2B的步骤2是仅针对“太多文本”查询建议的最终提示。它从b1中的描述开始,并且其后合并运行块中的文本,从而忽略其它不相关的问题。
每个运行块在视觉上类似于具有多个可编辑文本字段但是具有颜色和样式的文本区域。它以与数据矩形相同的颜色示出冒号之前的前缀字段 (例如,用于改进的简短建议,c1),这有助于用户区分数据层。此后,它在文本字段(C2)和文本字段列表(b4)之间切换,以反映操作的数据类型是字符串还是字符串列表。所有这些字段都是可编辑的,其中前者影响数据层,而后者影响中间数据条目。
步骤视图还处理每个步骤的执行。用户能够点击小“run(运行)”按钮来单独地执行每个运行块。为了提高自然语言交互透明度,这也将触发最终提示文本(b2)的预览。输出被解析并且被添加到对应的输出字段 (例如,在“2)使用项目符号点之后的增长列表)以供用户进一步迭代。完成的运行块能够被使用“作为示例”(图2B中的b3),即,被移动到指令块中并且用作其他剩余的运行块的少镜头示例,从而逐渐地改进指令块的质量。替代地,用户能够使用顶部的播放按钮来一次运行所有并行块,以查看(并且比较)他们的结果。
节点视图。图3B中的这个视图允许用户检查、实现和测试各个节点。当节点被选择时,面板能够根据节点类型而改变。对于LLM节点,计算系统能够示出用于以自由形式文本书写和编辑提示的轻量面板。计算系统能够基于提示或函数直接解析输入和输出名称。例如,如果用户将图5A 中的粗体字符串[[user]]改变为[[user input(用户输入)]],则“Isabout music”的输入也将被重命名为“user input”。这确保了,即使用户选择从整体结构分开地创建每个节点,这两层实施方式总是保持彼此兼容(例如,当改变提示时,将不存在“reference(引用)”的过时处理)。类似地,对于如图5B中的JavaScript节点,我们直接从函数解析节点名称、输入和输出处理。
示例交互和控件。值得注意的是,利用,存在具有该示例界面的从提示的本地定制到模型链结构的全局修改的三个级别的可用控件,每个级别具有关于其影响的清楚提示。首先,用户能够通过改变其描述并且保存某些完成的运行块来定制对特定步骤的提示,使用图2B的b1和b3的少样本示例。由于定制仅应用于当前步骤,因此所有其它视图保持不变。其次,用户能够通过添加、删除或编辑数据条目内容(例如,在b4中“读取大纲”为粗体大纲)或通过重命名数据层(例如,在a1中将“Alex的演示问题”改述为“Alex的评论”)来定制经变换的数据。这些改变影响立即的聚焦步骤以及涉及相同层的其它步骤(例如,合成点在“问题”和“建议”层两者中都发生)两者,并且因此它们能够在链视图中的着色矩形中改变,或者通过图2B中的文本字段改变。最后,用户能够通过直观的视觉编程通过在视觉视图中添加、移除和重新布线操作或数据层来更积极地修改模型链结构本身。然后,该改变将导致整个模型链重新渲染,其中所有默认值(例如,温度、指令)都被可选地刷新。
示例交互式调试功能。关于在创作链接的LLM时级联误差的可能性,计算系统能够支持在各种粒度水平的链调试。首先,为了单元测试每个节点,用户能够使用所提供的测试块(例如,来自图5E的502)来测试每个节点,其中示例独立于剩余链。第二,为了执行端到端评估,用户能够运行整个链并且每节点记录输出,使得最终链输出易于检索(例如,来自图5E的504)。第三,为了帮助用户将全局误差映射到局部原因,计算系统能够支持断点调试,并且允许用户在节点的输出被馈送到下一节点之前直接编辑该输出。通过固定中间节点输出,用户能够独立于较早误差来测试下游节点的子集。
示例设备和系统
图6A描绘了根据本公开的示例实施例的示例计算系统100的框图。系统100包括通过网络180通信耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102能够是任何类型的计算设备,诸如,例如,个人计算设备(例如,膝上型或台式计算机)、移动计算设备(例如,智能电话或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112能够是任何合适的处理设备(例如,处理器核、微处理器、 ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或被可操作地连接的多个处理器。存储器114能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器114能够存储数据116和指令118,其由处理器112 执行以使用户计算设备102执行操作。
在一些实施方式中,用户计算设备102能够存储或包括一个或多个机器学习模型120。例如,机器学习模型120能够是或能够以其他方式包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他类型的机器学习模型,包括非线性模型和/或线性模型。神经网络能够包括前馈神经网络、循环神经网络(例如,长短期记忆循环神经网络)、卷积神经网络或其他形式的神经网络。一些示例机器学习模型能够利用注意机制,诸如自我注意。例如,一些示例机器学习模型能够包括多头自我注意模型(例如,变压器模型)。
在一些实施方式中,一个或多个机器学习模型120能够通过网络180 从服务器计算系统130被接收、被存储在用户计算设备存储器114中,并且然后由一个或多个处理器112使用或以其他方式被实现。在一些实施方式中,用户计算设备102能够实现单个机器学习模型120的多个并行实例 (例如,以执行跨输入的多个实例的并行处理)。
另外或替代地,一个或多个机器学习模型140能够被包括在根据客户端-服务器关系与用户计算设备102通信的服务器计算系统130中或以其他方式由其存储和实现。例如,机器学习模型140能够由服务器计算系统140 实现为web服务(例如,模型创建/交互服务)的一部分。因此,一个或多个模型120能够在用户计算设备102处被存储并且被实现,和/或一个或多个模型140能够在服务器计算系统130处被存储并被实现。另外或替代地,一个或多个机器学习模型190能够作为服务通过网络180访问。例如,能够使用一个或多个应用程序编程接口(API)对模型190进行调用(例如,对推理的请求)。
用户计算设备102还能够包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122能够是对用户输入对象(例如,手指或触控笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件能够用于实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户能够通过其提供用户输入的其他装置。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132能够是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或被可操作地连接的多个处理器。存储器134能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器134能够存储数据136和指令138,其由处理器 132执行以使服务器计算系统130执行操作。
在一些实施方式中,服务器计算系统130包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。在服务器计算系统 130包括多个服务器计算设备的情况下,这种服务器计算设备能够根据顺序计算架构、并行计算架构或其某种组合来操作。
如上所述,服务器计算系统130能够存储或以其他方式包括一个或多个机器学习模型140。例如,模型140能够是或以其他方式包括各种机器学习模型。示例机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、循环神经网络和卷积神经网络。一些示例机器学习模型能够利用注意机制,诸如自我注意。例如,一些示例机器学习模型能够包括多头自注意模型(例如,变压器模型)。
用户计算设备102和/或服务器计算系统130能够经由与通过网络180 通信地耦合的训练计算系统150的交互来训练模型120和/或140。训练计算系统150能够与服务器计算系统130分开,或者能够是服务器计算系统 130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152能够是任何合适的处理设备(例如,处理器核、微处理器、 ASIC、FPGA、控制器、微控制器等),并且能够是一个处理器或被可操作地连接的多个处理器。存储器154能够包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等及其组合。存储器154能够存储数据156和指令158,其由处理器152 执行以使训练计算系统150执行操作。在一些实施方式中,训练计算系统 150包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。
训练计算系统150能够包括模型训练器160,其使用诸如例如误差的向后传播的各种训练或学习技术来训练存储在用户计算设备102和/或服务器计算系统130处的机器学习模型120和/或140。例如,损失函数能够通过模型被反向传播以(例如,基于损失函数的梯度)更新模型的一个或多个参数。能够使用各种损失函数,诸如均方误差、似然损失、交叉熵损失、铰链损失和/或各种其他损失函数。梯度下降技术能够被用于在多次训练迭代中迭代地更新参数。
在一些实施方式中,执行误差的向后传播能够包括执行通过时间截断的向后传播。模型训练器160能够执行多种一般化技术(例如,权重衰减、掉队等)以提高被训练的模型的一般化能力。
具体地,模型训练器160能够基于训练数据162的集合来训练机器学习模型120和/或140。在一些实施方式中,如果用户已经提供同意,则训练示例能够由用户计算设备102提供。因此,在这种实施方式中,提供给用户计算设备102的模型120能够由训练计算系统150对从用户计算设备 102接收到的用户特定数据进行训练。在一些情况下,该处理能够被称为对模型个性化。
模型训练器160包括用于提供所期望的功能的计算机逻辑。模型训练器160能够以控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现方式中,模型训练器160包括存储在存储设备上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器160包括存储在诸如RAM硬盘或光介质或磁介质的有形计算机可读存储介质中的一个或多个计算机可执行指令集合。
网络180能够是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,互联网)、或其某种组合,并且能够包括任何数量的有线或无线链路。通常,网络180上的通信能够经由任何类型的有线和/或无线连接、使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、 SSL)来承载。
本说明书中描述的机器学习模型可以被用于各种任务、应用和/或用例。
在一些实施方式中,对本公开的机器学习模型的输入能够是图像数据。机器学习模型能够处理图像数据以生成输出。作为示例,机器学习模型能够处理图像数据以生成图像识别输出(例如,图像数据的识别、图像数据的潜在嵌入、图像数据的编码表示、图像数据的散列等)。作为另一示例,机器学习模型能够处理图像数据以生成图像分段输出。作为另一示例,机器学习模型能够处理图像数据以生成图像分类输出。作为另一示例,机器学习模型能够处理图像数据以生成图像数据修改输出(例如,图像数据的改变等)。作为另一示例,机器学习模型能够处理图像数据以生成编码图像数据输出(例如,图像数据的编码和/或压缩表示等)。作为另一示例,机器学习模型能够处理图像数据以生成经放大的图像数据输出。作为另一示例,机器学习模型能够处理图像数据以生成预测输出。
在一些实施方式中,本公开的机器学习模型的输入能够是文本或自然语言数据。机器学习模型能够处理文本或自然语言数据以生成输出。作为示例,机器学习模型能够处理自然语言数据以生成语言编码输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成隐性文本嵌入输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成翻译输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成分类输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成文本分段输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成语义意图输出。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成经缩放的文本或自然语言输出(例如,质量高于输入文本或自然语言的文本或自然语言数据等)。作为另一示例,机器学习模型能够处理文本或自然语言数据以生成预测输出。
在一些实施方式中,对本公开的机器学习模型的输入能够是语音数据。机器学习模型能够处理语音数据以生成输出。作为示例,机器学习模型能够处理语音数据以生成语音识别输出。作为另一示例,机器学习模型能够处理语音数据以生成语音翻译输出。作为另一示例,机器学习模型能够处理语音数据以生成隐性嵌入输出。作为另一示例,机器学习模型能够处理语音数据以生成编码语音输出(例如,语音数据的编码和/或压缩表示等)。作为另一示例,机器学习模型能够处理语音数据以生成经缩放的语音输出(例如,质量高于输入语音数据的语音数据等)。作为另一示例,机器学习模型能够处理语音数据以生成文本表示输出(例如,输入语音数据的文本表示等)。作为另一示例,机器学习模型能够处理语音数据以生成预测输出。
在一些实施方式中,对本公开的机器学习模型的输入能够是隐性编码数据(例如,输入的隐性空间表示等)。机器学习模型能够处理该隐性编码数据以生成输出。作为示例,机器学习模型能够处理隐性编码数据以生成识别输出。作为另一示例,机器学习模型能够处理隐性编码数据以生成重构输出。作为另一示例,机器学习模型能够处理隐性编码数据以生成搜索输出。作为另一示例,机器学习模型能够处理隐性编码数据以生成重新聚类输出。作为另一示例,机器学习模型能够处理隐性编码数据以生成预测输出。
在一些实施方式中,对本公开的机器学习模型的输入能够是统计数据。统计数据能够是、表示或以其他方式包括从某个其他数据源计算和/ 或计算出的数据。机器学习模型能够处理统计数据以生成输出。作为示例,机器学习模型能够处理统计数据以生成识别输出。作为另一示例,机器学习模型能够处理统计数据以生成预测输出。作为另一示例,机器学习模型能够处理统计数据以生成分类输出。作为另一示例,机器学习模型能够处理统计数据以生成分段输出。作为另一示例,机器学习模型能够处理统计数据以生成可视化输出。作为另一示例,机器学习模型能够处理统计数据以生成诊断输出。
在一些实施方式中,对本公开的机器学习模型的输入能够是传感器数据。机器学习模型能够处理传感器数据以生成输出。作为示例,机器学习模型能够处理传感器数据以生成识别输出。作为另一示例,机器学习模型能够处理传感器数据以生成预测输出。作为另一示例,机器学习模型能够处理传感器数据以生成分类输出。作为另一示例,机器学习模型能够处理传感器数据以生成分段输出。作为另一示例,机器学习模型能够处理传感器数据以生成可视化输出。作为另一示例,机器学习模型能够处理传感器数据以生成诊断输出。作为另一示例,机器学习模型能够处理传感器数据以生成检测输出。
在一些情况下,机器学习模型能够被配置为执行包括对输入数据进行编码以用于可靠和/或有效的传输或存储(和/或对应的解码)的任务。例如,该任务可以是音频压缩任务。输入可以包括音频数据,并且输出可以包括压缩音频数据。在另一示例中,输入包括视觉数据(例如,一个或多个图像或视频),输出包括压缩视觉数据,并且任务是视觉数据压缩任务。在另一示例中,任务可以包括生成对输入数据(例如,输入音频或视觉数据)的嵌入。
在某些情况下,输入包括视觉数据,并且任务是计算机视觉任务。在一些情况下,输入包括一个或多个图像的像素数据,并且任务是图像处理任务。例如,图像处理任务能够是图像分类,其中输出是分值集合,每个分值对应于不同的对象类并且表示一个或多个图像描绘属于对象类的对象的可能性。图像处理任务可以是对象检测,其中图像处理输出标识一个或多个图像中的一个或多个区域,并且对于每个区域,标识区域描绘感兴趣对象的可能性。作为另一示例,图像处理任务能够是图像分段,其中图像处理输出针对一个或多个图像中的每个像素定义预定类别集合中的每个类别的相应可能性。例如,类别集合能够是前台和后台。作为另一示例,类别集合能够是对象类。作为另一示例,图像处理任务能够是深度估计,其中图像处理输出针对一个或多个图像中的每个像素定义相应的深度值。作为另一示例,图像处理任务能够是运动估计,其中网络输入包括多个图像,并且图像处理输出针对输入图像中的一个的每个像素定义在网络输入中的图像之间的像素处描绘的场景的运动。
在某些情况下,输入包括表示口头话语的音频数据,并且任务是语音识别任务。输出可以包括映射到口头话语的文本输出。在一些情况下,任务包括加密或解密输入数据。在一些情况下,任务包括微处理器性能任务,诸如分支预测或存储器地址转换。
图6A图示能够被用于实现本公开的一个示例计算系统。也能够使用其它计算系统。例如,在一些实施方式中,用户计算设备102能够包括模型训练器160和训练数据集162。在这种实施方式中,模型120能够在用户计算设备102处被本地训练并且使用。在一些这种实现方式中,用户计算设备102能够现模型训练器160以基于用户特定数据来对模型120个性化。
图6B描绘根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10能够是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1至N)。每个应用包含其自己的机器学习库和机器学习模型。例如,每个应用能够包括机器学习模型。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图6B所图示,每个应用能够与计算设备的多个其它组件通信,诸如,例如,一个或多个传感器、场境管理器、设备状态组件、和/或附加的组件。在一些实施方式中,每个应用能够使用API(例如,公共API)与每个设备组件通信。在一些实施方式中,每个应用所使用的API专用于该应用。
图6C描绘根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50能够是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1至N)。每个应用与中央智能层通信。示例应用包括文本消息应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。在一些实施方式中,每个应用能够使用API (例如,跨所有应用的公共API)与中央智能层(以及存储在其中的模型) 通信。
中央智能层包括多个机器学习模型。例如,如图6C所图示,能够为各个应用提供相应的机器学习模型,并且由中央智能层管理。在其他实现方式中,两个或多个应用能够共享单个机器学习模型。例如,在一些实施方式中,中央智能层能够为所有应用提供单个模型。在一些实施方式中,中央智能层被包括在计算设备50的操作系统内或以其他方式由计算设备 50的操作系统实现。
中央智能层能够与中央设备数据层通信。中央设备数据层能够是计算设备50的数据的集中式存储库。如图6C所图示,中央设备数据层能够与计算设备的多个其他组件通信,诸如,例如,一个或多个传感器、场境管理器、设备状态组件、和/或另外的组件。在一些实施方式中,中央设备数据层能够使用API(例如,私有API)与每个设备组件通信。
附加公开
本文中讨论的技术参考服务器、数据库、软件应用和其它基于计算机的系统,以及所采取的动作和发送到这些系统以及来自这些系统的信息。基于计算机的系统的固有灵活性允许组件之间的任务和功能的各种各样的可能配置、组合和划分。例如,本文中讨论的处理能够使用单个设备或组件或者组合工作的多个设备或组件来实现。数据库和应用能够在单个系统上实现或分布在多个系统上。分布组件能够顺序地操作或并行地操作。
虽然已相对于本发明标的物的各个特定实例实施例详细描述了本发明主题,但每个示例以解释而非限制本发明的方式被提供。本领域技术人员在理解了上述内容时,能够容易地产生对这些实施例的改变、变化和等效替换。因此,本主题公开不排除包括对本领域普通技术人员显而易见的对本主题的这种修改、变化和/或添加。例如,作为一个实施例的一部分图示或描述的特征能够与另一实施例一起使用,以产出又一实施例。因此,本公开旨在覆盖这样的改变、变化和等价形式。
Claims (20)
1.一种链接一个或多个机器学习语言模型以提供改进的可解释性的计算系统,所述计算系统包括:
一个或多个处理器;以及
共同存储指令的一个或多个非暂时性计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述计算系统执行操作,所述操作包括:
接收初始语言输入;
利用模型链处理所述初始语言输入以生成语言输出,
其中,所述模型链包括一个或多个机器学习语言模型的多个模型实例化,
其中,每个模型实例化被配置为接收和处理模型输入以生成模型输出,其中,所述模型输入的至少一部分包括描述由所述模型实例化在所述模型输入上执行以生成所述模型输出的任务的模型提示,以及
其中,所述模型链中的所述多个模型实例化被顺序地排列,使得除了所述模型链中的初始模型实例化之外,所述模型链中的每个模型实例化的相应模型输入包括来自所述模型链中的顺序上先前的模型实例化的相应模型输出;以及
提供所述语言输出作为输出。
2.根据权利要求1所述的计算系统,其中,所述操作还包括:
提供用户界面,所述用户界面被配置为提供所述模型链的可视化并且接收用于所述模型链的模块化构造的用户输入。
3.根据权利要求1所述的计算系统,其中,所述操作还包括:
提供用户界面,所述用户界面被配置为接收用于编辑对所述模型链中的每个模型实例化的相应模型提示的用户输入。
4.根据权利要求1所述的计算系统,其中,对所述模型链中的每个模型实例化的相应模型提示是用户能从与原语子任务相对应的多个预定义模板提示中选择的。
5.根据权利要求1所述的计算系统,其中,所述操作还包括:
提供用户界面,所述用户界面可视化并且能够编辑所述模型链中的所述多个模型实例化中的至少一个的相应模型输出;
经由所述用户界面接收修改所述模型链中的所述多个模型实例化中的所述至少一个的所述相应模型输出的用户输入;以及
在将所述相应模型输出输入到所述模型链中的顺序上后续模型实例化中之前,根据所述用户输入来修改所述相应模型输出。
6.根据权利要求5所述的计算系统,其中,响应于接收到的用户输入,所述操作还包括:
改变所述模型链中的所述多个模型实例化中的所述至少一个的所述相应模型输出的内容;
从所述模型链中的所述多个模型实例化中的所述至少一个的所述相应模型输出中删除内容;或者
将内容添加到所述模型链中的所述多个模型实例化中的所述至少一个的所述相应模型输出。
7.根据权利要求1所述的计算系统,其中:
所述一个或多个机器学习语言模型包括单个机器学习语言模型;以及
所述多个模型实例化包括所述单个机器学习语言模型的多个模型实例化。
8.根据权利要求1所述的计算系统,其中:
所述一个或多个机器学习语言模型包括两个或更多个不同的机器学习语言模型;以及
所述多个模型实例化包括所述两个或更多个不同的机器学习语言模型的多个模型实例化。
9.根据权利要求1所述的计算系统,其中:
所述模型链被配置为对所述初始语言输入执行元任务以生成所述语言输出;以及
所述模型链中的所述一个或多个机器学习语言模型的所述多个模型实例化中的每一个被配置为执行所述元任务的多个不同组件子任务中的相应一个。
10.根据权利要求1所述的计算系统,其中,所述模型链中的所述多个模型实例化中的至少一个的所述相应模型输入包括:
来自所述模型链中的所述顺序上先前的模型实例化的模型输出;以及
来自所述模型链中的每一个都在所述模型链中的所述顺序上先前的模型实例化之前的一个或多个模型实例化的所述模型输出。
11.根据权利要求1所述的计算系统,其中,所述语言输出包括自然语言输出。
12.根据权利要求1所述的计算系统,其中,所述语言输出包括编程语言输出。
13.根据权利要求1-12中任一项所述的计算系统,其中,所述一个或多个机器学习语言模型中的至少一个与所述计算系统分开存储并且经由应用编程接口访问。
14.一种用于实现语言模型链的模块化构建、控制和可解释性的计算机实现的方法,所述方法包括:
接收初始语言输入;
提供可视化并且使得用户能够编辑被配置为处理所述初始语言输入以生成语言输出的模型链的用户界面,其中,所述模型链包括一个或多个机器学习语言模型的多个模型实例化,所述多个模型实例化顺序地排列,使得除了所述模型链中的初始模型实例化之外,所述模型链中的每个模型实例化的相应模型输入包括来自所述模型链中的顺序上先前的模型实例化的相应模型输出;
利用所述模型链处理所述初始语言输入以生成所述语言输出;以及
提供指示所述模型链中的所述多个模型实例化中的一个或多个的相应模型输出的数据以用于在所述用户界面内显示。
15.根据权利要求14所述的计算机实现的方法,其中:
提供指示所述多个模型实例化中的所述一个或多个的相应模型输出的数据以用于在所述用户界面内显示包括以描绘所述模型链的结构的链视图模式提供所述用户界面。
16.根据权利要求15所述的计算机实现的方法,其中,在所述链视图模式中,所述用户界面被配置为接收用于编辑所述模型链的结构的用户输入。
17.根据权利要求14所述的计算机实现的方法,其中:
提供指示所述多个模型实例化中的所述一个或多个的相应模型输出的数据以用于在所述用户界面内显示包括以步骤视图模式提供所述用户界面,在所述步骤视图模式中,所述用户界面被配置为接收用户输入以用于针对所述多个模型实例化中的所述一个或多个中的每一个编辑形成所述多个模型实例化中的所述一个或多个的相应模型输入的一部分的相应提示。
18.根据权利要求14所述的计算机实现的方法,进一步包括:
向所述用户提供从所述模型链添加或移除模型实例化以及编辑所述模型链中的模型实例化之间的连接。
19.根据权利要求14-18中的任一项所述的计算机实现的方法,进一步包括:
提供使得所述用户能够放大与所述多个模型实例化中的一个模型实例化相关联的视觉块以编辑与所述模型实例化相关联的所述相应模型输入的工具。
20.根据权利要求14-18中的任一项所述的计算机实现的方法,进一步包括:
提供使得所述用户能够放大与所述多个模型实例化中的一个模型实例化相关联的视觉块以编辑与所述模型实例化相关联的所述相应提示的工具。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163251264P | 2021-10-01 | 2021-10-01 | |
US63/251,264 | 2021-10-01 | ||
US202263315648P | 2022-03-02 | 2022-03-02 | |
US63/315,648 | 2022-03-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115796299A true CN115796299A (zh) | 2023-03-14 |
Family
ID=85432511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211214276.0A Pending CN115796299A (zh) | 2021-10-01 | 2022-09-30 | 经由机器学习语言模型的链的透明且可控的人智交互 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230112921A1 (zh) |
CN (1) | CN115796299A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595342A (zh) * | 2023-07-07 | 2023-08-15 | 北京数巅科技有限公司 | 人群圈选的方法、装置和设备及存储介质 |
CN116603249A (zh) * | 2023-07-19 | 2023-08-18 | 深圳须弥云图空间科技有限公司 | 应用于角色扮演推理类游戏的大语言模型的训练方法 |
CN116992006A (zh) * | 2023-09-26 | 2023-11-03 | 武汉益模科技股份有限公司 | 一种大语言模型驱动的链式自然语言交互方法与系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303980B (zh) * | 2023-05-19 | 2023-08-15 | 无码科技(杭州)有限公司 | 一种大语言模型知识增强方法、系统、电子设备及介质 |
CN116451678B (zh) * | 2023-06-15 | 2023-11-14 | 阿里巴巴(中国)有限公司 | 数据关系识别及数据表整合方法 |
CN116594757B (zh) * | 2023-07-18 | 2024-04-12 | 深圳须弥云图空间科技有限公司 | 利用大语言模型执行复杂任务的方法及装置 |
CN117034921B (zh) * | 2023-07-26 | 2024-04-05 | 中国海洋大学 | 一种基于用户数据的提示学习训练方法、装置和介质 |
CN117112777B (zh) * | 2023-10-24 | 2024-01-26 | 北京睿企信息科技有限公司 | 一种基于llm的多任务数据处理方法及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11030414B2 (en) * | 2017-12-26 | 2021-06-08 | The Allen Institute For Artificial Intelligence | System and methods for performing NLP related tasks using contextualized word representations |
US20210035556A1 (en) * | 2019-08-02 | 2021-02-04 | Babylon Partners Limited | Fine-tuning language models for supervised learning tasks via dataset preprocessing |
CN114420159A (zh) * | 2020-10-12 | 2022-04-29 | 苏州声通信息科技有限公司 | 音频评测方法及装置、非瞬时性存储介质 |
US11934795B2 (en) * | 2021-01-29 | 2024-03-19 | Oracle International Corporation | Augmented training set or test set for improved classification model robustness |
-
2022
- 2022-09-30 US US17/957,526 patent/US20230112921A1/en active Pending
- 2022-09-30 CN CN202211214276.0A patent/CN115796299A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595342A (zh) * | 2023-07-07 | 2023-08-15 | 北京数巅科技有限公司 | 人群圈选的方法、装置和设备及存储介质 |
CN116595342B (zh) * | 2023-07-07 | 2023-09-29 | 北京数巅科技有限公司 | 人群圈选的方法、装置和设备及存储介质 |
CN116603249A (zh) * | 2023-07-19 | 2023-08-18 | 深圳须弥云图空间科技有限公司 | 应用于角色扮演推理类游戏的大语言模型的训练方法 |
CN116603249B (zh) * | 2023-07-19 | 2023-10-03 | 深圳须弥云图空间科技有限公司 | 应用于角色扮演推理类游戏的大语言模型的训练方法 |
CN116992006A (zh) * | 2023-09-26 | 2023-11-03 | 武汉益模科技股份有限公司 | 一种大语言模型驱动的链式自然语言交互方法与系统 |
CN116992006B (zh) * | 2023-09-26 | 2024-01-12 | 武汉益模科技股份有限公司 | 一种大语言模型驱动的链式自然语言交互方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
US20230112921A1 (en) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115796299A (zh) | 经由机器学习语言模型的链的透明且可控的人智交互 | |
CN108388425B (zh) | 一种基于lstm自动补全代码的方法 | |
Hassan et al. | Useful products in information systems theorizing: A discursive formation perspective | |
CN108563433B (zh) | 一种基于lstm自动补全代码的装置 | |
Spierling et al. | Towards accessible authoring tools for interactive storytelling | |
KR102620904B1 (ko) | 자연 솔루션 언어 | |
Sperrle et al. | Lotse: A practical framework for guidance in visual analytics | |
US20150331851A1 (en) | Assisted input of rules into a knowledge base | |
Devi et al. | ChatGPT: Comprehensive Study On Generative AI Tool | |
Lokman et al. | Extension and prerequisite: An algorithm to enable relations between responses in chatbot technology | |
Knuuttila | From representation to production: Parsers and parsing in language technology | |
Ethape et al. | Smart Automation Using LLM | |
Martínez-Gárate et al. | Model-Driven Approaches for Conversational Agents Development: A Systematic Mapping Study | |
Blumendorf | Multimodal interaction in smart environments: a model-based runtime system for ubiquitous user interfaces. | |
CN113761945A (zh) | 基于翻译的自动输入方法、装置、设备及计算机存储介质 | |
Grifoni et al. | When language evolution meets multimodality: Current status and challenges toward multimodal computational models | |
Wang et al. | Enhancing user experience in large language models through human-centered design: Integrating theoretical insights with an experimental study to meet diverse software learning needs with a single document knowledge base | |
Johnsson | An In-Depth study on the Utilization of Large Language Models for Test Case Generation | |
Htet et al. | ChatGPT in Content Creation: Techniques, Applications, and Ethical Implications | |
Karahan et al. | Use of language to generate architectural scenery with AI-powered tools | |
Bouchet et al. | A framework for modeling the relationships between the rational and behavioral reactions of assisting conversational agents | |
Kotlarsky et al. | A paradigm shift in understanding digital objects in IS: A semiotic perspective on artificial intelligence technologies | |
Melichar | Design of multimodal dialogue-based systems | |
de Andrade Cardieri et al. | How Communication Breakdowns Affect Emotional Responses of End-Users on Progressive Web Apps | |
Mamouni et al. | ZCMGenerator: Generation of ZCM Models from ZC2M Metamodel Based on MDA and ADM Approaches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |