图书情报领域大模型的应用模式和数据治理

图书情报领域大模型的应用模式和数据治理

2023年12期【本期推荐】

作者:刘倩倩、刘圣婴、刘炜

来源:刘倩倩,刘圣婴,刘炜.图书情报领域大模型的应用模式和数据治理[J]. 《图书馆杂志》网络首发.https://link.cnki.net/urlid/31.1108.G2.20231108.0935.002

【摘要】本文探讨了图书情报领域大语言模型的数据治理要求与开发模式。大语言模型是依赖海量文本数据,经过无监督预训练及有监督标注数据微调而成。领域大模型则是通用大模型经过领域数据的微调而得到,具备解决领域问题的能力,满足领域应用需求。本文首先回顾了生成式人工智能的突破历程,介绍了大模型的基本原理和应用现状,重点分析了大模型所具备的多任务能力背后的数据因素和数据需求。最后讨论了领域大模型的应用潜力和开发模式。本文的主要贡献在于分析了图书情报领域大模型的应用模式和数据治理,为图书馆行业应用生成式人工智能技术提供了理论依据和实践指导。同时,文章也讨论了行业大模型应用和评估时需要关注的问题和局限性。

0 引言

红杉资本在今年9月发布了题为《生成式人工智能进入第二阶段》的人工智能报告①,这是继2022年9月发布《生成式人工智能:一个创新世界》②报告之后的第二次前瞻性研究报告,再次为大语言模型带来的人工智能突破性进展指明了未来的发展方向。在这份报告中,红杉资本认为,热点炒作和快速展示正在被真正的价值和完整的产品体验所取代,人们逐渐从“生成式人工智能”带来的“AGI(通用人工智能)”幻觉中醒来,并已不再满足于直接的应用,如“聊天对话”和“虚拟助手(副驾驶)”,而是面向行业,嵌入平台、融入过程,寻求另一种颠覆模式。

图书馆行业历来对新技术保持高度关注,许多公司都在探索领域大模型的应用。在最近召开的中国图书馆学会2023年会上,云瀚联盟成员武汉博看公司率先发布了一款基于领域大模型的参考咨询应用。然而,如何尽快进入“第二阶段”,从整个行业的角度审视平台、流程和应用模式,发掘领域数据的真正价值,仍然值得深思和探索。

1 大模型及其应用模式

1.1大语言模型的生成机理

大模型是大语言模型的简称,是一种基于深度学习技术,通过使用巨量的语言数据进行训练,构建出具有数十亿乃至上万亿规模参数的自然语言处理模型。由于当前越来越多的大语言模型具有了多模态能力,能够同时处理图文音频视频等各类媒体,因此称之为“大模型”似乎更为确切。大模型最初是OpenAI公司基于谷歌的Transformer算法,通过向90多层的神经网络提供非监督式学习数据(即未经任何人为的加工处理),然后经过相对较少的标注数据,利用监督式上下文指令微调而得到的AI模型。OpenAI的技术人员发现,当文本数据量(经向量化)后达到近千亿token规模时,模型能够产生神奇的泛化和推理能力,支持零样本或少样本学习,即所谓“涌现”现象,虽然对此还没有明确的解释,但其效果已经开始产生巨大的应用和商业价值。

OpenAI将其大模型命名为GPT(Generative Pre-trained Transformer),即生成式预训练模型,它的训练主要经过两阶段:

阶段一:无监督预训练(Unsupervised Pre-training)。采用语言模型(Language Model)技术,预测给定一段文本的下一个单词是什么。不需要标注的数据,只使用未加标注的文本语料库进行训练。训练时采用Transformer结构,使用自注意力机制和残差连接来实现信息流的跨层传递(也即自监督),使得模型可以更好地学习到文本的上下文信息,从而更好地进行文本预测。利用超大规模文本数据进行无监督学习是大模型产生“涌现”现象,带来零样本学习的泛化和推理能力的关键。OpenAI从GPT-2到GPT-3敢于投入100倍的数据进行“暴力”训练,先使其具有了“百无一用”的“通用智慧”,然后再通过监督式微调和上下文指令学习让它成为“全才”,把能力用在各类具体的任务中,这样就解决了既要大模型聪明又要有动手能力的矛盾,成为能够理论联系实际的三好学生。

阶段二:分三个主要步骤:有监督的微调(Supervised Fine-tuning:SFT)、奖励建模(Reward Modeling)和强化学习RLHB,利用带不同标签的标注数据或与人类互动的方式进行有监督的语义微调和指令微调(Supervised Fine-Tuning和Instruction Fine-Tuning)。预训练模型本来只能进行“文字接龙”,即预测下一个词,而微调过程能够使得模型通过提示词Prompt支持各种特定的任务(例如问答、实体识别、情感分析等),甚至支持思维链(Chain-of-thought)的“思考”方式,从而能够满足各种操控语言的需求,例如翻译、摘要、问答、写作等。这两个阶段四个步骤相互之间是串行的,在每个阶段都有实现特定目的的训练算法,以及一个数据集为这个阶段提供“燃料”,运行后我们得到有一个结果模型。具体如图1所示。

