AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


大模型辅助研发在金融领域的应用研究
发布日期:2024-11-08 07:12:42 浏览次数: 1839 来源:中国金融电脑+



数字经济时代,各行各业的数字化转型对IT研发模式提出了更高的要求,以往的研发模式已经难以满足快速变化的市场需求。大模型技术的兴起为这一问题提供了全新的解决方案。与传统研发模式相比,大模型在辅助研发方面具有明显优势,能够使企业更加快速地完成系统建设,从而提高市场响应速度,满足业务快速创新的需求。


大模型能在软件工程的各个环节,包括需求分析、系统设计、开发与测试、系统部署上线与运维中提供全方位支持,从而提升研发效率,实现研发全流程智能化,助力数字金融降本增效。大模型辅助研发涉及的环节可以概括为“4D”框架,即需求分析(Demand & Requirement Analysis)、系统设计(Design of System)、开发与测试(Development & Testing)以及部署与运维(Deployment & Operations)。针对“4D”框架中开发与测试的开发环节,笔者团队进一步提出了“GREAT”框架,即代码生成与补全(Generation & Completion of Code)、代码问答响应(Response of Code Q&A)、代码解释(Explanation of Code)、代码注释(Annotation of Code)以及代码翻译(Translation of Code),这些能力共同促进了软件开发的效率和质量提升(如图1所示)。“4D”与“GREAT”框架概括了大模型在软件工程中的主要应用,为华夏银行探究大模型的辅助研发能力提供了方法论指导体系。


图1 “4D”与“GREAT”框架方法论


当前,银行业在IT研发方面面临着巨大挑战。一是开发工具智能化、自动化水平与日益增长的业务系统开发需要不相匹配,也难以很好适应市场环境下产品快速创新的节奏;二是传统的研发模式需要较大的人力资源投入,研发成本较高,在成本控制的背景下,IT研发部门面临着如何降本增效的挑战。这些挑战制约着金融数字化转型的进程,而大模型的出现为这些问题的解决带来了曙光。


一、大模型在辅助研发方面的

能力与优势


基于“4D”与“GREAT”框架方法论体系,大模型应用能够覆盖软件工程全流程,且在各个环节都能发挥较大价值。


1.需求分析

凭借强大的数据处理能力,大模型能够分析海量的市场数据和用户反馈信息,从而更准确地识别和预测市场需求。这有助于研发团队更深入地理解目标用户,从而设计出更符合市场需求的产品。此外,大模型还能够利用自然语言处理技术,从非结构化的需求文档中提取关键信息,生成功能点,协助团队更高效地解读和管理需求。大模型在需求分析方面的优势主要体现在需求分类和类比歧义处理上。


(1)需求分类


需求通常来源于自然语言文档,往往依靠人工方法将其区分为功能性与非功能性需求两个部分,为后续开发实现提供重要指导。大模型擅长使用微调迁移学习技术对功能性和非功能性需求进行分类。金融机构可以在预训练好的大模型基础上,通过微调使其适应特定的分类任务,即区分功能性和非功能性需求,并通过迁移学习使模型能够将在通用文本分类任务上学到的知识应用到需求分类任务上。大模型辅助需求分类在准确性和效率上均优于传统方法。


(2)类比歧义处理


软件需求的歧义往往源于开发者对需求的不同解读,不明确和模棱两可的软件需求可能会导致后期开发阶段的软件交付物欠佳。大模型在提高软件需求的清晰度和精确度方面能够发挥有效作用,通过降低解释的不确定性来推动更高效的软件开发。


2.系统设计

在系统设计阶段,大模型不仅可以帮助设计师生成架构设计、提供设计灵感并优化设计方案,还可以通过分析用户行为数据,为设计师提供关于用户偏好和设计趋势的洞察报告,帮助他们设计出更符合用户需求的产品。此外,大模型还能够辅助进行组件和接口定义以及性能预测。


(1)组件和接口定义


大模型能够助力识别系统中的关键组件和它们之间的接口,通过模式识别和预测分析来优化组件的设计,确保组件的复用性和互操作性。


(2)性能预测


在系统详细设计中,大模型能够利用历史数据和模拟数据来预测系统在不同负载下的性能表现,从而协助工程师在系统设计阶段发现潜在的瓶颈并进行重点突破。


3.开发与测试

(1)系统开发


系统开发主要依靠代码大模型。代码大模型是模型在大规模代码语料库中学习编程语言的统计规律和结构特征,通过语言建模等任务来预测代码序列中的下一个元素。这一过程使模型能够捕捉到代码的上下文信息,理解变量、函数和控制流等编程概念。预训练完成后,模型具备了对代码的深刻理解,为后续的代码生成、补全或缺陷检测等任务打下基础,并在特定任务(如代码补全、缺陷检测等)上进行微调,以适应特定的编程语言或代码风格。通过这种大规模的预训练和微调,代码大模型能够有效地提高编程效率和代码质量。


基于“GREAT”框架,代码大模型辅助开发的相关能力具体表现在以下五个方面:


一是代码生成与补全。代码生成与补全是根据用户需求及特定约束自动生成和补全源代码的过程,它能够将自然语言文本转换为编程语言代码。通过对大规模文本数据进行预训练,构建可以学习丰富语言知识和语义理解的大模型,对自然语言的含义和结构进行解析,并将其转换为相应的代码。与传统的程序合成技术不同,大模型可以以自然语言(如代码注释)为输入,生成编程语言文本,支持对C++、Java、Python等多种编程语言及SQL数据库脚本的生成,提高代码编写的效率和准确性,在代码补全、自动代码生成、自然语言注解转换为代码等方面表现出优异的性能,为软件开发人员提供强大的辅助工具,促进代码编写和开发过程的进一步自动化和智能化。


二是代码问答响应。在代码问答响应场景中,大模型可将开发者提出的问题转换为向量表示,然后在代码库中检索相关上下文,分析问题与代码的关系,聚焦关键部分,然后形成答案,包括生成文本或代码片段,并通过预训练和微调来提升问答准确性。同时,开发者可以使用自然语言与大模型进行交互,针对开发过程中遇到的各种问题进行提问,比如代码逻辑、语法错误、函数用法、库的使用等,大模型能够迅速理解开发者的问题,实时给出答案或解决方案。大模型不仅能够解答关于代码的问题,还能进行代码解释,识别代码中的潜在问题或有望优化的地方,并给出相应的优化建议、代码示例,帮助用户提高代码的质量和效率。


三是代码解释。在代码解释场景中,大模型首先解析代码结构,然后理解代码关键部分,生成深层语义表示,将复杂的代码功能、逻辑和结构转换为易于理解的自然语言描述,提高代码的可读性。


四是代码注释。大模型能够理解和分析代码,生成或更新代码中的注释,以帮助开发者更好地理解代码的功能、目的和实现细节。代码注释是软件开发中非常重要的部分,能够提高代码的可读性与可维护性,促进团队协作。


五是代码翻译。代码翻译是指在不改变代码功能或逻辑的情况下,在不同编程语言之间转换代码的过程。这项任务在系统迁移、代码重构等多个场景中具有一定的实用价值。传统的代码转换方法往往依赖大量的人工操作,对于新兴的或不常见的编程语言,还可能需要重新开发。利用大模型进行代码翻译能够显著降低人力成本,提高翻译质量及效率。


(2)系统测试


在软件测试领域,大模型的引入带来了全新的变革。大模型能够从需求文档中自动提取功能点,然后基于这些功能点模拟出复杂的测试场景,并生成多样化的测试用例,这不仅能够提升测试效率,还有助于开发出更可靠、更高质量的软件产品。另外,大模型还能够辅助开发者进行代码审查。


一是测试用例生成。测试用例生成是大模型辅助开发的关键能力之一。大模型能够理解代码的语义和逻辑,并生成覆盖面广泛的测试用例。这些测试用例全面覆盖代码的各个分支和路径,能够降低程序中潜在的漏洞与风险,提高代码质量和系统的稳定性,实现测试过程的高效与自动化。此外,大模型还能够分析接口文档,根据文档内容生成相应的测试用例,确保接口的功能和性能得到充分验证。


二是代码审查。代码审查是软件开发过程中一项关键质量保障措施,主要用于检查、评估和验证软件代码的质量和一致性,旨在识别潜在的错误、漏洞和代码质量问题,同时增强代码的可维护性和可读性。在代码审查过程中,大模型可协助审查者深入理解代码意图和实现细节,从而更准确地检测潜在问题和错误。此外,大模型可以提供代码改进和优化建议,为审查者提供有价值的见解和指导,使代码审查变得更加高效和精确,从而进一步提高软件质量和可靠性。


4.部署与运维

(1)系统部署


在系统部署阶段,大模型可以根据简单的指令或描述,自动生成部署脚本,优化部署流程,减少人为错误并提高部署效率。


(2)系统运维


在系统运维阶段,大模型结合检索增强生成(RAG)技术不仅能够向运维人员高效、精准地提供运维知识,还可凭借其强大的数据处理和模式识别能力,深入分析日志记录、错误报告,预测系统故障,开展智能监控,显著提高运维工作效能。


二、商业银行大模型辅助研发

实践探索


1.研究情况

(1)代码生成工具应用研究


鉴于大模型对研发效率提升的作用明显,我国已有许多知名企业正在积极推进相关研究探索,也诞生了一批代码大模型产品,如智谱的CodeGeeX、阿里的通义灵码等。华夏银行高度重视大模型在研发中的辅助能力建设,积极探索大模型在研发领域的应用,相关代码大模型的框架如图2所示。


图2 代码大模型框架


华夏银行面向行业主流的代码大模型开展功能测试,从基本功能、兼容性、编程语言支持情况、应用场景等方面综合考量,制定了一系列专项指标,测试相关工具能否满足银行开发人员的实际需求(见表1)。


表1 代码大模型测试情况


通过开展专项测试,华夏银行发现代码大模型能够帮助开发人员完成一部分通用逻辑代码的编写、调试等任务,部分产品的相关功能(如根据代码生成注释、代码问答响应、根据业务描述生成相关代码等)与预期存在一定差距。


(2)算力适配应用研究


华夏银行对相关代码大模型产品进行了多种算力适配,以满足不同的计算需求和环境。初步测试结果显示,部分国产算力与代码大模型产品能够做到快速适配。


(3)辅助系统测试应用研究


华夏银行积极探索大模型在系统测试中的应用,以进一步提升系统测试的智能化水平。在辅助系统测试场景中,华夏银行首先将脱敏后的接口文档和提示词输入大模型,而后结合业务规则等外挂知识库,基于大模型输出相应的测试点及测试案例,随后再对大模型输出的这些测试点及测试案例进行人工标注,计算得出采纳率和完整性等指标。根据实测结果,大模型能够理解接口文档、生成有效的测试点,并按照测试点生成测试案例,实现采纳率和完整性达到70%左右,在辅助系统测试的应用上具备可行性。华夏银行在相关研究探索的基础上,初步构建形成了AI测试点生成工具。


(4)运维知识问答应用研究


华夏银行针对大模型的运维知识问答能力进行了验证性(Proof of Concept,PoC)测试,将运维知识文档上传到知识库,然后通过自然语言方式对各种运维问题进行提问。PoC测试结果表明,大模型能够准确理解用户的问题及意图,结合知识库,针对相关原文快速总结提炼形成答案,有效提高运维人员的工作效率。


2.试用情况

在系统开发环节,华夏银行在私有化环境部署了代码大模型,提供代码生成与补全、代码问答响应、代码解释、NL2SQL、后台管理等服务,供行内部分员工试用体验。目前,已有数百名开发人员进行了试用,在参与试用的开发人员中,有超过90%的开发人员认为该工具能够有效提升开发效率,其生成代码采纳率约为23.6%。


在辅助系统测试环节,华夏银行利用自研的AI测试点生成工具,智能化地分析了近百篇接口文档,自动生成测试点近千个,大幅减轻了测试人员工作压力,提高了系统测试效率。


在系统运维环节,华夏银行研发了基于运维知识的问答系统,目前主要基于NLP技术进行运维知识的搜索查询,并且正在研发基于大模型的知识问答,已经验证了其有效性和可行性,后续将对其进行完善并正式应用。


三、商业银行大模型辅助研发

发展建议


尽管大模型在软件工程中具有巨大潜力,但也面临着一系列挑战和不足,如代码质量欠佳、与业务场景结合能力不足、缺乏统一的标准等。本文从以下三个方面提出发展建议。


1.引入本地代码库

大模型的性能在很大程度上取决于训练数据的质量,如果训练数据中包含大量低质量的代码或者不符合最佳实践的代码,就会导致生成的代码质量欠佳以及代码采纳率较低。为了提高生成代码的质量和准确性,除了提高训练代码的质量,还需要不断训练和改进模型,并引入本地代码库,以便根据特定的代码框架规范生成代码。


2.引入业务需求相关文档

代码大模型在应用于具体业务场景时面临较大挑战,主要原因是它难以理解特定行业的业务逻辑、适配项目上下文以及满足定制化需求。为了增强代码大模型在业务场景中的适应能力,需要将业务需求相关文档作为知识库与大模型进行集成,从而提升模型对业务逻辑与领域知识的理解能力。


3.建立统一标准规范

目前,多家金融机构都在积极探索代码大模型及其应用,由于这些模型的能力不同且比较复杂,亟须制定一套代码大模型的统一行业标准,规范代码大模型的性能、准确性、安全性、兼容性等,作为评估和选择代码大模型时的参考依据,以指导代码大模型的合理应用与健康发展。


当前,代码大模型虽然尚不成熟,无法完全取代人工,但它可以作为软件开发人员的得力助手。随着大模型技术的高速发展,基于大模型编程能力的工具软件将会逐渐落地,越来越多的开发者将使用大模型进行辅助编程。随着用户基数的增长,代码大模型的编程能力将进一步提高,最终达到易用、好用的标准。此外,华夏银行正在深入探索大模型的辅助测试功能,下一步会将大模型应用延伸到测试执行等环节,如生成测试数据集、自动化测试脚本等测试资产。未来,大模型很可能会颠覆传统软件工程模式,实现研发全流程的智能化,进一步推动软件开发行业的发展,并有效解决金融行业研发痛点问题,助力金融科技与数字金融进一步实现降本提质增效。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询