一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有渲染的图形输出的会话AI平台的制作方法

2022-06-12 06:38:22 来源:中国专利 TAG:

具有渲染的图形输出的会话ai平台


背景技术:

1.在跨各种平台上,会话人工智能(ai)助手变得越来越普遍,以用于实现用户的口头请求。例如,智能设备,如电话、计算机、平板计算机、显示器和扬声器,可以利用ai助手来与用户的口头信息请求(例如,天气、新闻、金融信息等)和/或智能设备的或以通信方式耦合的设备的激活请求(例如,播放歌曲、装备安全系统、订购物品等)进行交互。此外,这些ai助手可以响应于请求在显示器上显示信息——例如,加载一个网页、执行一个音乐应用程序的图形用户界面、提供一个任务正在完成的视觉指示器、显示一个所请求的视频剪辑、表演或电影,等等。
2.然而,这些ai助手通常不包括ai助手本身的图形表示或视觉拟人化,导致明显非人格化的交互。这因依赖于来自用户的口头输入而进一步加剧,这些口头输入不允许底层ai在交互期间适当地分析用户的情绪、姿态、音调或移动。例如,即使设备包括摄像机,在交互过程中也没有利用来自摄像机或其他模式的信息来更适当地响应用户的请求。类似地,由于ai助手仅以音频形式表达,因此上下文信息(例如,来自图形的信息)可能无法从ai助手的响应中获得。进一步,ai助手通常需要语音触发或按钮激活以指示请求的开始,然后需要触发的另一实例以用于任何后续请求或交互。这样,这些ai助手需要一组结构化的输入以产生一组结构化的输出,最常见地表现形式为简单的问答交流,本质上消除个性化人际交互的潜在方面。
3.此外,单个ai助手通常负责响应各种不同领域中的请求——例如,食物订购、定时器设置、警报系统的禁用、播放音乐等。然而,因为单个ai助手负责整个可能的领域,所以请求经常被路由到请求的错误域的规则集,从而导致不适当或不准确的响应。因此,这些ai助手在某些域中可能被证明是无效的,即使在ai助手可能有一条通往所需知识的路径(例如,经由域特定应用编程接口(api))——例如,由于请求的不适当路由。


技术实现要素:

