上集提到Waston在“危险边缘”问答节目中大获全胜,在市场中投入了重磅炸弹,让IBM的技术形象重新得到建立。本集主要讲述其技术架构和市场困境。
Waston由Deep QA驱动,是一套集分析、推理与提供答案的复杂软件架构,这套架构能够读取数百万文本数据,再通过自然语言处理技术产生答案,最后根据问题的情景作出回答。
Deep QA是那个时代的ChatGPT,是第一个可以不限制领域自由对话,并可以给出比较正常而不是无厘头的回答的机器人。与现在火热的类GPT的大语言模型相比,没有一个庞大的基座大模型,其主要知识是以原始形式存储在各种未结构化的文本中,主要以语义搜索、评分、融合的方式工作。用现在的话说,主要工作在RAG这一层。主要差异在于,目前LLM的RAG,主要集中在文本块的相似度比对和评分方面,而DeepQA分解为更细致的阶段,强调对问题的分解、假说的证据支持、答案的排位和融合,以及主要工作流程如下:
通过以下步骤进行(高能预警):
1.知识库构建:DeepQA首先搜集各个领域的资料,形成一个包含百科全书、词典、新闻、文学作品等内容的基础知识库。
2.知识库扩展:系统自动从网上获取与种子文档相关的资料,摘录知识点,并根据新信息量打分,将最翔实的知识点加入知识库。
3.离线使用:在比赛中,DeepQA断开网络,仅使用硬盘中的知识库进行答题,模拟人类选手的条件。
4.问题分析:在这一环节,DeepQA尝试去理解问题,搞清楚问题到底在问什么;同时做一些初步的分析来决定选择哪种方法来应对这个问题。
5.问题分类:先提取问题中需要特殊处理的部分;包括一词多义、从句的句法、语义、修辞等可能为后续步骤提供信息的内容。然后判断问题的类型。问题可能属于谜题、数学题、定义题等不同类型,而每种类型都需要各自的应对方法。这一步还会识别出双关语、限制性成分、定义性成分,甚至有时能识别出解决问题所需的整个子线索。
6.焦点检测和LAT:系统识别题目中的关键字(LAT),这些关键字有助于判断答案类型。这类关键字称为LAT(Lexical answer type,定型词)。判断某一个备选答案是否对应一个LAT是重要的评分方法,也是一个常见的误差来源。DeepQA系统的一大优势就是可以利用各种相互独立的答案分类算法,其中大部分算法都依赖于自己的分类系统。
7.关系检测:系统分析题目要素之间的结构关系和语义关系。
8.问题分解:DeepQA用基于规则的深度语法分析和统计分类方法来确定一个问题是否应该被分解,以及怎样分解才最容易回答。对于可以并行分解的问题,DeepQA会对分解后的每一个分支做一套完整的备选答案生成流程,然后用一个可定制的答案合成模块来综合出最终备选答案。
9.生成假说:使用问题分析的结果,DeepQA可以从知识库中寻找那些长度接近答案所需长度的知识片段,产生备选答案。当每个备选答案填入题目中的空缺处后就成为了一种假说,而DeepQA则需要怀有不同程度的信心来证明这种假说的正确性。对于在“生成假说”中进行的搜索,称之为“主搜索”,以区别后面将会提到的在“证据搜集”中的搜索。
10.主搜索:主搜索的目标是倚赖问题分析的结果,揪出尽可能多的、潜在包含了答案的内容。期望能通过深入的内容分析来得到备选答案,并在各种或支持或反对的证据帮助下提高备选答案的精确性。研究小组设计了一个平衡了速度、记忆和精度的系统。通过不断调整这个系统,能够得出那个在准确性和可计算资源之间取得最佳平衡的搜索结果数量和备选答案的数量。最终结果稳定在:对于85%的问题,DeepQA都能在前250个备选答案中找到正确答案作为最终备选答案。
11.备选答案生成:这一步会处理主搜索的结果。对于拥有一个精确标题的资料,标题本身将作为备选答案。DeepQA还会通过子字符串分析和链接分析(如果有链接的话)来生成一些基于这个标题的变种备选答案。段落搜索的结果需要更加细化的段落文本分析才能得到备选答案:比如已命名实体检测法。对于三元组存储或者反向字典搜索,搜索结果将会直接作为备选答案。
12.软滤波:在资源数量与回答精度的平衡中,一个关键步骤是轻量级的评分算法。这个方法会将数目庞大的初始备选答案缩减到一个合理的数量,然后才交给深度评分算法。比如,一个轻量级评分器可能会判断一个备选答案是否对应一个LAT。这一步称为“软滤波”。
软滤波评分的模型和阈值是运用机器学习算法,通过不断训练得到的。DeepQA让大约100个答案通过软滤波,不过这个数字也是可以人为调整的。
13.假说及证据评分:系统对备选答案进行严格评估,收集支持证据以及应用形形色色的深度评分算法来评估这些支持证据。检索到的证据将进入深度证据评分模块,这个模块用来将备选答案放入支持证据的背景下进行评估。
大量的深度内容分析就是在评分阶段实施的。评分算法会决定检索到的证据对备选答案的支持程度。DeepQA的架构包含了50个以上的评分组件,它们产生的分数类型从正式的概率分布到类属特征的数量不等,所基于的证据来源包括非结构化的文本、半结构化的文本以及三元组等。
14.最终融合及排位:最终融合及排位的目的是基于当前的证据和数十万个评分,从几百种假说中找到一个最优的,并计算对它的信心--也就是正确的可能性。
15.答案融合:系统识别等价或相关的假说,合并特征以提高信心值。
16.排名和信心计算:在答案融合之后,DeepQA系统必须给假说排名,并且根据融合后的分数来估计信心值。DeepQA系统采用了机器学习的方法来计算信心值:让DeepQA来尝试给对应的备选答案评分。之后再查看这些备选答案的信心值,然后朝着缩小差距的方向调整参数再次评分,从而一步步训练出一个评分模型。
通过这些分析可以看到,DeepQA在算法层面没有特别明显的创新,其实是杰出的架构设计和工程奇迹,带来了非常轰动的市场效益。
Watson最重要的一步是在2014年,IBM投资10亿美金成立了IBM Watson业务集团,拥有超过2000名员工,全面运作Watson的研究和商业化事宜。这也成为Watson快速成长的开始,从此,“认知计算Cognitive”的口号在IBM的市场推广中大量出现,所有的市场活动和客户交流中都少不了提一嘴。
但是,Cognitive是高度业务场景化的,也就是说,要谈清楚是在什么业务场景,要怎么cognitive才能帮客户解决一些业务痛点,注意:这里说的痛点,不是IT痛点,分布式、可靠性、高性能之类的,也不是传统的软件开发,做个什么业务平台,而是:
客户:听说你们Waston很牛X了~
摸的销售:是啊,老牛X了,能聊天,合作下?
客户:能帮我们解决啥问题?
摸的销售:呃。。。。。。您有啥需求?
客户:其实吧,我也不知道你们能给我咋Cognitive,这不你应该想的么?但你别老给我讲产品。
摸的销售:好嘞~~(咋戴帽子呢,别的也不算我的业绩啊)
STG作为服务器和存储硬件产品事业部,其实离偏业务侧的Cognitive还差一截,怎么靠呢?你Cognitive要train模型吧,要读写数据集吧,所以用我闪存存储Flash800最好。你要分布式train吧,用我的文件系统GPFS最好。分布式要高效调度任务吧,用我Symphony集群调度软件最好。当然,最重要的,你train要用GPU吧,用我的PowerLinux+NVLINK GPU最快。
事实上,整个IBM的销售体系,都还没有准备好如何去销售“认知计算”的概念,销售除了知道Wastonz在“危险边缘”里的故事,Cognitive虚头巴脑的概念,对于其原理、架构、优点、如何适应客户一无所知,业绩的考核指标主要还是产品维度的,与Waston集团毫无关系。而且Waston是以Saas API的形式提供,不能私有化部署,也没人知道如何根据客户的业务场景调整,更要命的是,API在国外的BlueMix是部署,意味着每次调用,数据都出国了,直接触动了大B客户的底线。
各个事业部都只是利用Waston的故事和Cognitive认知计算的帽子,往自己的产品上套,重新包装一下,新瓶装旧酒,最终落地的还是原来那些软硬件产品,熟悉的产品,熟悉的套路。
很少人意识这是一次新的浪潮,暗流已经冲出海面,大大小小的渔船,有的已经踏上潮流,开始新一轮的竞赛,而IBM的巨型航母,虽然看到了这些潮流,但还慢吞吞游弋,毕竟,把大象关进冰箱只需要三步,让航母去冲浪就强人所难了,更何况地盘已经划好,利益格局难以撼动,何必去新领域冒险为他人做嫁衣呢?
那么,认知计算,或者现在叫AI项目,究竟应该如何破局呢?(未完待续)
往期精选