更新时间:2024-12-03 GMT+08:00
分享

NLP大模型训练流程与选择建议

NLP大模型训练流程介绍

NLP大模型专门用于处理和理解人类语言。它能够执行多种任务,如对话问答、文案生成和阅读理解,同时具备逻辑推理、代码生成和插件调用等高级功能。

NLP大模型的训练分为两个关键阶段:预训练和微调。

  • 预训练阶段:在这一阶段,模型通过学习大规模通用数据集来掌握语言的基本模式和语义。这一过程为模型提供了处理各种语言任务的基础,如阅读理解、文本生成和情感分析,但它还未能针对特定任务进行优化。
  • 微调阶段:基于预训练的成果,微调阶段通过在特定领域的数据集上进一步训练,使模型能够更有效地应对具体的任务需求。这一阶段使模型能够精确执行如文案生成、代码生成和专业问答等特定场景中的任务。在微调过程中,通过设定训练指标来监控模型的表现,确保其达到预期的效果。完成微调后,将对用户模型进行评估并进行最终优化,以确保满足业务需求,然后将其部署和调用,用于实际应用。

NLP大模型选择建议

选择合适的NLP大模型类型有助于提升训练任务的准确程度。您可以根据模型可处理最大Token长度,选择合适的模型,从而提高模型的整体效果,详见表1

此外,不同类型的NLP大模型在训练过程中,读取中文、英文内容时,字符长度转换为Token长度的转换比有所不同,详见表2

表1 不同系列NLP大模型对处理文本的长度差异

模型支持区域

模型名称

可处理最大Token长度

说明

西南-贵阳一

Pangu-NLP-N1-Chat-32K-20241030

32K

盘古NLP大模型,此版本是2024年10月发布的十亿级模型版本,支持8K训练,4K/32K推理。基于Snt9B3卡可单卡推理部署,此模型版本支持全量微调、LoRA微调、INT8量化、断点续训、在线推理和能力调测特性。单卡部署4K模型版本支持64并发,单卡部署32K模型版本支持32并发。

Pangu-NLP-N1-Chat-128K-20241030

128K

此版本是2024年10月发布的十亿级模型版本,支持128K在线推理。基于Snt9B3卡支持8卡推理部署,此模型版本仅支持预置模型版本,不支持SFT后模型版本做128K推理部署。

Pangu-NLP-N2-Base-20241030

-

此版本是2024年10月发布的百亿级模型版本,支持模型增量预训练。基于Snt9B3卡支持32卡起训,预训练后的模型版本需要通过SFT之后,才可支持推理部署。

Pangu-NLP-N2-Chat-32K-20241030

32K

此版本是2024年10月发布的百亿级模型版本,支持8K训练,4K/32K推理。基于Snt9B3卡可支持32卡起训,支持4卡推理部署,此模型版本支持全量微调、LoRA微调、INT8量化、断点续训、在线推理、能力调测、边缘部署特性。2卡部署4K模型版本支持4并发,4卡部署32K模型版本支持4并发。

表2 Token转换比

模型规格

Token比(Token/英文单词)

Token比(Token/汉字)

N1

0.75

1.5

N2

0.88

1.24

针对Token转换比,平台提供了Token计算器功能,可以根据您输入的文本计算Token数量,您可以通过以下方式使用该功能:

  • 在左侧导航栏选择“能力调测”,单击右下角“Token计算器”使用该功能。
  • 使用API调用Token计算器,详见《API参考》“API > Token计算器”。

NLP大模型训练类型选择建议

平台针对NLP大模型提供了两种训练类型,包括预训练和微调,二者区别详见表3

表3 预训练和微调训练类型区别

训练方式

训练目的

训练数据

模型效果

应用场景举例

预训练

关注通用性:预训练旨在让模型学习广泛的通用知识,建立词汇、句法和语义的基础理解。通过大规模的通用数据训练,模型可以掌握丰富的语言模式,如语言结构、词义关系和常见的句型。

使用大规模通用数据:通常使用海量的无监督数据(如文本语料库、百科文章),这些数据覆盖广泛的领域和语言表达方式,帮助模型掌握广泛的知识。

适合广泛应用:经过预训练后,模型可以理解自然语言并具备通用任务的基础能力,但还没有针对特定的业务场景进行优化。预训练后的模型主要用于多个任务的底层支持。

通过使用海量的互联网文本语料对模型进行预训练,使模型理解人类语言的基本结构。

微调

关注专业性:微调是对预训练模型的参数进行调整,使其在特定任务中达到更高的精度和效果。微调的核心在于利用少量的特定任务数据,使模型的表现从通用性向具体任务需求过渡。

使用小规模的特定任务数据:微调通常需要小规模但高质量的标注数据,直接与目标任务相关。通过这些数据,模型可以学习到任务特定的特征和模式。

在特定任务上具有更高的准确性:微调后的模型在具体任务中表现更优。相较于预训练阶段的通用能力,微调能使模型更好地解决细分任务的需求。

在一个客户服务问答系统中,可以用特定领域(如电商、保险)的对话数据对预训练模型进行微调,使其更好地理解和回答与该领域相关的问题。

此外,针对微调训练任务,平台提供了两种微调方式:
  • 全量微调:适合有充足数据并关注特定任务性能的场景。在全量微调中,模型的所有参数都会调整,以适应特定任务的需求。这种方式适合样本量较大、对推理效果要求较高的任务。例如,在特定领域(如金融、医疗)中,若拥有大量标注数据,且需要更高的特定任务推理精度,则全量微调是优先选择。
  • LoRA微调:适用于数据量较小、侧重通用任务的情境。LoRA(Low-Rank Adaptation)微调方法通过调整模型的少量参数,以低资源实现较优结果,适合聚焦于领域通用任务或小样本数据情境。例如,在针对通用客服问答的场景中,样本量少且任务场景广泛,选择LoRA微调既能节省资源,又能获得较好的效果。

微调方式选择建议

  • 若项目中数据量有限或任务场景较为广泛,可以选择LoRA微调以快速部署并保持较高适用性。
  • 若拥有充足数据且关注特定任务效果,选择全量微调有助于大幅提升在特定任务上的模型精度。

当前平台提供的NLP大模型的训练方式仅支持微调,不支持预训练。

相关文档