前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​清华 & 国家重点实验室 PeriodicLoRA | 通过周期性累积低秩更新打破参数高效微调的性能瓶颈!

​清华 & 国家重点实验室 PeriodicLoRA | 通过周期性累积低秩更新打破参数高效微调的性能瓶颈!

作者头像
AIGC 先锋科技
发布2024-07-08 13:08:18
1730
发布2024-07-08 13:08:18
举报
文章被收录于专栏:AIGC 先锋科技

监督微调是适配大型语言模型(LLM)到下游任务的最常见方法,但完全微调LLM需要大量的计算资源。近来,由于成本效益,参数高效微调 (PEFT)方法被广泛研究。LoRA是最广泛使用的方法之一,它假设优化过程本质上是低维的。 尽管LoRA微调是有效的,但与完全微调相比,仍存在性能差距,因为其权重更新限于低秩矩阵。为了打破LoRA优化中的低秩瓶颈,作者提出了PeriodicLoRA(PLoRA),它多次累积低秩更新矩阵以实现更高的更新秩。PLoRA有多个训练阶段。 在每一个阶段,作者仍然只更新LoRA权重。然而,在每一个阶段的结束时,作者将LoRA权重卸载到主干参数中,然后重新初始化LoRA状态。 实验结果显示,PLoRA具有更强的学习能力,大约是LoRA的学习能力的1.8倍,但并不增加内存使用。 此外,作者为PLoRA引入了一种基于动量的卸载策略,以减轻训练的不稳定性。

1 Introduction

大型语言模型在自然语言处理方面变得越来越熟练(OpenAI等人,2023年;陈等人,2024年),这导致在各个下游任务中对它们的应用需求日益增长。监督微调是目前最广泛使用的适配方法,但由于对计算资源和内存使用的巨大消耗,完全微调大型模型具有挑战性。

为了解决这个问题,已经开发了几种参数高效的微调(PEFT)方法。PEFT方法可以实现相当程度的微调性能,但所需的计算资源比完全微调要少得多。目前,LoRA是最广泛使用的PEFT方法。它为 Backbone 模型分配额外的低秩矩阵,在训练过程中只优化低秩矩阵。通过LoRA,可以显著减少微调模型所需的内存使用,使得在有限的计算资源下对大型语言模型进行微调研究成为可能。

尽管LoRA可以取得相当不错的微调性能,但它仍然落后于全量微调。最大的瓶颈在于LoRA更新矩阵

\Delta W

通常具有较低的秩。当

\Delta W

的秩过低时,与能够产生全秩更新矩阵的全量微调方法相比,LoRA的学习能力会变得较弱。如果作者能够提高更新矩阵

\Delta W

的秩,类似LoRA的方法的学习能力将逐渐接近全量微调。然而,直接增加LoRA的秩也会增加内存开销。

在本文中,作者提出了一种新的PEFT方法,PeriodicLoRA(PLoRA),旨在在保持常数内存使用的同时,提高更新矩阵

\Delta W

的秩。PLoRA的关键思想是定期将训练在小批量上的LoRA权重卸载到主干参数中,多个低秩更新矩阵的累积可以产生一个更高秩的更新矩阵。具体来说,PLoRA有多个训练阶段。在每一个阶段,作者仍然只更新LoRA权重。然而,在每一个阶段的结束时,作者将LoRA权重卸载到主干参数中,然后重新初始化LoRA状态,包括LoRA权重、相应的优化器状态和学习率调度器状态。理论上,PLoRA使LoRA方法能够突破低秩更新矩阵的限制,接近全微调的效果。

为了验证PLoRA的有效性,作者在不同的PEFT设置中对LLaMA 7B [20]进行指令调优,并在多学科多项选择、数学推理以及语言理解和推理任务上评估其性能。实验结果表明,PLoRA在相同等级上始终优于LoRA,且不引入任何内存开销。为了更清楚地展示作者的方法并解释其能力,作者讨论了PLoRA设置的消融研究,最重要的是,应用PLoRA后在不同任务上学习能力提升的情况。作者的贡献总结如下:

作者引入了PLoRA,用于参数高效的微调,它突破了LoRA微调中的低秩瓶颈。

