tech

垂直领域模型的构建与AI创业公司

垂直领域模型是如何构建的

关键词:深度学习,LLM,大模型,NLP

知未智能与垂直领域模型

在介绍大模型(LLM)的文章中提到,虽然通用的大参数规模的模型虽然拥有较好的通用能力,能实现一些复杂任务。但是显然的,在当前的硬件技术前提下,在任何事情都只使用大模型是昂贵且缓慢的。

知未智能需要处理来自互联网上公开的各种信息,虽然主要处理集中在商业与金融信息领域,但是即便如此,我们需要处理的数据量以纯文本形式的表示就超过了200GB,这些数据在不同的深度学习的分词器[1],可能会处理成150~300B个Token(取决于不同的处理方法和词典)。

在现在如果只依靠最大的LLM模型进行处理,成本无疑是创业公司和大部分机构无法承担的。所以包括知未智能在内,我们可以看到国内的AI创业公司都会不约而同的选择根据自己所在垂直领域,选择性的训练专用的小模型来解决问题,而不是简单的使用公开的大模型[2]。

在这篇文章中,我们根据知未智能自己的实践经验经验,结合一些外部公开的资料,尝试说明这些垂直领域是如何完成训练的。幸运的是,很多公司都选择将训练好模型的一部分公开在HuggingFace[3],这个世界需要更多的这样的分享精神,我们希望以这篇文章作为一个引子,分享我们的理解,让更多的初创企业可以进入AI领域。

如何实现一个垂直领域模型

领域研究:了解您要解决的问题,并了解该领域的相关信息和数据

作为一个AI创业公司,显然第一步是了解自己所在垂直领域的具体应用需求。根据这个需求我们可以得到我们能得到的数据类型、大致范围等信息。

例如知未智能所在的商业与金融信息领域,显然信息是以公司、产品、经济活动这些内容为核心。再具体分门别类,例如公司又可以细化为上市公司、发债企业、非公开公司、其他公司、国外公司等等。产品又可以分为通用产品、进出口产品、期货产品等等。

根据这些具体的分类就可以尝试在不同地方收集所需要的数据了。

数据收集:收集并标注于训练模型的数据

在语言模型的训练中,我们可以收集到大量的数据,其中大部分是只能用于无监督预训练的原始语料。另外一小部分可能是其他大学、研究机构或其他公司发布的已经标注的数据集。当然在使用这些数据的时候,要优先考虑数据的合法性、用户隐私等等。

而针对创业公司所在的垂直领域,显然无法找到大量的,100%完美契合的标注后的数据。所以就需要针对应用目标,标注其中一部分数据作为有监督训练的基础。

这时可以考虑标注少量数据、训练模型然后不断迭代的半监督训练方法;也可以考虑雇佣标注人员;或者考虑和其他专业数据标注服务商合作等等。

选择模型架构:根据您要解决的问题类型,选择适当的深度学习架构

这里只考虑关于自然语言的模型。

从HuggingFace[3]的公开模型的情况中我们也可以看到,绝大部分公司和人选择都集中在三类模型中:

  1. BERT类模型,也就只有Encoder的模型,包括RoBERTa/DeBERTa等;
  2. GPT类模型,也就是只有Decoder的模型,例如OpenAI的GPT-2,GPT-Neo,Bloom等;
  3. T5类模型,也就是同时有Encoder和Decoder的模型,主要是以谷歌发布的T5,多语言的mT5为主。

对于BERT类模型,主要面向自然语言理解(NLU)任务,在处理文本分类、实体识别、关系抽取与分类这类任务中有较强表现;

对于GPT类模型,主要面向纯粹的语言生成类(NLG)任务,例如写作文、小说创作、编曲、写诗等等;

对于T5类模型,主要面向能将要处理的问题转换为“提问-回答”形式的,例如机器翻译,其中被源语言可以看成是“提问”,要翻译成的目标语言可以看成是一种“回答”。或者针对某个主题进行作为写作,输入的主题可以认为是一种“提问”,相应主题的作文可以认为是一种“回答”。

训练模型:无监督数据训练与有监督数据训练

一个可选的情况是,是否针对模型继续进行无监督训练。这样做的好处是可以加强模型在这里垂直领域相关问题的能力,坏处是需要一定的成本投入,以及可能丧失部分泛化能力。