4.与如上所述的常规系统相比,本公开的系统和方法提供了用于在包括音频、视频和/或文本输出设备的任何应用内托管或集成会话ai助手的平台和管线。例如,会话ai助手可以使用独立于任何具体应用的系统来执行管理,也可以使用视频、音频、文本和/或用户输入设备的输入与应用程序集成。这样,用户的音频、文本、视频和/或用户输入数据可以通过系统接收、处理和用于渲染ai代理的视频、音频和/或文本响应,这些响应可以由与执行应用相关联的一个或更多个设备(例如,显示器、扬声器等)显示或以其他方式输出。使用声音、视觉和/或文本信息来分析会话还可以使得能够与ai代理交互,而无需用户口头触发或物理姿态来发起会话或交互。例如,可以处理嘴唇运动、注视方向、眼神接触(注视焦点)、言语线索、手势、身体姿势和/或其他生理或听觉信息以确定何时激活和停止ai代理,从而使得与ai代理进行更自然的会话交互,而不必过分影响或不必要地侵害用户的隐私权。ai代理的后台处理和渲染进一步使代理具有应用不可知性,因为专用应用程序编程接口(api)不需要在应用程序内执行ai代理-例如,只要应用被配置为显示视频和/或输出文本或音
频,就可以使用模拟或虚拟相机、麦克风、键盘和/或其他模拟或虚拟设备实现ai代理。
5.此外,由于ai代理的图形渲染状态,ai代理可以使用音频、视频和/或文本进行通信,从而为ai代理提供更沉浸式的人性化方面。例如,一个或更多个神经网络或机器学习技术可用于确定针对ai代理的视觉和/或听觉响应,而该听觉响应可与该视觉响应相结合(例如,使用嘴唇同步、手势等),从而以更交互的形式渲染ai代理。进一步,ai代理可以被放置在一个环境或位置,该环境或位置可以进一步被用于利用更沉浸的响应和交互,例如通过与ai代理的渲染场景中的虚拟对象进行交互——例如,当ai代理渲染建筑设计时,ai代理可以具有渲染的设计版本,以便接收到来自一个或更多个查看者的请求时,进行交互、导航或图形化操作。
6.与传统系统形成进一步对比,不同的ai代理可以用于不同的领域,其中可以通过请求(例如,通过名称)和/或基于来自用户的声音的、文本的和/或视觉的输入来选择特定的ai代理(例如,会话的分析可以辅助确定要渲染哪个ai代理实例)。因此,ai代理的视觉外观可以提供关于ai代理在其中操作的领域的上下文,任何数量的不同ai代理可以为任何特定应用程序和/或在任何时间渲染。
附图说明
7.下面参考附图详细描述用于虚拟动画和交互式代理的本系统和方法,其中:
8.图1a描述了根据本公开的一些实施例的示例ai辅助系统;
9.图1b描述了根据本公开的一些实施例的利用ai助手的示例视频会议系统;
10.图2a-2e根据本公开的一些实施例描绘了用于各种应用程序的ai助手的示例可视化;
11.图3是根据本公开的一些实施例用于在应用程序中实例化ai助手的方法的流程图;
12.图4是适用于实现本公开的一些实施例的示例计算设备的框图;以及
13.图5是适用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
14.本公开涉及了一种关于虚拟动画和交互式代理的系统和方法。本文描述的一个或更多个人工智能(ai)代理可以在任何数量的技术空间中和在任何数量的应用中实现,包括但不限于本文描述的那些。例如,可以用于视频会议应用程序(例如,参与会话以回答问题、显示信息等)、智能扬声器和/或智能显示应用程序(例如,用于播放音乐、视频、控制耦合设备、下订单、提供信息等)实现本文所描述的ai代理,车辆(例如,自动、半自动、非自动等)应用程序(例如,用于车内控制、交互、信息等)、餐厅应用程序(例如,用于点餐、与菜单交互等)、零售应用程序(例如,用于商店信息、商品信息等)、网络应用程序(例如,用于辅助浏览网页)、计算机辅助设计或建筑应用程序(例如,用于操纵、交互和/或显示设计、模型等)、客户服务应用(例如,使用视频电话来与所渲染的ai客户服务代理讲话),和/或在其他技术领域或应用程序中。
15.参考图1a,图1a是根据本公开的一些实施例的示例ai助手系统100(此处可替换地称为“系统100”)。应当理解,本文所述的这种和其他安排仅作为示例进行阐述。其他安排和
元素(例如,机器、界面、功能、顺序、功能分组等)可以用于附加或代替所示的内容,有些元素可以完全省略。进一步,本文描述的许多元素都是功能实体,它们可以作为离散或分布式组件实现,也可以与其他组件结合实现,并且可以在任何合适的组合和位置实现。本文描述为由实体执行的各个功能可由硬件、固件和/或软件执行。例如,可以通过处理器执行存储在存储器中的指令来实现各个功能。在一些实施例中,可以使用图4的示例计算设备400和/或图5的示例数据中心500所描述的类似特征、功能和/或组件来实现本文所描述的与图1a有关的特征、功能和/或组件中的至少一些。
16.系统100可以包括(一个或更多个)ai设备102、(一个或更多个)用户设备104和/或(一个或更多个)主机设备106,及其他。虽然在图1a中仅示出了单个(一个或更多个)ai代理设备102、(一个或更多个)单个用户设备104和(一个或更多个)单个主机设备106,但是这并不旨在进行限制,并且可以在系统100内实现任何数量的设备。此外,尽管ai代理设备102、用户设备104和主机设备106中的每一个被示为彼此独立的设备,但是这不旨在是限制性的。例如,根据实施例的不同,设备中的一个或更多个可被组合成单个设备(或诸如云计算环境中的设备组)。作为非限制性示例,在视频会议应用程序中,(一个或更多个)ai代理设备102可以包括支持ai代理在会议内通信的(一个或更多个)一个或更多个设备(例如,云计算环境中的服务器),(一个或更多个)用户设备104可以包括用于在会议内通信的用户的个人设备,并且(一个或更多个)主机设备106可以包括托管会议(例如,使用包括一个或更多个应用程序编程接口(api)的主机应用程序126)的一个或更多个设备(例如,云计算环境中的服务器)。作为另一个非限制性示例,在汽车应用程序中,ai代理设备102、用户设备104和主机设备106可以包括单个设备(例如,车辆内的超级计算机),或者可以包括车载设备(例如,超级计算机)和远程设备(例如,云计算环境中的一个或更多个服务器)的组合,其与车载设备通信以进行更新、响应更复杂任务的等。因此,(一个或更多个)ai代理设备102、(一个或更多个)用户设备104和(一个或更多个)主机设备106可以由同一用户或公司、不同用户或公司和/或其组合拥有、操作和/或支持。
17.(一个或更多个)ai代理设备102可以包括服务器、网络附属存储(nas)、api、后端设备和/或另一类型的设备。(一个或更多个)ai代理设备102可以支持ai代理或助手的功能,例如本文所述的那些功能。这样,在一些实施例中,(一个或更多个)ai代理设备102的组件、特征和/或功能中的一些或全部可以在(一个或更多个)用户设备104上本地执行。例如,在用户与(一个或更多个)用户设备104上的ai代理之间的某些任务、请求、交互和/或会话可以在(一个或更多个)用户设备104上本地处理。在实施例中,ai代理的组件、特征和/或功能中的一些或全部可以由ai代理设备102相对于用户设备104和/或主机设备106远程执行。例如,可以使用(一个或更多个)ai代理设备102接收和处理来自(一个或更多个)用户设备104和/或(一个或更多个)主机设备106的数据,并且可以将ai代理的响应或通信的视频流、音频流和/或文本流发送到(一个或更多个)用户设备104和/或(一个或更多个)主机设备106。
18.(一个或更多个)用户设备104可以包括智能电话、膝上型计算机、平板计算机、台式计算机、可穿戴设备、游戏控制台、可以包括ai代理或助手的智能家庭设备、和/或另一类型的设备。在一些示例中,(一个或更多个)用户设备104可以包括设备的组合(例如,智能电话和以通信方式耦合的智能手表或其他可穿戴设备),与其相关联的应用程序,包括与应用
程序的交互,可以使用设备中的一个或更多个来执行(例如,智能电话应用程序向智能手表应用程序推送通知,用户向智能手表提供输入,表示输入的数据经由智能电话传递到系统100的另一设备)。
19.主机设备106可以包括服务器、网络附属存储(nas)、api、后端装置、类似于本文描述的用户设备104的设备和/或另一类型的设备。主机设备106可以支持主机应用程序126的功能,通过该功能,ai代理与一个或更多个终端用户之间的交互(例如,通过用户设备104)被通信。例如,在视频会议应用程序中,主机设备106可以托管视频会议应用程序,并且ai代理设备102可以支持ai代理作为特定会议中的参与者,同时用户设备104可以支持用户作为会议中的另一参与者,例如,如本文所描述的关于图1b的视频会议系统100b所示。作为另一示例,在快餐订购应用程序中,主机应用程序126可以包括交互式菜单,其中ai代理帮助用户导航菜单以选择一个或更多个项目。根据这样的实施例,(一个或更多个)主机设备106可以位于餐馆本地(靠近餐馆),并且可以被实现为例如且不限于通信地耦合到订餐装置或自助服务终端的i/o组件120的计算设备。(一个或更多个)ai代理设备102可以位于远程(和/或本地),并且通过ai代理用于处理基于用户输入(例如,语音、文本、视频等)生成的数据和生成响应或交互。根据一个或更多个实施例,(一个或更多个)用户设备104可以不是必需的;可替代地,(一个或更多个)用户设备104可以是用于与(一个或更多个)主机设备106交互的用户设备(例如,向与(一个或更多个)主机设备106相关联的客户端应用程序116b提供触摸输入)。
20.ai代理设备102、用户设备104、主机设备106和/或系统100的其他组件可以通过网络108进行通信。网络可以包括广域网(wan)(例如,互联网、公共交换电话网(pstn)等)、局域网(lan)(例如,wi-fi、zigbee、z-wave、蓝牙、低功耗蓝牙(ble)、以太网等)、低功耗广域网(lpwan)(例如,lorawan、sigfox等)、全球导航卫星系统(gnss)网络(例如,全球定位系统(gps))和/或另一网络类型。在一些实施例中,(一个或更多个)ai代理设备102、(一个或更多个)用户设备104和/或(一个或更多个)主机设备106可以经由lan(例如,wi-fi、以太网等)和/或蜂窝网络(例如,4g、lte、5g等)通过wan(例如,互联网)进行通信——例如,其中,系统100在基于云的或分布式计算环境中实现。
21.通信组件110、118和/或124可以包括用于跨网络108中的一个或更多个进行通信的一个或更多个组件、特征和/或功能,例如但不限于本文描述的那些组件。作为非限制性示例,(一个或更多个)用户设备104可以通过路由器使用以太网和/或wi-fi连接,或通过一个或更多个信号塔的蜂窝连接来访问互联网,以便与(一个或更多个)ai代理设备102和/或(一个或更多个)主机设备106通信。ai代理设备102和/或主机设备106,例如,当对应于基于云的数据中心中的服务器或其他计算设备时,可以通过以太网访问互联网。这样,(一个或更多个)通信组件110、118和/或124可以被配置为在一种或多种网络类型上进行通信,并且可以在系统100的各个设备之间和之中通过一种或多种网络类型进行通信。
22.客户端应用程序116a、客户端应用程序116b和主机应用程序126可以对应于相关联的应用程序的不同实例。例如,在系统的视频会议实现方式中,例如,参照图1b所描述的,客户端应用程序116a和116b可以对应于使(一个或更多个)ai代理设备102和(一个或更多个)用户设备104分别能够加入视频会议的视频会议应用的相应实例。类似地,主机应用程序126可对应于视频会议的主机,该主机可包括的一个或更多个api,以用于在各个连接的
设备之间和之中交换数据。
23.(一个或更多个)ai代理设备102可以利用任何数量的并行处理单元来分析输入数据、处理数据和确定输出数据,例如,文本到语音音频数据和在虚拟环境内对ai代理的对应改变,该输出数据可以(例如,经由视频流、文本流、和/或音频流)被渲染和发送到一个或更多个用户设备104以用于显示和/或输出。合适的并行处理单元可以包括在gpu加速ai环境中的一个或更多个图形处理单元(gpu)。gpu可以通过ai引擎112和/或渲染器114被利用,如本文所描述的,和/或通过系统100的其他组件利用。此外,在一些实施例中,(一个或更多个)ai代理设备102和/或其他设备可以利用视频压缩技术来优化视频数据的传输。在一个或更多个实施例中,合适的视频压缩技术可以包括针对视频会议应用程序优化的压缩技术。这样的技术包括美国临时专利申请no.63/010511中描述的一些或全部组件、特征和/或功能,该申请于2020年4月15日提交,其全部内容通过引用并入本文。
24.(一个或更多个)ai代理设备102的ai引擎112可以处理传入的文本、音频和/或图像数据(例如,多模式数据),以确定文本、声音和/或视觉上传输的内容,并确定ai代理是否需要响应或输出,在输出被确定的地方应当输出什么响应,和/或如何输出响应(例如,以确定ai代理的音调、情绪、手势、动画等)。在一些实施例中,ai引擎112可以对应于或类似于来自nvidia公司的jarvisai平台,和/或可以包括如下所描述的组件、特征和/或功能中的一些或全部,如在2017年11月10日提交的美国专利申请no.15/809849;2018年9月20日提交的美国专利申请no.16/137064;2018年3月26日提交的美国临时专利申请no.62/648358;2018年10月8日提交的美国临时专利申请no.62/742923;2019年3月25日提交的美国专利申请no.16/363648;2020年1月27日提交的美国专利申请no.16/773883;2019年12月16日提交的美国临时专利申请no.62/948789;2019年12月16日提交的美国临时专利申请no.62/948793;2019年12月16日提交的美国临时专利申请no.62/948796;2020年4月27日提交的美国专利申请no.16/859;和/或2020年5月5日提交的美国专利申请no.16/867395,在此通过引用的形式将其全部内容合并。
25.ai引擎112可以包括ai系统,该ai系统可以使用诸如手势和凝视的视觉线索,连同上下文中的语音来确定应用程序内的响应或通信,例如,视觉的、声音的、机械的(经由用户输入设备)或文本的。例如,ai引擎112可以使用与语音输入融合的嘴唇位置和运动来识别主动说话者,并且凝视可以用于理解说话者是否参与ai代理、与用户处于相同位置的其他人、或参与应用程序的实例的其他人。凝视和嘴唇运动的这种组合可以对应于激活触发,如本文更详细描述的。ai引擎融合多模式数据的能力使得能够与ai代理同时进行多用户、多情境的会话——例如,与传统的、严格的口头交流相比,对话得益于对上下文的更深入的理解。
26.例如,ai引擎112可以包括用于语音任务的任何数量的特征,诸如意图和实体分类、情感分析、会话建模、领域和实现映射等。在一些实施例中,ai引擎112可以使用自然语言处理(nlp)技术或一个或更多个神经网络模型来摄取、解密、感知和/或有意识传入音频数据。对于视觉,ai引擎112可以包括用于人、面部和/或身体(姿势)检测和跟踪、关键身体或面部标志和身体姿态、姿势、嘴唇活动、注视和/或其他特征的检测的任何数量的特征。ai引擎112还可以包括融合感知、任务或算法,其对音频和图像都进行了分析以做出确定。在实施例中,语音、视觉和/或融合任务中的一些或全部可以利用机器学习和/或深度学习模
型(例如,nvidia的jarvis和自然语言处理模型),所述机器学习和/或深度学习模型可以在自定义数据上训练以实现针对特定使用情况或实施例的高精度。由ai引擎112管理的ai代理可以被部署在基于云的环境中、数据中心和/或边缘处。
27.在一些实施例中,(一个或更多个)ai代理设备102可以生成和渲染ai代理,例如,使用渲染器114,即使在ai代理的通信没有发生的情况下。例如,渲染器114可以仍然在应用程序会话期间在虚拟环境内渲染对应于虚拟ai代理的图像或图形数据,即使在ai代理当前没有响应于或基于来自用户的输入而讲话、移动或以其他方式交互的情况下。以这种方式,终端用户仍然可以看到ai代理的显示或渲染,以及相应的虚拟环境,并且理解ai代理可用于交互。在其他实施例中,ai代理可以仅在主动讲话、回复时和/或在满足激活触发之后显示或渲染。
28.在一些实施例中,在更重地处理传入数据之前,ai引擎112可以仅处理传入数据以识别ai代理的激活触发。例如,为了遵守和尊重隐私问题、法律和/或法规,可以在用户输入(诸如语音)被高速缓存(或以其他方式存储)和主动处理之前由ai引擎监视激活触发。激活触发可以因ai代理或用户设备104的特定实施例、环境或位置不同而不同,该i/o组件120的类型可用于用户设备104(例如,在不存在相机的情况下,激活触发可以仅为声音)。在一些实施例中,激活触发可以包括多于单个触发(例如,激活需要多模态触发)以确保尊重隐私问题,使得ai引擎112能够更准确地识别当前讲话者以便适当地响应任何询问或谈话,和/或允许更多会话的上下文或标记(例如,相对于停止会话以讲出特定触发单词或短语,看相机并且在会话期间讲话以激活更自然)。例如,激活触发可以包括分析图像数据(例如,流式视频)以确定用户正在看相机(例如,视线跟踪)以及用户正在讲话(例如,通过跟踪嘴唇运动)。另一激活触发可以包括确定用户正在讲话并确定用户的手势(例如,可以在听到语音并且触发诸如挥手的手势被识别时,发生激活)。在一些实施例中,诸如在不允许语音或大声语音的环境中(例如,图书馆、宗教建筑等)或者用户不能说话的环境中,激活触发可以包括移动或手势、和/或对设备的输入(例如,按钮、控制杆、触摸界面等)。然而,在其他实施例中,激活触发可以包括单个非口头激活,诸如手势、触发词、嘴唇运动、注视相机等。在一些实施方式中,例如,在隐私问题不是问题或者用户已经选择持续记录音频和/或视频的情况下,可以不使用触发器激活,尽管仍可以监控音频、文本和/或视频以确定用户处理ai代理的时间。
29.在某些国家、地区或司法管辖区中,法律、规则、规章和/或隐私问题可能不允许在公共空间中持续记录音频或语音,因此激活触发可以是完全基于视觉的——例如,使用滚动缓冲器。某些国家、区域或管辖区域的法律、规则、法规和/或隐私问题可能不允许在私人财产上持续记录视频和/或音频,但是可能允许记录视频和/或音频的滚动缓冲器,并且处理该滚动缓冲器以确定是否存在激活触发器。在任何实施例中,一旦激活触发被满足,麦克风、相机和/或其他i/o组件120可以被打开(例如,被激活以侦听、监测或观察触发事件之外的用户输入),并且数据可以由ai引擎112处理以确定响应和/或其他通信。数据可以被无限地处理,只有在一个单个来回通信期间需要另一触发器来继续处理,直到去激活触发器被满足为止(例如,诸如停止、保持等的触发字、触发手势、缺少语音、移动、看着相机或在感知不活跃的阈值时段内的其他交互等)。
30.传入数据(例如,视觉的、文本的、声音的等)可以由ai引擎112分析,以确定ai代理
的使用三维(3d)图形表示的文本、视觉的和/或声音的响应或通信。例如,ai引擎112可以生成用于文本到语音处理的输出文本,例如,使用一个或更多个机器学习或深度学习模型,以生成音频数据。在实施例中,此音频数据可以经由(一个或更多个)主机设备106发送至(一个或更多个)用户设备104,以用于(一个或更多个)用户设备104的扬声器或另一个(一个或更多个)i/o部件120的输出。在一些实施例中,音频数据可以用于影响在虚拟环境内的ai代理的行为。例如,音频数据可以用于使得ai代理能够与音频嘴唇同步,使得ai代理的语音看起来自然地从ai代理发出,以类似个人间的会话。这可以使用音频到面部算法或嘴唇同步算法来完成,其可以包括机器学习或深度学习模型,这些模型可以驱动与ai代理的音频输出相对应的3d图形面部动画。合适的音频对面部算法可包括2017年11月29日提交的第15/826,430号美国专利申请中所描述的组件、特征和/或功能中的一些或全部,在此将其全部引引入。
31.因此,虚拟环境可以控制ai代理的嘴唇,使其与音频数据相对应,或至少表示语音的音频部分。除了语音之外,可能存在与背景噪声或声音、音乐、音调、环境噪声、其他ai代理、虚拟机器人和/或其他源相对应的额外音频数据。最终,可将包括ai代理和其他音频源的语音的音频数据可以(例如,作为音频流)被发送到(一个或更多个)用户设备104(例如,在实施例中,经由(一个或更多个)主机设备106)。
32.除了音频之外,由ai代理作出的响应或通信还可以包括模拟的物理移动、手势、姿态、姿势,以及其他在虚拟世界中可能呈现的类似内容。与ai代理相对应的外观、手势、移动、姿态和/或其他信息,除了ai代理所位于的虚拟环境之外,可以用图形数据表示。该图形数据可以由渲染器114渲染,以生成可以流式传输到用户设备104用于在显示器122上渲染的显示数据或图像数据。
33.ai引擎112可以基于传入数据的分析、ai代理的一般类型或个性化、和/或由ai代理确定的文本、听觉和/或视觉响应或通信来确定ai代理的模拟物理特性。例如,在ai引擎112确定当前讲话者生气或悲伤的情况下,该信息可以被用来模拟ai代理以适当地做出响应(例如,使用温和的、振奋的、或安慰性的语调或措辞)。当ai引擎112确定某个手势或姿势适合ai代理的语音响应时,则在虚拟环境中可以对ai代理这样的控制。因此,ai代理的身体和/或面部可以被动画化,使得ai代理可以对虚拟相机表达(表达自己的一套情绪)。
34.类似于ai代理,可以生成ai代理所位于的虚拟环境以帮助响应。例如,在接收到对特定真实世界附近的天气的请求,并且天气正在下雨时,可以该位置的虚拟表示,其中有阴天和下雨的,并且可以使ai代理显得闷闷不乐(例如,无精打采,具有悲伤的脸)。类似地,在被要求唱某首歌曲时,ai代理可以随着歌曲的节奏移动或者旋转,然后唱这首歌曲,例如,对口型。在一些示例中,虚拟环境可以在整个应用程序的单个实例中或在单个查询-响应通信期间被更新。例如,为了提供额外的上下文,可以改变虚拟环境以反映新的位置,使得ai代理可以出现,本质上,从一个虚拟位置远程传送到另一个虚拟位置。在讨论更适合于不同领域的一些实施例中,除了环境或位置改变之外,特定ai代理也可能发生变化。例如,当用户正在询问关于伦敦城市的天气信息时,基于天气的ai代理可能会在对应于伦敦的天际线的渲染虚拟环境中表示出来,并且接着当用户询问关于伦敦的历史的问题时,聚焦于历史的ai代理可以在伦敦的历史建筑物的照片或渲染的图像中或接近于此被表示。
35.在一些实施例中,虚拟环境可以包括文本或文档的表示。例如,当用户与和银行或
其他金融机构相关联的ai代理交互时,虚拟环境可以包括站在或持有对应于用户请求信息的银行声明的图形渲染的ai代理。在这样的示例中,用户与ai代理之间的通信可以更安全,因为银行信息不是以可索引的形式传输的,并且与例如具有银行声明的电子邮件相比是较少结构化的。因此,来自ai代理设备102的视觉、听觉和/或文本响应可以比相同信息的电子邮件、sms或文本消息通信更安全和私密。
36.在一些实施例中,ai代理可以与虚拟环境中的对象、特征或项目交互,以帮助响应或与用户交互。例如,为了提供帮助交互的演示,ai代理可以虚拟地与环境交互。在应用程序被用于讨论架构计划时,可以访问计算机辅助设计(cad)应用程序文件并被用于生成虚拟环境的渲染。例如,可以在ai代理的虚拟环境内实例化架构计划,使得ai代理可以与计划或计划的部分/元素交互。这可以包括指向架构计划的特征或者在架构计划内或相对于架构计划四处移动。当传入数据包括修改计划的一部分的请求时,ai代理可以执行手势,并且可以根据请求修改架构计划。例如,在提及窗口而没有一些视觉提示的情况下,窗口的位置和围绕窗口的讨论可能只有较少的信息。然而,使用ai引擎112,虚拟环境的视图,例如,从虚拟相机的虚拟视场,可以更新到包括讨论窗口。此外,ai代理可以指向或以其他方式指示正在谈论的窗口,并且系统100可以通过与cad应用程序的通信对窗口进行更新,cad应用程序可以被反馈至系统100以用于基于更新的cad文件来更新虚拟环境。
37.在一些实施例中,除了分析来自用户的传入文本、视觉、用户输入和/或音频数据之外,由ai代理可以访问用户的用户配置文件或用户信息,以便确定文本、听觉和/或视觉响应。例如,当用户询问天气情况时,可以利用用户的位置信息来确定对特定位置的适当响应。在这样的示例中,虚拟环境还可以被更新以反映位置——例如,包括该位置的一部分或该位置的标识特征,诸如巴黎埃菲尔铁塔。类似地,可以利用用户偏好或其他信息来适当地响应用户或与用户进行交互。在一些实施例中,该信息可在应用程序实例期间(例如,在视频会议期间)基于用户语音、移动等来收集。例如,当用户提及他们在纽约城市的房子时,可以存储该信息,使得当用户稍后问:“家里的交通怎么样?”该响应可以基于已知的位置信息。
38.可以随着时间为不同用户生成个性化模型,使得ai引擎112可以了解特定用户在他们高兴、悲伤等时的样子,和/或了解特定用户的语音模式、语音数字和/或其他用户特定信息,可以用于根据特定用户定制ai引擎112。此信息可以存储在(一个或更多个)ai代理设备102的用户配置文件中。类似地,通过学习任何数量的用户,ai引擎112和渲染器114和/或与其相关联的底层机器学习或深度学习模型可以学习如何在虚拟环境中有效地使ai代理的3d图形渲染情绪化和/或动画化,使得ai代理可以通信并且看起来更像人类。同时,ai代理类似于(拟人)动物、机器人、对象等,ai引擎112可以从与ai代理的真实世界版本对应的数据中学习,以便更精确地模拟虚拟环境中的动物、机器人、对象、车辆等。
39.ai引擎112可以支持任何数量的ai代理。例如,不同的ai代理可以针对不同的领域或技能进行编程。这样,用户可以请求特定ai代理,或者特定ai代理可以由ai引擎112基于传入数据来选择(例如,当请求是针对天气时,可以实例化天气ai代理,当请求是针对财务时,可以实例化财务ai代理,当请求是针对购买时,可以生成购物助理ai等)。由于ai代理对应于特定领域,用户和ai代理之间的通信可以更成功,因为请求、命令、问题、查询等更有可能被路由到该领域的适当响应或会话逻辑和工具。
40.渲染器114可以渲染来自图形数据和/或使用虚拟环境或世界的一个或更多个模型(例如,表示包括虚拟ai代理的虚拟环境或世界的数据)的显示数据或图像数据,以便发送到用户设备104和/或由用户设备104展示。在一些实施例中,图像数据或显示数据可被渲染以表示与从虚拟相机的虚拟视场捕捉的虚拟环境的一部分相对应的图形数据的子集。另外,音频数据可被发送到用户设备104和/或由用户设备104输出。进一步,来自ai代理的文本数据可以被发送到用户设备104和/或由用户设备104显示。因此,在各实施例中,可经由主机应用程序126在客户端应用程序116a与客户端应用程序116b之间交换通信-例如文本、视觉和/或听觉数据的。显示数据、图像数据、文本数据和/或音频数据可以作为数据流在应用程序的实例期间发送,例如,客户端应用程序116a、116b和主机应用程序126。
41.在一些实施例中,渲染器114可以对应于或类似于来自nvidia公司的omniversekit,和/或可以包括如下所描述的组件、特征和/或功能中的一些或全部:2018年8月10日提交的美国临时专利申请no.62/717730;2019年8月12日提交的美国专利申请no.16538594;2020年3月22日提交的美国专利申请no.16538594;和/或2019年7月29日提交的美国临时专利申请no.62/879901,在此通过引用将以上文件完整并入本文。例如,渲染器114可以对应于nvidiartx渲染器。
42.渲染器114可以利用任何数量的gpu和/或其节点来渲染来自图形数据的显示数据或图像数据。例如,可使用一个或更多个gpu来执行光线跟踪(例如,实时光线跟踪)和/或路径跟踪,以生成更多照片逼真的渲染。在一些非限制性实施例中,渲染器114可以使用pixar的通用场景描述(usd)格式和/或另一3d场景描述和文件格式以用于各种不同工具之间以及之中的内容创建和交换。一旦被渲染,图形和/或音频输出可以在被发送至与al代理交互的用户或参与者相对应的计算设备之前进行压缩/编码,其中,所述压缩或编码数据在呈现之前被解压缩(解码)。
43.关于(一个或更多个)用户设备104,(一个或更多个)输入/输出(i/o)组件120可以包括能够提供输入、接收输入和/或生成输出的任何类型的设备。例如,(一个或更多个)i/o设备120的(一个或更多个)输入设备可以包括但不限于键盘、(一个或更多个)鼠标、触摸屏显示器、(一个或更多个)控制器、(一个或更多个)遥控器、耳机、触笔、麦克风、相机和/或其他类型的输入设备。(一个或更多个)i/o组件120的(一个或更多个)输出设备可以包括但不限于扬声器、显示器、光源、触觉反馈设备(例如,振动马达)、和/或其他类型的输出设备。在一些实施例中,如本文所描述的,(一个或更多个)ai代理设备102可以利用虚拟或模拟i/o组件,类似于(一个或更多个)用户设备104的(一个或更多个)i/o组件120,在系统100内进行通信。对于非限制性示例,来自ai代理的通信可以从虚拟环境中的虚拟相机的虚拟视场和/或从虚拟环境中的虚拟麦克风(或与其连接的虚拟音频电缆)的虚拟音频传感器被捕获。这样,(一个或更多个)ai代理设备102,例如,使用渲染器114和/或ai引擎112,可以使用一个或更多个虚拟i/o组件从虚拟环境内和/或对应于ai代理捕获数据。
44.现在参考图1b,视频会议系统100b可以用于托管包括经由ai代理设备102的ai代理和经由用户设备104的一个或更多个用户的视频会议会话。在这样的示例中,客户端应用程序116a和116b可以对应于视频会议应用程序的终端用户应用程序版本,并且主机设备106可以包括托管视频会议会话的主机应用程序126。客户端应用程序116a和116b与主机应用程序126之间的连接可经由电子邮件、会议邀请、拨入、url和/或另一邀请方式。例如,ai
代理,或(一个或更多个)ai代理设备102,可以具有相应的电子邮件句柄、日历应用程序连接等,其可以允许(一个或更多个)ai代理设备102将ai代理连接到会议。这样,类似于一个用户130可以经由用户设备104加入视频会议会话的方式
‑‑
例如,使用来自电子邮件或会议邀请的链接、去往url、进入会议代码等——ai代理设备102可以使用任何访问手段将ai代理连接到视频会议会话。
45.对于每个用户设备104,(一个或更多个)用户130可以向一个或更多个i/o组件120提供输入,和/或i/o组件120可以生成数据。例如,摄像机,例如,网络摄像机,可以捕获其视场的视频流(可以包括用户),麦克风可以捕获音频流,和/或键盘、鼠标、或其他输入设备可以捕获文本流或其他输入流。在一些实施例中,在应用程序的实例的一些或全部期间,ai代理和/或其虚拟环境可以基于接收到的显示数据或与表示虚拟环境的图形数据的渲染相对应的图像数据,被呈现在显示器122上。
46.音频、视频和/或文本数据的这些流可由客户端应用程序116b接收并且发送,例如在编码之后,至主机设备106,并且主机设备106可以分析、处理、发送和/或转发数据至ai代理设备102的客户端应用程序116a。ai引擎112可以访问和/或接收来自客户端应用程序116a的视频、音频和/或文本流,并且可以处理数据以确定ai代理的响应或通信,和/或渲染器114可以生成相应的虚拟环境的任何更新。在一些实施例中,与视频会议相关联的笔记、问题和回答会话框信息和/或其他信息可以由ai引擎112接收和处理。这样,一旦ai代理的文本、视觉和/或听觉响应或通信被确定,ai代理和虚拟环境就可以据此进行更新,并且可以使用渲染器114来渲染从图形数据(例如,从虚拟视场或诸如相机、麦克风等的一个或更多个虚拟传感器)生成的显示数据和/或图像数据。流管理器128可以接收所渲染的数据并且生成视频流、音频流、文本流、和/或其编码的表示,并且将这个信息提供给客户端应用程序116a。在一些实施例中,流管理器128可以利用任何合适的虚拟相机软件,诸如由开放广播软件(obs)提供的虚拟相机特征。因此,即使ai代理不是真实实体,例如,用户130,客户端应用程序116a也可以接收表示ai代理的视频、音频和/或文本流,好像由任何其他用户设备104生成的。这样,客户端应用程序116a、客户端应用程序116b和/或主机应用程序126可以不需要知道存在ai代理,例如,(一个或更多个)ai代理设备102可以被(一个或更多个)主机设备106视为另一(一个或更多个)用户设备104。ai代理设备102及其特征和功能可以应用于任何视频会议平台,而不需要与ai代理相对应的api,因为客户端应用程序116与主机应用程序126的一个或更多个现有api的通信可能足以在视频会议中实现ai代理。
47.主机设备106然后可分析、处理、发送和/或转发与ai代理对应的视频、音频和/或文本流至用户设备104,并且客户端应用程序116b可以导致通过显示器表示的数据和/或通过i/o组件120输出的数据(例如,音频数据)。
48.该过程可以在整个视频会议,当ai代理被显示或呈现期间,继续进行
‑‑
例如,整个时间,仅在满足激活标准之后和直至给定交互完成时,满足激活标准之后的剩余时间,直至ai代理被要求离开会议或从会议移除等。
49.现在参考图2a,视觉化200a可以对应于视频会议应用程序的视频会议的屏幕截图。任意数量的用户202(例如,用户202a-202d)可以参与该视频会议,并且该视频会议可以包括ai代理204a。ai代理204a可以被表示为在与法国巴黎(包括埃菲尔铁塔)的虚拟表示相对应的虚拟环境206内,以向其他用户202提供用于ai代理204a的位置的上下文。在这种实
施例中,除了虚拟环境206之外,ai代理204可以由图形数据表示,并且渲染器114可以从图形数据生成视频数据,视频数据可以作为视频流经由(一个或更多个)主机设备106传输至与用户202相关联的用户设备104。除了视频流之外,还可以发送音频流和/或文本流,使得ai代理204a可以像任何其他用户那样向用户202显现和与用户202交互。ai代理204a可以使用虚拟环境206来向视频会议内的会话提供上下文。例如,在给予天气信息、交通信息、时间信息、股票信息和/或任何其他信息作为视频会议内的响应或通信时,ai代理204a可以利用该虚拟环境206。
50.参考图2b,视觉化200b可以对应与视频会议应用程序相对应的视频会议的屏幕截图。任意数量的用户202(例如,用户202a-202d)可以参与该视频会议,并且该视频会议可以包括ai代理204b。ai代理204b可以在与包括家庭的架构计划208(或设计)的虚拟(例如,3d)表示相对应的虚拟环境206内。架构计划208可以从cad文件加载(例如,使用usd格式)并且用于在虚拟环境206内生成计划208的3d表示。ai代理204b可以使用指针210或其他对象类型或手指等来与家的虚拟表示交互。例如,当其中一个用户引用窗口212的设计时,ai代理204b可以指向窗口,并且基于一些会话、手势和/或来自用户202的输入对窗口的属性(例如,尺寸、材料等)进行会话。此外,在请求改变的情况下,ai引擎112可以利用渲染器114不仅更新虚拟环境206中的家的表示,而且更新与架构计划208相对应的cad文件。因此,ai代理204b可以使用在虚拟环境内可用的上下文信息来对家庭进行更新、指出家庭和/或以其他方式与家庭交互,同时还更新底层文件。按这种方式,用户202在视频会议期间或之后不必更新文件,并且可利用ai代理204b来充当设计者或指导。
51.现在参考图2c,视觉化200c可以对应于ai代理204c呈现在仪表板的显示器214上的汽车应用程序。在该示例中,ai代理204c可以对应于天气代理或天气机器人,并且在满足激活触发之后,用户204e可能已经在本地或在世界上的另一位置处请求了当前天气。因此,可以在车辆的片上系统(soc)内本地执行和/或经由蜂窝和/或卫星连接远程执行和访问ai引擎112,ai引擎112可以处理请求并确定当前天气(例如,63度和下雨),同时还生成包括文本“下雨”和“63
°”
以及包括例如由于当前降水确定的具有悲伤面部的ai代理204c的图形表示的虚拟环境。此外,ai代理204c被表示为具有雨滴形状的化身,以指示ai代理204c的专业知识领域-例如,天气。在一些实施例中,各种不同的ai代理类型可以是用户202可访问的,诸如音乐ai代理、地图ai代理、车载控制ai代理(例如,用于气候控制、激活灯、拨打电话、发送文本等)、新闻ai代理、车载娱乐ai代理等。这样,每个ai代理可以由不同的化身、相同的化身或其组合来表示。为了激活特定ai代理,用户204e可以通过名称(例如,“嘿,天气代理”)请求ai代理,和/或ai引擎112可以基于所接收的音频(例如,使用车辆中的麦克风捕获的)、视频(例如,使用相机216捕获的)和/或文本数据(例如,由用户输入到诸如显示器214的触敏表面)确定适当的代理。
52.参考图2d,视觉化200d可以对应于订购食物的应用程序(例如,快餐),其中ai代理204d在菜单板222的显示器220上呈现。如图所示,菜单板222可以不(仅仅)包括文本菜单,而且ai代理204d的虚拟环境可以用于显示菜单和/或允许ai代理204d与菜单的元素和/或其表示的对象(例如,干酪包汉堡包226)的虚拟表示进行交互或操纵它们(例如,干酪包汉堡包226),例如基于通过菜单板222的麦克风和/或相机224从用户202f接收的数据。例如,用户202f可能会问:“这里有什么成分?”当指向干酪包汉堡包的显示时,ai引擎112可以处
理该信息(例如,经由相机224捕捉的声音信息和/或视觉信息)并确定响应(视觉和声音),该响应导致ai代理204d持有干酪包汉堡包226的图形表示并说出不同成分。一旦完成,可以更新虚拟环境以在显示器220上显示菜单。一旦订单完成,例如,可以在虚拟环境内生成整个订单,并且ai代理204d可以指向每个项目的图形描绘,同时单独地列出它们(例如,声音地,如由扬声器228输出)以验证订单。类似的ai代理可以被实现以用于飞机上、餐馆、食品服务摊位和自助服务终端、体育场(例如,如使用移动订购应用程序所访问的)等的食品服务。
53.现在参考图2e,视觉化200e可以对应于由智能扬声器/显示器232托管的购物应用程序。例如,用户(未示出)可以请求将物品添加到特定零售供应商的购物车,并且ai代理204e(其可以是零售供应商的ai代理,和/或可以是智能扬声器/显示器或制造它们的公司的一般ai代理)可以显示在所请求的物品230a-230c的上下文中。例如,ai代理204e的虚拟环境可以包括虚拟购物车,并且ai代理204e可以以图形方式与购物车和/或购物车的内容交互,以验证所请求的物品是准确的、移除不再想要的物品、回答与物品相关的问题等。这样,可以利用ai代理204e来搜索项目、向购物车添加项目、购买项目、显示项目的图形表示等,并且基于用户的声音、视觉(例如,经由相机234捕捉的)和/或所捕捉的文本数据。
54.现在参考图3,本文描述的方法300的每个方框包括可以使用硬件、固件和/或软件的任何组合执行的计算过程。例如,各个功能可以通过执行存储在存储器中的指令的处理器来实现。方法300还可以体现为存储在计算机存储媒质上的计算机可用指令。方法300可由独立应用、服务或托管服务(独立或与其他托管服务组合)或插件提供给另一产品,仅举几例。此外,通过示例的方式,关于图1a的系统描述方法300。然而,此方法可附加地或替代地由任何一个系统或系统的任何组合来执行,所述系统包含(但不限于)本文中所描述的系统。
55.图3是示出根据本公开的一些实施例用于在应用程序内实例化ai代理的方法300的流程图。在框b302处,方法300包括将与应用程序的实例相对应的虚拟代理实例化。例如,可以实例化ai代理以用于在客户端应用程序116a的实例内进行通信。
56.在框b304处,方法300包括接收表示与(一个或更多个)用户设备相关联的音频流、文本流或视频流中的一个或更多个的第一数据,所述用户设备与所述应用程序的所述实例通信地耦合。例如,可以由(一个或更多个)ai代理设备102接收使用(一个或更多个)用户设备104生成的音频、视频和/或文本流。
57.在框b306处,方法300包括使用自然语言处理来分析第一数据。例如,所接收的数据可以由ai引擎112分析(由例如但不限于一个或更多个并行处理单元执行),所述ai引擎112可以包括对所述数据应用自然语言处理。
58.在框b308处,方法300包括生成表示响应于第一数据的并且与虚拟代理对应的文本输出的第二数据。例如,ai引擎112可以生成与ai代理的口头响应相对应的文本。
59.在框b310处,方法300包括将第二数据应用于文本到语音算法以生成音频数据。例如,与ai代理的响应或通信对应的文本数据可以被应用于文本到语音算法,以生成音频数据。
60.在框b312处,方法300包括从虚拟相机的视角生成表示虚拟环境的虚拟视场的图形数据,所述虚拟视场包括所述虚拟环境内的所述虚拟代理的图形表示。例如,渲染器114
可以从虚拟相机的视角生成表示虚拟环境的虚拟视场的图形数据,并且虚拟视场可以包括ai代理的图形表示。例如,ai代理可以表示为口头地和/或物理地响应(例如,经由模拟的手势、姿态、运动、动作等),并且可以生成虚拟环境以向响应提供上下文。
61.在框b314处,方法300包括使得图形数据的渲染呈现和与音频数据相对应的音频输出,其作为使用应用程序的实例而被交换的通信。例如,渲染器114可以生成与图形数据对应的显示数据或图像数据,并且音频数据和/或文本数据还可以被渲染或生成。在实施例中,该显示或图像数据、音频数据和/或文本数据然后可以作为音频流、视频流和/或文本流被发送(在实施例中,通过一个或更多个主设备106)到(一个或更多个)用户设备104以供(一个或更多个)用户设备104输出。
62.示例计算设备
63.图4是适合用于实现本公开的一些实施例的示例计算设备400的框图。计算设备400可以包括直接或间接耦合以下设备的互连系统402:存储器404、一个或更多个中央处理单元(cpu)406、一个或更多个图形处理单元(gpu)408、通信接口410、输入/输出(i/o)端口412、输入/输出组件414、电源416,一个或更多个呈现组件418(例如,一个或更多个显示器)和一个或更多个逻辑单元420。在至少一个实施例中,一个或更多个计算设备400可以包括一个或更多个虚拟机(vm),和/或其组件中的任何组件可以包括虚拟组件(例如,虚拟硬件组件)。对于非限制性示例,一个或更多个gpu408可以包括一个或更多个vgpu,一个或更多个cpu406可以包括一个或更多个vcpu,和/或一个或更多个逻辑单元420可以包括一个或更多个虚拟逻辑单元。这样,一个或更多个计算设备400可以包括分立组件(例如,专用于计算设备400的全gpu)、虚拟组件(例如,专用于计算设备400的gpu的一部分)或其组合。
64.尽管图4的各个框被示出为通过互连系统402与线路连接,但这并不旨在是限制性本公开,而仅是为了清楚起见。例如,在一些实施例中,呈现组件418(诸如显示设备)可被认为是i/o组件414(例如,如果显示器是触摸屏)。作为另一个示例,cpu406和/或gpu408可以包括存储器(例如,存储器404可以表示除了gpu408、cpu406和/或其他组件的存储器之外的存储设备)。换言之,图4的计算设备仅是说明性的。在如“工作站”、“服务器”、“膝上型计算机”、“台式计算机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ecu)”、“虚拟现实系统”和/或其他设备或系统类型之类的此类类别之间不做区分,因为所有都被考虑在图4的计算设备的范围内。
65.互连系统402可以表示一个或更多个链路或总线,诸如地址总线、数据总线、控制总线或其组合。互连系统402可包括一个或更多个总线或链路类型,诸如工业标准体系结构(isa)总线、扩展工业标准体系结构(eisa)总线、视频电子标准协会(vesa)总线、外围组件互连(pci)总线、外围组件互连高速(pcie)总线和/或另一类型的总线或链路。在一些实施例中,组件之间存在直接连接。作为示例,cpu406可以直接连接到存储器404。进一步,cpu406可以直接连接到gpu408。在组件之间存在直接或点对点连接的情况下,互连系统402可包括pcie链路以执行连接。在这些示例中,pci总线不需要被包括在计算设备400中。
66.存储器404可以包括各种计算机可读介质中的任何一种。计算机可读介质可以是可由计算设备400访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质,以及可移除和不可移除介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
67.计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现的易失性和非易失性介质和/或可移除和不可移除介质。例如,存储器404可存储计算机可读指令(例如,表示一个或更多个程序和/或一个或更多个程序元件,例如操作系统)。计算机存储介质可以包括但不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字通用盘(dvd)或其他光盘存储、磁带盒、磁带、磁盘存储设备或其他磁存储设备,或可用于存储所需信息且可由计算设备400访问的任何其他介质。如本文所使用的,计算机存储介质不包括信号本身。
68.计算机存储介质可将计算机可读指令、数据结构、程序模块和/或其他数据类型体现在例如载波或其他传输机制等经调制数据信号中,且包括任何信息递送介质。术语“调制数据信号”可以指代以编码信号中的信息的方式设置或改变其一个或更多个特性的信号。作为示例而非限制,计算机存储介质可包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、rf、红外和其他无线介质)。以上任何内容的组合也应包括在计算机可读介质的范围内。
69.一个或更多个cpu406可以被配置成用于执行计算机可读指令中的至少一些计算机可读指令,以控制计算设备400的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。一个或更多个cpu406可以各自包括能够同时处理众多软件线程的一个或更多个核(例如,一个、两个、四个、八个、二十八个、七十二个等)。一个或更多个cpu406可包括任何类型的处理器,并且取决于所实现的计算设备400的类型,可包括不同类型的处理器(例如,具有更少核用于移动设备的处理器和具有更多核用于服务器的处理器)。例如,取决于计算设备400的类型,处理器可以是使用精简指令集计算(risc)实现的高级risc机器(arm)处理器或使用复杂指令集计算(cisc)实现的x86处理器。除了一个或更多个微处理器或补充协处理器(诸如数学协处理器)之外,计算设备400可包括一个或更多个cpu406。
70.除一个或更多个cpu406之外或替代一个或更多个cpu406,一个或更多个gpu408可被配置为执行计算机可读指令中的至少一些以控制计算设备400的一个或更多个组件执行本文中所描述的方法和/或过程中的一个或更多个。gpu408中的一个或更多个可以是集成gpu(例如,其中cpu406中的一个或更多个和/或gpu408中的一个或更多个可为分立gpu)。在实施例中,一个或更多个gpu408中的一个或更多个可以是一个或更多个cpu406中的一个或更多个的协处理器。一个或更多个gpu408可由计算设备400使用以渲染图形(例如,3d图形)或执行通用计算。例如,一个或更多个gpu408可用于gpu上的通用计算(gpgpu)。一个或更多个gpu408可以包括能够同时处理数百或数千个软件线程的数百或数千个核。一个或更多个gpu408可响应于渲染命令(例如,经由主机接口接收的来自一个或更多个cpu406的渲染命令)而生成用于输出图像的像素数据。一个或更多个gpu408可包括图形存储器,例如显示存储器,用于存储像素数据或任何其他合适的数据,例如gpgpu数据。显示存储器可作为存储器404的一部分被包括。一个或更多个gpu408可包括并行操作(例如,经由链路)的两个或更多个gpu。链路可以直接连接gpu(例如,使用nvlink)或可以通过交换机(例如,使用nvswitch)连接gpu。当组合在一起时,每个gpu408可生成用于输出的不同部分或用于不同输出的像素数据或gpgpu数据(例如,第一gpu用于第一图像和第二gpu用于第二图像)。每个gpu可包括其自己的存储器,或可与其他gpu共享存储器。
71.除了一个或更多个cpu406和/或一个或更多个gpu408之外或替代地,一个或更多
个逻辑单元420可被配置为执行计算机可读指令中的至少一些,以控制计算设备400的一个或更多个组件执行本文所述的方法和/或过程中的一个或更多个。在实施例中,一个或更多个cpu406、一个或更多个gpu408和/或一个或更多个逻辑单元420可以离散地或联合地执行方法、过程和/或其部分的任何组合。逻辑单元420中的一个或更多个可为一个或更多个cpu406和/或一个或更多个gpu408中的一个或更多个和/或集成在一个或更多个cpu406和/或一个或更多个gpu408中的一个或更多个中,和/或逻辑单元420中的一个或更多个可为分立组件或以其他方式在一个或更多个cpu406和/或一个或更多个gpu408外部。在实施例中,逻辑单元420中的一个或更多个可以是(一个或更多个)cpu406中的一个或更多个cpu和/或(一个或更多个)gpu408中的一个或更多个的协处理器。
72.一个或更多个逻辑单元420的示例包括一个或更多个处理核和/或其组件,诸如数据处理单元(dpu)、张量核(tc)、张量处理单元(tpu)、像素视觉核(pvc)、视觉处理单元(vpu)、图形处理集群(gpc)、纹理处理集群(tpc)、流多处理器(sm)、树遍历单元(ttu)、人工智能加速器(aia)、深度学习加速器(dla)、算术逻辑单元(alu)、专用集成电路(asic),浮点单元(fpu)、输入/输出(i/o)元件、外围组件互连(pci)或快速外围组件互连(pcie)元件等。
73.通信接口410可以包括一个或更多个接收器、发射器和/或收发器,该一个或更多个接收器、发射器和/或收发器使计算设备400能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口410可包括用于实现通过多个不同网络中的任一个进行通信的组件和功能,诸如无线网络(例如,wi-fi、z-波、蓝牙、蓝牙le、zigbee等)、有线网络(例如,通过以太网或无限带宽)、低功率广域网(例如,lorawan、sigfox等)和/或互联网。在一个或更多个实施例中,一个或更多个逻辑单元420和/或通信接口410可以包括一个或更多个数据处理单元(dpu)以便将通过网络和/或通过互连系统402接收的数据直接发送到一个或更多个gpu408(例如,其存储器)。
74.i/o端口412可以使计算设备400能够逻辑地耦合到包括i/o组件414、一个或更多个呈现组件418和/或其他组件的其他设备,其中一些组件可以内置到(例如,集成在)计算设备400中。说明性i/o组件414包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等。i/o组件414可以提供处理空中姿态、语音或由用户生成的其他生理输入的自然用户界面(nui)。在一些情况下,可将输入发送到适当的网络元件以供进一步处理。nui可实现与计算设备400的显示器相关联的语音识别、指示笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的姿态识别、空中姿态、头部和眼睛跟踪、以及触摸识别(如以下更详细地描述的)的任何组合。计算设备400可包括深度相机,例如立体相机系统、红外相机系统、rgb相机系统、触摸屏技术以及这些的组合,以用于手势检测和辨识。另外,计算设备400可包括使得能够检测运动的加速度计或陀螺仪(例如,作为惯性测量单元(imu)的部分)。在一些示例中,计算设备400可以使用加速度计或陀螺仪的输出来渲染沉浸式增强现实或虚拟现实。
75.电源416可以包括硬接线电源、电池电源或其组合。电源416可以向计算设备400提供电力以使得计算设备400的组件能够操作。
76.一个或更多个呈现组件418可包括显示器(例如,监视器、触摸屏、电视屏幕、平视显示器(hud)、其他显示器类型或其组合)、扬声器和/或其他呈现组件。一个或更多个呈现组件418可从其他组件(例如,一个或更多个gpu408、一个或更多个cpu406、dpu等)接收数
516(n)、分组的计算资源514和/或框架层520的分布式文件系统538的至少部分使用的软件。一种或更多种类型的软件可以包括但不限于互联网网页搜索软件、电子邮件病毒扫描软件、数据库软件和流式视频内容软件。
84.在至少一个实施例中,应用层540中包括的一个或更多个应用程序542可包括由框架层520的节点c.r.516(1)-516(n)、分组的计算资源514和/或分布式文件系统538的至少部分使用的一种或更多种类型的应用。一种或更多种类型的应用可以包括但不限于任何数量的基因组应用、认知计算和机器学习应用,包括训练或推理软件、机器学习框架软件(例如,pytorch、tensorflow、caffe等)和/或结合一个或更多个实施例使用的其他机器学习应用。
85.在至少一个实施例中,配置管理器534、资源管理器536和资源协调器512中的任一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自修改动作。自修改动作可使数据中心500的数据中心操作者免于做出可能较差的配置决策和可能避免数据中心的未充分利用和/或较差执行部分。
86.根据本文描述的一个或更多个实施例,数据中心500可以包括工具、服务、软件或其他资源以训练一个或更多个机器学习模型或使用一个或更多个机器学习模型预测或推理信息。例如,可以通过使用以上关于数据中心500描述的软件和/或计算资源根据神经网络架构计算权重参数来训练一个或更多个机器学习模型。在至少一个实施例中,对应于一个或更多个神经网络的经训练的或部署的机器学习模型可用于通过使用通过一种或更多种训练技术(诸如但不限于本文中所描述的那些训练技术)计算的权重参数来使用上文关于数据中心500描述的资源来推理或预测信息。
87.在至少一个实施例中,数据中心500可使用cpu、专用集成电路(asic)、gpu、fpga和/或其他硬件(或与其对应的虚拟计算资源)来使用上述资源执行训练和/或推理。此外,上文所描述的一个或更多个软件和/或硬件资源可被配置为允许用户训练或执行对信息的推理的服务,例如图像识别、语音识别或其他人工智能服务。
88.示例网络环境
89.适合用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(nas)、其他后端设备、和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图4的一个或更多个计算设备400的一个或更多个实例上实现——例如,每个设备可以包括一个或更多个计算设备400的类似部件、特征和/或功能。此外,在实现后端设备(例如,服务器、nas等)的情况下,后端设备可被包括作为数据中心500的一部分,其示例在本文中关于图5更详细地描述。
90.网络环境的组件可经由一个或更多个网络彼此通信,所述网络可以为有线的、无线的或两者。网络可以包括多个网络一个或更多个网络中的一个网络。例如,网络可包括一个或更多个广域网(wan)、一个或更多个局域网(lan)、一个或更多个公共网络诸如互联网和/或公共交换电话网(pstn)、和/或一个或更多个私有网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或者甚至接入点(以及其他组件)之类的组件可以提供无线连接。
91.兼容网络环境可以包括一个或更多个对等网络环境(在这种情况下,服务器可以不包括在网络环境中)和一个或更多个客户端-服务器网络环境(在这种情况下,一个或更多个服务器可以包括在网络环境中)。在对等网络环境中,本文相对于一个或更多个服务器
所描述的功能可在任何数量的客户端设备上实现。
92.在至少一个实施例中,网络环境可包括一个或更多个基于云的网络环境、分布式计算环境、其组合等。基于云的网络环境可包括框架层、作业调度器、资源管理器和在一个或更多个服务器上实现的分布式文件系统,所述服务器可包括一个或更多个核心网服务器和/或边缘服务器。框架层可包括支持软件层的软件和/或应用层的一个或更多个应用程序的框架。所述软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一个或更多个客户端设备可以使用基于web的服务软件或应用(例如,通过经由一个或更多个应用编程接口(api)访问服务软件和/或应用)。框架层可以是但不限于自由和开源软件web应用框架的类型,诸如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
93.基于云的网络环境可提供执行本文所描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些不同功能中的任何功能可以分布在来自(例如,可以分布在州、地区、国家、地球等上的一个或更多个数据中心的)中央或核心服务器的多个位置上。如果与用户(例如,客户端设备)的连接相对靠近一个或更多个边缘服务器,则一个或更多个核心服务器可以将功能的至少一部分指定给一个或更多个边缘服务器。基于云的网络环境可以是私有的(例如,限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
94.一个或更多个客户端设备可以包括在此关于图4所描述的一个或更多个示例计算设备400的部件、特征和功能中的至少一些部件、特征和功能。作为示例而非限制,客户端设备可被实现为个人计算机(pc)、膝上型计算机、移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助理(pda)、mp3播放器、虚拟现实耳机、全球定位系统(gps)或设备、视频播放器、摄像机、监视设备或系统、车辆、船、飞船、虚拟机、无人机、机器人、手持式通信设备、医院设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描绘的设备的任何组合或任何其他合适的设备。
95.本公开可以在计算机代码或机器可用指令的一般上下文中描述,包括由计算机或其他机器(诸如个人数据助理或其他手持式设备)执行的计算机可执行指令(诸如程序模块)。通常,包括例程、程序、对象、组件、数据结构等的程序模块是指执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中实践,包括手持式设备、消费电子产品、通用计算机、更专用计算设备等。本公开还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。
96.如本文所使用的,关于两个或更多个元素的“和/或”的叙述应被解释为仅意指一个元素或更多个元素的组合。例如,“元素a、元素b和/或元素c”可以包括仅元素a、仅元素b、仅元素c、元素a和元素b、元素a和元素c、元素b和元素c、或元素a、b和c。此外,“元素a或元素b中的至少一个”可以包括元素a中的至少一个、元素b中的至少一个、或者元素a中的至少一个和元素b中的至少一个。进一步地,“元素a和元素b中的至少一个”可以包括元素a中的至少一个、元素b中的至少一个、或者元素a中的至少一个和元素b中的至少一个。
97.本文具体描述了本公开的主题以满足法定要求。然而,该描述本身并不旨在限制本公开的范围。而是,发明人已预期,结合其他当前或未来技术,所要求保护的主题还可用其他方式来体现,以包括类似于本文档中所描述的步骤的不同步骤或步骤的组合。此外,尽
管术语“步骤”和/或“框”在本文中可以用于暗示所采用的方法的不同元件,但是这些术语不应被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各个步骤的顺序。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献