图1GPT模型训练的两个阶段(四个步骤)

ChatGPT作为大模型的第一个爆款应用,推出5天用户破百万,两个月活跃用户就达到一亿,迅速出圈,引发大模型及其应用的开发浪潮。一方面人们在不断探索训练通用大模型和领域大模型的方法,试图突破少数公司控制大模型的局面,另一方面大模型如何获得更广泛的应用,也是一个研究热点。迄今除了被认为是大模型“原生应用”的聊天和助手(“副驾驶”)两种主要方式之外,各类融入行业嵌入过程的落地尝试层出不穷,迅速形成了以Langchain为代表的开发框架和Huggingface为代表的开放资源中心,各种环境的开发框架、开放代码、开源数据、经验分享不断涌现,多模态、智能体等热点突破以极快的速度形成趋势,让人目不暇接,新一轮开发模式的创新和生态竞争就此展开。

总结目前的成果,对于开发图书情报领域应用有着至关重要的意义。我们不能满足于根据大模型目前显现的能力而进行简单的“畅想”,而必须深入了解大模型具备这些能力的机理,以及如何结合领域需求,深刻领悟用户的需求,重新思考过去的业务流程和服务模式,开发出真正满足用户需求、具备这些能力的应用。

1.2大语言模型的应用框架

目前已形成的大模型应用基本框架,大致可分为大模型层、知识库层、应用集成层(后台)、数据治理层和用户应用层(前台)等几个部分,如图2所示。在大模型应用中,大模型与知识库共同构成数据基础,类似于传统应用的底层数据库层,提供数据能力,这种结合了检索能力和生成能力的大模型应用通常被称为“检索增强式生成”(RAG:Retrieval Augmented Generation);用户应用层是通常所指的前台,提供各种环境的用户交互;而中间则是应用集成层,支持业务逻辑的各种API调用。大模型应用有一个独立的数据治理层,是因为数据的加工处理和交互在大模型应用中是一个动态伴随的过程,而不再是静态前置的状态条件,大模型应用中数据的增删改查有多个目的地和复杂的功能。

图2大模型应用的基本架构

大模型层的主要功能是提供基本的知识和语言能力。此外,它还能够结合上下文学习调整参数、并借助新知识获取能力实现模型的逐步进化。然而,如果将大模型的能力直接应用,通常只能通过对话聊天的方式,这不仅在应用形式上存在一定的局限性和单调性,而且效果也不一定理想。大模型往往不具备丰富的领域知识,甚至对其所在单位的知识也可能不够了解。

向量知识库则被用来提供额外的知识支持。尽管优秀的大模型具有强大的知识泛化和推理能力,但在不具备特定领域知识的情况下,它们往往只能给出较为泛泛的回答,甚至在缺乏领域知识时倾向于借助“幻觉”来提供答案,这显然并不合适。相比于参数微调的高昂成本和效果的不确定性,向量知识库通常能取得更好的效果,它还能显著降低大模型产生“幻觉”的概率。

应用集成是指大模型应用开发的后台,相当于传统互联网应用开发中的三层架构模式中的中间件。传统应用针对不同的应用环境都有成熟标准的应用框架提供支持,如移动应用、云原生应用等。虽然大模型应用目前尚未形成成熟统一的架构规范,但已经出现了一些通用的做法和可供复用的框架。例如在Langchain和谷歌的Colab环境中,都提供了与不同大模型API对接的接口规范、不同向量知识库接入,以及不同向量化嵌入方式的选择等,能够帮助应用根据不同情况进行灵活调度分发和数据处理,以对接不同特点、能力或性价比的大模型。正在兴起的多模态和智能体应用,更是依赖于应用集成框架的能力。除了上述功能,应用集成层还需要负责应用的托管、版本迭代和管理、用户提问的核验、缓存、服务的扩展、负载均衡和事务处理等功能。

数据治理层提供各类数据获取和加工的需求。领域大模型应用有三种实现方案,其核心就是领域数据的不同应用:①应用于微调,使大模型能够适应特定任务或具有领域知识;②应用于对领域文本数据进行分块(chunk)并构建向量知识库,从而强化语义检索能力并为领域应用提供自然语言交互;③应用于上下文嵌入或提示词工程,帮助大模型与丰富的外部数据进行动态交互,进一步扩大大模型的应用范围,实现用户提问的智能处理并进行多轮交互等等。数据治理层是提供对数据进行获取、清洗、分块、转换、标注、归一、增强、存储和评价等能力的综合性模块,是实现大模型领域能力的关键。

用户应用层作为前台负责与用户交互。大模型应用的前台除了支持各类设备和交互方式之外,最特别的地方在于它本身就是一种交互方式的革命。它赋予了用户以自然语言方式与机器系统进行交互的能力,包括文本和语音,可以指令机器系统实现从回答问题到完成各类任务的操作,因此大模型应用本身就可以作为任何复杂系统或应用的前台。