作者验证了PLoRA在指令调整中的有效性,并展示了它始终优于原始的LoRA方法。

作者对PLoRA的训练过程进行了详细分析,并揭示了PLoRA比原始的LoRA具有更强的学习能力。

作者将调整超参数的完整结果公开,以便为选择适当的PLoRA设置提供一个参考。

2 Related Work

Supervised Fine-Tuning

大型语言模型(LLM)以其庞大的知识库和文本生成能力而闻名,但它们在遵循指令方面的能力传统上并不出色。过去的微调方法主要关注于一个特定任务[26](即单任务专业化),这意味着它们不能处理各种各样的人类指令(即多任务泛化)。最近在指令调优方面的进展试图扩展LLM的多样性以更好地处理多任务泛化。这种指令调优范式利用了包含多样指令-输出配对的数据集,如Self-instruct[26],UnnaturalInstruction[27],Super-NaturalInstructions[26],以及FLAN v2[20],从而增强了模型对不同指令的理解。许多最近的指令调优模型包括InstructGPT[25],Guanaco[13],Vicuna[1],它们在理解来自OpenLLM排行榜的广泛领域的一般知识方面取得了很大的性能表现。原始的Lora不擅长多任务训练,而且也很难调整参数秩。因此,Multilora[26]减少了LoRA中观察到的顶级奇异向量的主导地位,并水平扩展LoRA模块以适应多任务。相比之下,作者的工作更简单、更高效。

Parameter-Efficient Fine-Tuning

参数高效调优(PEFT)是一种流行的训练模型的方法,它只优化一小部分参数,同时让主模型在适应过程中保持冻结状态。一些PEFT方法会在主干模型中插入额外的神经模块或参数,例如Adapter [1]。例如,Prefix tuning [10] 在模型的每一层的隐藏状态中添加前缀参数。Prompt tuning [12] 使用模板来重构提示,并且只更新与提示理解相关的参数。此外,另一种方法是尝试指定特定的参数为可训练的[2]。

LoRA and Its Variants

LoRA提出了一种低秩的上下投影变换,该变换在没有应用任何非线性的情况下并行于键和值注意力矩阵。LoRA的主要优势在于其 Adapter 模块,该模块可以整合到模型的原始权重矩阵中,从而使得推理时间变得非常高效。

尽管训练和推理效率已经有了很大的提升,但LoRA在选择理想秩r方面的灵活性仍然是一个限制。LoRA的秩r接受离散值,这些值的改变会直接影响模型结构;相比之下,像学习率这样的连续超参数可以在训练过程中在线自适应调整。对于各种下游任务和 Backbone 模型,可能存在理想秩选择的差异。常规的搜索方法可能会浪费计算资源和训练时间。

近年来提出了几种解决方案,以实现LoRA等级的灵活调整。Dylora [16] 提出了一种新的方法论,可以同时为多个等级训练低秩模块,而不是一次训练一个单等级 Adapter (在不改变训练预算的情况下)。AdaLoRA [16] 引入了一个额外的正则化项,以确保低阶和高级投影矩阵严格遵守奇异值分解(SVD)的定义,每个矩阵都是正交的。SparseLORA[17] 消除了这种计算开销,而是通过控制中间对角矩阵有选择地过滤低秩组件。LoraHub [15] 提出了一种策略,可以自动为模型构造在细调过程中针对不同给定任务所需的LoRA模块。

3 Method: PeriodicLoRA

首先,第3.1节作为背景介绍了传统的LoRA及其细节,并指出了传统LoRA的低秩瓶颈问题。接着,第3.2节介绍了作者的PLoRA方法,作为解决此问题的一种有效方案。

Preliminary: Naive LoRA Method

动力采用LoRa。随着语言模型中的参数数量不断增加,对这些模型进行全参数微调在计算上变得代价高昂,并且需要具有大量内存容量的GPU,这对于计算资源有限的研究行人来说是不切实际的。为了在低资源环境下有效地微调神经网络,同时避免与传统的 Adapter 相关的推论延迟增加,J.等人[16]提出了一种针对密集参数矩阵的低秩 Adapter 方法。神经网络通常包含许多密集参数矩阵。对于一个预训练的参数矩阵

W_{0}\in R^{d\times k}

