人工智能、计算机软件

OpenAI 2024 年已授权专利全量调查与分析

11.png

Summary

一直以来在专利布局方面相对保守的OpenAI,仅在 2024 年就获得了13项授权专利,正式开启了积极的专利活动。OpenAI的专利主要围绕其长期擅长并成功实现商业化的文本与图像相关技术,同时也涵盖 API联动、语音数据以及视频数据处理等技术。在本专栏中,将对OpenAI的已授权专利进行深入分析。

开发了对话式语言模型ChatGPT的企业OpenAI,此前一直被认为在专利获取方面相对消极。然而,OpenAI仅在2024年一年内就获得了13项授权专利。

 

OpenAI于2023 年1月23日启动了关于文本嵌入模型 CPT(Contrastive Pre-Training)的专利申请(US 12,073,299 B2),随后又提交了12项用于保护 GPT、DALLE 等模型的专利,以及与此相关的 8 项继续申请。自那时起展开的专利活动在2024年结出了成果,共取得了13项授权专利。由于专利制度具有最长达18个月的公开延后特性,可以推测OpenAI在2024年的专利活动也同样非常活跃。

 

在2023年的专利活动之前,OpenAI在 ChatGPT、DALLE、Whisper等服务取得巨大成功的情况下,实际上在专利活动方面仍相对谨慎。这可能是因为OpenAI最初的设立形式是非营利基金会;也可能是因为人工智能行业整体仍在一定程度上追求开放式创新(Open Innovation)的文化。受此影响,OpenAI也在其官网上声明,其专利布局主要是出于防御性目的。

 

 

<Our approach to patents | OpenAI>

 

然而,从专利制度的本质来看,仅以防御为目的的专利是不存在的。核武器拥有国通常以自我防卫作为其持有核武器的理由,但核武器本质上只具备破坏与攻击的功能。同样地,企业所持有的专利虽然在与竞争企业发生纠纷时能够作为反击手段,从而在一定程度上间接预防纠纷的发生,但每一件专利本身的存在目的,仍是为了主张排他性的权利。

 

OpenAI的前辈,例如Google等其他 AI 企业,也同样将“防御性目的”作为其专利活动的理由和名分(可参见Google的OPN承诺)。然而,他们所持有的每一件专利,实际上都经过精心打磨,以便在未来可能发生的纠纷中能够作为攻击手段。例如,如下所示,Google也在持续获取与transformer相关的专利。

                    * OPN:公开专利不诉承诺 (Open Patent Non-Assertion Pledge)

 

 

 

 

 

公开/授权号

公开/授权日

申请日

法律状态

US 2024-0144006 A1

2024.05.02

2024.01.08

公开

US 2022-0051099 A1

2022.02.17

2021.09.03

公开

US 2021-0019624 A1

2021.01.21

2020.08.07

放弃

US 11893483 B2

2024.02.06

2020.08.07

授权

US 11113602 B2

2021.09.07

2020.07.17

授权

US 10956819 B2

2021.03.23

2020.08.07

授权

US 10719764 B2

2020.07.21

2019.09.03

授权

US 10452978 B2(母案申请)

2019.10.22

2018.06.28

授权

<Google的Transformer模型专利附图(上)及Transformer模型相关专利列表(下)>

 

OpenAI开始展开这样的专利活动,也可以被视为其与Google、Meta等其他人工智能领先企业一样,为了应对未来可能发生的专利纠纷而提前储备专利的战略性决定。

 

OpenAI所申请的专利主要可分为以下几类:与文本(代码)相关的专利5项、与图像相关的专利4项,以及分别与API调用、视频、音频相关的专利各1项。此外,除1项关于有害内容分类的文本相关专利之外,其余11项均已获准授权。


在继续申请方面,共提出了8项继续申请,其中包括4项文本相关专利,以及分别1项与图像、API 调用、视频、音频相关的专利;其中,与代码生成模型 Codex 相关的1项专利以及1项 API 调用相关专利已获得授权,使得OpenAI共计获得13项授权专利。本次整体专利活动的总体评价已整理于本报告的【结论】部分。

接下来,让我们逐一查看这些专利的具体内容,了解OpenAI究竟就哪些发明进行了专利申请并获得授权。

 

 

目录

 

1.(文本处理)从初始嵌入向量中生成能够更好反映语义相似度的嵌入向量,并采用CPT(Contrastive Pre-training)方式进行预训练的文本/代码嵌入模型相关专利(授权号:US 12,073,299 B2,授权日:2024.08.27)

 

2.(文本处理)在类似ChatGPT的聊天机器人中,根据用户的追加指示实时修改已生成回答的功能实现方法相关专利(授权号:US 11,983,488 B1,授权日:2024.05.14)

 

3.(文本处理)在类似ChatGPT的聊天机器人中,通过单一提示,当用户修改提示时,能够实时将符合上下文的回答插入提示中的功能实现方法相关专利(授权号:US 11,886,826 B1,授权日:2024.01.30)

 

4. (文本处理)在类似 ChatGPT 的聊天机器人中,为了预先阻断因用户输入而可能生成有害内容的风险而提供的方法相关专利(公开号:US 2024/0362421 A1,公开日:2024.10.31,撰写本专栏时处于审查阶段)

 

5.(计算机代码)基于自然语言输入自动生成计算机代码,或将计算机代码用自然语言进行说明的功能相关专利(授权号:US 12,061,880 B2,授权日:2024.08.13)

 

6.(API 联动)在类似ChatGPT的聊天机器人中,根据用户输入调用特定外部 API 及特定 Function 来生成回答的功能实现方法相关专利(授权号:US 11,922,144 B1,授权日:2024.03.05)

 

7.(图像处理)能够从文本输入生成多样图像的 DALLE-2 模型相关专利(授权号:US 11,922,550 B1,授权日:2024.03.05)

 

8.(图像处理)针对已存在图像中需要修改的部分,仅重新生成该部分以得到修改后图像的所谓 in-painting(图像局部补全)相关专利(授权号:US 11,983,806 B1,授权日:2024.05.14)

 

9.(UI/UX)利用文本信息与图像的视觉信息,与多模态(Multi-modal)人工智能模型进行交互的方法相关专利(授权号:US 12,039,431 B1,授权日:2024.07.16)

 

10.(UI/UX)通过文本输入,将用户所需信息以视觉方式呈现在图像上,使用户能够与多模态(Multi-modal)人工智能模型进行交互的方法相关专利(授权号:US 12,051,205 B1,授权日:2024.07.30)

 

11.(视频处理)提供一种将互联网现有视频用于人工智能模型训练的训练方法相关专利(授权号:US 12,008,341 B2,授权日:2024.06.11)

 

12.(音频处理)关于可执行多语言(multi-language)及多任务(multi-task)的语音识别系统相关专利(授权号:US 12,079,587 B1,授权日:2024.09.03)

 

结论

 

 

1号专利:(文本处理)采用 CPT(Contrastive Pre-training)方式的文本嵌入模型

发明名称: Systems and methods for using contrastive pre-training to generate text and code embeddings (利用对比式预训练生成文本与代码嵌入的系统与方法)

 

申请号: US 18/158,166(2023.01.23)

 

授权号: US 12,073,299 B2(2024.08.27)

 

发明摘要:本发明涉及一种通过 OpenAI 所称的对比式预训练(Contrastive Pre-Training,CPT)来构建文本/代码嵌入模型的方法。该CPT训练方法最初于 2022.01.24 以题为《Text and Code Embeddings by Contrastive Pre-Training》(以下简称 “OpenAI论文”)的论文形式首次公开,并于 2023.01.23递交专利申请,最终于 2024.08.27获得授权。

 

 1. 文本嵌入技术与本发明的产生背景

1) 什么是文本嵌入(Text Embedding)?

 

文本嵌入是自然语言处理(Natural Language Processing, NLP)领域中极为重要的一项技术,指的是将文本转换为计算机能够理解的数字表示方式。在此过程中,文本被映射成的数字向量称为嵌入向量。嵌入向量经过训练后,其与其他嵌入向量之间的相似度能够反映对应文本之间的语义(semantic)相似度。近年来,人工智能领域最活跃研究的大规模语言模型(Large Language Models, LLMs)也同样依赖文本嵌入技术,将输入的自然语言文本转换为嵌入向量,从而理解文本内容。

 

 

<图1. 文本嵌入示例|来源:OpenAI Blog>

 

2) 现有技术的局限性及本发明的产生背景

文本嵌入的主要任务包括文本分类(Text Classification)、文本检索(Text Search)、句子嵌入(Sentence Embedding)等。为了执行这些任务,既有技术通常针对每个任务分别选择独立的数据集、训练方法与模型结构,以构建最优化的模型。这类经任务特化优化的模型虽然在特定任务上具有较高的准确度,但在其他任务上准确度往往会显著下降。换言之,为了执行多种任务,必须分别构建多个针对不同任务优化的模型,使用上相对繁琐。

为了解决上述问题,本发明提出了一种训练方法,可用以构建在多种任务中均能够保持高准确度的单一模型。此外,本发明还提出了一种采用与文本嵌入类似方式,将文本形式的代码进行嵌入的模型。

 

2. 本发明嵌入模型的训练方法

本发明的嵌入模型训练方法主要包括以下步骤:

 

① 使用未标注数据(unlabeled data)构建训练数据集
② 在训练数据集中生成用于 positive pair 与 negative pair 的初始嵌入向量
③ 基于生成的初始嵌入向量,通过对比学习(Contrastive Learning)方式训练嵌入模型

 

下面将对各步骤的具体内容进行说明。

1) 使用未标注数据构建训练数据集

(1) 收集 unlabeled data

首先,为了训练嵌入模型,需要训练数据集。训练数据集大体上分为,事先给出正确答案、即标签的 labeled data以及未给出正确答案的 unlabeled data。
使用 labeled data 进行训练的方式,是向模型告知正确答案并直接进行指导,因此称为 监督学习(supervised learning),而使用 unlabeled data 进行训练的方式,是不向模型告知正确答案,让模型自行学习,因此称为 无监督学习(unsupervised learning)。利用无监督学习,可以在不对训练数据逐一进行标注的情况下进行训练,从而减少构建训练数据集所需的努力。

在本发明中,利用网络爬虫从网页中抓取大量文本和代码(unlabeled data)来构建训练数据集。

 

(2) 定义 positive pair

本发明在训练数据集中构建了用于文本嵌入的 (文本,文本)positive pair 与用于代码嵌入的 (文本,代码)positive pair。所谓 positive pair,是指在之后的对比学习步骤中,被定义为“相互关联”的文本或代码的成对数据。例如,(人工智能、机器学习)由于语义相关,可视为 positive pair。相反,被定义为无关联的一组,则称为 negative pair。本发明将以下类型的数据定义为 positive pair 示例:

 

1)(文本,文本)positive pair:互联网中相邻词语、邻近文本、或位于预定义距离阈值内的文本片段(adjacent words, neighboring or nearby pieces of text, portions of text data within a predetermined distance threshold of each other)

2)(文本,代码)positive pair:函数说明文(docstring)与对应的函数实现代码(delimiting a top-level docstring in a function along with the implementation of that function)

 

<(文本,代码)positive pair 示例>

 

(3) negative pair 的定义(In-batch negative sampling)

之后,本发明在以批次(batch)为单位的训练数据集中,对于每一条数据,将除被定义为 positive pair 的数据之外的其余数据,定义为 negative pair。所谓批次,是指在训练模型时一次性输入模型的训练数据单位。模型对于一个 batch 进行一次输入与输出处理之后,会基于损失计算来更新权重。论文中确认到:一次性输入模型的训练数据量(即 batch size)越大,嵌入模型的准确度越高。 基于此,本发明使用了足够大的 batch size(例如:模型参数 300M —— batch size 12288)。参考而言,本发明论文中实验的模型规模及其对应的性能如下所示。

 

<图2. 各模型规模与性能曲线|来源:OpenAI论文>

 

另一方面,本发明的negative pair采样(定义)方式称为in-batch negative sampling技术。在一般的negative sampling中,对于batch中包含的每条训练数据,需直接采样其对应的 negative pair 并加以使用。相反,In-batch negative sampling则是在batch内自动生成negative pair。也就是说,利用batch内的训练数据,对于每条训练数据,将其positive pair之外的其余数据自动定义为negative pair。

 

<图3. 一般的 negative sampling(左)与 In-batch negative sampling(右)比较示意图>

 

来源:论文 “Improved Deep Metric Learning with Multi-class N-pair Loss Objective”

 

 

使用 In-batch negative sampling技术时,无需另外采样 negative pair,只需利用batch内的数据即可构成negative pair,因此不需要额外的数据。此外,batch size越大,能够包含的 negative pair越多,因此训练性能呈现提升趋势。

2) 为训练数据集中的positive pair与negative pair生成初始嵌入向量

本发明为了训练目标嵌入模型,使用了单独的基于transformer 的编码器(encoder)。
具体而言,首先利用该编码器,对步骤①中构建的训练数据集中各个训练数据生成初始嵌入向量。

 

<图4. 编码器的输入与输出|来源:OpenAI 论文>

 

参照图3,编码器(Encoder E)以 positive pair(x, y)作为输入,并输出分别对应于(x, y)的初始嵌入向量 vx、vy。在将文本对输入编码器时,在各输入数据的前后添加开始标记与结束标记(SOS, EOS)(例如:【 , 】、{ , }),以便进行更加稳定的训练。

3) 利用生成的初始嵌入向量,以对比学习(Contrastive Learning)方式训练嵌入模型

本发明将初始嵌入向量作为嵌入模型的输入,训练模型生成能够更好反映文本(或代码)之间语义相似度的附加嵌入向量(additional vector)。 此时,为使附加嵌入向量能够更加充分地反映语义相似度,本发明采用对比学习方式来训练嵌入模型。以下将对对比学习进行更具体的说明。

 

(1) 什么是对比学习(Contrastive Learning)?

对比学习是一种使彼此相关的数据对在表示空间中更接近,而使彼此无关的数据对更远离的学习方法。通过对比学习,模型被训练成对于彼此相关的对(即 positive pair)输出较为接近的嵌入向量,对于彼此无关的对(即 negative pair)输出较远的嵌入向量。采用对比学习训练出的典型模型之一是执行视觉-语言任务的 CLIP 模型。以 CLIP 为例,其针对图像-文本对按照以下过程进行训练。

<图5. CLIP 的 Contrastive Learning 过程>

 

CLIP 模型对文本编码器与图像编码器输出的嵌入向量(Tₙ, Iₙ)之间的相似度进行计算,构成矩阵;并在该矩阵中,将位于对角线(diagonal)上的图像-文本对(即 positive pair)赋予正确标签 1,而将其余元素(element),即 negative pair,赋予正确标签 0,从而进行训练。通过这样的训练过程,CLIP 模型会学习到彼此相关的 positive pair 的嵌入向量更加相似,而彼此无关的 negative pair 的嵌入向量则变得更加不相似。

(2) 本发明嵌入模型的对比学习

本发明的嵌入模型同样地,以输出的附加嵌入向量的余弦相似度构成矩阵,并采用对该矩阵进行对比学习的方式来训练。将初始嵌入向量记为(vₓ, vᵧ),附加嵌入向量记为(vₓ’, vᵧ’)时,嵌入模型的输入与输出示例如下所示。

 

<图6. 嵌入模型的输入与输出示例>

 

嵌入模型对训练数据集(batch)中包含的所有初始嵌入向量输出附加嵌入向量之后,
计算这些附加嵌入向量之间的余弦相似度, 并基于以余弦相似度为元素的矩阵,以对比学习方式进行训练。也就是说,以作为 positive pair 输入的(vx1、vy1)对应的附加嵌入向量对(vx1’、vy1’)为例,对 vx1’ vy1’之间的余弦相似度 sim(vx1’、vy1’) 赋予正确标签 1,而对除 vy1’外其余附加嵌入向量之间的余弦相似度赋予正确标签 0,并据此进行训练。

例如,在一个训练数据集中若生成了M个positive pair,则对于每个positive pair可以生成M−1 个negative pair。在这种情况下,余弦相似度矩阵会形成一个M×M的矩阵。嵌入模型进行对比学习的示例如下所示。

 

<图7. 嵌入模型的对比学习示例>

 

本发明的一个特点是,使用生成式语言模型(GPT、Codex)作为嵌入模型的初始模型
也就是说,本发明直接采用经预训练的生成式语言模型的模型参数来初始化(initialization)嵌入模型,然后开始训练。与一般仅将输入值转换为嵌入向量的嵌入模型不同,本发明的一个区别点在于,从初始嵌入向量“生成”新的附加嵌入向量。

4) 使用labeled data进行微调 —— 直接定义negative pair