2 大模型开发中的数据需求

智慧来源于数据,大模型“涌现”出的通用能力充分证明了这一点。在算法(目前如GPT等都是基于深度神经网络的算法)和算力(目前都是依靠大吞吐量支持并行计算的图形处理器GPU)得到一定保障的前提下,数据决定了大模型的能力,虽然其中是否有确定性的机理目前还尚未可知,但大致而言,数据的内容、体量和质量决定了大模型的好坏。

预训练模型、指令微调模型(又称为上下文学习模型,包括监督式微调模型、奖励模型和基于人类反馈的强化学习模型等)和各种领域模型都是由不同的训练数据所决定的。例如Meta公司著名的开源大模型LLaMA(参数量从13B至65B)就采用了网页文本、Github代码库、维基百科、图书、开源论文和股票交易数据等进行训练(如图3所示),据说OpenAI这类闭源模型公司虽然没有公开数据源,但大致也差不多。目前有许多拥有高质量版权数据的公司也开始训练自己的领域模型,是否能够以小规模数据获得很好的效果,很多领域应用公司都在进行各种尝试,我们可以拭目以待。

图3Meta公司的LLaMA预训练模型所采用的数据集①

预训练模型只是让大模型拥有了一定的知识并“涌现出”了一定的智慧,但要让大模型听懂人的指令、应用于帮助人类解决具体问题,最关键的步骤是需要经过“指令微调”,即给予一定的标注数据,让它按照人的要求进行操作并与人交互。目前比较成熟的做法如图4所示。

图4大模型指令微调的三个步骤(三种类型)

“提示词”是发挥指令微调模型功能的最直接的方式,很多提示词框架都揭示了微调模型背后的“秘密”,即如何利用标注数据“激活”大模型智慧。通常指令微调能够增加大模型对于各类指令的理解能力和适应性,上下文学习能够增加大模型的知识,而提示词学习包括了上述两个方面,能够很好地增加大模型的应用场景。

然而模型的预训练与调参都需要用到大量的算力,成本高昂,绝大多数机构都无法承担,因此普及大模型应用的主要方式并非参与大模型训练或微调,而是选择已经微调好的大模型作为“基座”,来开发下游应用,利用开发框架、根据需求场景,设计数据管道、提示词模板和数据嵌入方式,必要时可采用向量知识库和智能代理,在应用中不断优化模型、优化系统,利用“飞轮效应”,建立差异化模型,在一定程度上建立护城河,拉开差距。

3 领域大模型的构建

3.1大模型应用的两种方法

大模型所具有的通用能力经常对于领域应用也不在话下,曾有专家认为大模型只要足够“大”,其能力通常可以覆盖甚至超越一般领域模型,然而很多领域知识具有动态性和复杂性,对于领域应用而言,不能仅仅依靠大模型的能力,还必须考虑依靠行业数据对大模型进行微调,或者在通用大模型的基础上,借助于向量知识库或其他方法,开发面向行业的应用。

通用大模型在行业领域内的应用被称为行业模型,是为了解决行业问题而利用行业数据对通用模型进行训练和增强。过去仅仅依靠行业大数据训练出来的行业模型通常不具备通用模型的泛化和推理能力,因此这类模型只能算作专用模型,其能力是非常受限的。

利用行业数据训练通用大模型通常有两种做法:

第一种是用行业数据对通用模型进行继续训练、微调等一系列改变模型权重的方法;

第二种是不改变通用大模型的权重,用上下文学习(in-context learning)的能力通过提示词(prompt)注入领域知识,或者利用外挂数据库的方式提供领域知识。

前者由于改变了模型的权重,可以称作是训练(微调)了一个行业大模型,后者则基本只能认为是通用大模型的领域应用了,因为它并没有改变通用模型。但由于对用户而言使用效果差不多,很多公司都以这种方式宣传和提供大模型应用,所以通常很难区分。这两种方法都能够很好地利用大模型已经具备的迁移、泛化和推理能力,并将大模型能力应用到解决领域问题中。

具体的领域应用情况很复杂,需要应用开发框架支持各种情况。图5是指导领域模型应用开发需求判断流程的具体图示。

图5领域模型应用需求确定流程

3.2领域大模型的构建方法

OpenAI的成功不仅让大家看到了大模型的能力,而且形成了一整套工程化方法用来构建大模型应用,虽然对方法的探索还在不断完善,但已基本形成了一定的模式。目前较为成熟的构建方法有以下数种:

(1)从头构建。使用通用数据和领域数据混合,从头开始训练一个大模型,这当然只有极其个别的行业机构才能够承担,例如金融、医疗、法律、教育等领域,最典型的代表就是布隆伯格的金融大模型Bloomberg GPT。

