应用于需求生成的大模型调研

文章目录

  • 一、背景技术
    • 1. 大模型概述
    • 2. 需求工程概述
    • 3. 大模型在需求工程中的应用深化
    • 4. 发展趋势展望
  • 二、模型调研
    • 1. FLAN-T5
      • (1)模型架构
      • (2)训练过程
      • (3)使用的数据集
      • (4)性能表现
    • 2. Aya
      • (1)模型架构
      • (2)训练过程
      • (3)使用的数据集
      • (4)性能表现
    • 3. Blenderbot
      • (1)模型架构
      • (2)训练过程
      • (3)使用的数据集
      • (4)性能表现


一、背景技术

1. 大模型概述

大模型是由亿级别参数构成的深度神经网络,具有处理高维度数据和学习复杂模式的能力。这些模型通过深度学习技术,如卷积神经网络(CNN)、循环神经网络(RNN)、以及近年来兴起的Transformers,能够在海量数据集上进行自我迭代学习,从而达到前所未有的准确度和效率。特别是在自然语言处理(NLP)、图像识别、语音识别等领域,大模型已经成为了实现人工智能突破性进展的关键。伴随着算法的创新、计算力的大幅提升及数据可获取性的增加,大模型技术正在开辟新的应用领域,推动人工智能技术朝着更加智能化的方向发展。

2. 需求工程概述

需求工程是确保软件开发过程中系统功能与用户需求紧密对齐的科学方法论。它涵盖了从需求搜集、分析、规范化、到验证和管理的全过程,是连接用户期望与软件产品的桥梁。一个高效的需求工程流程不仅能够减少项目开发过程中的返工,提高开发效率,还能确保最终交付的软件产品能够在功能、性能上满足用户的实际需求,从而提高用户满意度和产品市场竞争力。

3. 大模型在需求工程中的应用深化

(1)自动从顶层需求推导底层需求:大模型通过分析顶层需求的语义,自动生成详细的底层需求,提高需求详细化的效率。
(2)自动链接需求间关系:利用NLP技术,模型自动识别并建立需求之间的逻辑关系,帮助管理需求依赖和冲突。
(3)实时识别需求相似性与冲突:模型通过深度学习实时发现需求库中的相似或冲突需求,避免重复和矛盾,确保一致性。
(4)根据需求自动创建SYSML模型:模型可以自动将需求转换成SYSML模型图,通过集成SYSML工具API,提高模型创建的效率和准确性。
(5)自动编写设计说明:基于图像识别和语言生成技术,模型能够解析模型图表并自动生成相应的需求描述和设计说明文档,提高文档编写的效率。

4. 发展趋势展望

随着大模型技术的不断进步和需求工程实践的深化融合,未来将出现更多创新应用,如通过增强学习优化需求管理过程、利用生成对抗网络(GANs)自动生成需求文档等。同时,随着对模型可解释性、透明度和公平性的要求日益增加,未来的研究也将聚焦于提高大模型在这些方面的表现,确保其在需求工程中的应用既高效又负责任。

二、模型调研

大模型应用于需求工程中,能够实现诸多功能。因此在具体调研中,我们首先确定了我们想要在需求工程中实现的目标,即基于顶层需求生成底层需求。围绕这个目标,我们在Hugging Face上寻求具体的模型进行调研。

我们在Hugging Face的网站上先将模型类型确定为Natural Language Processing。接着为了实现“基于顶层需求生成底层需求”的目标,我们在Natural Language Processing中选择需要实现的任务为Text2Text Generation。然后在这些模型中,我们按照Most likes进行排序,并按照顺序选择受喜欢程度较高且下载量较高的模型进行详细调研。
在这里插入图片描述

1. FLAN-T5

Google公司发布的FLAN-T5模型在Text2Text Generation中受欢迎程度较高,在上图中可以看到,按照受喜欢的程度进行排序,前六名中有四个模型都是FLAN-T5大模型。我们首先对FLAN-T5大模型进行调研。
在这里插入图片描述

(1)模型架构

FLAN-T5的模型架构是一种密集的编码器-解码器模型,共有5种不同规模的模型:FLAN-T5-small、FLAN-T5-base、FLAN-T5-large、FLAN-T5-XL和FLAN-T5-XXL。其中,FLAN-T5-small有7700万个参数,FLAN-T5-base有2.5亿个参数,FLAN-T5-large有7.8亿个参数,FLAN-T5-XL有30亿个参数,FLAN-T5-XXL有110亿个参数。FLAN-T5的这些模型是基于预训练的T5模型进行微调,采用了Transformers架构,并通过指令来提高零样本和少样本性能。

模型的输入是文本,输出是生成的文本。模型的主要应用领域是在语言模型研究中,包括零样本自然语言处理任务和上下文中的少样本学习自然语言处理任务,如推理和问答;推进公平性和安全性研究,并了解当前大型语言模型的局限性。

(2)训练过程

FLAN-T5采用了指令式微调,通过在多种任务上使用具有明确指令的示例进行训练,以提高模型的泛化能力。