,在特定领域任务上进行全参数微调之后,新的参数矩阵是……

W_{ft}=W_{0}+\Delta W, \tag{1}

其中

\Delta W

表示包含领域知识的更新。从经验上看,

W_{0}

\Delta W

倾向于是满秩的。

LoRa的细节和原理。LoRa通过将更新量

\Delta W

分解为两个低秩矩阵的乘积来近似,将更新约束在低秩空间内,从而使得微调过程更加高效。通过这种近似的低秩分解,作者得到:

\Delta W\approx BA, \tag{2}

在LoRA的前向传播中,对于输入表示

x

,经过参数矩阵

W_{0}

后的输出,其中

B\in R^{d\times r}

A\in R^{r\times k}

,且秩

r\ll max(d,k)

h=W_{0}x+BAx. \tag{3}

为确保在初始阶段引入LoRa不会影响模型前向传播的计算结果,关键是要保证

BAx=0

。为实现这一点,LoRa将

A

初始化为随机的高斯矩阵,并将

B

初始化为零矩阵。在训练期间,

W_{0}

被冻结,同时训练

B

和……。

将矩阵

A

视为可训练参数。由于

r

远小于

k

d

,因此

B

A

的参数数量远少于

W_{0}

。仅微调少量参数可以显著降低GPU内存需求。在训练完成后,参数矩阵

A

B

会被合并入

W_{0}

,以形成最终的参数矩阵。

W_{ft}=W_{0}+BA. \tag{4}

值得注意的是,最后的更新是

BA

,它被约束在一个低秩空间内。

低秩瓶颈的LoRA方法压缩更新量

\Delta W

到低秩空间并不是无损的。尽管Aghajanyan等人(2020年);J.等人(2021年)声称对于某些针对特定任务的微调适配,所需的更新可以在低秩空间内完成,而且LoRA确实在一些简单的文本分类任务上展示了与全参数微调相似的性能,但作者仍然观察到在更复杂的任务上,LoRA与全参数微调之间存在相当大的性能差距。对于像GSM8K(Cobbe等人,2021年)这样复杂的任务,模型适配所需的参数更新不能完全在低秩空间中表示,而强制压缩到这个受限空间会导致性能下降。

PeriodicLoRA

为了克服传统LoRA方法中固有的低秩瓶颈问题,作者引入了周期性LoRA(PLoRA)方法,如图1所示。作者将针对下游任务的微调分为

T

个不同的阶段,分别表示为

1,2,...,T

,每个阶段包含固定数量的步骤。每个阶段都可以看作是传统LoRA的完整过程,该过程包括初始化

B

A

矩阵,对它们进行微调,并将它们合并到参数矩阵

W

中。最初,作者有参数矩阵

W_{0}

;经过

t-1

个阶段后,参数矩阵更新为

W_{t-1}

。在阶段

t

,作者将

B_{t}

初始化为零矩阵,将

A_{t}

初始化为高斯矩阵;在阶段

t

的微调步骤之后,可训练参数

B_{t},A_{t}

趋于收敛,然后作者将矩阵乘积

B_{t}A_{t}

合并到参数矩阵

W_{t-1}

中,从而得到更新后的参数矩阵。

W_{t}=W_{t-1}+B_{t}A_{t}. \tag{5}

在后续阶段,作者重复这个过程,初始化

B

A

矩阵,在训练数据上调整它们,并最终将它们合并到参数矩阵

W

中。经过

T

个阶段后,得到最终的参数矩阵。

W_{T}=W_{0}+B_{1}A_{1}+B_{2}A_{2}+...+B_{T}A_{T}. \tag{6}

理论上,作者方法最终更新的秩为

T\times r

,通过增加阶段数

T

,作者可以突破传统LoRA的低秩约束。

4 Experiments

Datasets

为了与目前常用于评估大型模型的基准进行更直观的比较,同时为了避免使用会延长训练和评估周期的大型数据集,作者组织了一个包含总共60,542条记录的多任务数据集。这个数据集中的29,683条记录来自Orca(Mukherjee等人,2023)和Tulu(Wang等人,2023)。