(2)二次预训练。可以认为是在通用预训练模型基础上,利用领域数据(通常也要按照一定配比关系混合一些通用数据,否则往往会使原有大模型已经具备的能力退化甚至消失)进行数据调参,这种方式被称为继续预训练或二次预训练。像Law GPT就是做了二次预训练的。这种方法具有很强的不确定性,现有实践普遍反映效果一般,还没有指令微调效果好,有人认为是数据质量和数据配比问题。

(3)指令微调。在一个通用模型的基础上利用标注数据进行监督式微调,即称为指令微调(instruction tuning,也称为supervised fine-tuning),这是大模型具备任务响应能力的关键,也是现在开源社区最普遍的做法,有很多“领域大模型”比如“华佗”、Chat Law等都是这样做的。这种做法的优势是可以快速看到不错的结果,但通常有天花板效应,已有效果很难获得更大的提高。

(4)结合向量知识库方式。各类大模型加上领域知识库,针对已有大模型缺乏领域知识的问题,利用向量数据库等方式根据问题在领域知识库中找到相关内容,再利用通用大模型强大的泛化和推理能力以及对各类指令的适应性生成回复,这是目前大模型实现领域应用的主流,也已经有不少开发框架可以直接应用,在Langchain和HuggingFace中可以找到很多开源框架,当然微软等越来越多的公司也提供他们的解决方案。

(5)通过上下文学习方式。上下文学习(即in-context learning)是一种提示词回馈,通过构造和领域相关的提示词(包括指令、示例等,可综合采用提示词模版),再通用大模型生成回复,类似于上述向量知识库方式的简化版。这种方式通常受限于大模型每次能够接受的token数(即记忆容量)。随着业界把上下文标签(token)数量(也称为context window)越做越大,提示中可以容纳的知识也越来越多,直接用通用大模型也可以对领域问题有很好的回复。

上述5种方式既可以综合采用,也可以独立实现。第1种“从头训练”费用高昂且结果不可控,因此一般不推荐采用;第2和3是在通用大模型的基础上进行微调,对参数权重进行了调整也增加了知识内容,是训练行业大模型的典型做法,也需要想当成本,目前我们能够用来进行微调的都是开源大模型;第4和5都是部署大模型来解决行业问题,它是利用2或3的结果作为基础模型(又称为基座模型)而进行的应用开发,只能算是一种大模型应用,目前有很多宣称自己开发了大模型的厂商其实都是这种情况。目前如果采用最优秀的商用大模型(例如GPT4)在其下游搭建应用,常常能够得到更好的效果,当然这种应用模式也有较高的使用成本,在开放给最终用户使用时也会有合规性问题,因此通常只能作为内部使用或效果对标(benchmarking)。

3.3领域大模型应用的评价

从领域大模型应用的各种架构方式可以看到其应用效果受到多方面因素的影响,可以用公式进行表示如下:

大模型应用效果=(通用模型+调参效果)*(向量知识库+提示词)^智能代理

其中最重要的是大模型本身的能力。目前大模型能力参差不齐,有实力的公司还在不断暴力训练更大的模型,另有知名高校和团队也同时在探索模型优化方法,试图融合其他算法,以高质量的小数据训练出超水平的大模型,对下游应用而言,需要跟随发展的步伐,尽可能选择当下最优秀的大模型进行尝试,否则就无法了解其所具备的知识、能力和发展潜力。

前不久国内发布了首批通过《生成式人工智能服务管理暂行办法》备案的八个大模型,他们是:百度的文心一言,抖音的云雀,清华智谱的GLM2,中科院的紫东太初,百川公司的百川大模型,商汤的日日新,上海MiniMax的ABAB大模型和上海AI研究院的书生通用大模型,不在名单上的阿里通义千问、讯飞的星火以及更多的模型通过备案也只是时间问题,国外的大模型如著名的OpenAI的GPT-3.5/4、Falcon的1800亿参数大模型和Meta的开源大模型LLaMA-2的几个版本都将通过代理并经过合规性开发之后进入国内,许多闭源模型用来训练的数据并未公开,但效果都不错。基座大模型的爆发式增长意味着大模型应用的大发展时代即将到来。

好的通用大模型可以不经过调参直接使用,结合其它方法也能在一定程度上解决领域问题,当然有一类好的大模型也特别适合调参,对于金融、医疗、法律这样具有广阔市场的领域,常有更加丰富的特定细分任务,并具有非常丰富的数据,值得加工成特定格式或进行特定的标注,经过经验丰富的调参高手微调之后,常常能取得很好的效果。这也是非常值得做的。

采用提示词技巧和框架发挥大模型已有的能力,或利用向量知识库方式使大模型具备本来没有的知识,都逐渐成为大模型应用开发的常规操作,涉及数据类型、向量算法、向量数据库解决方案(Pinecorn、Chroma等)、应用开发框架等,各方面技术都在快速成熟中。