主要的训练是针对垂直领域应用,使用之前所提到的标注后的数据进行具体应用训练。

训练模型会消耗大量时间,从知未智能的经验来看,这些时间成本主要是在于,训练并不一定是完全稳定的,数据处理的好坏、初始模型的选择都可能会产生各种反复试验的成本,而并不是说只要有数据一定就能训练出非常好的结果。

从META公布的OPT训练过程中我们可以看到,整个训练是非常曲折的,中间会出现各种问题,做好金钱和时间成本的冗余估计是重点。[4]

模型剪裁与量化

模型剪枝是深度学习中的一种技术,旨在减小模型的复杂度,从而提高其效率和鲁棒性。它通过删除模型中不必要的权重和神经元连接的方式来减小模型的大小。这可以通过多种方法实现,包括删除低权重连接、删除效果不佳的神经元以及使用稀疏正则化方法。模型剪枝可以提高模型的速度,并降低其对计算资源的需求,同时也可以防止过拟合。

模型量化是深度学习中的一种技术,旨在压缩模型的大小并提高其在移动设备和嵌入式系统上的效率。它通过将模型中浮点数参数和运算转换为更紧凑的整数编码来实现。这可以通过使用位宽缩小、量化激活函数和权重等技术实现。模型量化可以大大减小模型的大小,并显著提高其在非GPU设备、移动设备和嵌入式系统上的效率,但是也可能导致一定的精度损失。

模型剪裁与量化都是提高最终模型运行性价比的方法,例如为了经过量化的模型可以更容易的在CPU或FPGA等设备运行,以得到比GPU运行时更低的运行成本。

AI初创企业的模型都有哪些

AI创业公司我们以元语智能开放的LLM:ChatYuan为例[5]。

ChatYuan: 元语功能型对话大模型,这个模型可以用于问答、结合上下文做对话、做各种生成任务,包括创意性写作,也能回答一些像法律、新冠等领域问题。它基于PromptCLUE-large结合数亿条功能对话多轮对话数据进一步训练得到。

PromptCLUE-large在1000亿token中文语料上预训练,累计学习1.5万亿中文token,并且在数百种任务上进行Prompt任务式训练。针对理解类任务,如分类、情感分析、抽取等,可以自定义标签体系;针对多种生成任务,可以进行采样自由生成。

通过元语智能的官方介绍我们可以看出来,在这个垂直领域中,应用的目的是写作与回答,但是肯定是需要针对不同领域和主题的。所以他们选择了使用T5作为模型的基本结构。在同时进行100B个Token的数据集的预训练时,也进行了数百种围绕着写作生成、回答、文本理解等进行了有监督训练。

偏向研究领域的垂直模型我们以IDEA为例[6]。

IDEA 研究院创始人兼理事长沈向洋在IDEA大会上正式宣布启动“封神榜”大模型开源体系。“封神榜”是由 IDEA-CCNL 的工程师、研究人员、实习生团队共同维护的一项长期开源计划。项目基于Apache 2.0开源许可,计划包括封神榜模型,封神框架还有封神榜单三个部分。封神榜的模型可以在 HuggingFace 社区中免费下载和使用。

IDEA的选择也是针对不同的垂直领域进行训练,不过同时因为它本身的研究机构性质,也提供了很多通用的基础训练模型。这些基础训练模型我们同样也可以理解为是一种针对“中文”这个特殊垂直领域的继续训练。同时也训练了更专门的模型,例如生成科幻小说的Yuyuan-GPT2-110M-SciFi-Chinese,针对医疗问答领域的模型YuyuanQA-GPT2-3.5B 。

我们可以看出,大家的实现方式都有相似之处。主要的流程也是以通用语言的无监督预训练为基础,领域相关的无监督预训练作为补充,最终再结合专门应用的有监督训练收尾,最终达到最优效果。

总结

我们可以看到,自GPT-3之后,除了“手握重金”的头部公司以外,产生了越来越多的AI初创企业与研究机构参与其中,利用垂直领域模型与精细化的领域训练,让AI技术应用于各个行业,以改善人类的生活与工作。

随着越来越多人的参与,我们相信AI的发展将使世界变得更加美好。