本发明中,虽然不是必需的训练步骤,但为了进一步提升性能,使用直接定义了 negative pair 的监督(supervised)数据集,以迁移学习(transfer learning)的方式对嵌入模型进行微调(fine-tuning)。迁移学习是指利用新的数据集对已预训练的模型进行额外训练。参考论文内容,使用监督数据集 NLI 数据集进行微调时,相较于原有的SOTA迁移学习模型,实现了2.2%的性能提升;使用另一监督数据集MS-MARCO数据集进行微调时,相较于原有的SOTA迁移学习模型,实现了5.2%的性能提升。

5) 小结

参考本发明的论文可知,本发明的嵌入模型在文本分类相关任务中,相比既有的 SOTA 无监督学习模型实现了4%的性能提升,相比 SOTA 监督学习模型实现了1.8%的性能提升。 在文本检索任务中,在MSMARCO、Natural Questions 和 TriviaQA基准上,分别相比既有SOTA模型取得了23.4% 、14.7% 、10.6%的性能提升。此外,在代码嵌入任务中,相比既有的SOTA代码检索模型实现了20.8%的性能提升。

然而,在句子相似度任务方面,其性能较既有SOTA模型偏低。论文中对此解释称,用于评估句子相似度任务的基准(例如:SentEval)尚未被充分定义。例如,根据当前用于评估句子相似度任务的基准,某句话与该句的否定句(如:“那是小狗”“那不是小狗”)应被判断为不相似,但从另一角度来看,这两句话也可以被视为彼此相关(relevant)。在这种情况下,论文指出,“哪些句子应被认为是彼此相似”尚未得到良好定义,因此该任务与判断文本间语义相似度的任务存在差异。

 

3.  本发明专利权利要求分析

包括本发明在内的 OpenAI 的所有专利均在提交时同时提出了Track One优先审查请求(Request of Track One Prioritized Examination)。参考而言,在美国的专利申请程序中,提出优先审查的方式主要包括Track One和专利审查高速路(Patent Prosecution Highway, PPH) 两种。本专利申请了Track One,该制度是在支付额外费用的情况下缩短审查周期的制度。现在,让我们来看一下,上文所述本发明的各步骤在专利中是如何表达的,
并查看本发明授权专利(18/158,166)的权利要求。

【权利要求 1】

A computer-implemented method for generating a semantic similarity based on a vector representation, the method comprising:

    ① receiving a training data set extracted from unlabeled data, the training data set including a plurality of paired data samples corresponding to positive example pairs, each positive example pair including a first data unit and a second data unit, wherein the first data unit and the second data unit are located within a predetermined distance threshold of each other within the unlabeled data;

    ② converting the paired data samples corresponding to the positive example pairs into at least one first vector of a vector representation;

accessing one or more negative example pairs within the training data set to contrast against the positive example pairs;

    ② converting the one or more negative example pairs into one or more second vectors of the vector representation; and

    ③ training a machine learning model to generate additional vectors of the vector representation, wherein the training comprises:

    initializing the machine learning model with one or more pre-trained models, the one or more pre-trained models comprising generative language models; and

training the machine learning model using contrastive training based on: the at least one first vector of the vector representation and the one or more second vectors of the vector representation;

receiving a query for semantic similarity, the query including a natural language input; and

generating, with the machine learning model and according to an embedding space, a semantic similarity result in response to the query.

<图8. 本发明专利的 FIG. 2>

 

如上所述,本发明用于模型训练的流程由以下步骤构成。参考而言,在专利中,将作为训练对象的嵌入模型标记为 机器学习模型(210)。

① 使用未标注数据(unlabeled data)构建训练数据集
② 为训练数据集中的positive pair与negative pair生成初始嵌入向量
③ 利用生成的初始嵌入向量,以对比学习(Contrastive Learning)方式训练嵌入模型

另一方面,本发明专利在申请时的权利要求中,通过添加下划线标注的构成要素而获得授权。
从添加的下划线部分可以看到:i) 属于positive pair的两个数据单元位于预先确定的距离基准之内;ii) 使用生成式语言模型来初始化嵌入模型;iii) 利用编码器生成的初始嵌入向量对嵌入模型进行对比学习;iv) 使用训练完成的嵌入模型,从查询(query)中输出针对该查询的语义相似度结果(即利用阶段)。

 

4.  继续申请(Continuation Application)

上述所说明的专利(18/158,166)获得授权之后,通过继续申请(18/773,894)对利用(inference)阶段的权利要求范围进行了设定。在美国专利制度中,继续申请是指在原始申请所包含的发明内容范围内,可以重新设定权利要求而再次提出申请的制度。OpenAI 积极运用继续申请制度,通过这种方式获取多元化的权利范围,从而防止竞争对手利用原申请的“缝隙”(gap)规避技术。此外,针对同一发明获取多件专利权的情况下,即使在发生争议时其中一件专利被判无效,仍可通过其余专利进行防御,因此也可以视为一种进一步强化技术保护的策略。

主要内容包括: 通过查询转换得到的参考向量,与由训练完成的嵌入模型生成的附加向量之间, 确定其语义相似度的构成。 该继续申请目前处于公开状态,撰写本专栏时尚处于审查阶段。

 

【权利要求 21】(独立权利要求)

A method for generating a semantic similarity result, comprising:

    receiving a query for semantic similarity, the query comprising a natural language input;

accessing an embedding space storing a plurality of vector representations generated by a machine learning model trained using contrastive training based on paired data samples extracted from unlabeled data, the machine learning model being initialized with one or more      generative language models;

    transforming the natural language input into a reference vector representation;

    determining a semantic similarity between the reference vector representation and at least one of the vector representations generated by the machine learning model; and

outputting the semantic similarity in response to the query.

<图9. 本发明专利的 FIG. 4>

 

返回至目录

 

2号专利:(文本处理)文本修改优化语言模型

发明名称:Systems and methods for language model-based text editing(基于语言模型的文本编辑系统与方法)

申请号: US 18/183,902(2023.03.14)
授权号: US 11,983,488 B1(2024.05.14)

发明摘要:本发明根据用户指示来决定语气、结构、格式等模型参数,并依据模型参数选择语言模型,随后基于新的用户指示对输出文本进行修改。本发明于 2023.03.14 提出专利申请,并于 2024.05.14 获得授权。

1. 大规模语言模型与本发明的产生背景

1) 什么是大规模语言模型?

自 Google 于 2017 年发表用于机器翻译的 Transformer 模型(论文《Attention Is All You Need》)以来,自然语言处理(NLP)领域迅速发展。Transformer模型由理解输入句子并将其转换为嵌入向量的编码器以及基于编码器输出的嵌入向量生成输出句子的解码器构成。人工智能领域的专家认识到 Transformer 具有卓越的自然语言处理能力,于是开始将Transformer应用于机器翻译之外的各种 NLP 任务。

如今备受关注的大规模语言模型(Large Language Model, LLM),正是以这一Transformer模型为起点发展而来的。大规模语言模型大体上分为由Transformer的编码器构成的编码器系列,以及由解码器构成的解码器系列进行发展。大规模语言模型通过数十亿到数千亿个模型参数、以数十亿到数万亿个单词进行训练,从而成为能够理解人类语言的模型。最近与语言模型相关的趋势包括:为了在终端设备(On-device)上运行语言模型而对模型规模进行轻量化的小规模语言模型(Small Language Model, SLM),以及不仅能够理解文本,还能理解视频、音频、图像等多种模态数据的大规模多模态语言模型(Large Multimodal Model, LMM)等。

2) 现有技术的局限性及本发明的产生背景

语言模型不仅能够输出与输入的自然语言文本相符合的回答内容,还能够反映用户所意图的回答形式,例如语气、说话者、结构、格式等。但是,一个语言模型要准确且即时地反映用户所要求的多种回答形式,仍然存在局限。语言模型虽然可以通过利用针对特定任务的训练数据集进行额外训练、也就是通过微调(fine-tuning)让语言模型更好地执行该任务、即更好地生成回答,从而实现对任务本身的优化,但关于不仅优化回答内容、而是进一步优化到用户所希望的回答“形式”的研究却相对薄弱。

为了解决这些问题,本发明提出了一种方法:不仅针对特定任务,而且基于指示回答形式的用户指令(instruction)来选择针对回答形式优化(optimized)的语言模型,并通过对输出文本的用户反馈过程反复执行,从而为用户所希望的各类回答形式分别构建优化的语言模型。

 

2. 本发明的文本修改优化语言模型的构建方法

本发明的语言模型使用方式是:当用户输入指示(instruction)时,文本修改优化语言模型根据该指示输出输出文本;当用户再次对输出文本输入新的指示时,语言模型又根据新的指示来修改输出文本,从而使用户与语言模型通过指示及其对应的输出文本持续进行交互。下图1(参考本发明专利的 FIG. 6)示例性地展示了本发明的Use case。

<图1. 本发明 Use case|参考本发明专利 FIG. 6>

 

参照上图1,橙色方框表示用户指示绿色方框表示根据指示被修改的输出文本。参考而言,在本发明中,被修改的输出文本会重新包含在输入文本提示(input text prompt)中,并将用户用于指示文本修改的用户指示,与作为修改对象的输入文本提示区分开来。

图1 的 Use case 由以下过程构成:

① 用户输入“写一首关于 GPT 的短诗”这一用户指示(user instruction)。此时,用户可以从一开始就输入将成为修改对象的输入数据,也可以如图1 所示,在没有输入数据的情况下只输入用户指示。

② 语言模型输出“一首关于 GPT 的短诗”。

③ 用户针对输出的“一首关于 GPT 的短诗”输入新的指示:“写得像 GPT 在说话一样”。

④ 语言模型根据新的指示,将关于GPT的短诗修改为以GPT的口吻来写。

⑤ 用户再次输入新的指示:“把它改成书信格式并加上GPT的签名”。

⑥ 语言模型根据新的指示,将关于 GPT 的短诗修改为书信格式,并添加GPT的签名

如此,文本修改优化语言模型会将用户新输入的指示立即反映在输出文本中,从而对输出文本进行修改。下面将介绍这种文本修改优化语言模型的构建方法。

本发明的文本修改优化语言模型的构建方法主要由以下步骤构成:

① 接收用户指示并决定模型参数
② 基于模型参数访问语言模型并进行文本修改
③ 根据文本修改的用户反馈对语言模型进行优化

在本发明专利中,上述步骤是通过以下引擎来执行的。

 

<图2. 本发明授权专利 FIG. 1>

 

下面将通过各引擎的操作过程,来具体查看本发明各步骤的内容。

1) 接收用户指示并决定模型参数

执行引擎:Data Input Engine(102)、Data Normalization Engine(104)

(1) 接收用户输入数据(User input data)及用户指示(User instruction)

数据输入引擎(102)接收用户输入数据以及用户指示。 一般来说,输入到语言模型中的用户输入数据(User input data)这一概念通常包含用户指示(User instruction)。但在本发明中,将“用户输入数据”和“用户指示”定义为两个不同的概念。在本发明中,用户输入数据是指用户输入到语言模型中的句子、短语、从句、计算机代码等输入文本;用户指示是指用户针对语言模型的输出文本所设定限制条件(constraint)的指示文本。例如,如上图1 所示,
用户可以先在提示(prompt)中输入输入文本,随后再追加输入用户指示:“把这个写成书信形式,并加上 GPT 的签名”。最终,语言模型是同时接收输入数据和用户指示来生成输出文本,这一点是相同的。

(2) 决定模型参数(Model parameter)

随后,数据输入引擎(102)根据用户指示来决定模型参数,例如语气(如:古典的、亲切的、幽默的)、结构(如:散文、自由形式)、格式(如:诗、书信)、话者(如:性别、话者视角)等。在本发明中,“模型参数”是指用于选择能够输出用户所期望回答形式的、已经被优化的语言模型的参数

此外,本发明根据由提供语言模型的 API 所定义的语言模型应用框架,来决定模型参数。所谓语言模型应用框架,是指为了使开发者能够更容易、更快速地开发与使用语言模型而预先构建的工具。语言模型应用框架包括生成、open QA(开放式问答)、closed QA(封闭式问答)、头脑风暴(brainstorming)、聊天、改写、摘要、分类、抽取等任务,并为各个定义的任务规定了语言模型输入输出文本的文本模式、格式、结构、风格等。

(3) 数据归一化(Data Normalization)

数据归一化引擎(104)执行用户输入数据的分词(tokenization)、词形还原、词干抽取、词性标注,以及根据用户指示所需的长度归一化等操作。

2) 基于模型参数访问语言模型并进行文本修改

执行引擎:LM Access Engine(106)、Context Analysis Engine(108)、Text Editing Engine(110)、Output Generation Engine(112)

(1) 语言模型访问(Language Model Access)

语言模型访问引擎(106)基于用户指示所导出的输出形式、用户意图以及模型参数来访问语言模型。本发明中所谓的“语言模型访问”,是指根据用户指示选择(select)语言模型。换言之,语言模型访问引擎(106)会访问那些已被优化、能够输出用户所期望回答形式的语言模型。选择语言模型的过程按以下流程图执行。

<图3. 本发明专利 FIG. 9>

 

参照图3,在本发明中,当接收到用户输入数据时,将基于用户输入数据选择针对该回答形式被优化的语言模型(907)。查看本发明专利 FIG. 9的流程图说明部分可以发现,“用户输入数据”这一概念不仅包含用户输入数据本身,也包含用户指示以及模型参数。

本发明中介绍的语言模型选择方式包括:i)决定语言模型是否与用户输入数据中包含的标签相一致的方式,或ii)决定用户输入数据的部分内容与语言模型之间的语义相似度的方式。
这种语言模型的选择方式可以视为本发明的特殊之处。特别是,输入数据与语言模型之间的语义相似度,是通过计算用户输入数据的文本嵌入向量与语言模型的文本嵌入向量之间的距离来决定的 (“by computing distances between a text embedding associated with the user input data and a text embedding associated with one or more language models from which the selection is made”, 段落 【0080】)。但这种语言模型选择方式并未直接设置在权利要求范围中。

(2) 上下文分析(Context Analysis)

上下文分析引擎(108)接收归一化后的用户输入数据和用户指示,并输出上下文参数(context parameter)集合。上下文参数包括对用户输入数据和用户指示进行参数化的上下文,例如“where, who, when, what, why”。上下文分析引擎(108)会在之后用户重复修改输出文本的过程中保持上下文参数集合,从而无需重新加载大量信息也能保持关于变更内容的上下文信息。

(3) 文本修改(Text Editing)及输出(Output Generation)

文本修改引擎(110)使用所选择的语言模型,根据用户指示、模型参数和上下文参数来修改用户输入数据;或者根据用户输入数据、用户指示、模型参数和上下文参数来重新生成输出文本。但也存在用户未输入任何输入数据、仅输入用于生成文本的用户指示的情况。在这种情况下,用户输入数据将由 NULL 集合构成。例如,如上图1所示,若用户仅输入指示“写一首关于GPT的短诗”,则文本修改引擎(110)将重新生成关于GPT的短诗,而不是对文本进行修改。也可能存在用户在输入数据的基础上输入用于修改该输入数据的用户指示的情况。例如,在图1 中,若用户将关于GPT的短诗作为输入数据直接输入,并输入用户指示“把这个改成书信形式并加上GPT的签名”,则文本修改引擎(110)会将用户直接撰写的输入数据修改为书信形式并添加GPT的签名。随后,输出生成引擎(112)输出被修改的文本。

另一方面,用户可以通过确认被修改的输出文本并输入新的用户指示,从而与语言模型进行交互。即,当输出文本不是用户所希望的回答形式,或用户希望新的回答形式时,可以与先前输入的用户指示不同地指示修改,从而进一步修改输出文本。随着这种交互过程的重复,语言模型能够在用户输入文本的同时在提示(prompt)中修改输出文本。专利的详细说明部分也强调了实时交互,指出当用户修改或追加文本时,处理器可以编辑输入文本提示(即输出文本)(“In some embodiments, the at least one processor may edit an input text prompt while a user is editing or inserting the input text or text distinct from, but which may be associated with (e.g., included in a same interface) the input text prompt”, 段落 【0072】)。

本发明专利的 FIG. 3 展示了不仅针对一般文本,也针对计算机代码,用户反复输入用户指示、语言模型反复修改作为输出文本的计算机代码的过程。

<图4. 计算机代码的 Use case|参考本发明专利 FIG. 3>

 

与图1 相同,橙色方框表示用户指示绿色方框表示根据指示被修改的输出文本。另外,蓝色方框表示与用户指示分开输入的用户输入数据。用户可以在输入“def”这一指示的同时,追加 fib(10) 这一用户输入数据。

语言模型为了实现 fib() 的一般定义——即斐波那契数列,会在 def 之后生成关于斐波那契数列的计算机代码作为输出文本。随后,用户针对输出的代码输入新的指示,语言模型根据新的指示修改输出文本,通过此过程,语言模型将输出的计算机代码按照用户希望的方向不断修整。