目前大模型应用不仅能够提供对话、翻译、文字生成、文本提取以及分析能力,还能够以API方式开放这些能力被其它应用所调用,或者调用其它应用的API实现各类业务流程的自动化,即实现“智能体”(又称为智能代理)的功能,另外还可以用到很多大模型的多模态能力,在文本、图像、音视频等媒体之间任意切换组合,图书馆服务尤其需要这方面的能力,这些能力有赖于大模型本身素质的提高,以及领域应用开发能力的进步,为智慧图书馆的未来发展提供了极大的潜力和非常丰富的想象空间。

4 领域大模型应用中的数据治理

4.1大模型数据治理的特点和范围

数据是大模型的基础,是决定大模型应用效果的最为关键的因素。随着大模型应用的广泛开展,数据在人工智能中的作用被显著放大,从而产生了以数据为中心的人工智能这一新兴概念,究人员和从业人员的注意力逐渐从推进模型设计转向提高数据的质量和数量。对于大模型应用而言,没有好的数据治理就没有好的应用效果,因此大模型应用相关的数据治理应该尽早引起足够重视并得到深入研究。

数据治理通常是指对数据进行管理和控制的流程和策略,目的是确保数据的质量、可靠性、安全性和合规性。数据治理包括数据采集、存储、处理、分析、评价和共享等多个环节,需要制定相应的规范、标准和流程,以确保数据的正确性、一致性和完整性。大模型训练、微调和应用开发所涉及的数据治理问题与一般的数据治理既有一致性又有特殊性。总体而言,大模型的数据治理与大模型的应用过程联系十分紧密,由于其本身还没有形成稳定的方法论,因此不像一般企业机构的数据治理那么成熟,具有一定的系统完整性和独立性。大模型的数据治理问题目前还不能脱离其应用流程独立进行。

大模型与数据的关系如同大脑与知识的关系,既相互依赖不可分割,又彼此独立相辅相成,因此大模型相关的数据治理要以大模型应用的开发目标为宗旨,紧紧围绕应用目标制定相关的数据策略,既要考虑到大模型应用整个生命周期,例如数据存档、加工复用、版本控制、质量检测、追踪度量、备份恢复等多个方面,还要注重法律、规定、版权、行业标准和道德等方面的要求和约束,以确保应用的合规性和安全性。

大模型训练和应用开发过程所涉及的数据通常有以下类型:

(1)文本数据或其它原始数据。可用于非监督预训练,也可提供参数微调增强领域能力,或提供指令微调以适应领域任务,及增加领域知识。例如通用汉语语料库。

(2)领域数据,包括各类文本数据,需要分块处理并选择一定的方式进行向量化,领域数据也可用于模型调参,或经过标注之后进行指令微调。例如海量古汉语原始语料库。

(3)标注数据。是进行指令微调的数据主体,包括问答、评价、情感标注、对齐等,主要提供标注标签和格式指南,以及高质量的标注数据集。例如图书馆参考问答库。

(4)测试评价数据。需要构建一定规模的语料库,并考虑制定适应不同目的的语料库的标准规范。

(5)提示词框架模版。总结整理图书馆相关领域应用的提示词框架,结合嵌入方式,提供各类词表(角色词表、任务指令词表、示例词表等等)。

(6)知识库构建。例如要以问答方式提供图书推荐等,就可以考虑构建书目数据的向量知识库;或把图情百科等大量传统的工具书作为高质量数据开发成大模型应用时进行语言生成的知识库。

随着大模型应用的成熟,数据治理不仅包括用于构建和完善大模型时的训练数据,还包括应用过程中的推理数据(如用于检索增强RAG的向量知识库数据、提示词框架数据和应用测试数据等)、上述类型的数据都需要进行系统规划、收集、加工、处理、保存和版本管理与更新,以保证大模型训练和应用开发的一致性并提供测试评估的基准。

4.2大模型应用的数据处理步骤

大模型应用涉及多个流程都需要进行数据处理,领域模型应用除了需要领域数据之外,还需要对领域任务提供一定的标注响应。整个数据处理流程目前越来越多地考虑借助大模型本身的能力来自动实现,当然前提是经过人工实验很多方法是切实可行、具有良好效果。

(1)数据收集:收集足够多、足够好、足够相关的文本数据,以便训练出高质量的语言模型。通用数据的收集有很多现成的方法以及开源的数据,例如通过爬取公开可用的网页、新闻、社交媒体等文本资源而建立的Common Crawl、Wikipedia、Book Corpus等,医学、法律、金融等大型应用领域也有很多开源或可以售卖的数据集,但图书情报这类专业性较强怼领域还非常缺乏高质量的、标准化的数据集,有待投入专门力量进行建设并共享。

(2)数据预处理:对原始文本数据进行清洗、分词、去除停用词、词干化等处理,以便后续模型训练使用。预处理是提高数据质量的关键,随着领域应用的开展,对预处理的要求也将日益明确和丰富。

(3)构建数据集:将预处理后的文本数据划分为训练集、验证集和测试集,并构建数据加载器,以便在训练过程中高效地加载和处理数据。由于领域应用的参数微调和指令微调对数据的要求不同,后者一般都需要添加各类标注或注释(即遵循指令的期望输出),并按照不同训练框架的要求存成不同格式。