Orca数据集是从FLAN中抽取用户 Query 并收集ChatGPT(Ouyang等人,2022年)回应的数据集。它对提升大规模多任务语言理解(MMLU)(Hendrycks等人,2020年)有积极影响。然而,由于Orca数据集的体积庞大,作者选择了一个来自Tulu的Orca数据集子集作为替代。Tulu是一个混合数据集,它按比例收集高质量的指令微调数据集。同时,作者在Tulu数据集中也包含了来自code-alpaca的20,016个条目。

为了增强模型学习复杂任务的能力,作者还把GSM8K和ARC(Clark等人,2018年)的训练集转换成了对话格式。作者的训练集中分别包含了7,473和3,370个条目。该数据集主要以人与GPT之间的对话为特色,由于它们的复杂性和相关研究文献的存在,Tulu子集中的Orca和code-alpaca特别具有挑战性。

Strategic Organization of Experimental Datasets

作者实验数据集的战略性组织是为了展示作者提出的PLoRA方法在具有挑战性的基准测试上的有效性。纳入在文献中有着良好记录的图卢数据集,确保了作者的方法能够针对已建立的基准进行测试,并且作者的发现能与现有研究进行比较。这些数据集的选择不仅仅是为了在基准测试中获得更高的分数,还旨在展示PLoRA超越LoRA所施加的排名限制的潜力,从而提高作者模型的 学习能力。

需要注意的是,作者主要关注探索PLoRA潜力,以突破LoRA设定的排名限制,并实现更强的学习能力。作者数据集的组织主要是确保作者能够在不显著影响迭代速度的情况下,在更具挑战性的基准测试中获得好处。尽管使用更优质的数据和适当的数据平衡可以有助于改善实验结果,但这并非作者研究的核心关注点。作者的重点是PLoRA所代表的方法论进步,以及它如何能够如作者在GSM8K(Cobbe等人,2021年)、MMLU(Hendrycks等人,2020年)和ARC(Clark等人,2018年)数据集上的评估所示,在复杂任务上提高性能。

Experimental Setup

作者选择LLaMA-7B(Touvron等人,2023年)作为基础的大型语言模型(LLM),并分别使用PLoRA、LoRA和完全微调来对其进行调优。作者将低秩矩阵应用于所有注意力层和MLP线性层,包括

W_{q}

W_{k}

W_{v}

W_{o}

W_{gate}

W_{up}

W_{down}

,这意味着这些层将经历一个卸载过程。这部分的原因将在5.4节中进一步解释。作者实现了PLoRA和LoRA,其低秩矩阵值分别为1和8。在优化器配置方面,作者选择AdamW优化器(Loshchilov和Hutter,2017年),并采用恒定的学习率1e-4。作者的训练框架基于FastChat(Zheng等人,2023年)。使用恒定学习率有助于实验设置,并确保在延长训练时间时能够基于之前的结果继续训练。此外,adam的

\beta_{2}

设置为0.99。全局批量大小设置为24。作者的实验是在8个A100 GPU上使用HuggingFace的transformers库(Wolf等人,2020年)进行的。作者使用lm-evaluation-harness(Gao等人,2023年)来评估结果。

Results

作者首先比较了LLaMA-7B的零样本和少样本能力,接着比较了使用PLoRA、LoRA和完全微调方法的微调结果。对于PLoRA和LoRA,作者进行了秩为1和8的实验,以进一步验证作者的方法的有效性。详细的实验结果展示在表1中,所有结果均在训练一个周期后获得。由于数据集和模型的限制,作者主要评估对多任务数据集有更积极影响的基准。不幸的是,尽管code-alpaca的条目占数据集的三分之一,但作者的模型在HumanEval测试中的pass@20指标仍然只有大约1%的表现。因此,作者没有展示HumanEval的评估结果。

作者可以观察到,与LoRA相比,作者提出的PLoRA在GSM8K和MMLU数据集上均取得了性能提升,尤其是当秩(rank)设置为8时。在GSM8K数据集上,作者的方法比传统的LoRA实现了惊人的20%的提升。令人惊讶的是,在某些情况下,PLoRA方法甚至超过了全量微调的表现。在更全面的层面上,尽管LoRA在秩为8时的MMLU平均结果不如全量微调,但PLoRA方法在节约资源的情况下,仍能实现与之相当或更好的性能。