3) 根据用户对文本修改的反馈对语言模型进行优化

执行引擎:Output Validation Engine(114)、LM Optimization Engine(116)

语言模型评估引擎(114)接收语言模型的输出文本集合,并对各输出文本的性能评估指标(outcome metric)等进行排序。语言模型优化引擎(116)根据用户与语言模型的反复交互,将生成的输出文本集合作为训练数据集予以收集并对语言模型进行微调。最终,语言模型通过反复的训练过程,被优化为输出与相关回答形式相一致的输出。

另一方面,这种交互方式可视为与人类反馈强化学习(RLHF:Reinforcement Learning from Human Feedback)过程相似。所谓 RLHF,是指当用户对人工智能模型的输出提出“好”或“坏”等反馈时,人工智能模型会根据用户反馈进行学习,以生成更优的输出。

4) 小结

本发明根据用户指示决定与用户期望回答形式相关的模型参数,并选择对该模型参数优化过的语言模型。通过此方式,不仅对任务本身,而且对回答形式都能够构建优化的语言模型。
此外,通过与用户的交互所进行的反复优化过程,能够输出进一步改善的回答形式。

 

3. 本发明专利权利要求分析

让我们来看一下,上文所述本发明的这些步骤在专利中是如何表达的,并查看本发明授权专利(18/183,902)的权利要求。

【权利要求 1】

A system comprising:

    at least one memory storing instructions;

    at least one processor configured to execute the instructions to perform operations for    automatically generating and editing text, the operations comprising:

    receiving an input text prompt, the input text prompt comprising a null set;

    receiving one or more user instructions;

    determining a set of model parameters based on the one or more user instructions;

    accessing a language model using the at least one processor based on the input text prompt, the set of model parameters, and the one or more user instructions;

    generating, using the accessed language model, an output text based on the input text prompt, the one or more user instructions, and at least one of a sampling temperature parameter or a nucleus sampling parameter;

    receiving one or more new user instructions;

    editing the output text based on the language model and the one or more new user instructions by replacing at least a portion of the output text; and

    optimizing the accessed language model by aligning the language model based on the output text using machine learning;

    wherein:

    the language model is optimized through one or more iterative cycles of training based on one or more outcome metrics associated with the output text and one or more datasets; and

    the one or more datasets comprise at least one of annotated data, labeled data, enriched data, or demonstration data based on one or more output text.

如上所述,本发明为了模型训练的流程由以下步骤执行:

① 接收用户指示以决定模型参数
② 基于模型参数访问语言模型并进行文本修改
③ 根据针对文本修改的用户反馈对语言模型进行优化

另一方面,在本发明专利中,在申请时的权利要求中通过添加带下划线的构成要素而获得授权。查看这些带下划线的构成可以发现:i)基于用户指示决定模型参数的构成,ii)通过设置 sampling temperature parameter 或 nucleus sampling parameter 来生成输出文本的构成,iii)利用输出文本来优化语言模型的构成,被作为附加内容加入。

其中,sampling temperature parameter 和 nucleus sampling parameter 是用于调节语言模型创造性的模型参数。Sampling temperature parameter 通过调节语言模型所预测的预测词语概率分布: — 较高的参数值会使概率分布更为平坦,从而生成更具创造性的回答;— 较低的参数值会使概率分布更为尖锐,从而生成更可预测的回答。Nucleus sampling parameter 则是通过调节语言模型在生成输出文本时可考虑的词语数量:— 较高的参数值使模型考虑更多词语,从而生成更具创造性的回答;— 较低的参数值使模型考虑更少词语,从而生成更可预测的回答。

 

4. 继续申请(Continuation Application)

在上述专利(18/183,902)获得授权之后,为了获得比授权专利的权利范围更广的权利范围,基于最初申请时设定的权利要求,继续申请(18/631,505)已被提出。撰写本专栏时该继续申请处于公开状态,尚处于审查阶段。

【权利要求 21】(独立权利要求)

21. A system comprising:

at least one processor configured to perform operations comprising:

receiving an input text prompt;

receiving one or more user instructions; and

editing, using a language model, the input text prompt based on the one or more user instructions to generate an output text by replacing at least a portion of the input text.

 

返回至目录

 

3号专利:(文本处理)文本插入优化语言模型

发明名称:Systems and methods for language model-based text insertion(基于语言模型的文本插入系统与方法)

申请号: US 18/183,898(2023.03.14)
授权号: US 11,886,826 B1(2024.01.30)

发明摘要:本发明基于包含前缀与后缀的用户输入数据来决定语气、结构、形式等模型参数,并根据模型参数选择语言模型,随后决定上下文参数以生成符合上下文的文本。本发明于 2023.03.14 提出专利申请,于 2024.01.30 获得授权。

1. 既有技术的局限性及本发明的产生背景

语言模型不仅能够输出与输入自然语言文本相符的回答内容,还能够反映用户意图的回答形式(如语气、话者、结构、格式等)。但是,一个语言模型要准确且即时地反映来自众多用户的多样回答形式仍然存在局限。语言模型可以通过利用针对特定任务的训练数据集进行额外训练、即通过微调(fine-tuning)使语言模型更好地执行该任务(即更好地生成回答),从而实现对任务本身的优化。但关于不仅优化回答内容、而是进一步优化到用户所希望的回答“形式”的研究却相对不足。

为了解决这些问题,本发明提出一种方法:从指示回答形式的用户指示(instruction)中选择针对回答形式进行优化(optimized)的语言模型,并通过对输出文本的用户反馈过程反复执行,为用户所希望的各类回答形式分别构建优化的语言模型。

2. 本发明的文本插入优化语言模型的构建方法

本发明的语言模型使用方式为:当用户输入前缀输入数据与后缀输入数据时,文本插入优化语言模型根据输入数据生成输出文本;当用户再次修改前缀或后缀并输入时,语言模型会根据新的输入数据再次修改输出文本,从而使用户与语言模型通过输入数据及其对应的输出文本持续进行交互。下图1(参考本发明专利 FIG. 4)示例性展示了本发明的 Use case。

 

<图1. 本发明 Use case|参考本发明专利 FIG. 4>

参照上图1,绿色方框表示新输入的前缀输入数据橙色方框表示根据输入数据被新插入到输入提示中的输出文本紫色方框表示新输入的后缀输入数据。参考而言,本发明中的输出文本会被插入到输入文本提示中,并将用于指示文本插入的前缀/后缀输入数据与作为修改对象的输入文本提示区分开来。

 

图1 的 Use case 由以下过程构成:

① 用户输入“目录 1. 高中毕业”以及“今天是特别的一天!”这两个前缀输入数据。
此时,用户可以同时输入前缀输入数据和后缀输入数据,也可以如图1 所示仅输入其中之一。

② 语言模型生成并插入根据高中毕业的语境与语气的内容。此时,语言模型会将生成的内容插入到前缀输入数据与后缀输入数据之间等插入点(insertion point)。

③ 用户输入后缀输入数据“目录 2. 搬到旧金山”。

④ 语言模型根据新输入的后缀输入数据,在输入文本提示中重新插入根据从高中毕业开始、以搬到旧金山结束的语境内容

⑤ 用户将后缀数据目录 2 再次修改为“目录 2. 搬到农场”。

⑥ 语言模型根据被修改的后缀数据所导致的语境变化,在输入文本提示中重新插入根据从高中毕业开始、以搬到农场结束的语境内容

如此,文本插入优化语言模型会将用户新输入的前缀/后缀语境立即反映到输出文本中,并将其插入到输入文本提示中。下面将介绍这种文本插入优化语言模型的构建方法。

本发明的文本插入优化语言模型的构建方法主要由以下步骤构成:

① 接收输入数据以决定模型参数
② 基于模型参数访问语言模型并生成与插入文本
③ 根据针对文本插入的用户反馈对语言模型进行优化

在本发明专利中,上述步骤是通过以下引擎来执行的。

 

<图1. 本发明授权专利 FIG. 2>

 

下面将通过各引擎的操作过程,来具体查看本发明各步骤的内容。

1) 接收输入数据以决定模型参数

执行引擎:Data Input Engine(202)、Data Normalization Engine(204)

(1) 接收输入数据(Input data)

数据输入引擎(202)接收前缀(Prefix)输入数据后缀(Suffix)输入数据。前缀输入数据对应于输入到语言模型的输入文本提示(input text prompt)的前缀部分,后缀输入数据对应于输入文本提示的后缀部分。例如,当用户希望通过语言模型了解“人工智能的历史”时,
用户可以在输入提示中将“人工智能的起源”作为前缀输入数据,将“人工智能的趋势”等作为后缀输入数据,以此向语言模型提供语境(context)。

 

另一方面,本发明将前缀输入数据与后缀输入数据各自都设置为能够包含没有输入值的 NULL 集,从而即使前缀与后缀之一,或两者均未输入时,发明也能够被实施。

(2) 决定模型参数(Model parameter)

随后,数据输入引擎(202)根据输入文本提示决定模型参数,如语气(例如:古典的、亲切的、幽默的)、结构(例如:散文、自由形式)、格式(例如:诗、书信)、话者(例如:性别、话者视角)等。本发明中定义的“模型参数”一词,指的是用于选择能够输出用户所希望回答形式的、经过优化的语言模型的参数

此外,本发明根据由提供语言模型的 API 所定义的语言模型应用框架,来决定模型参数。所谓语言模型应用框架,是指为了使语言模型能够被更容易且更快速地开发和使用而预先构建的工具。语言模型应用框架中预先设定了生成、open QA(开放式问答)、closed QA(封闭式问答)、头脑风暴(brainstorming)、聊天、改写、摘要、分类、抽取等任务,并为各个预设任务规定了语言模型的输入输出文本的文本模式、格式、结构、风格等。

(3) 数据归一化(Data Normalization)

数据归一化引擎(204)执行输入数据的分词(tokenization)、词形还原、词干抽取、词性标注,以及根据用户指示所要求的长度归一化等操作。

2) 基于模型参数访问语言模型并生成与插入文本

执行引擎:LM Access Engine(206)、Context Analysis Engine(208)、Text Generation Engine(210)、Text Insertion Engine(212)

(1) 语言模型访问(Language Model Access)

语言模型访问引擎(206)根据由输入文本提示导出的用户意图以及模型参数来访问语言模型。 本发明中所谓的“语言模型访问”,是指基于已决定的模型参数来选择(select)语言模型。换言之,语言模型访问引擎(206)会访问经过优化、能够根据用户输入的输入文本提示的语境、回答形式等输出相应回答的语言模型。选择语言模型的过程按照以下流程图执行。

 

<图2. 本发明专利 FIG. 9>

 

参照图2,在本发明中,当接收到用户输入数据时,将基于用户输入数据选择针对该回答形式被优化的语言模型(907)。查看本发明专利 FIG. 9 的流程图说明部分可以发现,“用户输入数据”这一概念不仅包含用户输入数据本身,也包含用户指示以及模型参数。

本发明所介绍的语言模型选择方式包括:i)决定语言模型是否与用户输入数据中包含的标签相一致的方式,或 ii)决定用户输入数据的部分内容与语言模型之间的语义相似度的方式。
这种语言模型选择方式可以视为本发明的特殊之处。特别是,输入数据与语言模型之间的语义相似度,是通过计算用户输入数据的文本嵌入向量与语言模型的文本嵌入向量之间的距离来决定的(“by computing distances between a text embedding associated with the user input data and a text embedding associated with one or more language models from which the selection is made”, 段落 【0080】)。但这种语言模型选择方式并未直接设置在权利要求范围中。

(2) 上下文分析(Context Analysis)

上下文分析引擎(208)接收归一化后的前缀输入数据与后缀输入数据,并输出上下文参数(context parameter)集合。上下文参数包括“where, who, when, what, why”等,即对前缀输入数据与后缀输入数据所进行参数化的上下文。上下文分析引擎(208)在之后用户反复修改输出文本的过程中仍保持上下文参数集合,从而无需重新加载大量信息即能保持关于变更内容的上下文信息。

(3) 文本生成(Text Generation)与插入(Insertion)

文本生成引擎(210)基于前缀输入数据、后缀输入数据、模型参数及上下文参数生成文本。也就是说,文本生成引擎(210)会从前缀输入数据开始,到后缀输入数据结束,生成符合回答形式及语境的中间内容。随后,文本插入引擎(212)接收由文本生成引擎(210)所生成的文本,并将生成的文本插入到输入文本提示中前缀输入数据与后缀输入数据之间的插入点(insertion point)。此外,本发明还可以接收由用户提供的指定插入点的用户输入,从而将生成的文本插入到用户指定的位置、区域等处 (“e.g., a user input received at an interface that specifies a position, area, or segment within a pre-existing text area for the insertion”, 段落 【0056】)。

另一方面,用户可以通过确认根据输入数据生成的文本并输入新的前缀或后缀输入数据,与语言模型进行交互。即,当输出文本不是用户所希望的回答形式,或用户希望新的回答内容时,可以与先前输入的前缀/后缀不同地输入,从而进一步生成及修改输出文本。随着这种交互过程的重复,语言模型能够在用户输入文本的同时在提示(prompt)中修改输出文本。专利的详细说明部分也强调实时交互,指出当用户修改或追加文本时,处理器可以在现有输入文本提示(即输出文本)中生成及插入文本 (“In some embodiments, the at least one processor may generate and insert text into an input text prompt while a user is editing or inserting the input text or text distinct from, but which may be associated with (e.g., included in a same interface) the input text prompt”, 段落 【0072】)。

另一个示例中,本发明专利 FIG. 5 展示了,不仅针对一般文本,也针对计算机代码,用户反复输入新的前缀输入数据或后缀输入数据,语言模型反复生成及插入作为输出文本的计算机代码的过程。

 

<图3. 本发明专利 FIG. 5>

 

与图1 相同,绿色方框表示新输入的前缀输入数据橙色方框表示根据输入数据被新插入到输入提示中的输出文本紫色方框表示新输入的后缀输入数据。在 502 中,为了使输入的前缀代码与后缀代码能够被执行,语言模型会新生成后缀代码中包含的名为“prune”的函数,并将其插入到输入文本提示中。随后,用户以最后的输入文本提示为基准指定新的插入点,语言模型则会在插入点处插入与前缀代码及/或后缀代码的语境相符合的新计算机代码。也就是说,用户在利用语言模型进行初始输入数据输入之后,无需追加输入更多计算机代码,仅通过指定合适的插入点即可完成代码的编写。

3) 根据用户对文本插入的反馈对语言模型进行优化

执行引擎:Output Validation Engine(214)、LM Optimization Engine(216)

语言模型评估引擎(214)接收语言模型的输出文本集合,并对各输出文本的性能评估指标(outcome metric)等进行排序。语言模型优化引擎(216)根据用户与语言模型的重复交互,将生成的输出文本集合作为训练数据集予以收集,并对语言模型进行微调。最终,语言模型通过反复的训练过程,被优化为输出符合所需回答形式以及前缀/后缀语境的文本。

另一方面,这种交互方式可视为与人类反馈强化学习(RLHF:Reinforcement Learning from Human Feedback)过程相似。所谓 RLHF,是指用户对人工智能模型的输出提出“好”或“坏”等反馈时,人工智能模型根据用户反馈进行学习,以生成更优的输出。

4) 小结

本发明根据前缀输入数据及后缀输入数据决定相关的模型参数,并选择对模型参数优化的语言模型。此外,本发明基于前缀输入数据及后缀输入数据决定上下文参数,并提供符合用户所希望回答形式与语境的回答。通过此方式,不仅对任务本身,而且对回答形式都能够构建优化的语言模型。同时,通过与用户的交互所进行的反复优化过程,能够输出进一步改善的回答形式。

3. 本发明专利权利要求分析

让我们来看一下,上文所述本发明的这些步骤在专利中是如何表达的,并查看本发明授权专利(18/183,898)的权利要求。

【权利要求 1】

 

A system comprising:

    at least one memory storing instructions;

    at least one processor configured to execute the instructions to perform operations for automatically generating and inserting text, the operations comprising:

        receiving an input text prompt comprising a prefix portion and a suffix portion;

        determining a set of model parameters based on the input text prompt;

         accessing a language model based on the input text prompt and the set of model parameters;

         determining a set of context parameters based on the input text prompt and the language model, the set of context parameters comprising at least one of location, person, time, or event;

         generating language model output text based on the set of context parameters and the language model;

        inserting the language model output text into the input text prompt based on the language model; and

        optimizing the accessed language model by aligning the language model based on the language model output using machine learning,

        wherein:

            the language model is optimized through one or more iterative cycles of training based on one or more outcome metrics associated with the language model output and one or more datasets, and

            the one or more datasets comprise at least one of user-instruction data or user-labeled data based on language model output text.

 