(4)模型定义:使用深度学习框架(如Tensor Flow、PyTorch等)定义语言模型的架构,如Transformer或LSTM等。定义模型的输入形状、网络层、激活函数等。确定模型的训练

参数和超参数,如学习率、批次大小、优化器等。应用效果的好坏是模型与数据交互的结果,随着经验积累对数据治理的要求也会逐渐明晰。

(5)模型训练:定义损失函数,如交叉熵损失或自定义损失函数。使用反向传播算法计算梯度,并根据优化器的选择更新模型参数。迭代训练数据集,通过前向传播和反向传播更新模型参数,逐渐优化模型性能。这部分比较专业,高质量的数据对于训练结果的影响是巨大的。

用大语言模型自动生成可用于微调的领域指令数据(self-instruct)已经成为一种通行的做法,甚至可以根据给定的文本逆向产生指令(称为指令回译back translation),当然原始数据样例和生成模版都是需要人工创建并测试的。生成方式通常包括以下步骤:

(1)模型选择:不同的预训练模型所需要或生成的数据是不尽相同的,首先需要确定预训练模型,例如GPT-4,这个模型已经在大量的通用文本数据上进行了训练,学习了丰富的语言模式和表示。

(2)生成数据:使用预训练模型生成多样化的提示和响应数据。例如,GPT-LLM-Trainer模型训练器可以利用GPT-4模型根据提供的输入用例生成数据。

(3)系统消息生成:为模型的交互设计最佳系统提示,以引导模型生成符合领域特性的数据。

(4)微调过程:生成数据集后,系统通常会自动将其拆分为训练集和验证集,然后根据这些特定于任务的数据对预训练模型进行微调,以达到更多针对任务优化的参数权重。这样,即使数据量较少,微调也可以帮助你实现良好的性能。微调时,模型只更新新增部分的参数而保持原有模型的参数不变。这样,微调一个大模型的显存消耗量就被限制在了模型参数量的确定倍数。

(5)根据需求定制:经过预训练的模型可能无法掌握你特定领域的术语和缩写。例如,一个普通大模型不会认识DL是数字图书馆的缩写,或NFT代表“非同质化代币”而不是其他,经过微调之后就能够准确识别领域词表和缩略语。

4.3大模型数据治理的考虑因素

在众多的数据治理影响因素中,以下6各方面对大模型应用效果的影响是最大的:

(1)数据质量:数据质量直接影响最终语言模型的质量,其重要性甚至可能超过模型架构和训练技巧。因此,我们需要确保数据集的准确性和可靠性。

(2)数据多样性:数据的多样性也是非常重要的。例如,LLaMA项目在训练中只使用了开源的数据源,证明了只用开源数据也能训练出性能优秀的大语言模型。

(3)数据预处理:在训练前,我们需要对数据进行预处理,如分词等。这一步骤可以帮助模型更好地理解和学习语言的结构。

(4)特定类型的数据:我们可以用特定类型数据的训练,来完成特定类型数据的输出。例如,如果我们想训练一个专门用于法律文档的模型,就需要使用大量的法律文档作为训练数据。

(5)数据管道(pipeline):整个训练过程可以分为三个阶段,数据管道、模型训练和推理。在数据管道阶段,我们需要搜集、清洗、预处理和存储数据。

(6)公开的通用数据集:领域大模型的应用开发不能只有领域数据,否则很可能会降低大模型的应用效果。有很多公开的数据集可以用于大语言模型的预训练和微调。这些数据集可以帮助我们节省部分数据准备时间,并带来启发。

4.4不同指令微调数据样例

数据样例对领域模型的微调和开发具有重要的参考价值,绝大多数开源数据集都可以在Hugging face上找到,其中最知名的训练数据集有OASST1和FLAN,几乎已成为业界标准。

Open Assistant Conversations(OASST1)是一个由人工生成、人工标注的助手式对话语料库,包含35种不同语言的161,443条信息,标注了461,292个质量评级,形成了超过10,000个完全标注的对话树。该语料库是全球众包工作的产物,有超过13,500名志愿者参与。

FLAN数据集由Google创立,用于指令调参,目的是训练大型语言模型能够根据自然语言的指令来执行不同的NLP任务。FLAN数据集有两个版本,原始的Flan2021和扩展版Flan Collection。Flan2021数据集中已有603个各类中文数据集(20231005),著名的如北京智源牵头的COIG-PC指令数据集,目前COIG-PCv1数据集整合3.6亿条中文指令数据集,3000+个中文自然语言任务,45B+tokens,是目前最大规模、可商用的开源中文多任务指令集。谷歌最新的Flan-T5通过在超大规模的任务上进行微调,能够让语言模型具备极强的泛化性能,很好地支持零样本或少样本学习。这意味着模型一旦训练完毕,可以直接在几乎全部的NLP任务上直接使用,实现”OnemodelforALLtasks”,这就是高质量微调数据集的强大之处。