具体来说,FLAN-T5的训练过程包括指令微调(instruction finetuning)和持续预训练方法。通过指令微调,FLAN-T5模型(从80M到11B)展现出强大的零样本、少样本和CoT能力,超越了T5模型。例如,FLAN-T5 11B在一些具有挑战性的BIG-Bench任务上表现优异,甚至超过了T5 11B和PaLM 62B。

此外,FLAN-T5模型通过指令微调在MMLU(57个任务)、BBH(23个任务)、TyDiQA(8种语言)和MGSM(10种语言)等基准套件上取得了优异的表现。
在这里插入图片描述
总体而言,研究结果体现了指令微调能够提高各种模型、设置和评估任务的性能。

(3)使用的数据集

FLAN-T5使用的数据集包括各种任务和类别,涵盖了1800多个在多个领域和类型的任务,包括多种语言、领域和任务类型。数据集包括自然语言推理、闭卷问答、代码指令生成、对话问答、程序合成、代码修复、对话上下文生成等任务。总共涉及了69个数据集,分为27个类别,共包含80个任务。
在这里插入图片描述
此外,还有涉及推理的CoT(Chain of Thought)任务,如算术推理、解释生成、常识推理、句子组合、隐含推理等,共涉及9个数据集,1个类别,9个任务。

另外,还有自然指令v2数据集,包括因果关系分类、常识推理、命名实体识别、有害语言检测、问答、问题生成、程序执行、文本分类等任务,共涉及372个数据集,108个类别,1554个任务。

(4)性能表现

FLAN-T5在多个基准和评估任务上展现出了卓越的性能,特别是在零样本和小样本场景下,显示出其强大的泛化和适应能力。

FLAN-T5模型在性能表现方面取得了显著的进展。通过指导微调,FLAN-T5模型(从80M到11B)展现出了强大的零射击、少射击和CoT能力,优于T5模型。例如,FLAN-T5 11B在某些具有挑战性的BIG-Bench任务上取得了两位数的性能提升,优于T5 11B和PaLM 62B。
在这里插入图片描述
总体而言,这些结果表明,通过指导微调,可以改善各种模型在不同设置和评估任务中的性能。

2. Aya

在这里插入图片描述

(1)模型架构

Aya选择了mT5作为其基础模型,主要有以下几个原因。第一,mT5在预训练阶段具有广泛的语言覆盖,这对于研究模型缩放以及实现整体上的强大性能是非常有益的。第二,mT5模型的可用性与规模。mT5不仅在不同的尺寸上可用,而且展示了强大的整体性能,这使得它成为研究缩放和多语言任务的理想选择。第三,对比其他候选模型,尽管也考虑了使用umT5和BLOOM作为基础模型,但早期实验中使用umT5并没有获得更好的性能。同时,BLOOM预训练的语言数量较少,并且在以往的研究中,使用mT5作为基础模型表现更佳。

然而,选择mT5作为基础模型也有其局限性。一方面,由于mT5是在几年前预训练的,它可能不适用于与近期事件有关的互动。另一方面,在性能上与mT5发布时相比,现在有许多更强大的模型,例如Llama系列。但这些模型主要以英语为中心,对于Aya这样的多语言模型来说,mT5更为适用。

(2)训练过程

Aya模型的训练过程重点在于使用mT5作为基础模型,并通过Adafactor优化器进行精细微调,以适应多语言和多任务的环境。模型微调时采用了特殊的数据采样策略,以平衡各个语言和任务的数据,确保语言多样性和任务覆盖。

此外,模型利用大规模计算资源进行训练,如TPUv4 pods,确保了高效率的训练过程。总的来说,Aya模型通过精心设计的训练架构和策略,达到了既扩大语言覆盖范围又提高多语言处理性能的目标。

(3)使用的数据集

Aya模型使用了多个数据集来进行训练和评估。其中一个重要的数据集是Aya数据集,这是一个由来自110个国家的2,997名参与者共同收集的最大的本土语言指令数据集。Aya数据集的目标是包含由流利使用其母语的个人策划的自然和有机示例,通过原始注释和对现有数据集的重新注释,形成一个具有文化意识和意义的多语言数据集。此外,Aya模型还使用了Aya集合,其中包括Aya数据集、翻译数据和模板数据。Aya集合中的模板数据由Aya贡献者收集的多语言、人工策划的提示模板组成,涵盖了44个数据集和14个主题领域。这些数据集的使用有助于提高模型在多语言环境下的理解和指令遵循能力。

Aya模型的训练涉及到了多样化和平衡的指令微调数据混合,这对于实现高性能并克服多语言性的挑战至关重要。数据集主要包括Wiki-Lingua、MultiEURLEX和Flores-200等,这些数据集占据了训练数据中的大部分,但同时也指出为了避免过度采样的问题,需要在微调混合中降低这些数据集的采样权重,并引入更多的多语言数据集。

此外,Aya模型在微调过程中采取了特定的采样策略,目的是在多任务和多语言之间平衡指令遵循的能力,从而提高模型的整体性能和语言覆盖范围。模型的训练还特别关注于平衡不同类型的数据源(例如人工注释、模板化数据和翻译数据),以确保数据的多样性和质量。

(4)性能表现

Aya模型在广泛的多语言评估中表现出色,涵盖了99种语言,包括区分性任务、生成性任务、人类评估以及模拟胜率比较等多个方面。相对于mT0x2,在区分性和生成性任务中,Aya模型分别表现出13.1%和11.7%的相对性能增益。在人类偏好评估中,Aya模型在7种语言中的胜率相对于mT0x为75%。

此外,Aya模型在模拟胜率评估中也表现出色,相对于mT0和mT0x,Aya模型在10种语言中的胜率平均分别为87%和86%。

在持有任务的评估中,Aya模型的不同变体展现出优异的性能,特别是在模板-heavy变体中,其在XCOPA、XNLI、XSC和XWG任务中的平均表现分别为77.3、58.3、91.2和73.7。
在这里插入图片描述
此外,Aya模型还在XLsum和TydiQA任务中相对于mT0x取得了改进,尤其是在MR语言中取得了显著的增益。

总体而言,Aya模型在多语言环境下展现出了强大的性能和广泛的覆盖范围。

3. Blenderbot

(1)模型架构

文章使用的模型框架包括三种主要架构:检索式、生成式、以及检索-再细化模型。这三种架构都基于Transformers模型。

检索式模型将给定对话历史(上下文)作为输入,检索系统通过评分一大组候选回复并输出得分最高的回复。这里使用了一种叫做poly-encoder的架构,它通过使用多个表示(codes)来编码上下文的全局特征,这些表示由每个可能的候选回复进行关注。poly-encoder在多个对话任务上表现优异,并且与其他检索模型相比,还能提供与获奖的生成模型相媲美的性能。

生成式模型采用标准的Seq2Seq变换器架构来生成回复,而不是从固定集合中检索回复。这里使用了基于ParlAI版本的实现,采用了字节级BPE(Byte-Pair Encoding)分词,这种模型有多种尺寸:90M、2.7B和9.4B参数模型。9.4B参数模型包含4层编码器、32层解码器,4096维嵌入和32个注意力头。2.7B参数模型则大致模仿了Adiwardana等人的架构选择。

检索-再细化模型,当前的生成模型被认为在产生单调重复的回复方面存在问题,这些问题通过简单的扩展可以得到改善,但并未完全解决。此外,生成模型被发现会虚构知识,在没有嵌入在模型参数中的外部知识的情况下无法读取和访问外部知识。一种尝试解决这些问题的方法是在生成步骤之前结合一个检索步骤,称为检索-再细化模型。并且考虑了两种变体:对话检索和知识检索。

(2)训练过程

该模型的训练过程主要包括两个阶段:预训练和微调。

预训练阶段使用大规模的文本数据来训练模型的基本语言理解和生成能力。这一阶段主要通过掩码语言模型(MLM)任务来实现,使用Fairseq工具包,并且采用了如Adam优化器等策略来优化训练过程。

微调阶段在预训练的基础上,进一步通过特定的对话数据集对模型进行训练,使其更好地适应对话的场景。这个阶段使用ParlAI工具包,并且引入了GPipe样式的模型并行化技术来提高训练效率。微调阶段同样采用了Adam优化器,并进行了混合精度训练以提高训练效率。

(3)使用的数据集

pushshift.io Reddit:覆盖广泛话题的1.5亿个Reddit讨论样本,经过过滤清洁。
ConvAI2:基于PersonaChat,模拟角色通过对话相互了解的14万个对话回合。
Empathetic Dialogues (ED):包含50k个基于情感状态的对话回合,用于训练模型展现同理心。
Wizard of Wikipedia(WoW):包含194k个对话回合,涵盖1250个话题,旨在展示深入讨论和知识展示。
Blended Skill Talk (BST):结合前三者的技能,包含76k个对话回合,旨在融合个性、同理心和知识。
在这里插入图片描述

(4)性能表现

该模型的性能表现主要通过自聊评估(Self-Chat ACUTE-Eval)和与人进行对话的评估(Human-bot Chat)来衡量。

在自聊评估方面,较大的模型(如2.7B参数模型)在引人入胜性方面比较小的模型(如90M参数模型)表现得更好,尽管这些结果在统计上并不显著。BST(Blended Skill Talk)细化训练后的模型在引人入胜性上表现显著优于仅进行预训练的模型。使用人格背景(Persona context)相比不使用,能小幅提升模型的引人入胜性,尽管差异不显著。

在与人进行对话的评估方面,结果表明改进的解码选择后,生成模型和检索-细化(RetNRef)模型都超过了纯检索方法。特别是,最大的BST Generative 9.4B模型虽然在人性化(Humanness)问题上表现不错,但在引人入胜性(Engagingness)方面却不如2.7B模型,尽管其困惑度(Perplexity)更低,这表明这些指标之间的关系并不直接。

总体而言,模型通过BST细化训练、选择适当的解码策略(如最小束宽限制),以及大型模型的使用,在自聊和与人交流的评估中都显示出良好的性能,特别是在提高对话的引人入胜性和人性化方面。

  • 32
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值