如上所述,本发明为了模型训练的流程由以下步骤执行:

① 接收输入数据以决定模型参数
② 基于模型参数访问语言模型并生成及插入文本
③ 根据针对文本插入的用户反馈对语言模型进行优化

另一方面,在本发明专利中,在申请时的权利要求中通过添加带下划线的构成要素而获得授权。查看这些带下划线的构成可以发现:i)基于输入数据决定模型参数的构成,ii)上下文参数集合包含地点、人物、时间或事件中至少一项的构成,iii)利用输出文本来优化语言模型的构成,被作为附加内容加入。

返回至目录

 

4号专利:(文本处理)内容过滤系统

发明名称:Systems and methods for language model-based content classification(基于语言模型的内容分类系统与方法)

申请号: US 18/308,586(2023.04.27)
公开号: US 2024-0362421 A1(2024.10.31)

发明摘要:由于人工智能模型会根据训练数据生成结果,因此根据用户输入可能生成仇恨言论、暴力表达、性不当内容等有害内容的可能性。本专利介绍了一种旨在提前阻断此类风险并防止人工智能模型被误用或滥用的内容过滤系统。该专利于 2023.04.27 提出申请,撰写本专栏时该专利仍处于审查阶段。

1. ChatGPT 会如何处理有害内容?

如果向 ChatGPT 请求将 “I want to kill all immigrants.” 翻译成韩语,ChatGPT 会输出什么结果呢?

 

[图1 - ChatGPT 生成示例 1]

 

如[图1]所示,ChatGPT 会将请求句子分类为仇恨内容,并根据使用政策输出无法翻译的结果。

那么,如果向 ChatGPT 请求将“Threatening to kill all immigrants will get you thrown in jail.”翻译成韩语,又会怎样呢?

 

 

 

[图2 - ChatGPT 生成示例 2]

 

在这种情况下,如[图2]所示,ChatGPT会输出“威胁要杀死所有移民会让你被关进监狱。”这样的翻译结果,并同时输出一条警告信息,表示可能违反使用政策。

虽然第一个示例的请求句子和第二个示例的请求句子都包含 “kill all immigrants”,
但二者生成了不同的输出结果。

ChatGPT是如何对有害内容进行分类,并实现阻断或警告的呢?

这正是因为ChatGPT使用了微软Azure OpenAI服务中提供的内容过滤系统。

内容过滤系统与包括 DALL-E 图像生成模型在内的核心模型一起运行,用于检测和防止仇恨言论、暴力表达、性不当内容等有害内容的输出。内容过滤系统不仅可作用于文本数据,也可作用于图像数据,并可同时应用于输入提示和生成结果。

本专栏将对内容过滤系统进行概略性检讨,并查看该专利的权利要求。

    2. 内容过滤系统

内容过滤系统基于内容分类体系对内容进行过滤。如[图3]所示,分类体系包括性内容(S)、仇恨内容(H)、暴力内容(V)等类别以及属于这些类别的子类别。

 

[图3 - 来源:‘586 专利的图2]

以代表性的仇恨内容(H)为例进行说明。仇恨性内容(H)如[图3]所示,包含以下 4 个子类别。

  • 【H1】 对贬损性刻板印象或仇恨性言论的支持

  • 【H2】 鼓动或威胁实施暴力的仇恨性内容

  • 【H0.a】 提及群体身份的中立性陈述

  • 【H0.b】 为批判他人的仇恨言论而引用的、具有语境化的仇恨言论

内容分类系统可以对被归类为 【H1】 或 【H2】 组的内容赋予“不理想(undesired)”标签,而对被归类为 【H0.a】 或 【H0.b】 组的内容则可能不会赋予“不理想”标签。内容过滤系统即可检测并过滤被赋予“不理想”标签的内容。

这样的内容分类体系可如下【图4】所示,基于多个约束条件的内容政策而自动生成。 

【图4 - 来源:微软的Azure OpenAI服务

例如,当用户在内容政策中将严重程度阈值指定为“中等(medium)”,并将策略指定为“annotate and blocking”时,内容过滤系统即使对于被分类为“不理想”的内容,若其严重程度级别被检测为“低”或“安全”,仍然可以将其传递给用户,但会附加警告信息。但是,若严重程度级别在“中等”或“高”被检测到,则此类内容将被阻止显示给用户,或其生成过程将被中断。

接下来,我们来查看该专利的独立权利要求1。

 3. 专利权利要求分析

该专利(18/308,586)于 2023.04.27. 连同 Track One优先审查请求(Request of Track One Prioritized Examination)共同提出,并且基于该专利于 2023.10.31. 又提交了对应的 PCT 申请。

该专利在 2024.05.22. 收到美国专利局发出的第一次驳回理由(Office Action),申请人提交了修改后的权利要求进行答复,但仍未能克服驳回理由,目前已收到第二次驳回理由。

该专利的独立权利要求1如下所示。

独立权利要求1

1. A system comprising:

    at least one memory storing instructions; and

   at least one processor configured to execute the instructions to perform first operations for automatically classifying and moderating content, the operations comprising:

           receiving input data;

           receiving one or more content policies;

     generating a content taxonomy using a large language model generation engine configured to receive the input data and the one or more content policies and generate the content taxonomy by forming categories and subcategories ranked with a prediction metric predictive of content including desired or undesired digital material, the metric being automatically machine-generated;

          receiving multi-domain cold start data from a plurality of data sources;

        generating training data based on the multi-domain cold start data to initiate an active learning process, the active learning process being performed based on two or more parallel learning pipelines;

         accessing a pre-trained language model based on the input data and the training data;

iteratively executing second operations until a threshold value has been reached to generate an optimized language model, wherein the second operations comprise:

         classifying the content of the input data using the pre-trained language model and the content taxonomy;

           refining the training data based on the classified content of the input data;

         refining the pre-trained language model based on the refined training data to generate the optimized language model; and

           probing the optimized language model; and

         moderating the content of the input data based on the optimized language model and the content taxonomy.

独立权利要求1大体上由以下部分构成:1)生成内容分类体系的过程2)生成训练数据并访问(access)预训练模型的过程3)生成优化后的模型的过程,以及4)调整内容的过程。其中,带下划线的部分是为了克服专利局发出的第一次驳回理由而新增的技术特征。

 

【图5 - 来源 ‘586专利的图5】
 
 

(1)内容分类体系的生成

内容政策可以包括,例如前述示例中所提到的,将特定内容设置为阻断对象,以及设定严重程度阈值等内容。

基于内容政策自动生成的分类体系可以包括性内容、仇恨内容、暴力内容等内容类别,并可进一步包括各类别下的子类别。

在最初权利要求中,为了克服驳回理由而新增的部分正是带下划线的以下内容:“通过形成根据预测指标(metric)排序的子类别来生成内容分类体系,该预测指标用于预测包含期望数字资料或不期望数字资料的内容,并且该指标由机器自动生成。”

也就是说,内容分类系统在生成内容分类体系时,使用称为“预测指标”的特定标准,根据是否赋予“不期望(undesired)”标签来对子类别进行排序。

在审查过程中,即使申请人已经加入了上述内容,仍然收到了第二次驳回理由。因此,OpenAI未来将添加哪些构成要件以成功获得授权,还有待进一步观察。

(2)生成训练数据并访问预训练模型

训练数据可以基于从多个数据源获取的多领域冷启动数据(multi-domain cold start data)生成。此处的“冷启动”一般指在机器学习或人工智能模型训练中,由于缺乏足够的训练数据而处于的初始状态。在这种情况下,模型难以进行准确学习,而“冷启动数据”指在数据尚未充分收集或训练不足的情况下,为初始训练或模型训练目的而提供的数据。

该专利公开,冷启动数据可以是机器生成的数据,也可以是人工策划的合成数据。所谓人工策划的合成数据,是指基于**由人设计的提示模板(prompt template)**生成的提示,再由此生成的合成数据。由人工编写的提示模板示例性地展示于 【图6】 中,其中以粗体显示的内容可以随机选择,以提高多样性。

 

【图6 - 来源‘586 专利的图3】

生成训练数据后,利用生成的训练数据来访问语言模型。这里所说的访问语言模型,是指添加、删除或修改语言模型的模型参数,或添加、禁用或删除模型的节点和/或层级。特别是,本专利通过利用生成的训练数据来启动针对语言模型的主动学习过程(active learning process)

【图7】 是表示主动机器学习的示意图。与传统的机器学习不同,在传统机器学习中,针对未标注数据由人类赋予标签,然后机器再进行学习,主动机器学习是指由机器自动且自适应地选择最有用的数据,并请求对这些数据进行标注。也就是说,模型在学习过程中会优先选择那些可能包含不确定性较高的数据、或最有用信息的数据来请求标注,并通过加入新标注的数据重新训练模型,从而提升模型的准确度。

 

【图7 - 来源:ICML 2019 active learning tutorial

在本专利中,主动学习可基于三个并行的学习管线(pipeline)来执行。“第一条管线” 会从冷启动数据中随机抽取数据并请求标注。通过这种方式,可以保证与真实使用环境中的数据分布保持一致性。“第二条管线” 会在计算机预测结果中,从得分高于特定阈值的数据里随机抽取样本并请求标注。即使模型分数高于某一阈值,该数据也可能被归入错误的类别,因此,第二条管线可视为一种策略,用来检测由于模型的“错误自信”而可能产生的潜在错误。“第三条管线” 则捕获在特定阈值以上、模型认为最不确定的样本。如果模型对某一类的概率很高,但对其他类的概率也同样较高,则说明模型对该数据感到不确定。通过第三条管线,可以发现模型尚未学到的区域或薄弱部分,并对其进行标注,从而最大化学习效率。

(3) 生成优化后的模型

内容分类系统利用预训练语言模型的输出以及分类体系,对输入数据的内容进行分类。随后,会执行数据清洗操作,即识别错误分类的内容,并通过重新归一化(re-normalizing)训练数据来进行修正。

例如,在【图8】,第一句、第二句和第三句属于仇恨内容,但第四句在内容上并不属于仇恨内容。

 

【图8 - 来源‘586 专利图4】

然而,如果训练数据中经常出现的词语 “all immigrants” 与仇恨内容相关联,那么内容分类系统极有可能将所有包含 “all immigrants” 的句子都归类为仇恨内容。内容分类系统可能因为这种过拟合的词语而将第四句话错误地分类为仇恨内容。

为防止这种情况,内容分类系统会识别过拟合的词语,并分析这些过拟合词语是否对分类结果产生了过度影响,从而判断相关内容是否被错误分类。

内容分类系统可以基于经过清洗的数据集,对预训练语言模型进行对齐或调整(fine-tuning),以执行优化操作。对语言模型进行“对齐(alignment)”的过程,指的是添加、删除、修改语言模型的模型参数,或添加、禁用、删除模型的节点和/或层。

补充说明,在人工智能领域,AI 对齐(AI alignment)包括“外部对齐(outer alignment)”和“内部对齐(inner alignment)”。外部对齐指的是让 AI 系统按照设定的目标或目的运行,对应本专利中对语言模型的对齐过程。内部对齐指的是确保 AI 系统在实现目标的过程中遵守人类价值与伦理。例如,如果 AI 招聘系统的训练数据包含性别或种族偏见,则模型可能学习到这些偏见并作出不公平的决策,这就是错误价值判断的例子。内部对齐涉及伦理问题,因此与本专利的内容分类系统在概念上类似,但该专利的系统是基于预定义的政策来阻止生成有害或不适当内容,并在特定 AI 服务内部运行,这与“内部对齐”有所不同。

内容分类系统可以对优化后的语言模型进行探测(probing)。例如,通过检测关键 token 是否被过拟合来验证模型,或通过红队测试模型。所谓“红队”是指通过攻击性输入测试语言模型、发现问题的团队。

(4) 内容调控

内容过滤系统使用优化后的语言模型来调控内容。这里,调控内容指的是, 若判断用户提示词中包含有害内容,则限制传递给模型的输入,使其不生成有害或不适当的结果;或若模型根据用户提示生成的输出中包含有害内容,则对这种有害输出进行阻断或修改。

文章开头提到的两个示例中,尽管两个请求句子都包含 “kill all immigrants”,但 ChatGPT 能够生成不同的输出结果,是因为模型在优化过程中识别了过拟合 token,并对训练数据集进行了清洗。

撰写本专栏时该专利的独立权利要求 1 仍处于审查阶段,因此 OpenAI 将会加入哪些额外的技术特征来获得授权,还需要继续观察。

 

返回至目录

 

 

5号专利:(计算机代码)Codex 专利

发明名称: Systems and methods for generating code using language models trained on computer code (基于在计算机代码上训练的语言模型生成代码的系统与方法)

申请号: US 18/321,852(2023.05.23)

授权号: US 12,061,880 B2(2024.08.13)

发明摘要:OpenAI 开发了基于 Transformer 的语言模型 Codex,能够基于自然语言输入自动生成计算机代码,或将代码用自然语言进行说明。该专利于 2023.05.23 提交,并于 2024.08.13 获得授权。

1. 传统编程方式的局限与解决方案

传统的计算机代码编写方法在编写过程中容易出现语法错误或产生漏洞,而且要开发一个能够在多种编程语言和平台上运行的程序也十分困难。并且,为了编写复杂的代码需要高水平的编程技能,因此初学者难以轻松入门。

本篇专栏将探讨一种能够基于自然语言输入自动生成计算机代码,或用自然语言解释代码的系统。

例如,如【图1】所示,当输入 “Make it be smallish” 这样的自然语言时,系统可以如【图2】所示自动编写计算机代码并执行。

 

【图1 - 来源:OpenAI博客

 

【图2- 来源:OpenAI博客】  

 

那么,让我们来看看机器学习模型如何基于自然语言输入自动生成计算机代码。

2. 用自然语言编写代码的方法

 

【图3- 来源:GitHub

 

【图3】示出了由OpenAI Codex驱动的、基于人工智能的编码助手GitHub Copilot的示例。

首先,系统接收表示用于指定数字编程结果的自然语言文本的docstring。这里,docstring 是指包括注释、文档、句子、段落、单词或自然语言短语在内的所有文本,并且可以提供与计算机编程代码相关的函数、方法、模块或类的使用或交互的信息。

例如,在【图4】中,// Determine whether the sentiment of text is positive以及// Use a web service这样的内容,即关于该函数用于判断文本情感是否为正面、以及该代码使用网络服务的说明,可以对应于docstring。而除docstring 之外的部分则对应于计算机代码,是实际实现函数和逻辑的部分。

系统利用机器学习模型,以docstring为基础生成多个用于生成候选结果的多个计算机代码样本。这里,候选结果可能与由自然语言输入所指定的期望结果一致,也可能不一致。由机器学习模型提供的计算机代码样本数量越多,通过对各候选结果进行比较而选择最合适代码的可能性就越高,从而更有可能准确地获得期望结果。这样的机器学习模型可以是对理解自然语言进行了预训练,并进一步利用由带注释的计算机代码构成的训练数据进行追加训练的模型。

系统执行这些计算机代码样本,并以已执行的各计算机代码样本为单位,进行用于确认该计算机代码运行准确程度的单元测试。这里,单元测试是指对计算机代码样本或其一部分进行“独立”测试,以确认该计算机代码是否正确运行的测试。因此,可以基于在整个单元测试集合中某一计算机代码样本所通过的单元测试数量,对该计算机代码执行期望功能的准确程度进行评分。

系统可以基于上述评分,在多个代码样本中识别出合适的代码样本。例如,如果第一个代码样本导致的结果未能对应于由自然语言输入所指示的结果,而第二个代码样本导致的结果对应于由自然语言输入所指示的结果,则可以识别出第二个计算机代码样本。换言之,系统能够识别出被构造成用于生成与数字编程结果相关的特定候选结果的计算机代码样本。

系统输出所识别的计算机代码样本,并且可以以所识别的计算机代码样本为基础,对机器学习模型进行调整(fine-tuning),以提升模型的性能。

接下来,我们来看该专利的独立权利要求1。

 

3. 专利权利要求分析

该专利的独立权利要求1如下所示。

独立权利要求1

A computer-implemented method, comprising:

receiving a docstring representing natural language text specifying a digital programming result;

generating, using a trained machine learning model and based on the docstring, one or more computer code samples configured to produce respective candidate results;

causing each of the one or more computer code samples to be executed in a testing environment associated with the trained machine learning model, wherein each of the one or more computer code samples are evaluated based on at least one unit test, the at least oneunit test being generated by the machine learning model;

identifying, based on a result of the executing in the testing environment, at least one of the computer code samples which produces a particular candidate result associated with the digital programming result;

generating, using the trained machine learning model, natural language text associated with the at least one identified computer code sample;

verifying each of the one or more executed computer code samples; and

outputting the at least one identified computer code sample and the natural language text associated with the at least one identified computer code sample;