以下是几种用于不同目的大模型训练的数据样例:

样例1预训练数据
样例2监督式微调数据
样例3监督式微调数据的JSON格式
样例4三类指令微调数据样例(各一)

5 领域大模型应用的数据质量和效果评估

5.1数据质量控制的主要因素

质量控制无疑是数据治理的重中之重。在大模型训练的数据质量控制方面,最重要的是以下几个因素:

(1)数据来源和质量:图书馆领域数据的质量因素主要有:版权、版本、来源、格式、配比等,确保训练数据来源可靠,内容准确无误,避免引入错误或有偏见的信息。同时,数据应具有代表性,涵盖各种场景和领域知识。

(2)数据预处理:对原始数据进行清洗、去重、分词等预处理操作,以提高数据质量和模型训练效果。

(3)标注数据:在有监督微调阶段,需要利用带标注的数据进行语义微调和指令微调。标注数据的质量直接影响模型在特定任务上的表现,因此应确保标注准确且一致。

(4)数据平衡:避免训练数据中存在严重的类别不平衡现象,以免模型在某些类别上过拟合或欠拟合。可以通过采样、加权等方法平衡数据分布。

(5)数据规模:训练大模型需要海量数据,以便模型能够充分学习语言结构和规律。在预训练阶段,使用大规模语料库进行训练;在调参阶段,根据任务需求选择合适数量的数据进行指令微调、上下文学习和提示词学习等操作。

(6)成本和资源:训练大模型需要考虑算力、数据加工等成本。在评估行业大模型时,应关注其使用的方法、数据量、计算资源和工作量,避免盲目追求技术炒作。

在应用阶段,对大模型应用进行评估最重要的关键因素可以简化为两个方面:第一是真实性:LLM生成的结果准确性至关重要,包括事实的正确性以及推理和解决方案的准确性,第二是速度:模型产生结果的速度很重要,特别是当大模型需要部署到关键功能时。

总之,在大语言模型训练时的数据质量控制方面,需要关注数据来源、质量、预处理、标注、平衡、规模以及成本、资源、效率等多个因素,以确保模型能够在各种任务和场景中取得良好的表现。

5.2大模型能力评估的步骤

目前对于大模型能力的评估,业界正在形成一定的评估原则、方法和框架,也有一些自动化客观评估的尝试,但还没有形成一致的评估标准,基本采用主观评估为主。

一般LLM应用的评估大致分以下两个步骤:首先需要创建一组关于相关的问答测试集(包含了问题和标准答案),让LLM回答测试集中的所有问题,并收集LLM给出的所有答案。然后将LLM的答案与问答测试集中的标准答案做比对,并给LLM的表现评分。此外,可以参考市面上已经存在多个评估LLMs的框架,虽然没有一个框架足够全面,无法覆盖所有自然语言处理任务,因此建议在评估LLM时,可同时综合考虑多种评估框架和方法。

具体的评估内容主要集中于模型的自然语言处理能力,例如自然语言理解能力,包括语义分析、文本分类等;自然语言生成能力,包括摘要、对话、翻译、问答等;推理能力;多语言能力和事实获取能力等,当然对其固有的“幻觉“和偏见的控制能力、与人类的伦理道德的一致性也常常是评估的重要方面。

5.3大模型应用效果评估的重要指标

评估因素需要落实到具体的评估指标,具体评估的重要指标主要有以下一些:

(1)困惑度(Perplexity):衡量模型对新数据的预测能力,困惑度越低,表示模型对数据的拟合效果越好。

(2)语言模型下游任务:通过在特定任务上使用预训练语言模型进行微调,以评估模型的泛化推理能力和语言理解能力。

(3)人类评估:通过人工判断预训练语言模型生成的文本是否符合语法、逻辑和语义等方面的要求,以提供更客观的评估结果。

(4)对抗样本攻击:通过对预训练语言模型输入进行修改,使其输出错误结果或误导结果,以评估模型的鲁棒性和安全性。

(5)多样性和一致性:评估预训练语言模型在生成文本时是否具有足够的创造力和一致性。

(6)训练效率和存储空间:考虑模型的训练效率和存储空间等因素,以评估模型的实用性。

(7)精度(Accuracy):衡量模型预测正确的比例。

(8)校准和不确定性(Calibrationanduncertainty):评估模型预测结果的可靠性和不确定性。

(9)稳健性(Robustness):衡量模型在面对输入扰动时的性能稳定性。

(10)公平性(Fairness):评估模型在不同群体之间的表现是否公平。

(11)偏见和刻板印象(Biasandstereotypes):衡量模型是否存在不合理的偏见和刻板印象。

(12)有毒性(Toxicity):评估模型生成的文本是否具有有害或攻击性内容。

(13)效率(Efficiency):衡量模型在计算资源和时间方面的性能。

