3 月15日,美国人工智能公司OpenAI 发布GPT-4多模态大模型,支持文本和图像输入。与GPT-3.5相比,其回答准确度、文字输入长度等各方面性能显著提升。
2022年底OpenAI发布的ChatGPT智能聊天机器人产品,因其惊艳的语义理解、智能会话和文本生成能力,获得了全球 1 亿月活用户的热情追捧。ChatGPT 是一个大型语言模型(Large Language Models, LLM),可以从海量未标注的数据集中获得信息,来识别、总结、翻译、预测和生成内容。
ChatGPT基于大型预训练语言模型 GPT-3.5,是GPT-4模型的前身。该模型在数千亿字符量级的海量文本上进行预训练学习,并通过基于人类反馈的强化学习(RLHF)对模型进行微调(Fine-tuning),实现了与人类语言习惯、价值观的对齐,提高了人机对话的质量和流畅度。
学界将ChatGPT及其背后的GPT-3.5视为人工智能领域划时代的产物,与之前常见的语言模型(Bert/Bart/T5)相比,两者之间几乎是导弹与弓箭的区别。ChatGPT让“通用人工智能”成为可能,展现出了丰富的应用价值和商业潜力。本文将介绍ChatGPT的技术发展路径和主要技术原理,并分析推测ChatGPT突出能力的来源。同时,本文还将重点关注ChatGPT在金融领域的应用场景,介绍ChatGPT的局限性及其未来的技术方向。
▲中国科学院计算技术研究所 何清
大语言模型的技术发展
传统的机器学习模型,针对特定的任务,往往需要人工标注的数据进行监督学习——这需要耗费大量的人力、物力成本,在实际操作中往往难以获取。因此,有着大量参数的神经网络模型,容易由于缺失足够的标注数据而陷入过拟合。过拟合是指模型的复杂度超过实际问题的需求,在训练集上表现优异,但在测试集中的表现却不尽如人意。
为解决这一问题,人工智能学界曾推出了许多大型的公开数据集,如ImageNet、CIFAR-10,有些数据集中人工标注的数据甚至达到了百万量级。即便如此,对于许多有监督的自然语言处理任务来说,数据集还是远远不够。
1.预训练模型。预训练模型(Pretrained Models,PTMs)的出现,将自然语言处理带入一个新的时代,在有限的人工标注数据下也能训练出足够有效的模型。预训练模型利用迁移学习的思想,通过大量无标注的数据进行训练,为下游任务提供合理的参数初始化。如此一来,模型在遇到新的问题时,不用从零开始,只需在原有预训练模型的基础上进行调整,就能够取得良好的效果。
大规模预训练模型,通过对大量数据进行无监督预训练,能够有效地学习语言的表达和语义,从而为各种自然语言处理任务提供了强大的支持。自2018年GPT-1、BERT模型的发布以来,大规模预训练模型发展迅速,不断涌现出各种新的模型和技术。
BERT是首个参数量超过3亿的预训练模型,在GLUE测试中刷新了11项任务记录。BERT基于Transformers,在大量未标注的文本上,通过随机掩盖掉文本中的一个词让模型进行“完形填空”,以及让模型预测两个句子是否连续,获得了上下文相关的词嵌入。这就使得模型能够结合上下文,区分同一词语在不同语境中的含义。
此后,大规模预训练模型浪潮席卷而来,参数量与数据量都在以指数级的速度增长(如图1)。参数量更大的GPT-2、GPT-3相继推出,为自然语言生成和理解带来了质的飞跃。ChatGPT背后的 GPT-3.5则在对话生成方面再次取得飞跃式进步。
图1 LLM的参数量和数据量快速增长
GPT早于BERT推出,有着1.17亿参数量,使用5GB数据进行训练,取得了一定的效果。GPT-2与GPT相比,在网络结构上并没有太大的创新,有着15亿参数,使用40GB数据进行训练。GPT-2通过无监督的训练,不通过任何调整,就能在一些有监督任务上取得很好的结果。这意味着当模型的参数量和数据量足够大时,预训练模型能够涵盖有监督任务。
GPT-3作为GPT-3.5的前身,加强了上下文学习的能力,他有1750亿参数,使用45TB数据进行训练,训练语料主要来自于网站爬取的大型数据集、电子书网站,以及维基百科。他能够从数据中学习到世界知识(World Knowledge)、常识、逻辑推理能力。只要通过少量的示例,他就能够完成指定的任务。
2. 微调。微调 (Fine-tuning) 是指在预训练模型的基础上,使用特定的任务以及相应的有标注数据进行训练,以优化模型在这一特定任务上的表现。
ChatGPT采用的是“预训练+微调”的二段式训练策略。预训练为大规模模型打牢基础,而微调则是使模型充分发挥其语言能力的手段。第一阶段“预训练”的目的是,通过大量低成本收集的数据学习目标任务的共性,得到一种通用的模型。第二阶段是“微调”,模型开始对特定的任务进行学习。
这意味着,尽管ChatGPT在文章生成、聊天对话、机器翻译等复杂NLP任务上展现出强大的能力,但在预训练过程中,ChatGPT并没有直接针对这些复杂任务进行学习,他在第一阶段的目标只是使用大规模未标注的文本数据。例如互联网上的海量文本、文章、新闻、社交媒体等,来学习语言的规律和结构,从而使其具有对自然语言的理解和生成能力。
GPT的预训练是在学习做“词语接龙”:模型根据已经输入的内容,预测下一个字是什么。模型的预测是一个采样的过程,利用已有片段作为条件,预测下一个位置不同词语出现的概率分布。在实际使用过程中,模型会根据这个概率分布在这些字中采样得到输出,因此ChatGPT对于相同的提问,可能会给出不同的回答。
在传统的微调过程中,预训练模型的大部分参数将保持不变,只有特定任务的相关参数会在训练过程中改变(如 :最终生成字符相关概率的参数)。遗憾的是,尽管传统微调模型在特定任务上可以取得更好性能,但往往会造成其他任务上的性能下降。同时,传统微调模型无法理解和处理复杂的推理问题,且训练中难以获得其所需要的大量有标注数据。
GPT模型已经通过大规模参数和预训练,获得了强大的语言表征和理解能力,但他的能力还无法在微调中充分展现。随着GPT-2、GPT-3等模型的提出,普通的微调模型被改进为基于提示词、指令等微调模型,使模型的推理、理解人类指令等能力大幅提升。
而真正成就 ChatGPT的微调,是代码训练与基于人类反馈的强化学习这两种方法。
3. 代码训练。代码训练(Coding)是指将代码或代码注释作为数据集,提供给模型训练,以使其生成正确代码的过程。代码训练最初的目的,是为了使模型能够理解代码结构、内容的内在含义。然而,代码中的内在逻辑与长距离依赖等特性,使得模型不仅学会了代码的结构,同时还提升了在自然语言中的复杂推理能力。这一“副产物”极大提升了模型在理解和回答推理问题时的准确性。
ChatGPT能够使用思维链进行复杂推理的能力,很可能是代码训练得神奇的副产物。从直觉上来说,面向过程的编程(Procedure-oriented Programming)跟人类逐步解决任务的过程很类似,面向对象编程(Object-oriented Programming)跟人类将复杂任务分解为多个简单任务的过程很类似。
此外,代码训练的另一个可能的副产品是长距离依赖。语言中的下个词语预测通常是非常局部的,而代码通常需要更长的依赖关系来做一些事情,比如前后括号的匹配或引用远处的函数定义等。同时,由于面向对象编程中的类继承,代码也可能有助于模型建立编码层次结构的能力。
4. 基于人类反馈的强化学习。大规模预训练模型的一个共有缺陷是,在完成“零样本推理”任务时,即遇到预训练中没有见过的任务时,理解和推理能力较差。传统微调方法可以使模型更容易理解某一领域的问题,但同时对其他领域问题仍然无能为力。GPT系列模型借助 “基于人类反馈的强化学习”(Reinforcement Learning with Human Feedback,RLHF)来解决这一问题。通过强化学习的方法,语言模型能够根据人类提供的反馈回答进行学习和优化,提高对话的生成质量。
在此过程中,RLHF的“环境”就是人类的反馈,而“动作”即为模型生成回答的过程。与常规的有监督微调训练方法不同,在RLHF方法中,人工给定的价值函数作为模型动作评价的依据 ;模型通过自行训练,判断自身所处的环境,选择合适的反应以不断最大化价值函数。
在具体实现中,RLHF分为三个模块(如图2)。
图2 RLHF 训练过程
第一个模块与传统微调方法类似,使用有监督数据集训练以得到初步的回答生成模型。监督数据集包含一系列问题以及由人类编写的回答,模型使用这一数据集在大规模预训练模型上进行微调训练。
第二个模块利用人类的反馈训练生成奖励函数(或称价值函数):模型将对同一个问题生成多个回答,并让人类对不同回答进行打分与偏好的排序,最后生成可预测用户偏好的函数。
第三个模块负责根据给定奖励函数,使用强化学习方法迭代训练优化模型的能力。模型对各种问题生成使得奖励函数更高的回答,并以此迭代地微调自身参数,以使回答能够最大化奖励函数。
在RLHF训练下,模型能够在与人类的持续交互中不断学习优化其回答,使得其回答更加可靠与可解释。更重要的是,RLHF为模型提供了强大的零样本推理能力。通过学习人类反馈,模型能够更加准确地理解问题,并感知什么情况模型也无能为力。
至此,ChatGPT拥有了响应人类指令的能力。以前,GPT-3的输出主要训练集中常见的句子,现在的模型会针对指令、提示词生成更合理的答案。同时,当用于调整模型的指令数量超过一定的规模时,模型就可以自动在从未见过的新指令上也能生成有效的回答。考虑到用户总会提出一些新的问题,这种对没有见过的指令做出反馈的泛化能力对于模型的实用部署至关重要。至此,ChatGPT的几大重要模块完全解放了大规模预训练模型的语言表征潜力,这些模块的应用使得ChatGPT在大量自然语言处理领域任务,如文本分类、实体识别、问答系统方面都取得革命性突破,大幅超越了先前的GPT-3模型。
ChatGPT在金融领域的应用场景
大模型技术不断迭代,目前ChatGPT 可以有效理解人类需求、高效整理海量数据,以此对人类的问题进行针对性的回复,并让通用人工智能在严肃工作场景的落地成为可能。知识密集型服务业,例如金融、法律、传媒行业,对GPT类技术的需求更为迫切。本文将重点介绍ChatGPT 在金融领域的应用场景。凭借其强大的语义理解、语言生成以及知识整合能力,ChatGPT可以帮助金融机构提高效率、降低风险、提高客户满意度等。具体来说,应用场景包括以下几方面。
一是智能投研。在投研领域,可以文档结构识别的技术与语言生成技术相结合。例如,使用市面上成熟的文档结构识别工具(如PDFlux)对大量的行业报告和公开的信息披露文档进行解析,再通过 ChatGPT进行信息整合,准确把握当前市场热点、行业趋势,帮助研究人员收集整理数据,自动生成文章草稿,提高工作效率。
二是智能客服。银行机构、证券公司通常需要应对大量的客户咨询,其中通常包含大量重复性、单一性的内容咨询,如信用卡申请、账户查询、贷款申请、保险咨询等。使用GPT类大语言模型作为底层技术,开发智能客服机器人,可以精准理解客户的需求,为客户提供高效高质的解决方案。智能客服可以做到24小时在线解决用户需求,提高用户咨询的响应度,提升客户业务咨询的满意度。此外,ChatGPT还可以提供多语言支持,向不同语言的用户提供咨询服务。
三是智能投顾。投资咨询是一项需要高度专业知识和经验的工作,投资顾问需要了解市场、分析数据、制定策略等。ChatGPT作为一个拥有上千亿参数的大语言模型,可以存储海量相关领域知识,并根据需要对其高效检索。通过分析市场数据、历史趋势,ChatGPT从大量投资组合数据中对投资决策进行预测和分析,生成投资决策报告和优化建议,提高投资组合的效率和收益。同时,ChatGPT也可以作为一种交互式投资决策工具,通过对话的方式和客户进行交流,了解客户的需求和投资目标,并结合最新研究报告中的投资建议,为客户提供精准、个性的财富管理方案,可以显著提升机构对长尾客户的财富管理服务质量。
四是风险管理。一方面,ChatGPT可以通过学习历史数据、行业趋势,预测未来市场风险,为风险管理人员预警,并提供相应的风险管理建议。另一方面,ChatGPT还可以对市场、互联网进行舆情监测,通过分析新闻报道、社交媒体咨询,掌握有关机构的声誉和口碑,帮助风险管理人员掌握实时信息,发现和应对潜在风险。
五是交易执行。用户可以通过语音或者文本输入交易需求,ChatGPT将其转化为可执行的交易指令,也能触发预先设定好的交易策略和规则,实现自动买入、卖出等交易操作。
六是投资者教育。ChatGPT以根据投资者资料、偏好和需求,为投资者提供个性化的投资教育服务。得益于ChatGPT强大的对话交互能力,投资者可以通过对话交互的方式,与ChatGPT一对一地进行对话式学习,ChatGPT可以实时分析用户当前状态、抓住用户痛点,针对性地回答投资者的问题、演示投资策略等。经过ChatGPT技术的加持,教育服务可以提升投资者获得感,最终成为金融机构提升服务质量的有力工具之一。
随着技术的不断发展,ChatGPT 技术在金融领域的应用场景将越来越多样化和普及化。金融机构可以根据自身的需求和业务场景,利用ChatGPT技术实现自动化处理和智能化服务,提高效率和客户满意度。
ChatGPT的局限性
ChatGPT的表现已经相当令人惊艳,但依然存在一些局限性,有待进一步探索和研究。
一是事实性错误。ChatGPT给出的回答看起来非常完整且具有逻辑性,但细究内容却会发现其中许多信息存在误差,甚至是“胡编乱造”。二是不擅长形式推理。GPT模型很难在数学或一阶逻辑等形式严格的系统中进行推理。三是信念无法实时改写。当模型表达对某事的信念时,如果该信念是错误的,我们可能很难纠正。四是时效性差。GPT模型无法直接搜索互联网,信息时效性取决于模型数据库的更新频率。
尽管OpenAI致力于不断优化 ChatGPT,使其生成更加中立、客观、安全和翔实的答案,拒绝不当问题,但例外情况仍然不可避免。因此,在对可控性有较高要求的关键任务,ChatGPT并不是最好选择,或者说需要搭配其他算法来谨慎规避风险,尽可能地做到准确无误。
此外,硬件成本高也是阻碍 ChatGPT广泛应用的一大原因。其成本主要可以拆分成训练和推理两个阶段。据估算,在训练阶段,训练一次的成本约为500万美元。而在推理阶段,根据Similarweb的数据,2023年1月份ChatGPT日活约1300万人,每人平均1000字左右的问题,因此合计产生约130亿字(173.3亿个Token)。假设24小时平均分配任务,需要的A100 GPU数量为173. 3亿×2×3000亿/(20%×24小时×3600秒) =601.75 PetaFLOP/S。由于访问流量存在峰值,假定访问峰值是一天均值的5倍,因此共需要602台DGX A100服务器才能够满足当前的访问量,仅仅是每日的电费开支,就达到了5万美元左右。
未来展望
近日发布的GPT-4,再次让人们惊叹于大语言模型的潜力 :在各种专业和学术考试中,表现出与人类相当的能力。学界和业界都在共同期待大语言模型向着通用人工智能继续迈进,以下三个有前景的技术方向让人期待。
首先,增强LLM的复杂推理能力。正如前文所述,近年来GPT等模型的推理能力提升迅速,但其复杂推理能力仍然薄弱。即使是简单的加减乘除运算,如果输入的字符串过长,他的推理能力也会极速下降。如何运用代码训练、增加其他数据类型等方式增强GPT等大语言模型的推理能力,是未来重要的命题之一。
其次,多模态LLM。比起GPT-3.5,全新发布的GPT-4升级为多模态大模型,可以接受图像、文本等多种数据类型的输入,并生成文本。从演示效果看,GPT-4不仅能识别自然图像,还能识别文档图像,能力惊人。人有视觉、听觉、触觉、嗅觉、味觉等五种感官,同理,人工智能也可以进行多模态的输入与输出。未来,将图像、视频、音频等图像与多模态集成纳入大模型,让通用人工智能的发展和应用更具有想象力。
第三,具身智能(Embodied Vision)。GPT-4类似于人的大脑,但仍是在 GPU集群里运行。具身智能指的是,为 GPT-4提供身体,让模型与真实的世界发生交流和互动,并获得反馈、不断优化。多模态LLM让GPT-4耳聪目明,能够听到看到稠密的信息 ;具身智能让未来的模型能够感知物理世界,接收更加全方位的信息。未来,“智能客服”或许不只存在于聊天窗口里,而能在真实世界,以人类的交互方式,辅助完成基础性工作乃至初级、中级知识工作,让人工智能更加通用(如图3)。
图3 人工智能的认知范围不断发展
本文回顾了大模型的训练之路,介绍了ChatGPT在金融领域的应用场景,并指出了其应用中的局限性,分析了未来有可能的技术发展方向。未来学界、业界可以联合研究,将具体业务场景中的多模态数据加入训练,促进大模型的进一步技术发展与应用落地。