CN118170874A - 用于对话ai系统和应用的可自定义领域的模型 - Google Patents
用于对话ai系统和应用的可自定义领域的模型 Download PDFInfo
- Publication number
- CN118170874A CN118170874A CN202311654800.0A CN202311654800A CN118170874A CN 118170874 A CN118170874 A CN 118170874A CN 202311654800 A CN202311654800 A CN 202311654800A CN 118170874 A CN118170874 A CN 118170874A
- Authority
- CN
- China
- Prior art keywords
- domain
- layers
- input data
- machine learning
- data
- 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
- 238000010801 machine learning Methods 0.000 claims abstract description 168
- 238000012549 training Methods 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims abstract description 82
- 230000003213 activating effect Effects 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 31
- 238000004088 simulation Methods 0.000 claims description 8
- 238000013135 deep learning Methods 0.000 claims description 5
- 230000003190 augmentative effect Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000003287 optical effect Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 42
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000011176 pooling Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004438 eyesight Effects 0.000 description 2
- 238000007710 freezing Methods 0.000 description 2
- 230000008014 freezing Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013518 transcription Methods 0.000 description 2
- 230000035897 transcription Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
公开了用于对话AI系统和应用的可自定义领域的模型,在各个示例中,公开了针对一个或更多个特定领域训练机器学习模型(诸如大语言模型(LLM))的系统和方法。在一些实施例中,一个或更多个机器学习模型可至少包括一个或更多个基础模型以及与一个或更多个机器学习模型针对其正被训练的领域相关联的附加部分(诸如附加层)。如此,一个或更多个机器学习模型的各部分可以被分开地训练,使得与领域相关联的训练数据被用于训练机器学习模型的与该领域相关联的一个部分而不训练机器学习模型的一个或更多个其他部分。然后该系统和方法可以在部署机器学习模型时使用这些部分,诸如通过基于正被处理的输入数据来激活和/或去激活部分。
Description
背景技术
语言模型用于许多不同的应用中,诸如安排旅行计划(例如,针对交通和住宿的预订安排等)、计划活动(例如,进行预订等)、与其他人通信(例如,进行电话呼叫、开始视频会议等)、购买物品(例如,从线上市场购买物品等)、和/或其他使用情况。一些语言模型通过接收文本(诸如包括一个或更多个字母、词、子词、字符、数字和/或符号的文本)来操作,该文本使用输入设备生成和/或生成为口语的转录。在一些情况下,文本可以特定于领域(domain),诸如金融领域、旅行领域、通信领域、计算机科学领域等。然后,语言模型处理文本,并且基于处理输出与文本相关的数据。
当前语言模型被训练成理解多个领域。例如,在训练期间,使用与每个领域相关的训练数据(例如,与金融领域相关的训练数据、与旅行领域相关的训练数据等)来更新语言模型的层的参数(例如,权重和/或偏差)。虽然这样的语言模型对于更一般的应用可能是有用的,但是在许多情况下,用户可能仅需要理解一个或更多个特定领域的语言模型。例如,银行应用可能需要理解金融领域而不必理解其他领域(诸如旅行领域或计算机科学领域)的语言模型。因为这一点,并且基于语言模型的大小,部署针对许多领域训练的这些语言模型中的一个来仅在特定领域应用中使用可能不是经济的和/或计算上实用的。
照此,已经使用了一些方法来训练用于特定领域的语言模型。例如,为了更好地训练针对特定领域的这些语言模型中的一个,系统可以使用与特定领域相关的训练数据来执行附加训练,以便进一步更新语言模型的层的参数。然而,这样的训练可导致语言模型对于理解其他领域较不准确或精确。此外,由于需要更新的语言模型的大小,这样的训练可能需要非常大的训练集。
发明内容
本公开的实施例涉及用于对话AI系统和应用的领域可定制的模型。公开了训练一个或更多个机器学习模型(诸如大语言模型(LLM))以理解一个或更多个特定领域的系统和方法。在一些实施例中,一个或更多个机器学习模型可以包括至少一个或更多个基础模型以及与一个或更多个机器学习模型针对其被训练的领域相关联的附加领域特定部分(domain specific part),诸如附加层。如此,一个或更多个机器学习模型的一个或更多个领域特定部分可以被分开地训练,从而使得与领域相关联的训练数据被用于训练一个或更多个机器学习模型的领域特定部分而不训练一个或更多个机器学习模型的一个或更多个其他领域特定部分。然后该系统和方法可以在部署一个或更多个机器学习模型时使用这些领域特定部分。例如,如果一个或更多个机器学习模型正被用于特定领域,则可以激活一个或更多个机器学习模型的与该特定领域相关联的领域特定部分(例如,添加到一个或更多个基础模型、连接到一个或更多个基础模型等),同时去激活一个或更多个机器学习模型的与一个或更多个其他领域相关联的一个或更多个领域特定部分(例如,从一个或更多个基础模型移除、与一个或更多个基础模型断开连接等)。
与常规系统(诸如以上所描述的那些)相比,在一些实施例中,当前系统的一个或更多个机器学习模型可以被分解成不同的领域特定部分,其中相应的领域特定部分针对特定领域被训练。与常规系统的常规语言模型相比,这可以减少训练一个或更多个机器学习模型所需要的数据和/或计算资源的量。例如,并且如上所述,为了针对特定领域训练常规语言模型,可能需要更新语言模型的整个层,这可能不仅需要在用于所有层的原始大训练集上进行重新训练,而且还需要在用于特定领域的附加数据上进行重新训练。相反,为了针对特定领域训练本文所描述的一个或更多个机器学习模型的部分,仅仅与该特定领域相关联的领域特定部分的层(和/或一个或更多个基础模型的一部分层)可能需要被训练,并且一个或更多个机器学习模型的剩余的层可能不需要附加训练,因此这可能需要较少的训练时间和计算资源。
此外,通过基于针对部署一个或更多个机器学习模型的领域来激活和/或去激活一个或更多个机器学习模型的领域特定部分,当前系统的一个或更多个机器学习模型可以更准确、需要更少的计算资源和/或在处理输入数据时具有更少的延时。例如,还如以上所讨论的,常规语言模型使用语言模型的整个层来处理输入数据,因为语言模型的层是不可移除的。照此,与本文所描述的一个或更多个机器学习模型相比,常规语言模型使用更大数量的层来处理输入数据,这可能需要更大量的计算资源和/或增加常规语言模型的处理延时。另外,常规语言模型在没有已针对特定领域训练的附加层的情况下处理输入数据,从而失去关于特定领域的改善的准确度或精度的益处。相反,除了针对与输入数据相关的领域专门训练的一个或更多个层之外,本文描述的一个或更多个机器学习模型还可以使用一个或更多个基础模型来处理输入数据。在以这种方式针对特定领域训练不同组的层的情况下,对应于当前输入的领域的该组层可被激活,而其他组的层可被去激活和/或可不被包括在所部署的模型中。
附图说明
下面参考附图详细描述用于对话AI系统和应用的领域可定制的模型的本系统和方法,其中:
图1A示出了根据本公开的一些实施例的训练一个或更多个机器学习模型的示例,所述一个或更多个机器学习模型包括一个或更多个基础模型和领域特定部分;
图1B示出了根据本公开的一些实施例的从图1A的示例部署一个或更多个机器学习模型的示例;
图2A示出了根据本公开的一些实施例的训练一个或更多个机器学习模型的一个或更多个基础模型的示例;
图2B示出了根据本公开的一些实施例的从图2A的示例训练一个或更多个机器学习模型的领域特定部分的示例;
图3A示出了根据本公开的一些实施例的训练一个或更多个机器学习模型的一个或更多个基础模型的另一个示例;
图3B示出了根据本公开的一些实施例的从图3A的示例训练一个或更多个机器学习模型的领域特定部分的示例;
图4A示出了根据本公开的一些实施例的从图3A的示例部署一个或更多个机器学习模型的示例;
图4B示出了根据本公开的一些实施例的从图3A的示例部署一个或更多个机器学习模型的示例;
图5是示出根据本公开的一些实施例的用于训练一个或更多个机器学习模型的过程的数据流图;
图6A-图6C示出了根据本公开的一些实施例的应用具有一个或更多个附加模型的一个或更多个机器学习模型的示例;
图7是示出了根据本公开的一些实施例的用于部署包括一个或更多个基础模型和领域特定部分的一个或更多个机器学习模型的第一方法的第一流程图;
图8是示出了根据本公开的一些实施例的用于部署包括一个或更多个基础模型和领域特定部分的一个或更多个机器学习模型的第二方法的第二流程图;
图9是适合用于实现本公开的一些实施例的示例计算设备的框图;以及
图10是适合用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
公开了与用于对话AI系统和应用的领域可定制的模型相关的系统和方法。作为示例而非限制,本文描述的系统和方法可用于与机器控制、机器运动、机器驾驶、车载信息娱乐、合成数据生成、模型训练、感知、增强现实、虚拟现实、混合现实、机器人、安全和监督、模拟和数字孪生、自主或半自主机器应用、深度学习、环境模拟、语音处理、数据中心处理、对话AI、数字化身、聊天机器人、光传输模拟(例如,光线跟踪、路径跟踪等)、3D资产的协作内容创建、云计算和/或任何其他合适的应用相关联的系统中的各种目的。
所公开的实施例可以被包括在多种不同系统中,诸如汽车系统(例如,用于自主或半自主机器的车载信息娱乐系统),使用机器人实现的系统、空中系统、医疗系统、划船系统、智能区域监控系统、用于执行深度学习操作的系统、用于执行模拟操作的系统、用于执行语音处理的系统、使用边缘设备实现的系统、包括一个或更多个虚拟机(VM)的系统、用于执行合成数据生成操作的系统、至少部分地在数据中心中实现的系统、用于执行对话AI操作的系统、数字化身系统、聊天机器人系统、用于执行光传输模拟的系统、用于执行3D资产的协作内容创建的系统、至少部分地使用云计算资源实现的系统,和/或其他类型的系统。
例如,一个或更多个机器学习模型(诸如大语言模型(LLM))可以包括一个或更多个基础模型和可以被激活和/或去激活、或者可以被部署或不被部署的领域特定部分,这在本文中进行了更详细的描述。一个或更多个基础模型可包括使用与多个领域相关联的训练数据(通用训练数据)来训练的层。如本文所描述的,领域可以包括但不限于金融领域、旅行领域、通信领域、计算机科学领域、汽车领域、电子领域、房地产领域和/或任何其他类型的领域。领域特定部分可以包括使用特定于领域的训练数据来训练的附加层。例如,第一领域特定部分可以包括使用与金融领域相关联的训练数据训练的第一层,第二领域特定部分可以包括使用与旅行领域相关联的训练数据训练的第二层等等。在实施例中,针对不同领域的一个或更多个不同层可以水平地(并行地)被组织。例如,金融领域可包括神经网络层1至10,旅行领域可包括不同的神经网络层1至10。则输入可被并行地发送到两个领域的层,且其输出可在最终输出层之前被合并。在一些示例中,领域特定部分可以使用与一个或更多个基础模型分离的存储器来存储,使得领域特定部分可以被激活和/或去激活,和/或可以被部署或不被部署,这取决于部署的领域空间。
在一些示例中,一个或更多个系统可以在多个步骤中训练一个或更多个机器学习模型。例如,一个或更多个系统可以执行包括训练一个或更多个基础模型而不训练领域特定部分的步骤。为了执行该步骤,一个或更多个系统可以“冻结”该领域特定部分,使得在训练期间不更新该领域特定部分的层的权重和/或参数,而在训练期间更新一个或更多个基础模型的层的权重和/或参数。然后系统可以执行一个或更多个步骤以训练一个或更多个领域特定部分。例如,为了训练领域特定部分,一个或更多个系统可以“冻结”一个或更多个基础模型的一个或更多个层和一个或更多个机器学习模型的一个或更多个其他领域特定部分的层,使得在训练期间不更新一个或更多个基础模型的一个或更多个层的权重和/或参数和一个或更多个其他领域特定部分的层的权重和/或参数,而在训练期间更新正被训练的该领域特定部分的层的权重和/或参数。
然后,一个或更多个系统可以将一个或更多个机器学习模型部署至一个或更多个用户。在一些示例中,一个或更多个系统可以部署一个或更多个整个机器学习模型,其包括一个或更多个基础模型和每个领域特定部分。然而,在其他示例中,一个或更多个系统可以仅部署一个或更多个机器学习模型的一部分,诸如,一个或更多个基础模型和一个或更多个领域特定部分。例如,如果一个或更多个机器学习模型包括与四个特定领域相关联的四个领域特定部分,并且用户仅想要使用一个或更多个机器学习模型来处理与两个特定领域相关联的输入数据,则一个或更多个系统可以向用户提供一个或更多个基础模型和一个或更多个机器学习模型的与两个特定领域相关联的领域特定部分。通过使用这样的过程来部署一个或更多个机器学习模型,一个或更多个系统不必部署一个或更多个整个机器学习模型(例如,与其他领域相关联的领域特定部分),这可以节省计算资源。
如本文所描述的,一个或更多个机器学习模型的领域特定部分可以被激活和/或去激活,诸如基于一个或更多个机器学习模型正在处理的输入数据的类型。在一些示例中,为了激活一个或更多个机器学习模型的领域特定部分,该领域特定部分可以被添加和/或连接至一个或更多个基础模型。例如,领域特定部分的一个或更多个层可以通信地耦合到一个或更多个基础模型的一个或更多个层。在一些示例中,为了去激活一个或更多个机器学习模型的领域特定部分,该领域特定部分可以从一个或更多个基础模型中移除和/或与一个或更多个基础模型断开连接。例如,领域特定部分的一个或更多个层可与一个或更多个基础模型的一个或更多个层通信地解耦合。
在某些示例中,可以基于来自用户的输入来激活和/或去激活领域特定部分。例如,如果用户正在使用一个或更多个机器学习模型来处理与特定领域相关联的输入数据,则用户可以提供输入来激活一个或更多个机器学习模型的与该领域相关联的领域特定部分,同时去激活一个或更多个其他领域特定部分。在一些示例中,可以基于对由一个或更多个机器学习模型处理的输入数据的分析来激活和/或去激活领域特定部分。例如,如果输入数据与特定领域相关联,则可以激活一个或更多个机器学习模型的与该领域相关联的领域特定部分,同时去激活一个或更多个其他领域特定部分。
如本文所描述的,当一个或更多个机器学习模型的领域特定部分被激活时,一个或更多个机器学习模型可以更好地理解对应于与该领域特定部分相关联的领域的输入数据。例如,如果一个或更多个机器学习模型的与金融领域相关联的领域特定部分被激活,则一个或更多个机器学习模型可以更好地理解与金融领域相对应的输入数据。此外,当一个或更多个机器学习模型的领域特定部分被去激活时,一个或更多个机器学习模型可以不太被优化以理解对应于与该领域特定部分相关联的领域的输入数据。例如,如果一个或更多个机器学习模型的与金融领域相关联的领域特定部分被去激活,则一个或更多个机器学习模型可以从对应于金融领域的输入数据产生不太准确或精确的输出。
在一些示例中,一个或更多个机器学习模型可以与一个或更多个其他模型(诸如一个或更多个语言模型)一起使用,以便提高一个或更多个其他模型的性能。例如,一个或更多个机器学习模型可以被添加到通用模型,使得一个或更多个机器学习模型和通用模型各自处理输入数据并且输出相应的数据,诸如表示向量或张量表示的数据。然后从两个模型输出的数据可以被组合(例如,连接)以生成最终输出。在一些示例中,还可使用一个或更多个附加模型(例如,一个或更多个评分模型)来处理由模型输出的数据和/或组合的数据,以便确定最终输出。例如,如果模型输出的数据包括给定数量的结果,则一个或更多个评分模型可以对结果进行评分,并为最终输出选择结果之一(例如,最高评分的结果)。
虽然本文的示例将一个或更多个机器学习模型的部分描述为与特定领域相关联,但是在其他示例中,这些部分可以与其他类型的输入数据相关联。例如,一个部分可以被训练成理解与不同意图(例如,预订旅行、请求信息、解释信息等)、不同任务(例如,关于预订旅行、预订飞机航班、预订巡航、预订酒店等)和/或类似物相关联的输入数据。
参考图1A,图1A示出了根据本公开的一些实施例的训练一个或更多个机器学习模型102的示例,所述一个或更多个机器学习模型包括一个或更多个基础模型104和领域特定部分106(1)-(N)(也单数地称为“领域特定部分106”或复数地称为“多个领域特定部分106”)。应当理解,本文所述的这种和其他布置仅作为示例进行阐述。除了或代替所示的布置和元件,还可使用其他布置和元件(例如,机器、接口、功能、次序、功能分组等),并且可完全省略一些元件。进一步地,本文描述的许多元件是可以被实现为分立或分布式组件或与其他组件结合、和以任何合适的组合和位置的功能实体。本文描述为由实体执行的各个功能可由硬件、固件和/或软件执行。例如,各个功能可以通过执行存储在存储器中的指令的处理器来实施。
如图1A的示例所示,可以使用多个步骤(诸如,一个或更多个基础模型训练步骤108(1)和一个或更多个领域特定部分训练步骤108(2))来训练一个或更多个机器学习模型102(诸如,大语言模型(LLM))。在一个或更多个基础模型训练步骤108(1)期间,一个或更多个基础模型104的层可以是“未冻结的”,其由实线表示,而领域特定部分106的层是“冻结的”,其由虚线表示。如本文所描述的,当层被冻结时,与该层相关联的一个或更多个权重和/或参数在训练期间(诸如在反向传播期间)可以不被更新。此外,当层未被冻结时,层的一个或更多个权重和/或参数在训练期间(诸如在反向传播期间)可以被更新。在一些示例中,领域特定部分106可以与存储器单元相关联。例如,领域特定部分106(1)可以表示存储与第一特定领域相关联的第一层的第一存储器单元,领域特定部分106(2)可以表示存储与第二特定领域相关联的第二层的第二存储器等等。照此,并且在这样的示例中,冻结领域特定部分106可以包括冻结存储器单元。
一个或更多个基础模型104可以包括被训练为诸如使用不包括(但是它可以包括)特定领域数据集(例如,数学、金融、医疗等)的通用领域数据集(包括用于任何数量的领域的基础对话语言)来理解多个领域的一个或更多个通用模型。照此,一个或更多个基础模型104可以使用与多个领域相关联的领域通用(domain-general)训练数据110来训练。例如,领域通用训练数据110可以包括对应于通用领域的训练数据(诸如基础对话语言),其可以包括或可以不包括与金融领域相关联的信息、与旅行领域相关联的训练数据、与汽车领域相关联的训练数据等等。在这样的示例中,通用训练数据集可以不被精调或聚焦于特定领域,但可以包括恰好对应于各种不同领域或更一般地对应于在不同领域之间共享的共同语言的语言。在一些示例中,在训练期间,可以使用一个或更多个基础模型104的层以及领域特定部分106的层来处理领域通用训练数据110。然而,并且如本文所描述的,诸如在反向传播期间,一个或更多个基础模型104的层的权重和/或参数被更新,而领域特定部分106的权重和/或参数不被更新。
例如,图2A示出了根据本公开的一些实施例的训练一个或更多个机器学习模型202(其可以表示和/或包括一个或更多个机器学习模型102)的一个或更多个基础模型的第一示例。如图所示,一个或更多个机器学习模型202的一个或更多个基础模型204可以包括多个层,诸如,一个或更多个嵌入层206、一个或更多个自注意力层208、一个或更多个交叉注意力层210、一个或更多个前馈层212、以及一个或更多个读取层214。然而,在其他示例中,一个或更多个机器学习模型202的一个或更多个基础模型204可以包括附加的和/或替代的层。一个或更多个机器学习模型202还可以包括领域特定部分216(1)(例如,存储器单元)和领域特定部分216(M)(例如,存储器单元),领域特定部分216(1)包括一个或更多个层218(1),领域特定部分216(M)包括一个或更多个层218(M)。
在图2A的示例中,领域特定部分216(1)连接至一个或更多个自注意力层208和一个或更多个交叉注意力层210。例如,第一层218(1)可连接到一个或更多个自注意力层208,并且第二层218(1)可连接到一个或更多个交叉注意力层210。此外,领域特定部分216(M)连接至一个或更多个自注意力层208和一个或更多个交叉注意力层210。例如,第一层218(M)可连接到一个或更多个自注意力层208,并且第二层218(M)可连接到一个或更多个交叉注意力层210。在一些示例中,领域特定部分216(1)-(M)可以连接至相同的自注意力层208和/或相同的交叉注意力层210。在其他示例中,领域特定部分216(1)-(M)可连接到不同的自注意力层208和/或不同的交叉注意力层210。
例如,并且在一些示例中,一个或更多个机器学习模型202可以包括转换器解码器,其中一个或更多个机器学习模型202通过因果(casual)自注意力对输入词元(token)序列进行建模。一个或更多个交叉注意力层210可以被配置为整合来自一个或更多个自注意力层208和领域特定部分216(1)-(M)的信息。在一些示例中,领域特定部分216(1)-(M)可以表示使用双向注意力或因果注意力的转换器编码器。例如,领域特定部分216(1)-(M)可从一个或更多个自注意力层208取得输出,并然后处理该输出以生成一个或更多个键或一个或更多个值,然后这些键或值被输出至一个或更多个交叉注意力层210。在一些示例中,由于领域特定部分216(1)-(M)与不同的领域相关联,因此领域特定部分216(1)-(M)可以生成针对不同领域的键和/或值。正因如此,查询矩阵可从解码器计算且用于查询键和值矩阵。然后该信息可被组合在一起以供下一个块处理。
为了训练一个或更多个基础模型204,一个或更多个嵌入层206、一个或更多个自注意力层208、一个或更多个交叉注意力层210、一个或更多个前馈层212、以及一个或更多个读取层214可以是未冻结的,这由实线指示。此外,领域特定部分216(1)-(M)(例如,一个或更多个层218(1)-(M))可以被冻结,这由虚线指示。照此,与一个或更多个嵌入层206、一个或更多个自注意力层208、一个或更多个交叉注意力层210、一个或更多个前馈层212和一个或更多个读取层214相关联的权重和/或参数在训练期间可被更新,而与层218(1)-(M)相关联的权重和/或参数在训练期间可不被更新。
在一些示例中,一个或更多个基础模型204被训练成获悉(know)如何访问来自领域特定部分216(1)-(M)的信息。例如,一个或更多个基础模型204可被训练为理解通用领域数据。在一些示例中,在训练期间,可以向来自领域特定部分216(1)-(M)的输出应用丢弃(dropout),以使得一个或更多个基础模型204学习如何对来自领域特定部分216(1)-(M)的信息进行整合,即使当一个或更多个领域特定部分216(1)-(M)被去激活时,例如在部署期间,这在本文中更详细地描述。
此外,图3A示出了根据本公开的一些实施例的训练一个或更多个机器学习模型302(其可以表示和/或包括一个或更多个机器学习模型102)的一个或更多个基础模型的第二示例。如图所示,一个或更多个机器学习模型302可以包括一个或更多个基础模型304、一个或更多个领域特定部分306(1)-(O)(例如,存储器单元)、以及一个或更多个其他层,诸如一个或更多个嵌入层308、一个或更多个门控层310、以及一个或更多个池化层312。然而,在其他示例中,一个或更多个机器学习模型302可以包括附加的和/或替代的层。在一些示例中,一个或更多个基础模型304和领域特定部分306(1)-(O)可以被实现为转换器解码器。
一个或更多个门控层310(其可以包括一个或更多个备用门控层)可以被配置成基于输入数据选择路由。例如,并且如本文所描述的,领域特定部分306(1)-(O)中的每一个可以与相应的领域相关联。照此,一个或更多个门控层310可以将不同的路由号分配给不同的领域特定部分306(1)-(O)。例如,门控路由号0可以控制从输入到领域特定部分306(1)的路由,门控路由号1可以控制从输入到领域特定部分306(2)的路由等等。由于领域特定部分306(1)-(O)的数量是动态的(例如,基于领域特定部分306(1)-(O)被激活和去激活),因此一个或更多个门控层310可以从领域特定部分306(1)-(O)接收一个或更多个掩模(mask)。照此,如果领域特定部分306(1)-(O)被去激活,则一个或更多个门控层310可以屏蔽(mask)到领域特定部分306(1)-(O)的路由。
为了训练一个或更多个基础模型304,一个或更多个基础模型304(例如,一个或更多个基础模型304的一个或更多个层)、一个或更多个嵌入层308、一个或更多个门控层310、以及一个或更多个池化层312可以是未冻结的,这由实线指示。此外,领域特定部分306(1)-(O)(例如,领域特定部分306(1)-(O)的一个或更多个层)可以是冻结的,这由虚线指示。照此,与一个或更多个基础模型304(例如,一个或更多个基础模型304的一个或更多个层)、一个或更多个嵌入层308、一个或更多个门控层310、以及一个或更多个池化层312相关联的权重和/或参数在训练期间可以被更新,而与领域特定部分306(1)-(O)的层相关联的权重和/或参数在训练期间可以不被更新。
返回参考图1A的示例,在领域特定部分训练步骤108(2)期间,正被训练的领域特定部分106(1)的层可以是“未冻结的”,其由实线表示,并且未正被训练的领域特定部分106(2)-(N)的层可以是“冻结的”,其由虚线表示。此外,一个或更多个基础模型104的一个或更多个第一层可以是“冻结的”和/或一个或更多个基础模型104的一个或更多个第二层可以是“未冻结的”,其由虚线表示。例如,在一些示例中,一个或更多个基础模型104的所有层在训练领域特定部分106期间可被冻结。在其他示例中,一个或更多个基础模型104的一个或更多个层可以是冻结的,而一个或更多个基础模型104的一个或更多个其他层在训练领域特定部分106期间可以是未冻结的。在这样的示例中,一个或更多个其他层可以包括向领域特定部分106发送数据和/或从领域特定部分106接收数据的一个或更多个基础模型104的一个或更多个层。
如本文所描述的,领域特定部分106可被训练为理解特定领域。例如,领域特定部分106(1)可以被训练为理解与第一特定领域(例如,金融领域)相关联的数据,领域特定部分106(2)可以被训练为理解与第二特定领域(例如,旅行领域)相关联的数据,等等。照此,可以使用与领域特定部分106(1)的特定领域相关联的领域特定(domain-specific)训练数据112来训练领域特定部分106(1)。例如,并且再次,如果领域特定部分106(1)与金融领域相关联,则领域特定训练数据112可以包括与金融领域相关联的数据。
在一些示例中,在训练领域特定部分106(1)期间,可以使用一个或更多个基础模型104的层以及领域特定部分106的层来处理领域特定训练数据112。然而,并且如本文所描述的,领域特定部分106(1)的层的权重和/或参数被更新,而领域特定部分106(2)-(N)的权重和/或参数不被更新。此外,一个或更多个基础模型104的一个或更多个冻结的层的权重和/或参数可不被更新,而一个或更多个基础模型104的未冻结的层的权重和/或参数被更新。
例如,图2B示出了根据本公开的一些实施例的训练一个或更多个机器学习模型202的领域特定部分的第一示例。为了训练领域特定部分216(1),领域特定部分216(1)的一个或更多个层218(1)和一个或更多个交叉注意力层210可以是未冻结的,其由实线表示。此外,一个或更多个嵌入层206、一个或更多个自注意力层208、一个或更多个前馈层212、一个或更多个读取层214和领域特定部分216(2)的一个或更多个层218(2)可以是冻结的,这由虚线指示。照此,与领域特定部分216(1)的一个或更多个层218(1)和一个或更多个交叉注意力层210相关联的权重和/或参数在训练期间可被更新,而一个或更多个嵌入层206、一个或更多个自注意力层208、一个或更多个前馈层212、一个或更多个读取层214和领域特定部分216(M)的一个或更多个层218(M)的权重和/或参数在训练期间可不被更新。
在某些示例中,一个或更多个交叉注意力层210可以保持为未冻结的,以便将该一个或更多个交叉注意力层210进一步训练为学习如何整合来自领域特定部分216(1)-(M)的信息。此外,在一些示例中,并且类似于一个或更多个基础模型204的训练,可以向来自领域特定部分216(M)的输出应用丢弃,以使得一个或更多个基础模型204学习如何整合来自领域特定部分216(1)-(M)的信息,即使当领域特定部分216(1)-(M)中的一个或更多个被去激活时,例如在部署期间,这在本文中更详细地描述。
此外,图3B示出了根据本公开的一些实施例的训练一个或更多个机器学习模型302的领域特定部分的第二示例。为了训练领域特定部分306(1),该领域特定部分306(1)(例如,领域特定部分306(1)的一个或更多个层)、一个或更多个门控层310和一个或更多个池化层312可以是未冻结的,这由实线表示。此外,一个或更多个基础模型304(例如,一个或更多个基础模型304的一个或更多个层)、一个或更多个嵌入层308和领域特定部分306(2)-(O)(例如,领域特定部分306(2)-(O)的一个或更多个层)可以是冻结的,这由虚线指示。照此,与领域特定部分306(1)(例如,领域特定部分306(1)的层)、一个或更多个门控层310和一个或更多个池化层312相关联的权重和/或参数在训练期间可以被更新,而一个或更多个基础模型304(例如,一个或更多个基础模型304的层)、一个或更多个嵌入层308和领域特定部分306(2)-(O)(例如,领域特定部分306(2)-(O)的层)的权重和/或参数在训练期间可以不被更新。
在一些示例中,在一个或更多个基础模型304被冻结时,一个或更多个门控层310保持未冻结,以便进一步训练一个或更多个门控层310以确定哪个领域特定部分306(1)-(O)(例如,图3B的示例中的领域特定部分306(1))发送该输入。此外,在一些示例中,可以向未正被训练的领域特定部分306(1)-(O)(例如,图3B的示例中的领域特定部分306(2)-(O))的掩模应用丢弃,从而使得一个或更多个门控层310被训练为确定当领域特定部分306(1)-(O)被去激活时如何操作。
返回参考图1A的示例,其他领域特定部分106(2)-(N)中的每一个可以使用与领域特定部分106(1)类似的过程来训练。这样,可分别训练领域特定部分106中的每一个以理解特定领域。在一些示例中,领域特定部分106中的两个或更多个(例如,每一个)可以包括被训练的相同数量的层。在其他示例中,领域特定部分106可以包括不同数量的层。例如,领域特定部分106的层的数量可以取决于用于训练领域特定部分106的训练数据的量。例如,使用第一量的训练数据训练的领域特定部分106可以包括第一数量的层,而使用第二、更大量的训练数据训练的领域特定部分106可以包括第二、更大数量的层。换言之,在一些示例中,领域特定部分106的层的数量可以随着训练数据的量的增加而增加。
在训练期间和/或之后,可以向一个或更多个用户部署一个或更多个机器学习模型102。例如,图1B示出了根据本公开的一些实施例的用于部署来自图1A的示例的一个或更多个机器学习模型102的系统。例如,并且针对一个或更多个第一部署,一个或更多个系统可以将一个或更多个机器学习模型102的整体(诸如,一个或更多个基础模型104和领域特定部分106中的每一个)提供给(例如,发送到)一个或更多个设备114(1)。如本文所描述的,设备114(1)可以包括但不限于系统、服务器、机器、计算机、移动设备、和/或任何其他类型的设备。
由于一个或更多个机器学习模型102的整体被部署,则可以确定激活哪些领域特定部分106以及去激活哪些领域特定部分106。在一些示例中,该确定是基于接收指示激活哪些领域特定部分106以及去激活哪些领域特定部分106的输入(诸如来自一个或更多个设备114(1)的用户的输入)而做出的。附加地或可替代地,在一些示例中,该确定是基于对将由一个或更多个机器学习模型102处理的输入数据116的分析而做出的。例如,一个或更多个设备114(1)和/或一个或更多个机器学习模型102可以基于对输入数据116的分析来确定输入数据116与特定领域相关。作为响应,一个或更多个设备114(1)和/或一个或更多个机器学习模型可以激活与该特定领域相关联的领域特定部分106,同时去激活其他领域特定部分106。
例如,并且在图1B的示例中,可以确定激活领域特定部分106(1)(其由领域特定部分106(1)与一个或更多个基础模型104之间的连接来指示),并且去激活领域特定部分106(2)-(N)(其由领域特定部分106(2)-(N)与一个或更多个基础模型104之间不存在连接来指示)。如本文所描述的,可以通过移除与领域特定部分106(2)-(N)相关联的存储器单元、终止领域特定部分106(2)-(N)与一个或更多个基础模型104之间的连接、和/或执行一个或更多个附加的和/或替代的技术来去激活领域特定部分106(2)-(N)。
在向一个或更多个设备114(1)的一个或更多个第一部署处,输入数据116可以被输入到一个或更多个机器学习模型102中以供处理。例如,一个或更多个机器学习模型102可以使用一个或更多个基础模型104以及领域特定部分106(1)来处理输入数据116,但是不使用领域特定部分106(2)-(N)来处理输入数据116。基于该处理,一个或更多个机器学习模型102可以生成输出数据118。输出数据118可以包括但不限于表示一个或更多个向量和/或一个或更多个张量的数据、表示一个或更多个词元的数据、表示文本的数据、表示图像的数据和/或任何其他类型的数据。
如在图1B的示例中进一步示出的,在一个或更多个第二部署处,一个或更多个系统可以向一个或更多个设备114(2)提供一个或更多个机器学习模型102的仅一部分,诸如一个或更多个基础模型104和领域特定部分106(1)。在一些示例中,一个或更多个系统可以诸如基于来自一个或更多个设备114(2)的一个或更多个用户的输入来确定要连同一个或更多个机器学习模型102一起发送哪些领域特定部分106。例如,正为其部署一个或更多个机器学习模型102的用户可以指示一个或更多个机器学习模型102主要和/或仅将用于处理与特定领域相关联的数据。照此,一个或更多个系统可以仅发送一个或更多个基础模型104和与特定领域相关联的领域特定部分106(1)。在这样的示例中,仅发送一个或更多个机器学习模型102的一部分可以节省计算资源和/或网络资源。
在一个或更多个第二部署处,输入数据120可以被输入到一个或更多个机器学习模型102中以供处理。例如,一个或更多个机器学习模型102可以使用一个或更多个基础模型104以及领域特定部分106(1)来处理输入数据120,但是不使用领域特定部分106(2)-(N)来处理输入数据120,因为一个或更多个机器学习模型102不包括领域特定部分106(2)-(N)。基于该处理,一个或更多个机器学习模型102可以生成输出数据122。输出数据122可包括但不限于表示一个或更多个向量和/或一个或更多个张量的数据、表示一个或更多个词元的数据、表示文本的数据、表示图像的数据和/或任何其他类型的数据。
图4A示出了根据本公开的一些实施例的部署一个或更多个机器学习模型202的示例。如图所示,可能已经部署了整个的一个或更多个机器学习模型202,包括领域特定部分216(1)-(M)中的每一个。然而,在其他示例中,领域特定部分216(1)-(M)中的一个或更多个可能尚未被部署。在图4A的示例中,一个或更多个机器学习模型202可以用于处理与特定领域(诸如与领域特定部分216(1)相关联的领域)相关联的输入数据402。照此,领域特定部分216(1)被激活,而其他领域特定部分216(M)被去激活。则一个或更多个机器学习模型202可以使用一个或更多个基础模型204以及领域特定部分216(1)来处理输入数据402,但是不使用领域特定部分216(M)来处理输入数据402,因为领域特定部分216(M)被去激活。基于该处理,一个或更多个机器学习模型202可以生成输出数据404。输出数据404可以包括但不限于表示一个或更多个向量和/或一个或更多个张量的数据、表示一个或更多个词元的数据、表示文本的数据、表示图像的数据和/或任何其他类型的数据。
此外,图4B示出了根据本公开的一些实施例的部署一个或更多个机器学习模型302的示例。如图所示,可能已经部署了整个的一个或更多个机器学习模型302,包括领域特定部分306(1)-(O)中的每一个。然而,在其他示例中,领域特定部分306(1)-(O)中的一个或更多个可能尚未被部署。在图4B的示例中,一个或更多个机器学习模型202可以用于处理与特定领域(诸如与领域特定部分306(1)相关联的领域)相关联的输入数据406。照此,领域特定部分306(1)被激活,而其他领域特定部分306(2)-(O)被去激活。则一个或更多个机器学习模型202可以使用一个或更多个基础模型304、一个或更多个领域特定部分306(1)、一个或更多个嵌入层308、一个或更多个门控层310、以及一个或更多个池化层312来处理输入数据406,但是不使用领域特定部分306(2)-(O)来处理输入数据406,因为领域特定部分306(2)-(O)被去激活。基于该处理,一个或更多个机器学习模型302可以生成输出数据408。输出数据408可以包括但不限于表示一个或更多个向量和/或一个或更多个张量的数据、表示一个或更多个词元的数据、表示文本的数据、表示图像的数据和/或任何其他类型的数据。
如以上所讨论的,一个或更多个系统可以执行各个过程以便训练一个或更多个机器学习模型。如此,图5是示出了根据本公开的一些实施例的用于训练一个或更多个机器学习模型502(其可以表示和/或包括一个或更多个机器学习模型102、一个或更多个机器学习模型202、和/或一个或更多个机器学习模型302)的过程的数据流图。如图所示,可以使用输入数据508(例如,训练输入数据)来训练一个或更多个机器学习模型502,所述一个或更多个机器学习模型502包括一个或更多个基础模型504和一个或更多个领域特定部分506。输入数据508可以包括但不限于文本数据、音频数据、视频数据、图像数据和/或任何其他类型的数据。在一些示例中,输入数据508与一个或更多个通用领域相关联,诸如当一个或更多个机器学习模型502的一个或更多个基础模型504正被训练时。在一些示例中,输入数据508与特定领域相关联,诸如当一个或更多个领域特定部分506中的一个正被训练时。
可以使用输入数据508以及对应的真值数据510来训练一个或更多个机器学习模型502。真值数据510可以包括注释、标签、掩模等。在一些实施例中,可以使用自监督训练来训练一个或更多个模型,诸如通过使用一个或更多个自监督损失函数。例如,真值数据可以与输入数据相同,但是移位了一个位置,使得要求模型预测与经移位的输入数据相对应的下一个词元。然而,在其他示例中,可使用对应的损失函数来实施半监督或无监督训练。
在一些示例中,可以在绘图程序(例如,注释程序)、计算机辅助设计(CAD)程序、标记程序、适合于生成真值数据510的另一种类型的程序内生成真值数据510,和/或在一些示例中,可以手动绘制真值数据510。在一些示例中,真值数据510可以合成地产生(例如,从计算机模型或渲染生成)、真实地产生(例如,从真实世界数据设计和产生)、机器自动的(例如,使用特征分析和学习来从数据提取特征并且然后生成标签)、人类注释(例如,标记器或注释专家定义标签的位置)和/或其组合(例如,人类标识折线的顶点,机器使用多边形光栅化器生成多边形)。
训练引擎512可以包括一个或更多个损失函数,该一个或更多个损失函数测量与真值数据510相比输出514中的损失(例如,误差)。可使用任何类型的损失函数,例如交叉熵损失、均方误差、均值绝对误差、均值偏差误差和/或其他损失函数类型。在一些实施例中,不同的输出514可以具有不同的损失函数。在这样的示例中,损失函数可以被组合以形成总损失,并且总损失可以用于训练一个或更多个机器学习模型502(例如,更新其权重和/或参数)。在任何示例中,可执行反向传递计算以递归地计算一个或更多个损失函数相对于训练参数的梯度。在一些示例中,一个或更多个机器学习模型502的权重和偏差(bias)可以用于计算这些梯度。
如本文所描述的,当一个或更多个基础模型504正被训练时,训练引擎512可以被配置成更新与一个或更多个基础模型504相关联的权重和/或参数,而不更新一个或更多个领域特定部分506的权重和/或参数。此外,当训练领域特定部分506时,训练引擎512可以被配置成更新该领域特定部分506的权重和/或参数,而不更新一个或更多个其他领域特定部分506的权重和/或参数。此外,并且还是在训练领域特定部分506时,训练引擎512可以被配置为更新一个或更多个基础模型504的一个或更多个层的权重和/或参数,而不更新一个或更多个基础模型504的一个或更多个其他层的权重和/或参数。
如本文进一步描述的,在一些示例中,一个或更多个机器学习模型可以与一个或更多个其他模型一起部署。例如,图6A示出了根据本公开的一些实施例的部署一个或更多个机器学习模型602(其可以表示、和/或包括一个或更多个机器学习模型102、一个或更多个机器学习模型202、一个或更多个机器学习模型302、和/或一个或更多个机器学习模型502)与一个或更多个其他模型的示例。
在图6A的示例中,一个或更多个机器学习模型602可以与一个或更多个语言模型604一起部署。例如,一个或更多个机器学习模型602可以被添加到一个或更多个语言模型604的编码器和解码器部分。在一些示例中,一个或更多个语言模型604可以与将文本例如从第一语言翻译成第二语言相关联。在这样的示例中,一个或更多个语言模型604的输入数据606可以表示第一语言的文本。然后一个或更多个语言模型604处理输入数据606以生成第一输出608。为了处理输入数据606,一个或更多个语言模型604可以使用预训练的命名实体识别模型(NER),其注释由输入数据606表示的命名实体,其中命名实体被假的(dummy)占位符词元替换。接下来,预训练的神经语言模型可对经处理的序列进行编码。在处理序列之后,经编码的张量表示由特征提取器进行后处理,使得领域特定信息(domain specificinformation)在总序列中被更高地加权。
然后一个或更多个机器学习模型602可以处理由输入数据606表示的领域特定信息。类似于一个或更多个语言模型604,掩模(masked)语言模型推理可应用于输入序列,并且可获得输入的张量表示。基于该处理,一个或更多个机器学习模型602可以生成输出数据610。然后输出数据608的第一张量表示和输出数据610的第二张量表示可被组合(例如,串接)以生成组合数据612。接下来,组合数据612可由另一编码器614和解码器616处理以生成最终输出数据618。在此示例中,最终输出数据618可表示输入数据606的翻译。
在其他示例中,一个或更多个语言模型604可以包括另一种类型的语言模型,诸如语音处理模型(例如,自动语音识别(ASR)模型、自然语言理解(NLU)模型等)。在这样的示例中,输入数据606可表示音频数据,例如表示用户话语(speech)的音频数据。照此,一个或更多个语言模型604可以被配置为处理针对通用语音信息的输入数据606,而一个或更多个机器学习模型602可以被配置为处理输入数据606以帮助处理领域特定信息。
例如,基于处理针对通用语音信息的输入数据606,一个或更多个语言模型604可以生成表示第一张量表示的输出数据608。此外,基于处理领域特定信息,一个或更多个机器学习模型602可生成表示第二张量表示的输出数据610。类似于上述示例,然后输出数据608的第一张量表示和输出数据610的第二张量表示可被组合(例如,串接)以生成组合数据612。接下来,组合数据612可由另一编码器614和解码器616处理以便生成最终输出数据618。在该示例中,最终输出数据618可表示文本,例如表示由输入数据606表示的用户话语的文本。
图6B示出了根据本公开的一些实施例的利用一个或更多个机器学习模型602和一个或更多个语言模型604部署一个或更多个附加的自定义语言模型620的示例。在图6B的示例中,一个或更多个自定义语言模型620可以应用于解码器616。照此,一个或更多个自定义语言模型620可以处理来自解码器616的输出,以便更好地处理领域特定信息。例如,一个或更多个自定义语言模型620可使用交叉注意力来整合编码器614所输出的张量表示。在一些示例中,例如当解码器616输出与处理输入数据606相关联的输出列表时,一个或更多个自定义语言模型620可提供用于选择最终输出数据618的输出中的至少一者的输出。
图6C示出了根据本公开的一些实施例的部署一个或更多个附加的自定义语言模型622与一个或更多个机器学习模型602、一个或更多个语言模型604、以及一个或更多个自定义语言模型620的示例。在图6C的示例中,来自解码器616的输出数据618可表示输出列表(例如,假设列表),例如两个输出、五个输出、十个输出、二十个输出和/或任何其他数目的输出。然后,一个或更多个自定义语言模型622可以被配置为处理输出列表,以便对输出列表进行排名(rank)。
在一些示例中,为了对输出列表进行排名,一个或更多个自定义语言模型622可以确定输出列表的一个或更多个分数(例如,确定每个输出的相应分数)。在这样的示例中,一个或更多个自定义语言模型622可以通过以下等式确定分数:
score=orig_score+alpha+nim_score+beta*seq_length (1)
在等式(1)中,orig_score是由解码器616计算的第一分数(例如,由一个或更多个自定义语言模型620计算的),nim_score是由一个或更多个自定义语言模型622计算的,alpha是用于调整nim_score的重要性的第一参数,seq_length是输出的长度,以及beta是用于调整seq_length的重要性的第二参数。基于该评分,可生成经评分的输出数据624,其中经评分的输出数据624表示经排名的输出。使用经评分的输出数据624,可以生成表示一个或更多个输出的最终输出数据626。例如,最终输出数据626可以表示具有最高分数的输出。
现在参考图7和图8,本文描述的方法700和800的每个框包括可以使用硬件、固件和/或软件的任何组合执行的计算过程。例如,各个功能可以通过执行存储在存储器中的指令的处理器来实现。方法700和800还可以体现为存储在计算机存储介质上的计算机可用指令。方法700和800可由独立的应用、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件提供,仅举几例。此外,方法700和800通过示例的方式关于图1A至图1B的系统进行描述。然而,方法700和800可附加地或替代地由任何一个系统或系统的任何组合执行,所述系统包括但不限于本文中描述的那些系统。
图7是示出了根据本公开的一些实施例的用于部署包括一个或更多个基础模型和一个或更多个领域特定部分的一个或更多个机器学习模型的第一方法700的第一流程图。在框B702处,方法700可以包括获得与一个或更多个机器学习模型相关联的基础模型。例如,设备(例如,系统、机器、服务器等)可以接收和/或检索一个或更多个基础模型104。如本文所描述的,可以训练一个或更多个基础模型104以理解通用领域。
在框704处,方法700可包括获得与一个或更多个机器学习模型相关联的领域特定部分。例如,设备可以接收和/或检索与特定领域相关联的领域特定部分106,其中领域特定部分106包括一个或更多个层。在一些示例中,设备可以接收和/或检索领域特定部分106以及一个或更多个基础模型104。在一些示例中,设备可以与接收和/或检索一个或更多个基础模型104分开地接收和/或检索领域特定部分106。仍然,在一些示例中,设备可以接收和/或检索与多个特定领域相关联的多个领域特定部分106。
在框B706处,方法700可包括使用基础模型和领域特定部分并且至少基于输入数据来确定输出数据。例如,输入数据可以使用一个或更多个基础模型104和领域特定部分106来处理。在一些示例中,输入数据与领域特定部分106被训练所针对的特定领域相关联。然后一个或更多个基础模型104和领域特定部分106可以处理输入数据,并且基于该处理输出与该输入数据相关联的数据。
图8是示出了根据本公开的一些实施例的用于部署包括一个或更多个基础模型和一个或更多个领域特定部分的一个或更多个机器学习模型的第二方法800的第二流程图。在框B802处,方法800可包括接收与第一领域相关联的输入数据。例如,一个或更多个系统可以接收与第一领域相关联的第一数据。如本文所描述的,在一些示例中,输入数据可以包括文本,诸如包括一个或更多个字母、词、子词、字符、数字、词元和/或符号的文本,所述文本使用输入设备生成和/或作为口语的转录而生成。然而,在其他示例中,输入数据可以包括另一类型的数据,诸如图像数据、视频数据、音频数据、和/或可以由一个或更多个机器学习模型处理的任何其他类型的数据。
在框B804处,方法800可以包括将输入数据输入到一个或更多个机器学习模型中,所述一个或更多个机器学习模型包括与第一领域相关联的被激活的一个或更多个第一层以及与第二领域相关联的被去激活的一个或更多个第二层。例如,在实施例中,输入数据可以被输入到一个或更多个机器学习模型102中——其可以包括大语言模型(LLM)。如本文所描述的,一个或更多个机器学习模型102可以至少包括与第一领域相关联的领域特定部分106(1)和与第二领域相关联的第二领域特定部分106(2),其中每个领域特定部分106包括一个或更多个层。由于输入数据与第一领域相关联,所以领域特定部分106(1)可以被激活,而领域特定部分106(2)可以被去激活。
在框B806处,方法800可以包括使用一个或更多个机器学习模型并且至少基于输入数据来确定输出数据。例如,基于领域特定部分106(1)被激活,输入数据可以使用一个或更多个基础模型104和领域特定部分106(1)来处理。然而,由于领域特定部分106(2)被去激活,输入数据可以不使用领域特定部分106(2)来处理。此外,基于该处理,一个或更多个机器学习模型102可以生成与输入数据相关联的输出数据。
示例计算设备
图9是适合用于实现本公开的一些实施例的示例计算设备900的框图。计算设备900可以包括直接或间接耦合以下设备的互连系统902:存储器904、一个或更多个中央处理单元(CPU)906、一个或更多个图形处理单元(GPU)908、通信接口910、输入/输出(I/O)端口912、输入/输出组件914、电源916,一个或更多个呈现组件918(例如,一个或更多个显示器)和一个或更多个逻辑单元920。在至少一个实施例中,一个或更多个计算设备900可以包括一个或更多个虚拟机(VM),和/或其组件中的任何组件可以包括虚拟组件(例如,虚拟硬件组件)。对于非限制性示例,一个或更多个GPU 908可以包括一个或更多个vGPU,一个或更多个CPU 906可以包括一个或更多个vCPU,和/或一个或更多个逻辑单元920可以包括一个或更多个虚拟逻辑单元。照此,一个或更多个计算设备900可以包括分立组件(例如,专用于计算设备900的全GPU)、虚拟组件(例如,专用于计算设备900的GPU的一部分)或其组合。
尽管图9的各个框被示出为经由互连系统902与线路连接,但这不旨在是限制性的并且仅是为了清楚起见。例如,在一些实施例中,呈现组件918(诸如显示设备)可被认为是I/O组件914(例如,如果显示器是触摸屏)。作为另一个示例,CPU 906和/或GPU 908可以包括存储器(例如,存储器904可以表示除了GPU 908、CPU 906和/或其他组件的存储器之外的存储设备)。换言之,图9的计算设备仅是说明性的。在如“工作站”、“服务器”、“膝上型计算机”、“台式计算机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的此类类别之间不做区分,因为所有都被考虑在图9的计算设备的范围内。
互连系统902可以表示一个或更多个链路或总线,诸如地址总线、数据总线、控制总线或其组合。互连系统902可包括一个或更多个总线或链路类型,诸如工业标准体系结构(ISA)总线、扩展工业标准体系结构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连高速(PCIe)总线和/或另一类型的总线或链路。在一些实施例中,组件之间存在直接连接。作为示例,CPU 906可以直接连接到存储器904。进一步,CPU906可以直接连接到GPU 908。在组件之间存在直接或点对点连接的情况下,互连系统902可包括PCIe链路以执行连接。在这些示例中,PCI总线不需要被包括在计算设备900中。
存储器904可以包括各种计算机可读介质中的任何一种。计算机可读介质可以是可由计算设备900访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质,以及可移除和不可移除介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现的易失性和非易失性介质和/或可移除和不可移除介质。例如,存储器904可存储计算机可读指令(例如,表示一个或更多个程序和/或一个或更多个程序元件,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储设备或其他磁存储设备,或可用于存储所需信息且可由计算设备900访问的任何其他介质。如本文所使用的,计算机存储介质不包括信号本身。
计算机存储介质可将计算机可读指令、数据结构、程序模块和/或其他数据类型体现在例如载波或其他传输机制等经调制数据信号中,且包括任何信息递送介质。术语“调制数据信号”可以指代以编码信号中的信息的方式设置或改变其一个或更多个特性的信号。作为示例而非限制,计算机存储介质可包括有线介质(诸如有线网络或直接有线连接)和无线介质(诸如声学、RF、红外和其他无线介质)。以上任何内容的组合也应包括在计算机可读介质的范围内。
一个或更多个CPU 906可以被配置成用于执行计算机可读指令中的至少一些计算机可读指令,以控制计算设备900的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。一个或更多个CPU 906可以各自包括能够同时处理众多软件线程的一个或更多个核(例如,一个、两个、四个、八个、二十八个、七十二个等)。一个或更多个CPU 906可包括任何类型的处理器,并且取决于所实现的计算设备900的类型,可包括不同类型的处理器(例如,具有更少核用于移动设备的处理器和具有更多核用于服务器的处理器)。例如,取决于计算设备900的类型,处理器可以是使用精简指令集计算(RISC)实现的高级RISC机器(ARM)处理器或使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或补充协处理器(诸如数学协处理器)之外,计算设备900可包括一个或更多个CPU 906。
除一个或更多个CPU 906之外或替代一个或更多个CPU 906,一个或更多个GPU908可被配置为执行计算机可读指令中的至少一些以控制计算设备900的一个或更多个组件执行本文中所描述的方法和/或过程中的一个或更多个。GPU 908中的一个或更多个可以是集成GPU(例如,其中CPU 906中的一个或更多个和/或GPU 908中的一个或更多个可为分立GPU)。在实施例中,一个或更多个GPU 908中的一个或更多个可以是一个或更多个CPU906中的一个或更多个的协处理器。一个或更多个GPU 908可由计算设备900使用以渲染图形(例如,3D图形)或执行通用计算。例如,一个或更多个GPU 908可用于GPU上的通用计算(GPGPU)。一个或更多个GPU 908可以包括能够同时处理数百或数千个软件线程的数百或数千个核。一个或更多个GPU 908可响应于渲染命令(例如,经由主机接口接收的来自一个或更多个CPU 906的渲染命令)而生成用于输出图像的像素数据。一个或更多个GPU 908可包括图形存储器,例如显示存储器,用于存储像素数据或任何其他合适的数据,例如GPGPU数据。显示存储器可作为存储器904的一部分被包括。一个或更多个GPU 908可包括并行操作(例如,经由链路)的两个或更多个GPU。链路可以直接连接GPU(例如,使用NVLINK)或可以通过交换机(例如,使用NVSwitch)连接GPU。当组合在一起时,每个GPU 908可生成用于输出的不同部分或用于不同输出的像素数据或GPGPU数据(例如,第一GPU用于第一图像和第二GPU用于第二图像)。每个GPU可包括其自己的存储器,或可与其他GPU共享存储器。
除了一个或更多个CPU 906和/或一个或更多个GPU 908之外或替代地,一个或更多个逻辑单元920可被配置为执行计算机可读指令中的至少一些,以控制计算设备900的一个或更多个组件执行本文所述的方法和/或过程中的一个或更多个。在实施例中,一个或更多个CPU 906、一个或更多个GPU 908和/或一个或更多个逻辑单元920可以离散地或联合地执行方法、过程和/或其部分的任何组合。逻辑单元920中的一个或更多个可为一个或更多个CPU 906和/或一个或更多个GPU 908中的一个或更多个和/或集成在一个或更多个CPU906和/或一个或更多个GPU 908中的一个或更多个中,和/或逻辑单元920中的一个或更多个可为分立组件或以其他方式在一个或更多个CPU 906和/或一个或更多个GPU 908外部。在实施例中,逻辑单元920中的一个或更多个可以是一个或更多个CPU 906中的一个或更多个CPU和/或一个或更多个GPU 908中的一个或更多个GPU的协处理器。
一个或更多个逻辑单元920的示例包括一个或更多个处理核和/或其组件,诸如数据处理单元(DPU)、张量核(TC)、张量处理单元(TPU)、像素视觉核(PVC)、视觉处理单元(VPU)、图形处理集群(GPC)、纹理处理集群(TPC)、流多处理器(SM)、树遍历单元(TTU)、人工智能加速器(AIA)、深度学习加速器(DLA)、算术逻辑单元(ALU)、专用集成电路(ASIC),浮点单元(FPU)、输入/输出(I/O)元件、外围组件互连(PCI)或快速外围组件互连(PCIe)元件等。
通信接口910可以包括一个或更多个接收器、发射器和/或收发器,该一个或更多个接收器、发射器和/或收发器使计算设备900能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口910可包括用于实现通过多个不同网络中的任一个进行通信的组件和功能,诸如无线网络(例如,Wi-Fi、Z-波、蓝牙、蓝牙LE、ZigBee等)、有线网络(例如,通过以太网或无限带宽)、低功率广域网(例如,LoRaWAN、SigFox等)和/或互联网。在一个或更多个实施例中,逻辑单元920和/或通信接口910可以包括一个或更多个数据处理单元(DPU),以将经由网络和/或通过互连系统902接收的数据直接发送到一个或更多个GPU 908(例如,一个或更多个GPU 908的存储器)。
I/O端口912可以使计算设备900能够逻辑地耦合到包括I/O组件914、一个或更多个呈现组件918和/或其他组件的其他设备,其中一些组件可以内置到(例如,集成在)计算设备900中。说明性I/O组件914包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等。I/O组件914可以提供处理空中姿态、语音或由用户生成的其他生理输入的自然用户界面(NUI)。在一些情况下,可将输入发送到适当的网络元件以供进一步处理。NUI可实现与计算设备900的显示器相关联的语音识别、指示笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的姿态识别、空中姿态、头部和眼睛跟踪、以及触摸识别(如以下更详细地描述的)的任何组合。计算设备900可包括深度相机,例如立体相机系统、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,以用于手势检测和辨识。另外,计算设备900可包括使得能够检测运动的加速度计或陀螺仪(例如,作为惯性测量单元(IMU)的部分)。在一些示例中,计算设备900可以使用加速度计或陀螺仪的输出来渲染沉浸式增强现实或虚拟现实。
电源916可以包括硬接线电源、电池电源或其组合。电源916可以向计算设备900提供电力以使得计算设备900的组件能够操作。
一个或更多个呈现组件918可包括显示器(例如,监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或其组合)、扬声器和/或其他呈现组件。一个或更多个呈现组件918可从其他组件(例如,一个或更多个GPU 908、一个或更多个CPU 906,DPU等)接收数据,且输出所述数据(例如,作为图像、视频、声音等)。
示例数据中心
图10示出了可以在本公开的至少一个实施例中使用的示例数据中心1000。数据中心1000可包括数据中心基础设施层1010、框架层1020、软件层1030和/或应用层1040。
如图10所示,数据中心基础设施层1010可以包括资源协调器1012、分组的计算资源1014和节点计算资源(“节点C.R.”)1016(1)-1016(N),其中“N”表示任何整个的正整数。在至少一个实施例中,节点C.R.1016(1)-1016(N)可以包括,但不限于任何数量的中央处理单元(“CPU”)或其他处理器(包括DPU、加速器、现场可编程门阵列(FPGA)、图形处理器或图形处理单元(GPU)等),存储器设备(例如,动态只读存储器)、存储设备(例如,固态或磁盘驱动器),网络输入/输出(“NW I/O”)设备、网络交换机、虚拟机(“VM”)、功率模块和/或冷却模块,等等。在一些实施例中,来自节点C.R.1016(1)-1016(N)中的一个或更多个节点C.R.可对应于具有上述计算资源中的一个或更多个的服务器。此外,在一些实施例中,节点C.R.1016(1)-10161(N)可包括一个或更多个虚拟组件,诸如vGPU、vCPU等,和/或节点C.R.1016(1)-1016(N)中的一个或更多个可对应于虚拟机(VM)。
在至少一个实施例中,分组的计算资源1014可包括容纳在一个或更多个机架(未示出)内的节点C.R.1016的单独分组,或容纳在不同地理位置(也未示出)处的数据中心内的许多机架的单独分组。分组的计算资源1014内的节点C.R.1016的单独分组可包括可被配置或分配来支持一个或更多个工作负载的分组计算、网络、存储器或存储资源。在至少一个实施例中,包括CPU、GPU、DPU和/或其他处理器的若干节点C.R.1016可以被分组在一个或更多个机架内以提供计算资源来支持一个或更多个工作负载。一个或更多个机架还可包括任意组合的任意数量的功率模块、冷却模块和/或网络交换机。
资源协调器1012可配置或以其他方式控制一个或更多个节点C.R.1016(1)-1016(N)和/或分组的计算资源1014。在至少一个实施例中,资源协调器1012可以包括用于数据中心1000的软件设计基础设施(“SDI”)管理实体。资源协调器1012可以包括硬件、软件或者其某种组合。
在至少一个实施例中,如图10所示,框架层1020可以包括作业调度器1028、配置管理器1034、资源管理器1036和/或分布式文件系统1038。框架层1020可以包括支持软件层1030的软件1032和/或应用层1040的一个或更多个应用1042的框架。软件1032或应用1042可分别包括基于web的服务软件或应用,诸如由Amazon Web服务、Google Cloud和Microsoft Azure提供的那些。框架层1020可以是但不限于可以使用分布式文件系统1038进行大规模数据处理(例如,“大数据”)的自由和开源软件Web应用框架的类型,如ApacheSparkTM(下文称为“Spark”)。在至少一个实施例中,作业调度器1028可以包括Spark驱动器以促进调度由数据中心1000的各个层支持的工作负载。配置管理器1034可以能够配置不同层,诸如包括Spark和分布式文件系统1038的软件层1030和框架层1020,以支持大规模数据处理。资源管理器1036可以能够管理被映射到分布式文件系统1038和作业调度器1028或被分配用于支持分布式文件系统1038和作业调度器1028的集群或分组的计算资源。在至少一个实施例中,集群的或分组的计算资源可包括数据中心基础设施层1010处的分组的计算资源1014。资源管理器1036可与资源协调器1012协调以管理这些映射或分配的计算资源。
在至少一个实施例中,包括在软件层1030中的软件1032可包括由节点C.R.1016(1)-1016(N)、分组的计算资源1014和/或框架层1020的分布式文件系统1038的至少部分使用的软件。一种或更多种类型的软件可以包括但不限于互联网网页搜索软件、电子邮件病毒扫描软件、数据库软件和流式视频内容软件。
在至少一个实施例中,应用层1040中包括的一个或更多个应用程序1042可包括由框架层1020的节点C.R.1016(1)-1016(N)、分组的计算资源1014和/或分布式文件系统1038的至少部分使用的一种或更多种类型的应用。一种或更多种类型的应用可以包括但不限于任何数量的基因组应用、认知计算和机器学习应用,包括训练或推理软件、机器学习框架软件(例如,PyTorch、TensorFlow、Caffe等)和/或结合一个或更多个实施例使用的其他机器学习应用。
在至少一个实施例中,配置管理器1034、资源管理器1036和资源协调器1012中的任一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自修改动作。自修改动作可使数据中心1000的数据中心操作者免于做出可能较差的配置决策和可能避免数据中心的未充分利用和/或较差执行部分。
根据本文描述的一个或更多个实施例,数据中心1000可以包括工具、服务、软件或其他资源以训练一个或更多个机器学习模型或使用一个或更多个机器学习模型预测或推理信息。例如,可以通过使用以上关于数据中心1000描述的软件和/或计算资源根据神经网络架构计算权重参数来训练一个或更多个机器学习模型。在至少一个实施例中,对应于一个或更多个神经网络的经训练的或部署的机器学习模型可用于通过使用通过一种或更多种训练技术(诸如但不限于本文中所描述的那些训练技术)计算的权重参数来使用上文关于数据中心1000描述的资源来推理或预测信息。
在至少一个实施例中,数据中心1000可使用CPU、专用集成电路(ASIC)、GPU、FPGA和/或其他硬件(或与其对应的虚拟计算资源)来使用上述资源执行训练和/或推理。此外,上文所描述的一个或更多个软件和/或硬件资源可被配置为允许用户训练或执行对信息的推理的服务,例如图像识别、语音识别或其他人工智能服务。
示例网络环境
适合用于实现本公开的实施例的网络环境可以包括一个或更多个客户端设备、服务器、网络附加存储(NAS)、其他后端设备、和/或其他设备类型。客户端设备、服务器和/或其他设备类型(例如,每个设备)可以在图9的一个或更多个计算设备900的一个或更多个实例上实现——例如,每个设备可以包括一个或更多个计算设备900的类似部件、特征和/或功能。此外,在实现后端设备(例如,服务器、NAS等)的情况下,后端设备可被包括作为数据中心1000的一部分,其示例在本文中关于图10更详细地描述。
网络环境的组件可经由一个或更多个网络彼此通信,所述网络可以为有线的、无线的或两者。网络可以包括多个网络或多个网络中的一个网络。例如,网络可包括一个或更多个广域网(WAN)、一个或更多个局域网(LAN)、一个或更多个公共网络诸如互联网和/或公共交换电话网(PSTN)、和/或一个或更多个私有网络。在网络包括无线电信网络的情况下,诸如基站、通信塔或者甚至接入点(以及其他组件)之类的组件可以提供无线连接。
兼容网络环境可以包括一个或更多个对等网络环境(在这种情况下,服务器可以不包括在网络环境中)和一个或更多个客户端-服务器网络环境(在这种情况下,一个或更多个服务器可以包括在网络环境中)。在对等网络环境中,本文相对于一个或更多个服务器所描述的功能可在任何数量的客户端设备上实现。
在至少一个实施例中,网络环境可包括一个或更多个基于云的网络环境、分布式计算环境、其组合等。基于云的网络环境可包括框架层、作业调度器、资源管理器和在一个或更多个服务器上实现的分布式文件系统,所述服务器可包括一个或更多个核心网服务器和/或边缘服务器。框架层可包括支持软件层的软件和/或应用层的一个或更多个应用程序的框架。所述软件或应用程序可分别包括基于网络的服务软件或应用程序。在实施例中,一个或更多个客户端设备可以使用基于web的服务软件或应用(例如,通过经由一个或更多个应用编程接口(API)访问服务软件和/或应用)。框架层可以是但不限于自由和开源软件web应用框架的类型,诸如可以使用分布式文件系统进行大规模数据处理(例如,“大数据”)。
基于云的网络环境可提供执行本文所描述的计算和/或数据存储功能(或其一个或更多个部分)的任何组合的云计算和/或云存储。这些不同功能中的任何功能可以分布在来自(例如,可以分布在州、地区、国家、地球等上的一个或更多个数据中心的)中央或核心服务器的多个位置上。如果与用户(例如,客户端设备)的连接相对靠近一个或更多个边缘服务器,则一个或更多个核心服务器可以将功能的至少一部分指定给一个或更多个边缘服务器。基于云的网络环境可以是私有的(例如,限于单个组织),可以是公共的(例如,对许多组织可用),和/或其组合(例如,混合云环境)。
一个或更多个客户端设备可以包括本文关于图9所描述的一个或更多个示例计算设备900的部件、特征和功能中的至少一些部件、特征和功能。作为示例而非限制,客户端设备可被实现为个人计算机(PC)、膝上型计算机、移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、MP3播放器、虚拟现实耳机、全球定位系统(GPS)或设备、视频播放器、摄像机、监视设备或系统、车辆、船、飞船、虚拟机、无人机、机器人、手持式通信设备、医院设备、游戏设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描绘的设备的任何组合或任何其他合适的设备。
本公开可以在计算机代码或机器可用指令的一般上下文中描述,包括由计算机或其他机器(诸如个人数据助理或其他手持式设备)执行的计算机可执行指令(诸如程序模块)。通常,包括例程、程序、对象、组件、数据结构等的程序模块是指执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中实践,包括手持式设备、消费电子产品、通用计算机、更专用计算设备等。本公开还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。
如本文所使用的,关于两个或更多个元件的“和/或”的叙述应被解释为仅意指一个元件或更多个元件的组合。例如,“元件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中的至少一个。
本文具体描述了本公开的主题以满足法定要求。然而,该描述本身并不旨在限制本公开的范围。而是,发明人已预期,结合其他当前或未来技术,所要求保护的主题还可用其他方式来体现,以包括类似于本文档中所描述的步骤的不同步骤或步骤的组合。此外,尽管术语“步骤”和/或“框”在本文中可以用于暗示所采用的方法的不同元件,但是这些术语不应被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各个步骤的顺序。
Claims (20)
1.一种方法,包括:
获得与一个或更多个机器学习模型相关联的基础模型;
获得与所述一个或更多个机器学习模型相关联的领域特定部分;以及
至少基于所述基础模型和所述领域特定部分处理输入数据,来确定与所述输入数据相关联的输出。
2.如权利要求1所述的方法,进一步包括:
获得与所述一个或更多个机器学习模型相关联的第二领域特定部分,
其中确定与所述输入数据相关联的所述输出在处理所述输入数据时不使用所述第二领域特定部分。
3.如权利要求1所述的方法,进一步包括:
确定所述输入数据与特定领域相关联;以及
至少基于所述输入数据与所述特定领域相关联,使得所述领域特定部分耦接到所述基础模型,
其中确定与所述输入数据相关联的所述输出在所述领域特定部分耦接到所述基础模型时发生。
4.如权利要求3所述的方法,其中确定所述输入数据与所述特定领域相关联包括以下中的至少一个:
从用户设备接收到所述输入数据与所述特定领域相关联的指示;或
分析所述输入数据以确定所述输入数据与所述特定领域相关联。
5.如权利要求3所述的方法,其中使所述领域特定部分耦接到所述基础模型包括:使与所述领域特定部分相关联的一个或更多个第一层耦接到与所述基础模型相关联的一个或更多个第二层。
6.如权利要求1所述的方法,进一步包括:
使用与一个或更多个通用领域相关联的第一训练数据来更新与所述基础模型相关联的一个或更多个第一层的一个或更多个第一参数;以及
使用与特定领域相关联的第二训练数据来更新与所述领域特定部分相关联的一个或更多个第二层的一个或更多个第二参数。
7.如权利要求6所述的方法,进一步包括:
在使用所述第一训练数据的所述更新期间,避免更新与所述领域特定部分相关联的所述一个或更多个第二层的所述一个或更多个第二参数;以及
在使用所述第二训练数据的所述更新期间,避免更新与所述基础模型相关联的所述一个或更多个第一层的所述一个或更多个第一参数。
8.如权利要求1所述的方法,进一步包括:
使用一个或更多个第二机器学习模型来确定与所述输入数据相关联的第二输出;以及
至少基于所述输出和所述第二输出来确定与所述输入数据相关联的第三输出。
9.如权利要求8所述的方法,其中确定与所述输入数据相关联的所述第三输出包括:
至少基于所述输出和所述第二输出来确定与所述输入数据相关联的所述第三输出和与所述输入数据相关联的第四输出;
使用一个或更多个第三机器学习模型来确定与所述第三输出相关联的第一分数以及与所述第四输出相关联的第二分数;以及
至少基于所述第一分数大于所述第二分数来确定所述第三输出。
10.一种系统,包括:
一个或更多个处理单元,所述一个或更多个处理单元用于:
接收与领域相关联的输入数据;
使用一个或更多个机器学习模型来处理所述输入数据以生成输出,所述一个或更多个机器学习模型包括与基础模型相关联的一个或更多个第一层以及与所述领域相关联的一个或更多个第二层;以及
使用所述输出来执行一个或更多个操作。
11.如权利要求10所述的系统,其中所述一个或更多个机器学习模型进一步包括与第二领域相关联的一个或更多个第三层,并且其中所述一个或更多个处理单元进一步用于:
使所述一个或更多个第二层被激活并且使所述一个或更多个第三层被去激活,
其中所述输出是在所述一个或更多个第二层被激活并且所述一个或更多个第三层被去激活时生成的。
12.如权利要求11所述的系统,其中所述一个或更多个处理单元进一步用于至少基于以下中的一个或更多个来确定激活所述一个或更多个第二层并且去激活所述一个或更多个第三层:
从用户设备接收到以下中的至少一项的指示:激活所述一个或更多个第二层或去激活所述一个或更多个第三层;或
分析所述输入数据以确定所述输入数据与所述领域相关联。
13.如权利要求11所述的系统,其中至少基于以下中的一个或更多个来使得所述一个或更多个第二层激活并且使得所述一个或更多个第三层去激活:
与所述一个或更多个第二层相关联的第一存储器组件被连接至与所述基础模型相关联的所述一个或更多个第一层;以及
与所述一个或更多个第三层相关联的第二存储器组件与和所述基础模型相关联的所述一个或更多个第一层断开连接。
14.如权利要求10所述的系统,其中所述输入数据在第一时间被输入到所述一个或更多个机器学习模型中,并且其中所述一个或更多个处理单元进一步用于:
接收与第二领域相关联的第二输入数据;
在第二时间将所述第二输入数据输入到所述一个或更多个机器学习模型中,所述一个或更多个机器学习模型在所述第二时间包括与所述基础模型相关联的所述一个或更多个第一层以及与所述第二领域相关联的一个或更多个第三层;以及
使用所述一个或更多个机器学习模型并且至少基于所述第二输入数据来确定与所述第二输入数据相关联的第二输出。
15.如权利要求10所述的系统,其中所述一个或更多个处理单元进一步用于:
使用一个或更多个第二模型来确定与所述输入数据相关联的第二输出;以及
至少基于所述输出和所述第二输出来确定与所述输入数据相关联的第三输出。
16.如权利要求10所述的系统,其中所述一个或更多个处理单元进一步用于:
使用与一个或更多个通用领域相关联的第一训练数据来更新与所述一个或更多个第一层相关联的一个或更多个第一参数,而不更新与所述一个或更多个第二层相关联的一个或更多个第二参数;以及
使用与所述领域相关联的第二训练数据来更新与所述一个或更多个第二层相关联的所述一个或更多个第二参数,而不更新与所述一个或更多个第一层相关联的所述一个或更多个第一参数。
17.如权利要求10所述的系统,其中所述系统被包括在以下中的至少一个中:
用于自主或半自主机器的信息娱乐系统;
用于自主或半自主机器的娱乐系统;
用于执行模拟操作的系统;
用于托管实时流应用的系统;
用于生成虚拟现实VR、增强现实AR或混合现实MR中的一个或更多个的内容的系统;
用于执行数字孪生操作的系统;
用于执行光传输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
用于执行对话AI操作的系统;
用于生成合成数据的系统;
包含一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或
至少部分地使用云计算资源实现的系统。
18.一种处理器,包括:
一个或更多个处理单元,所述一个或更多个处理单元用于使用一个或更多个机器学习模型并且至少基于与第一领域相关联的输入数据来确定与所述输入数据相关联的输出,其中所述一个或更多个机器学习模型包括与所述第一领域相关联的被激活的一个或更多个第一层以及与第二领域相关联的被去激活的一个或更多个第二层。
19.如权利要求18所述的处理器,其中所述一个或更多个处理单元进一步用于:至少基于以下中的一个或更多个来激活所述一个或更多个第一层以及去激活所述一个或更多个第二层:
从用户设备接收到以下中的至少一项的指示:激活所述一个或更多个第一层或去激活所述一个或更多个第二层;或
分析所述输入数据以确定所述输入数据与所述第一领域相关联。
20.如权利要求18所述的处理器,其中所述处理器被包括在以下中的至少一个中:
用于自主或半自主机器的信息娱乐系统;
用于自主或半自主机器的娱乐系统;
用于执行模拟操作的系统;
用于托管实时流应用的系统;
用于生成虚拟现实VR、增强现实AR或混合现实MR中的一个或更多个的内容的系统;
用于执行数字孪生操作的系统;
用于执行光传输模拟的系统;
用于执行3D资产的协作内容创建的系统;
用于执行深度学习操作的系统;
使用边缘设备实现的系统;
使用机器人实现的系统;
用于执行对话AI操作的系统;
用于生成合成数据的系统;
包含一个或更多个虚拟机VM的系统;
至少部分地在数据中心中实现的系统;或
至少部分地使用云计算资源实现的系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/064,125 US20240193445A1 (en) | 2022-12-09 | 2022-12-09 | Domain-customizable models for conversational ai systems and applications |
US18/064,125 | 2022-12-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118170874A true CN118170874A (zh) | 2024-06-11 |
Family
ID=91278321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311654800.0A Pending CN118170874A (zh) | 2022-12-09 | 2023-12-04 | 用于对话ai系统和应用的可自定义领域的模型 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240193445A1 (zh) |
CN (1) | CN118170874A (zh) |
DE (1) | DE102023133698A1 (zh) |
-
2022
- 2022-12-09 US US18/064,125 patent/US20240193445A1/en active Pending
-
2023
- 2023-12-01 DE DE102023133698.3A patent/DE102023133698A1/de active Pending
- 2023-12-04 CN CN202311654800.0A patent/CN118170874A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102023133698A1 (de) | 2024-06-20 |
US20240193445A1 (en) | 2024-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902186B (zh) | 用于生成神经网络的方法和装置 | |
US11816790B2 (en) | Unsupervised learning of scene structure for synthetic data generation | |
WO2021242840A1 (en) | Scene graph generation for unlabeled data | |
US20220392162A1 (en) | Synthesizing high resolution 3d shapes from lower resolution representations for synthetic data generation systems and applications | |
CN111670463A (zh) | 基于机器学习的几何网格简化 | |
US20220383570A1 (en) | High-precision semantic image editing using neural networks for synthetic data generation systems and applications | |
US11769495B2 (en) | Conversational AI platforms with closed domain and open domain dialog integration | |
US20220391175A1 (en) | Machine learning application deployment using user-defined pipeline | |
JP2023143742A (ja) | ポイントクラウド処理モデルのトレーニング方法、ポイントクラウドインスタンス分割方法および装置 | |
CN111966361A (zh) | 用于确定待部署模型的方法、装置、设备及其存储介质 | |
US20230153612A1 (en) | Pruning complex deep learning models based on parent pruning information | |
US20240111894A1 (en) | Generative machine learning models for privacy preserving synthetic data generation using diffusion | |
CN116610777A (zh) | 具有提取问答的会话式ai平台 | |
CN118170874A (zh) | 用于对话ai系统和应用的可自定义领域的模型 | |
US20240176808A1 (en) | Query response generation using structured and unstructured data for conversational ai systems and applications | |
US20240184814A1 (en) | Determining intents and responses using machine learning in conversational ai systems and applications | |
CN118113823A (zh) | 使用用于会话ai系统和应用的结构化和非结构化数据的查询响应生成 | |
US20240062014A1 (en) | Generating canonical forms for task-oriented dialogue in conversational ai systems and applications | |
US20240177034A1 (en) | Simulating quantum computing circuits using kronecker factorization | |
US20240160888A1 (en) | Realistic, controllable agent simulation using guided trajectories and diffusion models | |
US20240184991A1 (en) | Generating variational dialogue responses from structured data for conversational ai systems and applications | |
US20230376849A1 (en) | Estimating optimal training data set sizes for machine learning model systems and applications | |
US20230244985A1 (en) | Optimized active learning using integer programming | |
US20240045662A1 (en) | Software code verification using call graphs for autonomous systems and applications | |
US20240144373A1 (en) | Financial investment predictions and recommendations using neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |