作者 | 高玉娴
模型是对数据的表达,而“大模型”的关键突破就在于数据量之“大”。目前业界主流大模型,参数规模均达到上千亿。然而,与这些海量公开数据形成鲜明对比的,是比例还不足 1%的企业内部数据。和 ToC 应用不同,企业落地大模型的挑战之一,就在于如何把这些内部数据的价值充分挖掘出来。
与此同时,当前大模型框架多是“一刀切”,即“一个模式打天下”,并且无法解释背后的数据来源和训练逻辑。但企业应用对精准度的要求极高,交易数字上的一个小数点、零件上的螺丝钉个数、医生的用药剂量......一旦出现偏差,就会酿成巨大的事故隐患。
所以,对于企业的另一重挑战是:如何确保数据可信,如何确定哪些模型值得信赖,怎么选择最能满足自身独特需求的生成式 AI 解决方案。
以上这一系列阻碍往往导致企业无法充分地实施和扩展 AI 技术,并且让技术真正为业务赋能。
对此,作为 AI“初代玩家”的 IBM 在今年 Think 大会上给出了它的解决方案——具体分三步:第一,选择一个可信的基础模型;第二,在保持大模型本身的通用性能前提下,让企业这 1%的内部数据更好地融合到模型中去,充分挖掘其价值;第三,在大模型基础之上构建企业级的 AI 能力,让企业所有的业务流程都得到大模型的加持。
所有数据和模型都经过充分验证据 IBM 中国系统开发中心 CTO 孟繁晶在日前接受 InfoQ 等媒体采访时介绍,在基础模型层面,IBM 开源了 Granite 模型系列中的 18 个与企业业务发展息息相关的模型,涉及编码模型、实训数据模型、语言模型、空间地理信息模型等等。目前,这些模型都可以在 HuggingFace 和 GitHub 找到。
IBM 中国系统开发中心 CTO 孟繁晶
“所有这些模型背后的数据都是经过 IBM 在实验室里充分验证过的,我们把所有的数据和模型评估之后,再开源出来,希望可以跟社区开发者们一起去共建一个可信的基础模型,去构建可信的人工智能能力。”孟繁晶表示。
比如,在数据处理方面,IBM 构建了一个来自学术界、互联网、企业(例如金融、法律)和源代码的非结构化语言数据的大数据集。该预训练数据集是替代开源数据集而创建的专有数据集,开源数据集因包含有毒、有害或盗版内容而受到批评。通过构建 IBM 预训练数据语料库解决以上提到的这些问题和其他隐含问题。
同时,该预训练数据集仍在不断发展和优化,其他数据会定期审查并考虑添加到语料库中。除了增加预训练数据的大小和范围外,还会定期生成和维护这些数据集的新版本,以反映增强的过滤功能(例如,重复数据删除以及仇恨和脏话检测)和改进的工具。
举例来说,在 granite.13b 进行预训练时,IBM 在预处理之前收集了 6.48 TB 的数据,在预处理后构建了 2.07 TB 的训练数据。而 granite.20b.code 在预处理后构建了 100 多种不同编码语言的 1.6T 的训练数据,包括 Cobol 和 Ansible。
再比如,在模型训练方面,Granite 严格遵循以下三个阶段:
第一阶段预训练过程,granite.13b 基础模型经过 30 万次迭代训练,批量大小为 4M 个 Token,总共 1 万亿个 Token,预训练让大模型根据输入生成文本;
第二阶段监督微调过程,使用来自不同来源的数据集混合执行监督微调,每个示例都包含一个提示和一个答案,执行 3 个周期获得 granite.13b.instruct 模型;
第三阶段对比微调过程,惩罚来自负数据分布的数据点概率,同时增加来自正数据分布的数据点的概率。换句话说,Granite 不鼓励大模型为每个训练提示生成错对齐的答案(例如有害的答案),同时鼓励对齐的答案(例如有用的答案)。通过防止模型输出出现幻觉和错位,最后获得 granite.13b.chat 模型。
不迷信模型“大力出奇迹”值得一提的是,IBM 一直不迷信模型“大力出奇迹”。
对于企业而言,很多应用场景的落地并不在于模型本身大小,而在于多大程度符合业务发展要求,能不能很好地完成任务。换言之,企业任何技术投入都是以驱动经营效率为目的的。但模型越“大”成本投入也越大,支持一个大模型的训练和运行非常消耗算力、电力等资源,并且在模型上线之后,企业业务本身仍然在不断变化,这要求模型具备适应性和可扩展性,系统能力也要不断学习和进化。所以出于运维成本的考虑,很多时候“小”模型反而比“大”模型更加节约且灵活。
针对这一问题,IBM 发布了不同尺寸规模的模型,从 3B、8B、24B 到 32B,适用于企业不同场景。而在 IBM watsonx 平台中同样不仅有大模型,还保有传统的机器学习模型。“比如 SVM(支持向量机)做知识分类效果非常好,那就没有必要用大语言模型。”孟繁晶举例。
有了基础模型之后,接下来就是解决数据融合的问题。通常来说,企业会采取两种模式:第一,通过外挂向量数据库进行查询;第二,进行参数微调。但是,微调一般是黑盒操作,要做到大批量处理并且结果可控难度非常大。
对此,IBM 实验室推出了 LAB( Large-scale Alignment for chatBots,大规模对齐技术)。“首先,把企业数据基于知识和技能进行两种不同表达,知识包括不同行业特定的知识信息,技能就是我们希望它完成的任务;然后,基于大模型进行合成数据生成,并把其中包含偏见、错误等误差数据清洗掉,实现合成数据验证;最后,再进行指令微调,让模型更适用于企业业务场景。”
孟繁晶表示,该理念通过 IBM 与红帽共同开源的 InstructLab 项目已经在 GitHub 等社区对外开放,并且整个过程通过对话方式就可以实现。
“基于 InstructLab,每个人的贡献在社区都能看见,大家一起共创一个世界级的知识合集和技能合集,所有人可以用它选择自己想要的模型并对它进行微调,最终得到的结果不管做多少次迭代都不会出现偏差,这对于解决大模型的‘幻觉’问题特别重要。”
在 IBM 看来,基础模型的前景在于其能够根据企业独特的数据和领域知识进行调整,并以管制和灵活性为核心,从而使 AI 部署的可扩展性、经济性和效率大大提高。
让 AI 应用更有 ROI除了灵活的模式选择之外,企业还需要安全访问与业务相关的数据。通常企业在采用生成式 AI 时有三种模式:第一种是采用嵌入了生成式 AI 的软件;第二种是通过 API 调用查询 AI 模型;第三种是利用公开数据和私有数据创建(然后查询)自己的基础模型。
而为了确保数据源的可信,以及模型上线后可以实时监控,IBM watsonx 还提供了一套完善的治理体系,包括了数据、AI 和治理三个套件。这意味着,模型在上线后一旦出现偏差,就可以马上对其进行干预。
孟繁晶向 InfoQ 记者强调,这个平台并不会绑定任何一个模型,既可以调用 IBM Granite 模型,也可以调用开源模型或者其它第三方模型。“IBM 更多是给企业提供一个平台能力,把企业所需的数据、AI 及其治理能力都放到这个平台上,这是我们区别于其它大模型产品的定位。”
以 IBM watsonx.ai 为例,其支持多种基础模型并提供 watsonx.ai studio (开发平台),以帮助企业利用基于可信数据集和 AI 管制的基础模型来开发、微调和部署其 AI 应用。
无论企业是想微调开源模型、创建自己的模型,还是在本地或云端部署 AI,IBM 都致力于为各行各业的新一代企业提供支持,将 AI 嵌入其战略核心,并且让 AI 技术的投入更具有 ROI。
“再举一个例子:从工程化的角度来看,国内很多企业想要做一个定向的模型,(供应商)就需要花很大的代价开发出来一个功能。虽然 IBM AI For Business 也在做这件事,不过方法有所不同。不是说企业要做代码转换我们就成立一个上百人的团队,开发一个代码转换模型,而是基于 Granite 基础模型、InstructLab 和 watsonx,在这套方法和能力框架上,帮助企业快速地生成很多个这样的功能模型。”IBM 中国科技事业部汽车行业总经理许伟杰告诉 InfoQ,这就是 IBM style,“不是赶快做出东西来给客户用,而是把这个东西先想好了、想清楚了再一个个做。”
目前,IBM 已经把自己在 AI 层面的这些技术能力赋能到 IBM 云上。总结而言,其云平台具备三大特点:第一,AI ready,可以帮助客户通过基础模型进行数据训练,并且保障模型的可管理性和透明性;第二,不管是云上、云下还是边缘,都可以随时随地调用相关模型;第三,合规和安全。
举例来说,前文提到的 Granite、InstructLab 等开源的 AI 能力,以及企业级 AI 平台 watsonx 都可以在 IBM 云平台上单独下载使用。同时,如果需要做积量的训练或者更多的量化数据训练,在 IBM 云上可以通过 HPC(高性能计算)的云服务实现。
据了解,目前 IBM 与英伟达、英特尔和 AMD 等厂商都在 GPU 资源使用方面达成了合作协议,从而保障充足的算力,为企业提供持续的 AI 服务。
原文链接: