来源:2024年度全国农村金融机构科技创新优秀案例评选
获奖单位:江苏农信
荣获奖项:运维管理创新优秀案例
一、项目背景
江苏农信历来注重科技创新,积极采用分布式、大数据、人工智能、云计算、AIOps(智能运维)等新兴技术,推动IT运维数字化转型,实现系统运维自动化和智能化,提升运维产能和效率,从而更好地保障金融科技系统安全、稳定、持续运行,为客户提供高质量的金融业务服务。
随着ChatGPT 4.0的发布与流行,AI大模型技术呈现快速发展趋势,国家宏观政策也鼓励金融机构进一步投入科技创新,以数智化转型增加金融服务的科技含量。面对新一轮人工智能规模化应用浪潮,江苏农信积极开展生成式AI大模型技术的钻研和探索,以其作为新质生产力建设的发力点之一。其中,信息科技部系统运维团队聚焦研发基于AI大模型技术的运维知识管理平台——“运维小助手”,结合实际工作经验,将传统知识库与AI大模型技术有机融合,实现不同角色的运维人员在多场景中对运维知识、信息的快速查询与运用,辅助运维人员高效利用相关运维知识,使其能够快速作出精准的运维决策,进一步提升运维工作效能。
江苏农信科技系统承载全省农商行万亿级金融资产规模的系统运转,日均处理近亿笔日交易,保障业务的安全性、稳定性与可靠性是一项艰巨而复杂的任务。面对日益增长的海量复杂交易,运维人员缺少快速定位问题、智能辅助分析、自动化归纳总结并形成可复制经验的管理工具,运维管理工作具体面临以下几方面挑战:
1.数据分析与理解能力:随着技术的不断迭代更新和IT架构的日益复杂化,IT运维人员每日需处理的信息量呈指数级增长。他们需要不断学习和适应新技术、新架构,以应对这一挑战。如何快速而高效地分析海量的文本和数据,准确理解并妥善处理这些信息,成为了运维人员面临的一大难题。
2.系统故障问题定位:针对复杂的IT系统,故障预测和诊断工作尤为关键且艰巨。运维人员需深度分析系统日志、性能数据等,以提前洞察潜在故障,迅速定位问题所在,并及时采取解决措施。这一过程中,他们需要凭借丰富的经验和敏锐的洞察力,快速思考,面临的压力巨大。
3.自动化分析与总结:运维工作涉及大量重复性任务,如监控系统状态、记录异常事件、分析性能指标等。因此,撰写事件报告、日周报等文档也是运维工作的重要组成部分。运维人员渴望拥有一个智能工具,能够协助他们完成文档和报告的撰写工作,减少手动输入和整理数据的时间,从而加快工作进度,提升整体工作效率。
4、知识与流程标准化:在IT运维领域,经验和知识的积累与传承至关重要。将各个运维人员的宝贵经验和知识转化为标准化的流程和最佳实践,不仅有助于减轻运维人员的日常工作负担,还能帮助新入职的员工更快地融入团队,掌握工作技能。通过有效的知识管理,可以确保运维团队的知识体系得以持续更新和完善,为银行业务的稳健发展提供有力支持。
二、实践目标和方案
此次实践,目标是在国产的海光DCU上,建设基于AI大语言模型的知识问答系统。借助大语言模型本身的学习能力,在对运维文档进行学习后,回答运维人员提出的问题,从而辅助运维人员快速找到相关的运维信息。让大语言模型从大量未标记的文档中学习知识,通过理解这些文档,大语言模型可以捕捉到其中的关键信息、模型和规律。一旦模型学习到了足够的知识,它就能够对运维人员提出的问题进行理解和回答。这样,运维小助手作为一个强大的辅助工具,能够帮助运维人员便捷得获取所需的运维信息,而无需手动查阅文档,从而提高运维人员的工作效率。
1.总体架构
“运维小助手”的逻辑架构如上图,包括文档预处理、文档向量化、问题解析、问答知识段落解析、答案生成、前端界面等功能模块。
为了兼顾系统在专业性知识的准确性和模型的训练效率,采用将知识外挂作为大语言模型的记忆体的策略,将知识通过BGE-M3这一Embedding模型向量化后存储在可修改的向量数据库中。我们选用LangChain作为基础开发框架来搭建和管理知识库问答系统,不仅为用户提供了便捷的对话交互方式,也为后续的功能扩展和优化提供了良好的基础。而集成的大语言模型BAICHUAN-13B,则承担了系统的核心功能,负责理解用户提出的问题和知识库中的内容,并重新组织语言生成相应的答案返回给用户。
2.知识库的建立
2.1.文档的切分
运维文档的切分是构建知识库问答系统中至关重要的一环。我们需要将文档切分成意思完整且独立的知识段落,作为知识库中的最小单位,用于与用户的问题进行匹配。文档的切分直接影响到问答助手对知识的理解和系统的命中率。
在切分器的选择上,考虑到运维文档中一个章节内上下文的强关联以及对顺序的要求,我们发现LangChain中的通用的切分器如Recursive Character Text Splitter等,所使用的切分依据并不适合运维小助手知识库。在这种情况下,我们自开发了切分器,根据文档中自身的章节结构进行切分,保留了文档内部的逻辑关系和语义连贯性。
在拆分后,我们引入了每个知识段落所在文档的标题作为额外信息,这一策略能在检索过程中能够更加准确地定位到与用户查询相关的知识点,提升命中率,帮助系统更好的捕捉文档的语义信息,使得系统在进行答案检索时能够更加准确地匹配用户的查询。
在使用自开发的拆分器并引入标题作为辅助信息后,测试集问题在知识库中的命中率从60.5%提升到了77.3%。
3.文档内容向量化
在切分文档后,章节内容会被通过Embedding模型向量化,将它们编码为一个统一的向量空间中的向量。我们在对Embedding模型选型时首先尝试了BGE-LARGE-ZH-V1.5,但由于其支持的token数量较低,无法支撑部分较长的运维文档的章节,因此我们最后选用了BGE-M3。其有能力处理较多的token,token数最多可达8192,这足以覆盖主要运维文档的章节长度,从而确保在知识库中,每个知识点都能包括更为详尽和完整的信息。
为了提升模型的表现,我们收集了运维专家针对知识库中的运维文档内容提出的问题,以及在文档中对应的答案。这些问答对作为小样本被用于微调Embedding模型,以确保模型能够更好地理解和捕捉到关键信息,并能够在向量空间中更准确地匹配相应的知识点,从而成功提高了模型在运维文档知识库中的命中率和检索性能。
同时,我们将微调后的模型和基础模型进行了合并。通常对基础BGE模型微调可以提高其在特定目标任务上的性能,但这可能会导致模型在目标领域意外的通用能力严重退化。通过合并微调后的模型和基础模型,可以显著增强特定任务的性能,同时保持其在其他任务中的有效性,为未来拓展其他运维场景铺平道路。
4.大语言模型的微调
我们采用Prompt Engineering来改善大语言模型的表现。Prompt Engineering的核心是在提供尽可能多的上下文信息的同时,通过提供少量示例来更好地让大模型了解当前的任务。大语言模型本身具备一定的关键词提取能力和语义理解能力,可以根据向量化知识库中的内容进行重新理解、提取内容,并组织语言进行回答,但对prompt的用词比较敏感,有时候改变一个词甚至动词都会导致完全 不同的回应。通过多轮prompt的迭代, 我们发现大语言模型可以更准确地根据知识库中提取的相关内容生成相应的回答。
考虑到运维工作的严谨性,为了保证运维小助手的可靠性和安全性,我们也特别调整了prompt的设计,加入例如“根据已知信息”、“不允许在答案中添加编造成分”等限制,以确保大语言模型严格遵循文档所包含的信息来回答用户的问答,避免模型产生hallucinate(虚假的信息)。同时,在回答问题时,运维小助手会明确告诉用户答案出自哪个文档的哪个章节,并展示该章节的内容。这样既保证了答案的真实有效性,又方便用户快速了解答案的上下文。如果用户提出的问题无法在现有文档中找到答案,运维小助手会明确回答用户无法找到该问题的答案,不会虚构或杜撰任何内容,防止了因为误导而可能导致的运维事故的发生。
三、总结
从技术角度来看,江苏农信运维小助手已经端到端走通,在业务专家准备问答测试集中,回答的命中率超过了85%,完成了基于国产GPU的大语言模型知识库问答系统的概念验证,但后续仍需要进一步迭代,持续更新和完善知识库内容,并不断优化模型的表现。
一方面,文档质量是运维小助手系统性能的关键因素。为了确保信息的及时性、准确性和全面性,知识库需要根据行内的运维工作要求持续完善和更新,以提高知识库的质量和覆盖范围,这可能涉及到自动化的文档更新和生产数据读取的机制的引入。
另一方面,模型本身的能力也至关重要,因此建立健康的模型生命周期是必不可少的。在用户使用过程中,不断收集用户反馈,并依据反馈数据定期对模型进行微调和性能评估,以确保模型始终能够保持高效、准确和可靠。
更多金融科技案例和金融数据智能优秀解决方案,请在数字金融创新知识服务平台-金科创新社案例库、选型库查看。
热门跟贴