5 Discussion

为了全面分析和挖掘PLoRA的潜力,作者讨论了在实现PLoRA过程中遇到的主要挑战和最佳参数设置。

Unloading Points Selection

确定卸载点——用于卸载的数据量,是应用PLoRA时最基本的问题之一。使用较少的数据进行卸载可以在每个训练周期内允许额外的卸载,从而可能提高可达到的性能。然而,这存在一个权衡,因为卸载数据不足可能导致训练不足和误差累积,最终导致训练崩溃。

为了探究增加小批量处理的排序等级是否能超越LoRA的学习能力限制,作者使用等级为1的排序在一些卸载点进行了探索性实验。正如表2所示,仅仅增加训练数据量不仅会增强这一阶段LoRA训练的效果,而且还能降低一个周期内的卸载频率,从而降低训练的有效性。根据实证证据,作者在训练期间将4.8k数据设置为PLoRA的卸载点。

Momentum Setting

在作者的PLoRA实验中,作者引入了动量来调整卸载。与标准方法中完全替换所有的

A

B

矩阵不同,作者选择性地更新LoRA,将

BA

乘积按

(1-m)

比例缩放,而

A

B

矩阵按

m

比例更新。这种方法解决了由于数据集的变异性导致的小批量之间损失不一致的问题,这在像GSM8K这样的复杂任务中尤其明显。每个小批量完全重置矩阵可能会降低训练效果,甚至导致模型失败。动量通过不完全信任每个小批量的结果,为训练下一个批量提供一致的更新方向,从而提高了训练的稳定性。这种基于预定卸载点的做法,使得训练不受干扰,并有助于推动LoRA训练的边界。

如图2所示,当PLoRA的动量设置为零时,完成第一个周期后损失变得混乱,且在进一步训练中未能恢复。这表明在秩为8的情况下,动量为0的PLoRA在第二个周期后崩溃。然而,当动量设置为0.1或0.3时,使用PLoRA的训练保持稳定。此外,作者注意到,较低的动量值在训练期间导致较小的损失,同时保持训练条件的稳定。当增加训练的周期数时,作者观察到在大约第四个周期完成的时间段内,PLoRA中较高的动量相比于较低的动量倾向于有更低的训练损失。考虑到诸如在没有动量的第一个周期经历较低损失但遇到训练崩溃之类的观察;作者可以推理,较低的动量使训练数据更快拟合,而较高的动量确保在较长训练期间稳定,并导致整体更好的拟合。

Training Stages

作者进行了更详细的实验,以进一步展示在不同训练阶段PLoRA的能力。通过额外的分析,作者也对不满意的结果有了深入了解,并进一步验证了PLoRA优于LoRA。

特别是,作者延长了训练时长,并每隔100个训练步骤保存一次预训练权重。PLoRA的卸载点设置为400步。保存的预训练权重在两个常用的基准上进行评估:GSM8K和MMLU。这个实验设置允许更深入地研究模型在不同训练阶段的性能。

图3显示,在训练的早期阶段,PLoRA一致性地优于普通的LoRA方法,特别是在GSM8K上。然而,随着训练的进行,PLoRA曲线逐渐下降,而LoRA指标则上升。图3中的橙色虚线进一步显示,PLoRA方法在训练的早期和中期阶段表现出显著的加速。在相同的计算资源和训练速度下,与LoRA相比,PLoRA可以节省大约一半的训练时间。

PLoRA从第三个时期开始也倾向于过拟合,这在两种排名配置中都得到了证实,MMLU的影响更为严重。如图4所示,在四个时期内,对于排名8,PLoRA在第三个时期的损失明显低于LoRA,然而LoRA在MMLU性能上表现更佳。此外,该图还显示,当训练延长到六个时期时,PLoRA的性能明显下降。

作者将PLoRA的过拟合归因于完全微调中类似的现象。LoRA通过低秩

\Delta W

更新来缓解过拟合,但PLoRA低秩矩阵的累积最终会导致高秩

\Delta W

,类似于完全微调,从而引起过拟合。PLoRA从训练集中吸收的知识比LoRA更多,这损害了其泛化能力并导致了过拟合,这与作者的理论相符合,即PLoRA克服了小批量LoRA训练中