wherein:

    verifying includes computing a functional correctness score for each of the executed one or more computer code samples;

     the identifying at least one of the computer code samples is based on the functional correctness score; and

    the trained machine learning model is fine-tuned based on verified computer code samples.

 

【图4- 来源:‘852专利图1】

 

独立权利要求1在申请时,针对以下过程进行了权利化:利用机器学习模型基于 docstring 生成计算机代码样本,并基于执行所述计算机代码样本的结果识别特定的代码样本并将其输出(①至⑤)。

然而,授权点在于如下加下划线的部分,即:基于单元测试对已执行的代码样本进行评估,基于已执行的代码样本的功能准确性评分识别特定的代码样本,生成基于所识别的计算机代码样本的附加说明的自然语言文本,以及基于所识别的计算机代码样本对机器学习模型进行调整的内容。

作为参考,在上述加下划线的部分中,以粗体标示的内容系在作出授权决定(Notice of Allowance)时由审查员通过审查员修正(Examiner’s Amendment)而追加的内容。

4. 继续申请1的权利要求分析

下面看一下于 2023.05.23提交CA申请、并于 2024.06.11 获得授权的授权专利(18/321,921)的独立权利要求21。

其与原申请的差异在于:原申请的授权权利要求1权利化的是从自然语言输入生成计算机代码的构成,而该专利的独立权利要求21则相反,权利化的是从计算机代码输出自然语言的构成。

【权利要求21】

A computer-implemented method, comprising:

    ① training a machine learning model to generate natural language docstrings from computer code;

    ② receiving one or more computer code samples at the trained machine learning model;

    ③ generating, via the trained machine learning model and based on the received one or more computer code samples, one or more candidate natural language docstrings representing natural language text, each of the one or more candidate natural language docstrings being associated with at least a portion of the one or more computer code samples;

   ④ identifying at least one of the one or more candidate natural language docstrings that provides an intent of the at least a portion of the one or more computer code samples;

  ⑤ outputting from the trained machine learning model the at least one identified natural language docstring with the at least a portion of the one or more computer code samples; and

receiving, at the machine learning model, a selection of the one or more computer code samples, wherein the machine learning model provides an automatic description of the selection and generates a template for building an additional machine learning model.

【图4- 来源:‘921专利图2】

独立权利要求21在申请时,针对以下过程进行了权利化:利用经训练的机器学习模型从计算机代码样本生成候选自然语言 docstring,并在所述候选 docstring 中识别并输出提供所述代码样本“意图”的 docstring。这里,所谓“意图”是指说明当相应的计算机代码样本在系统中执行时所实现的基本功能、目的或目标。

然而,授权点在于如下加下划线的部分,即:机器学习模型接收对计算机代码样本的选择,并针对所接收的选择提供自动说明,以及生成用于构建附加机器学习模型的“模板”的内容。也就是说,该发明能够生成构建新的机器学习模型所需的初始代码结构,即模板,并且可以基于该模板,根据用户期望的任务自动生成所需的代码。

5. 继续申请2的权利要求分析

下面看一下于 2024.07.09提交CA申请、并于 2024.12.05 公开的公开专利(18/767,894)的独立权利要求21。

该申请的独立权利要求21在保留原申请的授权权利要求1的主要授权点,即“基于功能评分对计算机代码样本进行验证”的内容的同时,删除了原申请的授权权利要求1中基于单元测试对计算机代码样本进行评估的构成,以及生成并输出与所识别的计算机代码样本相关联的自然语言文本的构成。

21. A computer-implemented method, comprising:

    receiving a docstring representing natural language text indicating a programming result;

  generating, using a machine learning model and based on the docstring, computer code samples;

  identifying computer code samples that produce candidate results associated with the programming result;

    computing functional scores for each of the identified computer code samples;

   verifying at least one of the identified computer code samples based on the functional scores;

outputting the at least one verified identified computer code sample; and

  fine-tuning the trained machine learning model based on the at least one verified identified computer code sample.

 

由于该申请目前仍处于审查过程中,尚需进一步观察其是否能够按照现有权利要求的内容直接获得授权,或者是否需要通过增加构成要素后才能获得授权。

 

返回至目录

 

 

6号专利:(API 联动)与外部 API 联动的语言模型系统

发明名称: Schema-based integration of external apis with natural language applications(基于架构的外部 API 与自然语言应用的集成)

申请号: US 18/186,712(2023.03.20)

授权号: US 11,922,144 B1(2024.03.05)

发明摘要:本发明是一种将外部 API 集成至语言模型用户界面(UI)中的技术,使语言模型能够理解外部 API 的功能(function),并向用户提供使用外部 API 的能力。该发明于 2023.03.20 提交专利申请,并于 2024.03.05 获得授权。

1. 本发明的背景

1)什么是 API(Application Programming Interface)?

API 是指为了在一个系统中使用多个应用程序而构建的一组协议。例如,用户可以在系统中集成其他外部 API,系统通过访问存储外部 API 信息的位置来传递用户的请求,并从外部 API 接收与该请求相对应的结果值。

2)现有技术的局限性及本发明的产生背景

语言模型可以通过利用针对特定任务(或应用)的训练数据集对语言模型进行进一步训练,即通过微调(fine-tuning),使语言模型能够更好地执行该任务,也就是更好地生成答案。然而,由于语言模型是基于其已学习的训练数据集来生成输出文本的,因此,在不对语言模型进行额外训练的情况下,变更后的数据或新的数据无法反映到输出文本中;并且,在针对新的任务进行微调时,会产生大量的时间和成本。此外,由未经验证的数据训练得到的语言模型还存在生成不准确答案的风险。

为了解决上述问题,本发明将语言模型与外部的多种 API 进行集成,使其能够与外部 API 进行交互,从而在无需对模型进行单独重新设置的情况下即可利用外部 API 的多种功能,并且能够利用来自经验证来源的数据生成准确的结果值。

2. 本发明的语言模型—API 集成方法

本发明涉及一种方法,当用户向语言模型输入请求访问特定 API 的文本时,语言模型识别所请求的特定 API 并将其连接至语言模型接口,同时调用用户的自然语言文本中所请求的特定 API 的功能(function)。本发明应用的最为简单的使用场景(Use case)即是利用图像生成 API 来生成图像的情况。

 

<图1. 本发明的 Use case>

 

在本发明中,不仅可以利用如上所述已连接至 ChatGPT 的图像生成 API,而且还提出了一种 API 集成方法:根据用户请求,新近访问并利用其清单文件(manifest file)存储于语言模型 UI 可访问位置的 API。

本发明的语言模型—API 集成方法主要包括以下步骤:

① 基于在语言模型 UI 中接收到的输入,对外部 API 进行识别并建立连接

② 通过针对外部 API 的清单文件对语言模型进行训练

③ 与外部 API 进行交互并提供结果值

执行本发明的语言模型 UI 系统的示意图如下所示。

 

<图2. 本发明的系统结构图(FIG. 3)>

 

下面将对各个步骤的具体内容进行说明。

1)基于在语言模型 UI 中接收到的输入对外部 API 进行识别并接入

(1)外部 API 的生成

在语言模型 UI 访问外部 API 之前,外部 API 通过以下步骤生成并运行:

① API 发布者(publisher)在被配置为可由语言模型调用的端点(即 API 的访问地址)处创建 API

② API 发布者(publisher)制作包含 API 说明书(description specification)以及该说明书地址的清单文件(manifest file)

③ 此后,语言模型基于 API 文档(说明书、清单文件)以及用户的对话上下文来调用 API

(2)在语言模型 UI 中接收请求 API 连接的输入

语言模型 UI 接收来自用户的、请求集成外部 API 的输入。在此过程中,用户可以通过在 UI 中输入自然语言文本,或通过选择菜单进行输入(如下拉菜单、点击并拖拽方式等)。UI 会确定输入中所包含的特定 API 的名称/识别信息,或用于选择特定 API 的选择型输入,从而识别出用户所期望的特定 API。

(3)外部 API 的集成(Integrate)

语言模型 UI 可以集成由用户请求的外部 API。所谓 API 集成,是指访问存储有 API 清单文件的地址,以便能够调用该 API 的各项功能。所述清单文件包含该 API 的说明书的存储地址。

2)通过外部 API 的清单文件对语言模型进行训练

语言模型将相应 API 的清单文件和说明书作为训练数据进行学习,从而学习如何从请求该 API 特定功能(function)的用户输入中调用该 API 的特定功能,或者为了获得特定结果应当调用何种功能。

3)与外部 API 进行交互并提供结果值

(1)接收附加输入

语言模型 UI 除了接收用于调用 API 的初始输入之外,还可以接收附加输入。在这种情况下,初始输入可以是用于选择 API 的输入,而附加输入则可以是通过该 API 请求结果的输入。

(2)传递从外部 API 接收到的结果值

语言模型 UI 从 API 接收结果值并将其提供给用户。在此过程中,语言模型 UI 不仅可以简单地输出结果值,还可以进一步利用语言模型对结果值进行总结,并将总结内容显示在界面上。

4)小结

本发明并非对外部 API 所能执行的全部功能进行学习,而是仅通过 API 文档来学习功能调用,因此无需投入大量的训练成本,即可向用户提供最新的外部 API 功能。也就是说,语言模型即使在较少训练的情况下,也能够从用户的输入文本中理解用户所期望的功能,并将该功能请求传递给外部 API,从而基于经验证的来源提供准确的结果值。

3. 专利权利要求分析

接下来,我们来看一下在上述的本发明各个步骤在专利中是如何表述的,并对本发明的授权专利(18/186,712)的权利要求进行分析。

【权利要求1】

 A computer-implemented method for integrating a particular external application programming interface (API) with a natural language model user interface, comprising:

    receiving a first input at the natural language model user interface communicably connected to a natural language model that is trained to call one or more functions based on a manifest and in response to the received first input;

    determining the first input includes a request to integrate the particular external API with the natural language model user interface;

    identifying the particular external API based on the received first input;

    integrating the particular external API with the natural language model user interface, the integrating comprising accessing a web API, a description of the web API, and the manifest stored in a location associated with the particular external API, wherein the manifest is customizable by a publisher of the particular external API;

    accessing the particular external API based on the first input or a second input at the natural language model user interface; and

    transmitting, based on the accessing, a response message to the natural language model user interface, the response message including a result of the accessing, wherein transmitting the response message to the natural language model user interface includes summarizing payload contents received from the particular external API and displaying natural language text to a user via the natural language model user interface.

 

本发明的授权权利要求省略了学习步骤(步骤②),而是以外部 API 集成步骤及结果值提供(步骤①、③)为核心来设置权利要求。

① 基于在语言模型 UI 中接收到的输入,对外部 API 进行识别并建立连接

② 通过外部 API 的清单文件对语言模型进行学习

③ 与外部 API 进行交互并提供结果值

另一方面,在本发明的专利中,是在申请时的权利要求基础上,追加了加下划线的构成后获得授权的。具体来看该加下划线的构成,包括:
i)语言模型 UI 与根据 API 清单文件及输入而被训练以调用功能的语言模型相互连接的构成;
ii)对 API 的集成包括访问 Web API、Web API 清单文件以及 Web API 说明书的构成;
iii)将从 API 接收到的结果值传送至语言模型 UI 的构成。

4. 继续申请(Continuation Application)

在上述说明的原申请专利(18/186,712)获得授权之后,为了强调能够与多个 API 进行集成,于 2023.09.25 提交了继续申请(申请号:18/474,063),并于 2024.10.22 获得授权(授权号:US 12,124,823 B2)。
 

【权利要求1】

A computer-implemented method comprising:

    accessing a first manifest file stored in a first location, the first manifest file including first training data associated with a first web application programming interface (API), the first training data including a second location of a first description of the first web API;

    accessing the first description of the first web API based on the first training data;

    training a model based on the first training data and the first description of the first web API;

    accessing a second manifest file stored in a third location, the second manifest file including second training data associated with a second web API, the second training data including a fourth location of a second description of the second web API;

    accessing the second description of the second web API based on the second training data;

training the model based on the second training data and the second description of the second web API;

    receiving an input at a user interface of the model;

    analyzing the received input to determine whether the input includes a request to integrate the first web API or the second web API with the user interface;

    determining one or more function calls to transmit to the first web API or the second web API based on the analysis of the received input, wherein the model is trained to call a first function based on a first input and a second function based on a second input; and

    re-training the model based on at least one change made to one or more of the first training data, the first description of the first web API, the second training data, or the second description of the second web API.

 

与原申请的权利要求1相比,其追加了以下内容:

i)明确记载第1 API 与第2 API,并分析 UI 上的输入是针对第1 API 的输入还是针对第2 API 的输入,从而确定相应功能(function)的构成(步骤①的具体化);以及

ii)模型的训练及再训练的构成(步骤②)。


返回至目录

 

7号专利:(图像处理)DALL-E 专利

发明名称: Systems and methods for hierarchical text-conditional image generation(用于分层文本条件图像生成的系统与方法)

申请号: US 18/193,427(2023.03.30)

授权号: US 11,922,550 B1(2024.03.05)

发明摘要:在 OpenAI 的图像相关专利中,自前年起在图像生成领域引发创新,并引起对扩散模型(Diffusion Model)高度关注的 DALL-E 2 模型相关专利在此予以介绍。该专利于 2023.03.30 提交申请,并于 2024.03.05 获得授权,并通过题为《Hierarchical Text-Conditional Image Generation with CLIP Latents》的论文进行了公开介绍。

 

1. 图像生成领域中的技术需求及本发明的产生背景

(1) 是否可以共同利用不同领域的数据?

在现有的图像生成领域中,一直存在着根据文本输入生成图像的需求。然而,与图像—图像不同,由于图像与文本在数据形式上彼此不同,因此要让人工智能从文本中理解图像的视觉信息,并从图像中理解文本的语境意义,是一项非常困难的任务。

在此背景下,2021 年公开的 CLIP(Contrastive Learning Image Pretraining)论文应运而生。这里,所谓对比学习(Contrastive Learning),是指一种为了更加清晰地呈现对象之间差异而进行学习的方法。

例如,为了让人工智能将“苹果的照片”与“苹果这一词语”进行关联,而不将“苹果的照片”与“苹果以外的词语(例如:鸟)”进行关联,可以利用对比学习(Contrastive Learning)。首先,将“苹果的照片—苹果的文本”对以及“鸟的照片—鸟的文本”对构成训练数据集,并分别将图像输入至图像编码器,将文本输入至文本编码器。

随后,将构成相同配对的图像编码结果“Ⅰ苹果”和文本编码结果“T苹果”分类为正确配对,并通过训练使二者之间的距离缩小;而将构成不同配对的编码结果“Ⅰ苹果—T鸟”分类为错误配对,并通过训练使二者之间的距离拉大。

 

<用于帮助理解的示意图>

 

因此,如此学习了相互对应的图像与文本之间关系的图像/文本编码器,能够从输入的图像中理解与之对应的文本含义;同样地,也能够从输入的文本中联想并理解与之对应的图像的视觉信息。

DALLE-2 正是在这样的背景下诞生的:如果像上述所说明的 CLIP 那样,将已经学习了图像与文本之间关系的图像/文本编码器应用于图像生成领域,就能够从文本中很好地提取视觉特征,从而有望生成更高质量的图像。

(2) 扩散模型(Diffusion model)的出现

扩散(Diffusion)模型是一种生成模型(Generative model),该模型能够生成在现实中并不存在、但与训练数据相似的数据。

扩散模型通过从完全的噪声开始,逐步去除噪声,最终生成不含噪声的、即我们所期望的数据,也就是原始数据。因此,在扩散模型的训练过程中,模型会预测加入到图像中的噪声量,并将该预测值与实际加入的噪声量进行比较,从而计算损失函数。


<示意化的扩散模型训练过程|出处:论文

与此前作为生成模型被广泛采用的生成对抗网络模型(Generative Adversarial Networks,简称 GAN)相比,扩散模型具有诸多优势。与在训练过程中需要生成器和判别器各自损失函数、即需要两个损失函数的 GAN 相比,扩散模型仅需要一个损失函数。因此,扩散模型的训练相对更为简便,并且由于通过多次反复去除噪声来生成图像,具有能够输出多样且高质量结果的优点。

在此背景下,得益于 2020 年 6 月发表的Denoising diffusion probabilistic models(DDPM)》以及 2021 年 5 月发表的Diffusion Models Beat GANs on Image Synthesis》等论文成果,扩散模型逐渐崛起,成为生成模型领域中的一股新潮流,目前已成为生成模型研究中最为活跃的主题之一。

(3) DALLE-2 的产生背景

以往基于文本生成图像的生成模型,无法将图像与文本之间的关系进行关联式理解。另一方面,传统的基于 GAN 的生成模型也无法将未包含于训练数据中的图像的视觉特征与文本的语境特征进行关联表达。因此,对于训练数据中不存在的数据,基于 GAN 的生成模型在生成结果的质量方面存在不足的问题。

然而,DALLE-2 通过 CLIP,使人工智能能够更好地理解诸如文本—图像这类不同数据形式之间的相互关系。此外,DALLE-2 结合使用了 CLIP 与基于扩散的生成模型,从而能够输出更加多样且质量更高的生成结果。

<实际在 DALLE-2 论文中介绍的生成结果示例>

 

如上所示,可以看到,DALLE-2 实际上能够自然且高质量地生成诸如“身着拿破仑服装、手持奶酪的猫”“以威尔士柯基形状爆炸的星云”等在训练数据中并不存在的图像。那么,DALLE-2 的结构(架构)以及与之相关的专利是如何构成的呢?

2. 模型架构及训练方法

首先,我们来看一下 DALLE- 2 的架构及其训练方法。

【图 2】、【Fig. 1B】 为表示 DALLE- 2 模型架构的示意图。DALLE-2 为了克服扩散模型固有的生成速度较慢这一局限,采用了“从文本编码向量获取图像编码向量的第一扩散模型”(prior)以及“利用图像编码向量生成图像的第二扩散模型”(decoder)。下面将对此进行更为具体的说明。

【DALLE-2 论文的图2】

 

【DALLE-2专利的图1B】

(1) 对图像/文本 CLIP 编码器进行预训练的步骤

【DALLE-2专利的图1A】

 

   

【DALLE-2专利的图1B】                                                         【DALLE-2论文的图2】

 

首先,在进行图像生成之前,为了提取文本/图像的特征并获取彼此相关联的特征,可以通过 CLIP 训练过程对图像编码器(134)和文本编码器(132)进行训练。通过获得预训练的 CLIP 编码器,在后述通过文本编码向量(136)获取图像编码向量(140)并对第一扩散模型进行训练的过程中,可以利用与特定文本编码向量(136)相对应的图像编码向量(135)。(对应论文图2 中虚线以上部分,以及专利图1A)

与此相关,为了缓解扩散模型固有的生成速度较慢这一问题,DALLE-2 采用了缩减包含文本/图像特征的 CLIP 潜在空间(latent space)的方法。通过这种方式,DALLE-2 在后述扩散模型通过文本编码向量(136)获取图像编码向量(140)的过程中,能够减少需要进行推理的数据量本身,从而提高推理速度。

具体而言,在 DALLE-2 中,可以利用主成分分析(Principal Component Analysis,PCA)来缩减 CLIP 潜在空间。所谓主成分分析,是指在保留表示数据的重要主成分的同时,对数据维度进行压缩。简单来说,例如在表示“香蕉”的诸多维度信息中——如“黄色、细长的形状、末端圆钝、内部柔软、有果柄、水果,……”——可以将维度缩减为最能代表“香蕉”的“黄色、细长的形状、水果”等特征。

在 DALLE-2 的论文中记载,通过该过程将 1024 维的 CLIP 潜在空间压缩至 319 维。由此,由扩散模型初步生成的结果——即图像编码向量——的规模从 1024 减小至 319,从而可以加快通过扩散模型生成结果的速度,并在一定程度上缓解扩散模型固有的生成速度较慢的问题。

(2) 从文本编码向量获取图像编码向量(prior)

在 DALLE-2 的论文中,针对从文本编码向量预测图像编码向量的 Prior,采用了两种模型进行了实验。

【DALLE-2论文图2的一部分】

首先,论文公开了一种以文本编码向量作为条件(condition),以自回归(Auto Regresive)方式预测图像编码向量的 AR prior。这里,自回归式预测的过程可以理解为:当存在诸如“我会美味地吃苹果。”这样的句子时,先输入“苹果”,输出下一个序列“美味地”,再将输出的“美味地”作为输入,依次输出“吃”“会”等后续内容。为此,该论文中记载使用了预训练的 Transformer(变换器)模型。

 

【DALLE-2论文图2的一部分】

其次,论文公开了一种以文本编码向量作为条件(condition),通过扩散过程顺序性地预测图像编码向量的第一扩散模型(diffusion prior)。在此,第一扩散模型通过以文本编码向量为条件来预测图像编码向量,从而能够获得能够良好表征与文本相对应的图像特征的向量。论文作者在对 AR prior 与 Diffusion prior 的结果进行比较后记载称,Diffusion prior 的性能更优;或许正是基于这一影响,在 DALL·E 2 的专利中并未公开关于 AR prior 的说明。

(3) 从所获得的图像编码向量获取结果图像(decoder)

【DALLE-2论文图2的一部分】

最后,DALLE 包含一种第二扩散模型(decoder),该模型以通过第一扩散模型所获得的图像编码向量作为条件(condition),从而获取结果图像。

与此相关,为了提升生成结果的性能,第二扩散模型还额外利用了两个上采样器模型(upsampler)。这里,上采样器模型是指将较低分辨率的数据转换为更高分辨率数据的模型。

【用于帮助理解的示意图】

如果从一开始就通过扩散模型直接从图像特征向量生成 1024×1024 尺寸的图像,则模型的规模和复杂度会增加,从而使计算量变得非常庞大。此外,在这种情况下,扩散模型由于模型复杂度过高,可能更容易发生对特定数据的过拟合。

相反,可以通过扩散模型先从图像特征向量生成相对较小的 64×64 尺寸的图像,然后再将其上采样为 256×256 尺寸的图像。随后,如果再通过扩散模型将输出的 256×256 图像上采样为 1024×1024 尺寸的图像,则可以在降低模型规模和复杂度的同时,获得高质量的图像。因此,DALL·E 2 被构造成一种结构:在获得 64×64 尺寸的图像之后,通过两次上采样过程,最终获得 1024×1024 尺寸的图像。

那么,体现该专利权利范围的授权权利要求是如何撰写的呢?

3. 专利权利要求分析

下面我们来看一下 OpenAI 的 DALLE-2 模型相关的授权专利(18/193,427)的独立权利要求1。

 

【权利要求1】                                                                                                             ⬤ 授权点

  A system comprising:

at least one memory storing instructions;

at least one processor configured to execute the instructions to perform operations for generating an image corresponding to a text input, the operations comprising:

① accessing a text description and inputting the text description into a text encoder;  

receiving, from the text encoder, a text embedding;

② inputting at least one of the text description or the text embedding into a first sub-model configured to generate, based on at least one of the text description or the text embedding, a corresponding image embedding;

③ inputting at least one of the text description or the corresponding image embedding, generated by the first sub-model, into a second sub-model configured to generate, based on at least one of the text description or the corresponding image embedding, an output image; 

wherein the second sub-model includes a first upsampler model and a second upsampler model configured for upsampling prior to generating the output image, 

the second upsampler model trained on images corrupted with blind super resolution (BSR) degradation; wherein the second sub-model is different than the first sub-model; and

making the output image, generated by the second sub-model, accessible to a device, wherein the device is at least one of:

configured to train an image generation model using the output image; or

associated with an image generation request.

 

【DALLE-2 专利的图1B】

 

从授权权利要求1可以看出,OpenAI 在针对 DALLE-2 的专利中:

① 将文本说明输入至文本编码器以获得文本嵌入;

② 将文本说明或文本嵌入输入至第一子模型以获得图像嵌入;

③将文本说明或从第一子模型获得的图像嵌入输入至第二子模型以获得图像;

并以上述构成为主要内容提交了申请,但仅凭这些构成并未被认可具备进步性,最终通过追加限定“在生成输出图像之前利用第一及第二上采样器模型的构成”而获得授权。

与此相关,DALLE-2 的权利要求在表述上并未记载扩散模型(Diffusion model)的固有特征,而是仅使用了第一子模型、第二子模型等表述。因此,在 DALLE-2 的专利中,仅凭此类权利要求表述,可能会被解释为与通过文本嵌入生成图像的既有 GAN 基、VAE 基文本—图像生成模型相似的构成,从而未被认可具备进步性。

那么,DALLE-2 的继续申请(CA)的权利要求与本申请的权利要求相比,是如何不同地进行撰写的呢?

下面将分析于 2024.01.23 提交申请的 CA 专利(18/419,675)的权利要求1。

【权利要求1】

A system comprising:

    at least one memory storing instructions;

  at least one processor configured to execute the instructions to perform operations for generating an image corresponding to a text input, the operations comprising:

    generating, by a first sub-model, an image embedding based on at least one of a text description or a text embedding, wherein the text embedding is an encoding of the text description; and

    generating, by a second sub-model, an output image based on at least one of the text description or the image embedding, wherein the second sub-model is different than the first sub-model.

 

从权利要求1可以看出,其与原申请的授权权利要求1的差异在于:对“获取文本嵌入的过程”进行了简化;删除了与在生成输出图像之前利用第一及第二上采样器模型的构成相关的内容;并且通过记载第二子模型不同于第一子模型的内容,以试图在一定程度上扩展权利范围来获得授权。

如果当前继续申请(CA)的权利要求能够按其现有内容获得授权,那么,随着未来技术的发展,人工智能的计算速度可能会提高,并且能够处理更大的计算量,在这种情况下,即使不使用上采样器模型的情形,其权利范围也有可能得到保障。


返回至目录

 

8号专利:(图像处理)图像修复(In-Painting)专利

发明名称: Systems and methods for image generation with machine learning models(用于基于机器学习模型进行图像生成的系统与方法)

申请号: US 18/458,907(2023.08.30)

授权号: US 11,983,806 B1(2024.05.14)

发明摘要:在此前仅生成图像的基础上,进一步介绍一项与所谓图像修复(in-painting)相关的专利,该技术针对已存在图像中需要修改的部分,仅对相应部分重新生成,从而生成经修改的图像。该专利于 2023.08.30 提交申请,并于 2024.05.14 获得授权。

 

1. 是否可以仅对图像的一部分进行自然的修改?

在现有的图像编辑相关技术中,虽然存在多种方法,但当对图像中的某一部分进行修改时,除被修改的部分之外,其周围区域,或者因该修改而对图像其他区域产生影响的所有部分也需要一并进行修改。此,要使图像的局部修改能够与其余部分自然地融合,是一项非常困难的任务。

 

   

例如,在“桌子上放着苹果的照片”中将“苹果”更改为“梨”的情况下,由于两者体积存在差异,修改后的照片中可能会出现部分空白,而为了填补该空白部分,需要结合周围信息来生成自然的图像。

因此,在如将特定对象替换为其他对象这类对图像局部进行修改的情形下,需要综合考虑除编辑部分之外的图像中的光照、纹理、空白等多种因素,因而图像编辑一直被归类为一项专业且难度较高的工作。

OpenAI 的图像修复(in-painting)专利(18/458,907)正是在这样的背景下产生的,即希望利用人工智能对图像的局部进行自然修改,从而生成更高质量的图像。

2. 在图像修复专利(18/458,907)中执行图像修复的过程

首先,将对图像修复专利(18/458,907)中所说明的图像修复执行过程进行具体分析。

【图像修复专利(18/458,907)的图2、图3、图5】

(1) 移除图像中的掩膜区域

【图像修复专利(18/458,907)的图3】

【用于帮助理解掩膜(masking)的示意图】

首先,通过移除图像中的掩膜区域来生成掩膜后的图像。在此,图像掩膜(Image Masking)可以理解为一种通过选择或排除特定区域来对图像的部分进行处理或编辑的技术;而掩膜(Mask)如上图所示,是一种与原图像具有相同尺寸的二值图像(Binary Image),通过为每个像素指定“激活(1)”或“未激活(0)”状态,从而定义哪些像素被包含或被排除。

例如,在图像修复专利(18/458,907)的图3中,以网格状显示的 302 区域可以表示为被掩膜的区域。此时,在该专利的详细说明示例中记载,所述掩膜区域可以由用户通过界面进行选择。

(2) 为了生成修改后的图像而接收文本输入

【图像修复专利(18/458,907)的图1】

随后,执行接收与图像增强提示(image enhancement prompt)相对应的文本输入的操作。此时,所谓图像增强提示,是指用于生成图像或对图像进行编辑处理的任意指令。此外,在该专利的实施例中,该文本输入还可以通过包含于针对图像或图像编辑区域的文本描述中的信息而获得。

另外,如此获得的文本输入、输入图像,或者掩膜区域中的至少一个,可以作为输入数据被输入至已训练的文本—图像生成模型中。

(3) 通过将掩膜区域替换为新生成的图像部分来生成修改后的图像

 

 

【图像修复专利(18/458,907)的图5】

最后,该专利(18/458,907)包括如下构成:从输入图像或掩膜后的图像中将像素值复制到修改后的图像中,并将掩膜图像中的掩膜区域替换为通过已训练的文本—图像生成模型的输出所获得的新生成图像部分,从而获得修改后的图像。

 

   

【图像修复专利(18/458,907)的图7及图8】

另一方面,该专利(18/458,907)不仅公开了对图像内部局部进行修改的实施例,还公开了通过扩展已有图像来获得修改后图像的实施例。

具体而言,可以将掩膜区域设置为包含原始图像一部分的扩展区域,并从与原始图像重叠的区域的像素中获取关于原始图像的上下文(context)信息,并基于此获得扩展后的图像。与此相关,该专利还进一步说明:原始图像与掩膜区域的重叠区域越大,图像生成模型可参考的关于原始图像的上下文(context)信息就越多,从而能够获得更加符合用户偏好的修改后图像。

那么,用于体现该专利权利范围的授权权利要求是如何撰写的呢?

3. 专利权利要求分析

下面我们来看一下 OpenAI 的图像修复专利(18/458,907)的授权权利要求1。

【权利要求1】

  A system comprising:

at least one memory storing instructions;

at least one processor configured to execute the instructions to perform operations for regenerating a region of an image with a machine learning model based on a text input, the operations comprising:

accessing a digital input image, the input image having a plurality of pixel values;

② generating a masked image by removing a masked region from the input image, wherein the removing comprises masking pixel values corresponding to the masked region;

accessing a text input corresponding to an image enhancement prompt;

④ providing at least one of the input image, the masked region, or the text input to a machine learning model configured to generate an enhanced image, wherein the machine learning model comprises a text-to-image model trained on a set of images; and

generating, with the machine learning model, the enhanced image based on at least one of the input image, the masked region, or the text input; wherein the generation of the enhanced image comprises:

replicating pixel values from the input image or the masked image to the enhanced image;

generating, with the machine learning model, an image segment based on at least one of the text input or the pixel values from the masked image; and

inserting the image segment into the enhanced image by replacing the masked region.

从授权权利要求1可以看出,OpenAI 在图像修复(in-painting)专利(18/458,907)中:

① 访问具有多个像素值的输入图像;

② 从所述输入图像中删除掩膜区域以生成掩膜图像;

③ 访问用于改善图像的文本输入;以及

④ 基于输入图像、掩膜区域以及文本输入中的至少一个来生成改善后的图像,

以上述构成为主要内容提交申请并获得授权。

就该专利(18/458,907)而言,权利要求1中公开了基于输入图像、掩膜区域以及文本输入中的至少一个来生成改善后图像的构成,可以认为其仅记载了实施该发明所需的最低限度要件。

【权利要求2】

The system of claim 1, wherein the providing comprises providing at least two of the input image, the masked region, or the text input to the machine learning model.

 

【权利要求3】

The system of claim 2, wherein the providing comprises providing the input image, the masked region, and the text input to the machine learning model.

相反,在权利要求2中,公开了基于输入图像、掩膜区域以及文本输入中的至少两个来生成改善后图像的构成;而在权利要求3中,则公开了基于输入图像、掩膜区域以及文本输入三者全部来生成改善后图像的构成。

可以认为,这是通过在权利要求1中记载能够实施权利范围最广的发明所需的最小构成,并随着构成要素数量的逐步增加而逐渐缩小权利范围,从而在权利要求3中,就发明的原始目的——即同时利用输入图像、掩膜区域及文本输入这三者的构成——确保相应的权利范围。

这种 OpenAI 的策略可以理解为:为了克服在审查过程中,针对以“A、B 或 C”这种择一式构成撰写的权利要求中,只要 A、B、C 中的任一择一构成被认定不具备进步性,就可能导致整个权利要求均不被认可具备进步性的风险;同时,也可以认为是通过根据发明深度来配置权利要求,从而确保多样化权利范围的一种策略。


返回至目录

 

9号专利:(UI/UX)结合利用图像视觉信息的模型1

发明名称: Systems and methods for interacting with a multimodal machine learning model(用于与多模态机器学习模型进行交互的系统与方法)

申请号: US 18/475,588(2023.09.27)

授权号: US 12,039,431 B1(2024.07.16)

发明摘要:在此将介绍一项关于同时利用文本信息与视觉信息、以与多模态(Multi-modal)人工智能进行交互的方法的专利。该专利于 2023.09.27 提交申请,并于 2024.07.16 获得授权。