上述指标所代表的术语都能够通过一定的算法自动获得。当然一些关键性指标,最终评测还是依靠人的判断进行统计打分,例如准确度和查全率,可以准备一个包含问题和标准答案的测试集,涵盖领域范围和各项任务,让大模型回答测试集中的所有问题,并收集大模型给出的所有答案。精度是指计算模型正确预测的样本数占总样本数的比例,查全率则是计算模型正确识别的目标实例占总目标实例的比例,类似于情报检索中的查准率和查全率。在评估过程中,可以参考现有的评估框架和方法,例如使用ROUGE度量来评估文本摘要任务的查全率。此外,还可以使用混淆矩阵和分类报告来了解模型在不同类别之间的表现。需要注意的是,与情报检索类似,精度和查全率之间通常存在权衡关系。在某些应用场景中可能精度更重要,而另一些场景查全率可能更重要。在需要同时关注查准率和查全率的情况下,可以用F1分值(下述)作为综合评估指标,它是查准率和查全率的调和平均值。

5.4大模型应用的自动评估

自动评测代表着未来方向,目前大致有三种做法:EM(ExactMatch)、Rouge-L以及F1:

(1)EM(ExactMatch):EM是一种严格的评测指标,常用于问答系统的评估中。这种评测指标的核心精神是,模型返回的答案是否与人工标注的参考答案完全一致。如果完全一致,即字符相同且顺序相同,则得分为1,否则为0。因为这种方法要求严格的匹配,所以它对模型的准确性要求很高。

(2)Rouge-L:Rouge-L是一种基于最长公共子序列(LCS)的评测指标,常用于文本摘要的任务中。与EM不同,Rouge-L不要求字符串在顺序和完整性上完全匹配,而是着重于衡量参考文本和模型生成文本之间的重叠程度。它计算的是模型生成文本与参考文本间的最长公共子序列的长度,然后通过某种方式将这个结果标准化,一般来说,得分越高,表示模型生成的摘要或回答与参考答案的相似度越高。

(3)F1Score:F1分数是综合了查准率(Precision)和查全率(Recall)的评价指标,可以应用于多种任务中,包括文本分类、命名实体识别、信息检索等。F1Score的计算方法为F1=2PrecisionRecall/(Precision+Recall),其中Precision是预测为正样本且正确的数量占总的预测正样本数量的比例,Recall是预测为正样本且正确的数量占总实际正样本数量的比例。F1分数因此在应对不同类别分布不均的数据时相当有用。

总的来说,EM、Rouge-L和F1分数的主要区别在于评测的严格程度和应用领域的不同。EM准确度强调严格匹配,Rouge-L则看重重叠度,并不重视顺序,而F1则是一种综合考量查准率和查全率的指标,更适合于在分类任务中使用。

6 结论

大模型应用才刚刚开始,但正在以前所未有的速度迅速普及,深入到各个领域。本文对图书情报领域的大模型应用进行了深入探讨,认为图情领域的大模型应用应该基于开源大模型作为基座,结合调参、向量知识库、智能代理和提示词工程等方式,利用本领域数据解决本领域问题。领域应用取决于领域数据,通用大模型可以通过图情领域的数据微调而得到领域模型,使其具备解决领域问题的能力,以满足领域应用需求。

本文重点研究了大模型应用的方法流程和数据治理模式,分析了领域应用所涉及的数据类型,认为应该采取一系列措施来确保数据的来源和质量,以确保大模型的应用效果。首先,应该建立数据收集和整理的标准和规范,确保数据的真实性和完整性。其次,应该对数据进行分类和标注,以便更好地进行模型训练和测试。此外,应该建立数据评估评测和质量控制机制,以更好地发挥数据的价值,保障应用的效果。

在应用框架方面,文章认为预训练模型、调参模型、知识库应用、提示词工程、API标准化、智能代理等已经让人看到了未来的潜力,但总体上还不成熟。文章将数据治理作为大模型应用的最重要的因素来看待,目前还没有引起足够重视,还未形成一定的标准规范和应用方法论,数据语料的建设,包括训练数据、推理数据和数据的运行维护都存在瓶颈。在算法方面,神经网络所特有的幻觉和缺乏常识问题,目前还看不到明确的解决方案。在算力方面,训练与服务存在GPU和内存记忆不足的问题。大语言模型的训练需要大量的计算资源和存储空间,导致领域应用难以很快获得发展,另外大模型应用还涉及伦理问题、版权问题、信息安全问题等诸多风险也需要重视并加强研究,在应用中得到克服。

综上所述,大模型在图情相关领域的应用正蓄势待发,潜力无穷,但在应用框架、数据、算法和算力方面都存在一些问题,需要进一步深入研究探讨,并在实践中迭代改进。同时,也需要及早形成监管机制,制定相应的监管措施,确保大语言模型的应用符合规范和要求,只有这样,才能真正促进图情领域的应用落地,助力智慧图书馆高质量发展。

(参考文献略)

发表评论

云瀚联盟-智慧图书馆技术应用联盟(筹)