\Delta W

秩所施加的学习限制。

如图4所示,经过四个时期后,排名第一的模型在GSM8K上的表现下降,而排名第八的模型在第三个时期出现下降。GSM8K的峰值比MMLU晚,这表明GSM8K更具挑战性,需要更高的学习能力。表1显示了PLoRA在GSM8K上的优越性能,这表明它适合于需要显著学习能力的高难度任务。与排名第一的模型相比,排名第八的模型更早出现过度拟合,这也指出了在同一任务中,排名越高学习能力越强。

Learning rate and PLoRA Layers

作者深入探讨了实施PLoRA的两个最关键参数:学习率和应用LoRA的线性层数量。

在当前的大型语言模型训练中,使用LoRA方法时,最大化LoRA训练能力的提升是一个焦点。作者也已经在实验过程中总结了一些实证实验结果。从表3中可以看出,当只改变学习率并保持其他设置不变时,在1个训练周期后,较大的学习率会取得更好的结果。与使用通用学习率2e-5的全量微调大型语言模型不同,在LoRA训练中,实际上需要从初始化的LoRA矩阵

AB

开始训练,因此更高的学习率更适合LoRA训练。然而,由于PLoRA方法在微型批次上累积LoRA训练,如果使用过高的学习率,反而会降低学习的有效性。从表3中,作者可以观察到,当使用PLoRA训练秩为8的模型时,设置学习率为5e-4相比于设置学习率为1e-4,性能要低得多。

在应用LoRA的线性层数量方面,作者主要关注将LoRA应用于所有线性层。将LoRA应用于所有线性层的动机是为了与全程微调进行比较。仅使用PLoRA方法在

W_{q}W_{v}

上获得的高秩更新也仅应用于模型的较小部分。将LoRA应用于所有线性层也是PLoRA方法的累积高秩更新达到全程微调理论上限的必要步骤。在表3中,作者还发现,与仅将其应用于

W_{q}W_{v}

但具有更高秩的模型相比,将LoRA应用于所有线性层的模型可以使用更少的训练参数获得更好的训练结果。

6 Conclusion

作者提出了PeriodicLoRA(PLoRA),这是一种基于低秩适应理论的参数高效微调方法。作者认为全量微调与LoRA之间最大的差距在于LoRA的更新矩阵远低于全量微调的更新矩阵。通过在小型批量上使用累积的LoRA权重,相比于常规LoRA,作者在训练期间获得了更高秩的更新矩阵,从而在不增加GPU使用的情况下提高了LoRA的训练效果。作者的方法并不复杂,从理论上讲,可以为LoRA微调实现与全量微调相同的训练效果。为了更好地利用PLoRA,作者提出了一种完整的模型训练方法,并通过分析实验数据来证明,从累积低秩权重获得的高秩权重更新比长期训练的低秩权重具有更强的学习能力。

7 Limitations

尽管PLoRA已经取得了令人振奋的结果,但当前研究中仍有一些局限性值得作者承认。本文主要评估了PLoRA在困难任务指令微调场景中的有效性。然而,在涉及图像和文本的更复杂数据集的多模态任务中,研究如何将作者的PLoRA更好地应用于这些任务仍然是有价值的。作者的PLoRA方法为使用LoRA适配全微调训练过程提供了见解,但为这一过程提供严格的解释仍然具有挑战性。

参考

[1].PeriodicLoRA: Breaking the Low-Rank Bottleneck in LoRA Optimization.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIGC 先锋科技 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 2 Related Work
    • Supervised Fine-Tuning
      • Parameter-Efficient Fine-Tuning
        • LoRA and Its Variants
        • 3 Method: PeriodicLoRA
          • Preliminary: Naive LoRA Method
            • PeriodicLoRA
            • 4 Experiments
              • Datasets
                • Strategic Organization of Experimental Datasets
                  • Experimental Setup
                    • Results
                    • 5 Discussion
                      • Unloading Points Selection
                        • Momentum Setting
                          • Training Stages
                            • Learning rate and PLoRA Layers
                            • 6 Conclusion
                            • 7 Limitations
                            • 参考
                            相关产品与服务
                            NLP 服务
                            NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档