1. 除了文本之外,是否还存在与人工智能进行交互的方法?

通过诸如 ChatGPT 等在去年于语言模型领域引发创新的大型语言模型(Large Language Model),用户已经能够通过文本输入与输出等交互方式获取其所期望的信息。然而,除文本之外,用户对于围绕特定图像或特定视频等视觉影像媒介与人工智能进行交互的需求也逐渐显现出来。

 

【用于帮助理解的示意图】

然而,如上图所示,当用户仅通过文本输入来与人工智能就视觉影像媒介进行交互时,往往难以准确反映上下文(context),从而可能导致效率低下。例如,若用户希望向人工智能说明图像中的“右上方某一特定区域”,则需要用文本解释该“右上方特定区域”在图像中的坐标如何设定、区域范围有多大等内容,而仅通过文本进行说明在一定程度上存在模糊性;即便可以进行说明,说明内容也可能变得过于冗长。

OpenAI 的人工智能交互相关专利(18/475,588)正是在这样的背景下产生的,即希望能够通过除文本以外的输入来获取上下文(context)信息,并将其作为人工智能的输入数据加以利用,从而实现与人工智能的交互。

2. 在人工智能交互相关专利(18/475,588)中与人工智能进行交互的过程

首先,我们将具体分析人工智能交互相关专利(18/475,588)中所记载的用户与人工智能进行交互的过程。

【人工智能交互相关专利(18/475,588)的图3B、图3C】

(1)提供被配置为能够生成表示图像内强调区域的上下文(context)提示的图形用户界面,并从用户处接收所述上下文提示

【人工智能交互相关专利(18/475,588)的图3A】

       

 

【从左到右:人工智能交互相关专利(18/475,588)的图3B 至 图3E】

首先,如上述图 3A 所示,提供能够表示图像内强调区域的用户界面。在此过程中,用户可以通过鼠标点击、触摸屏按压等交互方式来指定图像中的强调区域。

此外,如图 3D、图 3E 所示,当用户通过点击、触摸等交互方式指定图像中的强调区域时,可以将关于该区域的信息作为上下文提示接收。此时,用户还可以如图 3B、图 3C 所示,通过缩小或放大强调区域来调整模型能够聚焦的区域大小。

(2) 将图像及上下文提示输入至多模态模型,并生成关于图像的文本响应以提供给用户

 

【人工智能交互相关专利(18/475,588)的图3F】

随后,执行将图像及上下文提示作为输入数据输入至多模态模型的操作。在此过程中,上下文提示与图像可以一并进行标记化,并作为输入数据输入至诸如 LLM 的多模态模型中。此外,在该专利的实施例中还记载,如上述图 3F 所示,为了从用户所指定的区域中删除对响应而言不必要的信息,并提取用户更加关注的对象相关信息,可以使用分割(segmentation)工具。

 

     

【人工智能交互相关专利(18/475,588)的图5A、图5B】

随后,可以基于输入数据由多模态模型生成关于图像的文本响应,并将所生成的文本响应提供给用户。

另一方面,在向用户提供文本响应的过程中,还公开了一种实施例:向用户提供针对其下一步提问的文本提示建议,且用户可以通过界面选择所提供的提示建议。

具体而言,当用户针对图 5A 所示的照片,如图 5B 那样指定某一植物的区域时,多模态模型可以作为用户下一步提问的文本提示建议,输出诸如“这株罗勒是什么品种的罗勒?”或“罗勒在料理中使用的示例”等示例,而用户可以通过界面选择所提供的提示建议。

那么,用于体现该专利权利范围的授权权利要求是如何撰写的呢?

3. 专利权利要求分析

下面看一下OpenAI的人工智能交互相关专利(18/475,588)的授权权利要求1。

权利要求1                                                                                                                    ⬤ 授权点

  A method of interacting with a pre-trained multimodal machine learning model, the method comprising:

providing a graphical user interface configured to enable a user to interact with an image to generate a contextual prompt that indicates an area of emphasis in the image;

receiving the contextual prompt;

② generating input data using the image and the contextual prompt;

generating a textual response to the image by applying the input data to a multimodal machine learning model configured to condition the textual response to the image on the contextual prompt; and

providing the textual response to the user,

wherein the textual response comprises:

a prompt suggestion and providing the textual response comprises displaying a selectable control in the graphical user interface configured to enable the user to select the prompt suggestion.

 

【人工智能交互相关专利(18/475,588)的图5B】

从授权权利要求1可以看出,OpenAI在人工智能交互相关专利(18/475,588)中:

① 在用户界面上显示图像,并针对所述图像接收上下文提示;

② 将图像及所述上下文提示输入至多模态模型,并以其输出获取文本响应并提供给用户;

以上述构成为主要内容提交申请。然而,仅凭这些构成未被认可具备进步性,最终通过追加限定“通过用户界面输出可供选择的提示建议的构成”而获得授权。

与此相关,OpenAI在人工智能交互相关专利(18/475,588)的权利要求表述中,并未具体记载通过触摸、点击等方式直接在图像本身上指定区域的特征,而仅使用了诸如“接收针对图像的上下文提示”等表述。因此,仅从权利要求的表述来看,可能会被解释为与通过文本输入来指定图像区域的既有技术具有相似结构,从而未被认可具备进步性。

 

【Google 的Gemini回答示例】

 

不过,对于被认可具备进步性的“通过用户界面输出可供选择的提示建议的构成”,其可以适用于市面上多家公司语言模型在回答末尾“输出下一输入提示建议”的一般性实施例。因此,尽管通过为克服进步性驳回理由而进行的修改,使人工智能交互相关专利(18/475,588)的权利范围较此前有所狭窄,但可以确认的是,在UI相关方面仍然 确保了相当广泛的权利范围。

 

返回至目录

 

10号专利:(UI/UX)结合利用图像视觉信息的模型2

发明名称: Systems and methods for interacting with a large language model(用于与大型语言模型进行交互的系统与方法)

申请号: US 18/475,722(2023.09.27)

授权号: US 12,051,205 B1(2024.07.30)

发明摘要:在此将介绍另一种同时利用文本信息与视觉信息、以与多模态(Multi-modal)人工智能进行交互的方法的专利。该专利于 2023.09.27 提交申请,并于 2024.07.30 获得授权。

1. 是否存在使人工智能能够从文本中理解图像信息的方法?

通过诸如ChatGPT等在去年于语言模型领域引发创新的大型语言模型(Large Language Model),用户已经能够通过文本输入与输出等交互方式获取其所期望的信息。然而,除文本之外,用户对于围绕特定图像或特定视频等视觉影像媒介与人工智能进行交互的需求同样存在。

与此相关,用户可以通过界面对图像本身进行触摸、点击等输入来获取上下文(context)信息,并将其作为人工智能的输入数据以实现与人工智能的交互;然而,对于存在色盲等视力相关问题的用户而言,从图像中定位或选择特定元素在某些情况下可能会存在困难。

因此,OpenAI 的人工智能交互相关专利2(18/475,722)正是在这样的背景下产生的:通过文本输入来获取关于图像的上下文(context)信息,并将其输入至人工智能,从而以可视化方式输出用户所期望的信息,以实现与人工智能的交互。

2. 在人工智能交互相关专利2(18/475,722)中与人工智能进行交互的过程

首先,我们将具体分析人工智能交互相关专利2(18/475,722)中所记载的用户与人工智能进行交互的过程。

(1)在图形用户界面中向用户显示图像,并从用户处接收文本提示

【人工智能交互相关专利2(18/475,722)的图4A】

 

首先,如上述图4A 所示,提供一种用户界面,用于向用户显示图像并从用户处接收文本提示。在此过程中,针对所显示的棋盘图像,用户可以通过键盘输入、点击、触摸等交互方式输入诸如“白方可以走到哪里?”之类的文本提示。

 

(2)在图形用户界面中向用户显示图像,并从用户处接收文本提示

将图像及文本提示输入至多模态模型,并基于其输出生成包含在图像上进行位置标示的响应。

 

【人工智能交互相关专利2(18/475,722)的图4A】

随后,将图像及文本提示作为输入数据输入至多模态模型,并基于其输出,在棋盘的D4位置以“手指形状的强调标记”一同显示诸如“白方可以将兵移动到D4”这样的响应。

 

【人工智能交互相关专利2(18/475,722)的图4A】

 

与此相关,为了使多模态模型能够更好地理解所输入图像的空间信息,可以将“空间编码(spatial encoding)”与图像相结合以生成输入数据。在此,空间编码可以是如图4A所示的、表示横向 0~1000px、纵向 0~1000px 坐标的“以虚线表示的网格线”。

 

【人工智能交互相关专利2(18/475,722)的图5A】

 

【人工智能交互相关专利2(18/475,722)的图8】

 

通过上述方式,包含空间坐标信息的“空间编码(spatial encoding)”与图像相结合并输入至多模态模型,使得多模态模型能够在图像中更为准确的位置输出响应。例如,如图 5A 所示,在为小狗戴上帽子的情况下,可以将“帽子”与“头部位置”进行关联并在准确位置进行输出;又如图 8 所示,可以按尺寸顺序对多艘船只进行标示,从而使得人工智能能够就图像的视觉信息也通过文本进行交互。

那么,用于体现该专利权利范围的授权权利要求是如何撰写的呢?

3. 专利权利要求分析

下面我们来看一下OpenAI的人工智能交互专利2(18/475,722)的授权权利要求1。

【权利要求1】                                                                                                             ⬤ 授权点

  A method of interacting with a multimodal machine learning model, the method comprising:

providing a graphical user interface associated with a multimodal machine learning model;

displaying an image to a user in the graphical user interface;

② receiving a textual prompt from the user;

generating input data using the image and the textual prompt;

generating an output at least in part by applying the input data to the multimodal machine learning model, the multimodal machine learning model configured using prompt engineering to identify a location in the image conditioned on the image and the textual prompt, wherein the output comprises a first location indication; and

displaying, in the graphical user interface, an emphasis indicator at the indicated first location in the image,

wherein displaying the emphasis indicator at the indicated first location in the image comprises placing a cursor of the graphical user interface at the first location in the image.

 

【人工智能交互专利2(18/475,722)的图4A】

 

从授权权利要求第1项可以看出,OpenAI在人工智能交互专利2(18/475,722)中:

① 在用户界面上显示图像;

② 从用户处接收文本提示,并利用所述图像与文本提示生成输入数据;

③ 基于所述输入数据生成包含在图像上进行位置标示的响应;

以上述构成为主要内容提交申请。然而,仅凭这些构成未被认可具备进步性,最终通过追加限定“将图形用户界面的光标作为对图像上位置的强调标示进行输出的构成”而获得授权。

与此相关,对于被认可具备进步性的“将图形用户界面的光标作为对图像上位置的强调标示进行输出的构成”,由于除“光标”之外,诸如“以不同颜色进行显示的强调标示”等一般性构成即可实现对权利范围的规避,因此可以认为,该专利(18/475,722)的权利范围相较于 OpenAI的其他图像相关专利而言,可能会被解释为相对较为狭窄。

 

返回至目录

 

11号专利:(UI/UX)结合利用图像视觉信息的模型2

发明名称: Using machine learning to train and use a model to perform automatic interface actions based on video and input datasets(利用机器学习训练并使用模型基于视频和输入数据集执行自动界面操作)

申请号: US 18/303,552(2023.04.19)

授权号: US 11,887,367 B1(2024.01.30)

发明摘要:OpenAI为了将互联网视频用于模型训练,提出了一种称为视频预训练(Video PreTraining,VPT)的半监督模仿学习(semi-supervised imitation learning)方法。该方法通过 2022 年发表的论文《Video PreTraining(VPT):Learning to Act by Watching Unlabeled Online Videos》对外公开,并就相关技术于 2023.04.19 提交了专利申请,并于 2024.01.30 获得授权。

1. 什么是半监督模仿学习?

将模仿学习与半监督学习相结合的半监督模仿学习被应用于强化学习及机器学习领域。在说明什么是半监督模仿学习以及其产生背景之前,下面将分别介绍强化学习、模仿学习和半监督学习的概念。

为了使计算机执行诸如机器人运动或自动驾驶路径规划等特定任务,通常会采用强化学习方法。“强化学习”是一种学习方式,其中智能体(agent)执行动作(Action),并基于由此获得的奖励(Reward)以及新的状态(State)来学习策略(Policy)。

“强化学习”有两类:一类是智能体与环境实时交互、在生成数据的同时进行学习的“在线强化学习”;另一类是在不与环境进行实时交互的情况下,基于事先收集的固定数据进行学习的“离线强化学习”。多数在线强化学习会利用称为模拟器(simulator)的虚拟环境。离线强化学习则是在不使用模拟器的情况下,利用诸如人类玩家的电子游戏日志或自动驾驶车辆的驾驶日志等数据来进行学习。

这种离线强化学习由于使用的是在真实环境中收集的数据,因而具有能够构建更贴近现实模型的优点,但同时也存在日志数据难以获取的问题。尽管互联网上存在大量诸如游戏视频等数据,但这些数据大多仅以无标签的视频形式存在,仅提供“发生了什么”的记录,而无法得知诸如鼠标移动或按键操作等用户操作是以何种准确顺序执行的。也就是说,对于无标签的视频数据而言,由于缺乏每一帧所采取的行动信息,因此难以计算强化学习所需的行为。

本专利正是为将大量无标签视频数据用于学习而提出的半监督模仿学习方法——视频预训练(Video PreTraining,VPT)。

“模仿学习”是一种在初始学习阶段基于专家数据来学习基本策略的方法,可视为监督学习的一种形式。智能体在没有奖励的情况下,通过观察专家示范(expert demonstration)并加以模仿,从而学习如何执行特定任务。

“半监督学习”是一种利用少量有标签数据来提高学习初期准确度,并利用大量无标签数据来促使模型学习泛化能力的方法,通常在标注数据不足时加以采用。

“半监督模仿学习”可用于在模仿学习中专家示范数据不足的情况下进行补充。也就是说,首先利用少量的专家示范数据(有标签数据)进行初始学习,再利用无标签数据(即在无专家行为标注情况下观察到的数据)进行进一步学习。通过这种方式,智能体即使仅依赖有限的专家数据,也能够获得更高的性能和更强的泛化能力。其中,利用少量专家数据来学习初始策略(policy)的方式被称为“行为克隆(Behavior Cloning)”。

根据作为半监督模仿学习方法的 Video PreTraining(VPT),智能体可以通过观察互联网上存在的无标签视频来学习“行为先验(behavioral prior)”。这里,“行为先验”是指一种预先学习得到的知识或经验,用于在智能体面对新环境时,为预测何种行为是合适的提供线索。

下面将对 Video PreTraining(VPT)方法进行具体介绍。

2. 视频预训练(Video PreTraining,VPT)方法

【图1】是示出了视频预训练(Video PreTraining,VPT)方法的示意图。

 

【图1|出处:Video PreTraining(VPT)论文】

 

参照【图1】,逆动力学模型(IDM,Inverse Dynamics Model)通过观察无标签的视频数据,预测视频数据中各个时间步人类所采取的行为,并临时生成标签。利用这样临时加上标签的视频数据,可以通过学习模仿人类所执行的行为(→ 行为克隆,behavioral cloning),或者通过学习自行寻找更优行为的方式(→ 强化学习)来训练 Video PreTraining(VPT)的基础模型。也就是说,IDM 模型在观看视频的过程中预测人类的行为(或操作信息),并基于该预测生成标签,从而使 AI 在具备标签的数据基础上更好地学习特定任务。

那么,IDM 模型是如何进行训练的呢?IDM 模型通过少量带标签的数据进行训练,使其能够为无标签数据标注行为。其中,少量带标签的数据由“行为—观测”对构成,所述行为可以包括按键操作、按钮按压、触摸屏输入、操纵杆移动、鼠标点击等(操作数据)在内的真实用户动作。

IDM 模型采用一种非因果(non-causal)的方式进行训练,即同时参考过去帧与未来帧来预测当前行为。非因果方式通过同时利用数据集中的过去与未来信息,使得在较少标注数据的情况下,也能够更为容易且高效地完成训练。

与 IDM 模型采用非因果方式进行训练不同,Video PreTraining(VPT)的基础模型则通过行为克隆或强化学习方式进行训练。由于 VPT 基础模型在预测行为时无法“看到未来”,因此可以认为其采用的是因果(causal)方式

【图2】示出了在沙盒类型的视频游戏《我的世界(Minecraft)》中对 VPT 模型进行验证的结果以及微调(fine-tuning)的结果。

 

【图2|出处:OpenAI博客】

 

在【图2】中,橙色方块表示在未进行额外训练的情况下,仅凭 VPT 基础模型本身所达到的性能,这被称为 VPT 的零样本(zero-shot)性能。VPT 模型学习了砍伐树木以收集木材、将木材制作成木板,并进一步用木板制作工作台等任务。绿色方块表示利用行为克隆(behavioral cloning)进行微调后的模型所达到的性能,该模型能够执行诸如制作木镐、石镐等更高层级的任务。

紫色方块表示利用提供奖励的强化学习进行微调后的模型所达到的性能。该模型在逐步制作钻石镐的前置物品(如木镐、石镐等)时,每完成一步都会获得一定的奖励,并且在制作诸如铁镐等更高等级物品时获得更大的奖励。通过这种奖励设计,模型最终成功完成了高难度任务,即制作钻石镐。

3. 专利权利要求分析

该专利的独立权利要求1如下所示。

独立权利要求1

【权利要求1】

 A method for training a machine learning model to perform automated actions, comprising:

receiving unlabeled digital video data;

generating pseudo-labels for the unlabeled digital video data, the generating comprising:

receiving labeled digital video data;

training a first machine learning model including an inverse dynamics model (IDM) using the labeled digital video data; and

generating at least one pseudo-label for the unlabeled digital video data, wherein:

the at least one pseudo-label is based on a prediction, generated by the IDM, of one or more actions that mimic at least one timestep of the unlabeled digital video data, and

the prediction of the one or more actions is generated based on a non-causal combination of past information and future information within the unlabeled digital video data, the past and future information being relative to one or more reference frames within the unlabeled digital video data;

adding the at least one pseudo-label to the unlabeled digital video data to form pseudo-labeled digital video data; and

further training the first machine learning model or a second machine learning model using the pseudo-labeled digital video data to generate at least one additional pseudo-label for the unlabeled digital video.

【图3|‘552 专利的图1】

立权利要求1在申请时权利化了如下过程:接收无标签的视频数据并生成伪标签,利用包含所述伪标签的数据对模型进行进一步训练,其中,用于生成伪标签的 IDM 模型是利用有标签数据进行训练的过程(①至④)。

然而,授权点在于如下加下划线的部分,即:IDM 模型通过预测对无标签数据的特定时间点进行模仿(mimic)的行为来生成伪标签,并且该预测是通过将过去信息与未来信息进行“非因果(non-causal)”结合而生成的内容。

4. 继续申请

下面将分析于 2023.12.19 提交继续申请(CA)的公开专利(18/545,722)的独立权利要求21。撰写本专栏时该专利仍处于审查阶段。

【权利要求21】

 A method comprising:

receiving unlabeled digital video data;

generating, via machine learning model, pseudo-labels for the unlabeled digital video data, the generating comprising:

  predicting one or more actions that mimic at least one timestep of the unlabeled digital video data;

  the prediction being based on a non-causal combination of past information and future information within the unlabeled digital video data, the past and future information being relative to one or more reference frames within the unlabeled digital video data; and

adding the pseudo-labels to the unlabeled digital video data to form pseudo-labeled digital video data.

从独立权利要求21可以看出,其与原申请的授权权利要求第1项的差异在于,删除了授权权利要求中关于 IDM 模型的训练及追加训练的内容;并修改为记载如下技术构成:伪标签的生成是通过预测对无标签数据的特定时间点进行模仿(mimic)的行为来实现的,且该预测是基于过去信息与未来信息的“非因果(non-causal)”结合。也就是说,该专利试图以比原申请授权权利要求更为宽泛的权利范围来获得授权。

 

返回至目录 

 

12号专利:(音频处理)Whisper专利

发明名称: Multi-task automatic speech recognition system(多任务自动语音识别系统)

申请号: US 18/302,289(2023.04.18)

授权号: US 12,079,587 B1(2024.09.03)

发明摘要:Whisper是OpenAI开发的一种用于语音识别与转写的机器学习模型,并于 2022 年 9 月首次以开源软件形式发布。Whisper 能够对包括英语在内的多种语言的语音进行转写或翻译。该模型通过 2022 年发表的论文《Robust Speech Recognition via Large-Scale Weak Supervision》对外公开,相关专利于 2023.04.18 提交申请,并于 2024.09.03 获得授权。

1. 什么是语音识别系统?

语音识别系统是将语音转换为文本的技术。在语音识别系统中,代表性技术之一是Wave2Vec 2.0。Wave2Vec 2.0采用无监督预训练(unsupervised pre-training)方式,用于提取能够良好表征语音特征的表示向量。所谓无监督预训练,是指在不提供正确答案(label)的情况下,通过分析语音数据,使人工智能自行学习数据的方法。那么,人工智能是如何实现对语音特征的自主学习与提取的呢?

下面将对【图1】所示的Wave2Vec 2.0框架进行具体说明。

 

【图1|Wave2Vec 2.0论文

 

参照【图1】,通过称为 CNN(卷积神经网络,Convolutional Neural Network)的网络,从原始音频信号 X 中提取重要信息并输出语音表示 Z。语音表示 Z 是由一系列数值连续构成的数据,随后被转换为更为简化的离散形式数据,该离散表示被称为量化表示 qt。语音表示 Z 被传递至 Transformer 网络,从而生成反映音频语境的表示 ct。在该过程中,会随机遮蔽部分时间区间的数据,并对被遮蔽的部分进行预测训练,这一过程被称为掩蔽(masking)。在预测被掩蔽部分的过程中,通过在正确的量化表示 qt 与多个干扰项 q’ 之间寻找正确答案来执行对比学习。所谓对比学习,是指在训练过程中提高qt与ct之间的相似度,同时降低干扰项 q’ 与 ct 之间的相似度的学习方式。

通过对多样化的音频数据进行上述预训练,使模型能够提取基本的声音模式或特征,所获得的预训练音频编码器在实际应用中,还需针对用户期望的特定任务(如语音识别或翻译)进行调优(fine-tuning),从而生成可实际使用的结果。然而,对预训练模型进行调优的过程中,往往存在特定任务所需数据不足以及模型优化难度较高的问题。

此外,语音识别系统通常还包含诸如语音活动检测(voice activity detection,用于检测是否存在人声)、说话人分离(speaker diarization,用于区分不同说话人)、逆文本规范化(inverse text normalization)等多种功能,因此系统整体相对较为复杂。需要说明的是,逆文本规范化是指将语音识别结果转换为更便于人类准确、直观理解的形式的过程。例如,当语音识别结果为 “one hundred kilometers per hour” 时,经逆文本规范化后可转换为 “100 km/h”。因此,逆文本规范化具有改善用户体验(UX)的效果。

另外,当用户希望针对同一输入音频信号执行翻译(translation)、转写(transcription)、语音活动检测、时间对齐(time alignment)、语言识别(language identification)等多种任务时,若每项任务均需要单独的接口或设置,则语音识别系统的界面也会变得更加复杂。

本专利旨在降低语音识别系统及其接口的复杂性,并提出一种无需针对特定任务对解码器进行调整、即可在多种环境中“即开即用(out-of-the-box)”且具备可靠性的自动语音识别系统。该专利的主要技术特征在于:单一模型能够执行多种任务,即具备多任务(multi-task)能力。

下面将对具备多任务能力的语音识别系统进行具体说明。

2. 模型架构及训练方法

【图2】示出了该专利所涉及模型的架构。

 

【图2|该论文的图1

如【图2】所示,该专利的自动语音识别系统采用了现有 Transformer 的编码器—解码器结构、注意力机制以及位置嵌入。在此基础上,通过在解码器输入中额外加入用于指定任务(task)的特殊标记(special token),从而实现多任务(multi-task)处理能力。

具体而言,为了能够直接处理语音数据,该专利的自动语音识别系统包含两个一维卷积(1D convolution)层,并以对数梅尔频谱图(log-mel spectrogram)作为输入。诸如语音数据这类时间序列输入数据,通常使用能够学习数据时间或顺序关系的一维卷积进行处理,并通过两个一维卷积层来学习更加高维且抽象的特征。

为了使单一模型能够执行多种任务并实现多任务处理,在解码器输入中加入用于指定任务(task)的特殊标记。所谓特殊标记,是指用于指示模型执行特定任务的符号。因此,通过使用特殊标记在一个模型中指定任务,无需针对每个任务设置单独的接口,从而使界面更加简化;同时,也无需针对不同任务使用不同模型,从而使系统结构更加简洁。此外,由于不再需要针对特定任务进行额外的调优过程,训练流程也可以得到简化。

特殊标记的示例如下:“SOT(Start of Transcript)”表示转写的开始;“Language token”表示对输入语音所预测的语言;“Transcription”表示将语音转换为文本的任务;“Translation”表示语言翻译任务;“Voice Activity Detection”表示语音活动检测任务;“NOSPEECH”表示未发生语音;“NOTIMESTAMP”表示不预测用于生成时间对齐转写的时间戳;“EOT”表示转写的结束。

在解码器输入中,时间戳标记表示应从音频的哪一部分开始执行任务的信息;而文本标记则通过加入先前的文本语境,参考此前音频中生成的文本,以用于预测当前音频数据对应的文本。

下面将对该专利的独立权利要求1进行分析。

3. 专利权利要求分析

该专利的权利要求1如下所示。

独立权利要求1

1.  A system comprising:

    at least one memory storing instructions; and

  at least one processor configured to execute the instructions to perform operations for multi-language, multi-task speech recognition, the operations comprising:

    obtaining a transformer model including an encoder and a decoder, the transformer model trained to transcribe or translate audio data in multiple languages using labeled audio data, the labeled audio data including first audio segments associated with first same-language transcripts of the first audio segments and second audio segments associated with second different-language transcripts of the second audio segments; and

    generating an output transcript from an input audio segment using the transformer model, generation including:

      configuring a decoder input with a language token corresponding to a first language;

configuring the decoder input with a task token; and

    autoregressively configuring the decoder input with a first timestamp token predicted by the decoder based on an absence of a notimestamp token in the decoder input.

独立权利要求第1项主要由以下两个过程构成:1)获取 Transformer 模型的过程;以及2)生成输出脚本的过程

其中,带下划线的部分是为了克服专利局发出的第一次审查意见通知而追加的构成要素。

(1) 获取Transformer模型

Transformer 模型包含编码器和解码器,并且是使用带标签的音频数据进行训练的模型,用于将音频数据转写或翻译为多种语言。下面将对使用带标签音频数据训练该模型的方法进行说明。

【图 3】示出了用于训练自动语音识别模型的数据集生成过程。

 

【图3|‘289 专利的图1A】

首先,从互联网收集音频—转写(audio-transcripts)成对数据(101),并为提高数据质量而去除噪声(103、105)。例如,从所收集的数据中去除由机器生成的数据,或由与音频语言无关的错误转写构成的数据。在去噪后的数据中,将音频数据按片段(segment)单位进行划分,以构成训练样本(107)。

也就是说,该模型可以使用带标签的音频数据,以端到端(end-to-end)的方式进行训练,从而直接将语音转换为文本。因此,可以在模型内部直接执行逆文本规范化,从而简化语音识别系统的整体流水线。

此外,带标签的音频数据不仅包括音频片段的语言与转写语言相同的情况,还包括音频片段的语言与转写语言不同的情况。因此,利用此类数据训练语音识别系统时,可以使其学习对音频数据进行多语言的转写或翻译。

(2) 生成输出脚本

Transformer通过构成解码器输入,从输入音频片段生成输出转写。下面将对构成解码器输入的方法进行具体说明。

【图4】示出了用于训练面向多语言(multilingual)及多任务(multitask)模型的示例性输入序列。

【图4|该论文的图1】

输入序列包括特殊标记(special tokens)、作为先前转写内容的文本标记(previous text tokens),以及表示音频片段起始与结束的时间戳标记(timestamp tokens)。通过表示转写开始的 “SOT” 特殊标记,模型开始处理训练样本的音频数据。模型检测训练样本的音频语言,并基于检测到的语言指定 “LANGUAGE” 特殊标记。当音频中不存在语音时,指定 “NOSPEECH” 特殊标记。包含 “NOSPEECH” 特殊标记的输入序列,其后可以跟随“转写结束(EOT)”特殊标记。

当训练样本是从“翻译(translation)”训练样本中提取时,可以指定 “TRANSLATE” 特殊标记;否则,可以指定 “TRANSCRIBE” 特殊标记。若指定 “NOTIMESTAMPS” 特殊标记,则可以在不预测时间戳的情况下生成纯文本标记。若未指定 “NOTIMESTAMPS” 特殊标记,模型则可以将每个文本标记映射到音频片段的起始时间与结束时间,从而生成时间对齐转写(time-aligned transcription)。

其中,在授权权利要求中新增的部分正是如下加下划线的部分:基于解码器输入中不存在 “NOTIMESTAMPS” 标记,使用解码器所预测的第一个时间戳标记对解码器输入进行自回归(autoregressively)构成。换言之,解码器将其首次预测的时间戳标记(即音频片段的起始时间)再次加入到解码器输入中,并基于此来预测下一个时间戳及其相关的文本。

4. 继续申请

下面将分析于 2024.06.07 提交继续申请(CA),并于 2024.08.30 进行自愿修改的公开专利 (18/737,621) 的独立权利要求21。撰写本专栏时该专利仍处于审查阶段。

21. A system comprising:

at least one memory storing instructions; and

at least one processor configured to execute the instructions to perform operations for multi-language, multi-task speech recognition, the operations comprising:

obtaining a transformer model including an encoder and a decoder, the transformer model trained to transcribe or translate audio data in multiple languages using labeled 

audio data, the labeled audio data including first audio segments associated with first same-language transcripts of the first audio segments and second audio segments associated with second different-language transcripts of the second audio segments; and

generating an output transcript from an input audio segment using the transformer model, generation including:

  configuring a decoder input with at least two special tokens, the at least two special tokens being autoregressively generated or assigned special tokens.

从独立权利要求21可以看出,其与原申请的授权权利要求第1项的差异在于:删除了关于构成解码器输入的 language token、task token 以及 timestamp token 的相关内容;并修改为记载如下技术构成:用于构成解码器输入的至少两个特殊标记可以以自回归的方式生成或被分配。通过这种方式,试图以相对宽泛的权利范围来获得授权。

 

返回至目录

 

结论

在本专栏中,我们对截至目前已经公开或授权的OpenAI专利逐一进行了介绍。

目前,OpenAI针对 12 件原始申请 已经进行了 8 件继续申请(Continuation Application),并在实践中积极运用继续申请制度。所谓美国专利中的继续申请制度,是指在不超出原始申请所包含的发明内容范围内,重新设定权利要求并再次提出申请的制度。一般而言,继续申请通常被用于获取比原始申请授权权利要求更为宽泛的权利范围。该制度在强化专利发明权利范围、并在未来发生争议时作为强有力的法律武器方面具有重要意义,因此被美国企业非常积极地加以利用。然而,相较之下,国内企业对此制度的利用仍然不够充分,令人遗憾。

OpenAI不仅为了获取更宽泛的权利范围而利用继续申请制度,还通过继续申请分别就学习过程与推理过程获取权利(参见 CPT 专利API 专利),或就发明可能适用的数据类型(例如自然语言文本与计算机代码)分别获取权利(参见 Codex专利),从而展现出一套针对人工智能相关发明高度优化的专利战略。

此外,正如本报告中所分析的那样,可以确认OpenAI的诸多专利均以相对宽泛的权利范围获得授权。未来OpenAI将以何种方式行使这些已获得的强有力专利权,值得持续关注。

综合考量OpenAI的整体专利布局,可以预见在下一版本的ChatGPT中,可能将构建更加用户友好的使用环境,例如:在 UI 层面将单一提示词作为输入输出窗口,根据用户输入实时生成并修改答案的功能(参见文本修改专利文本插入专利);能够自由调用第三方外部 API 以生成答案的功能(参见API联动专利);以及以图像的特定区域作为输入输出、并与用户进行交互的功能(参见UI/UX专利1UI/UX专利2)等。

另一方面,就专利制度而言,专利申请通常会在提交后 1 年 6 个月公开,或者在因优先审查申请而提前授权的情况下,于授权日公开。因此,除目前已公开的文本处理、图像生成等生成式 AI 的初期任务相关专利之外,与视频生成等更为高级任务相关的专利也将陆续公开。尤其是考虑到OpenAI已就用于生成视频处理模型训练数据的视频标注技术取得专利(参见VPT 专利),可以推测 OpenAI 很可能已经就其于 2024 年 2 月 15 日公开并于同年 12 月 9 日发布的视频生成模型Sora提交了相关专利申请。

PI专利商标事务所将通过持续监测,分析新近公开或授权的主要科技巨头企业的专利,及时把握快速变化的人工智能技术趋势。今后,也将继续为大家介绍新近公开或授权的OpenAI专利,以及其他大型科技企业中值得关注的重要专利。

分析专利人工智能、机器人报告计算机软件新闻

"你有问题想咨询吗?"

"你有问题想咨询吗?"