自OpenAI发布ChatGPT以来,LLM持续火热,各大公司纷纷入场。但近一段时间以来,我观测到的LLM应用场景,基本都是Copilot的形式,即以对话为基础的辅助应用。尽管体验起来十分的高大上,但我能明确感受到,这种Copilot的形式并不解决当前的诉求。因此,本篇尝试探讨一下,Copilot模式的优劣,以及我到底会需要什么样的LLM应用。
本篇内容包含着内心深处对大模型的抗拒,仅以下图表达个人心情。
1、Copilot模式解读
Copilot,本意是助手的意思,它的作用是辅助主角更高效的完成任务。这个模式在各行各业广泛存在,比如飞机的副驾驶、赛车的领航员、秘书/助理等等。之所以会存在Copilot这样一个角色, 是由于处理的工作过于复杂,一些底层的信息处理/决策过程相对繁琐,如果事事亲力亲为,是对精力的极大浪费。因此,形成了一个多级的管理体系,以方便主角更高效的完成最终决策。
毫无疑问,Copilot是提效的一种最佳实践,在日常生活中得到了广泛验证。
但从另一方面来说,也需要看到,决策链的基础是信任链。前置环节的决策失误,可能会导致整个事情的崩盘,比如“挥泪斩马谡”。在实际工作中,会通过管理手段——追责——去保障信任链的稳固。但是当你的Copilot是个机器/算法时,往往无法有效追责(自动驾驶出车祸了,想让汽车公司赔偿是很难的)。因此,责任又重新汇集到了最终决策者自身。这其实就要求着,使用Copilot的人必须要能够理解和判断Copilot给到的信息。
2、为什么Copilot会是GPT的主要应用场景
在这一轮AI浪潮中,除了吹捧算法本身,实际得到落地的应用场景,基本都属于Copilot模式。比如:OpenAI本身推出的问答机器人、Bing集成进搜索引擎、Github Copilot编程助手、各种客服机器人、以及各类分析工具(安全报表、论文研读)。
这些场景大体会具备如下特性:
- 非专业场景:对专业性的要求不高,大都是简单的问答模式。虽然近期出现了“决策链”的概念,可以通过递进式的问答,让ChatGPT回答更复杂的数学问题,但仍然需要人来进行引导,因此个人并不认为这代表了ChatGPT自身具备复杂的逻辑思考能力来应对各类专业问题。
- 高容错率:以Github Copilot为例,其生成代码的采纳率约在30%-40%左右。换一句话说,一半以上的代码,都是存在BUG或者不符合预期的,仍然需要程序员依靠自身的知识来进行判断处理。但值得注意的是,尽管出错概率不低,但Github Copilot仍然大幅度提升了开发效率。这是因为编码本身是个高容错率场景,程序员可以在开发过程中不断的调试发现并解决问题,并不会因为生成了错误的代码,导致严重性后果。
在这些场景中,大家并不会依赖算法的结果进行最终决策,大都是作为一种信息的收集来源和参考。对比传统的搜索引擎,更多的是效率上的提升,形态其实没有发生本质变化。
从另一方面来说,大家似乎并没有把GPT用于分类、评分、排序等决策类型的场景中。
如果单纯从能力上看,GPT是能够被用于完成特定任务的(OpenAI本身也提供了用于分类的API微调接口)。通过Prompt Engineering(zero-shot/few-shot),或者进行一定的fine-tuning,同样能够取得高准召的表现。
那为什么大家不使用呢?基于一段时间的使用探索,我能够得出的推论是:在固定的决策场景上,过去的模型已经够用了。盲目的应用GPT,并不会带来额外的增强,反而其庞大的性能开销和不确定性的结果,会产生额外的负面影响。
3、GPT的应用场景设想
回过头来思考,大家为什么会对GPT的出现感到兴奋呢?我认为,核心特性是两个:1)通用性极佳,可以仅仅依靠Prompt回答各种领域的问题;2)生成式表现力,可以生产符合人类认知的语言或内容。(对比过去的算法应用,往往只能用于特定场景,运算结果也是冰冷的0和1,需要经过加工处理才能更好的理解。)
近期一直在尝试思考,如何将两者相结合呢?
目前想到这样一种范式:对于某个特定任务,仍然采用更高效更稳定的规则和算法去进行处理,在后面拼接一个GPT,可以更直观的呈现规则算法的原始输出。
比如,需要对一组数据进行分类,并提取其中的关键特征进行解读,用于后续的研判工作。传统的做法会是训练分类模型,并提取出哪些特征是对分类结果更重要的,用于可解释性输出。但仅仅是到这一步,获得的只是一个分类结果和关键特征列表,可读性很差。这个时候,再将这部分结果输入到GPT,就能够得到一个更直观的解读。
近期有基于以上设想,做一些尝试,目前看效果不错。其本质思想,就是借助原有的算法能力,代替GPT完成相对固定的分类任务,仅仅将GPT用于后续的结果生成上,从而形成更高效的运算链路。
4、总结
你真的需要使用ChatGPT嘛?
也许是长期从事安全行业,对于不确定性的东西会产生抵触。对我个人而言,精妙的规则体系在各方面都胜于所谓的模型。
但不得不承认,即使是某个特定场景下,人的决策复杂度也足够高,很难用规则去完美契合。因此,在规则确定性和模型复杂性之间的平衡,是持续思考和探索的方向。(知识图谱看上去是个比较理想的解,但也会遇到知识量扩增,带来的维护复杂性等问题。)
GPT的出现,提供了一种全新的解决方案。但GPT本质上是一个低效的算法,因此并不会简单粗暴的替换掉既有的更高效的规则和算法。这对GPT的使用者来说,其实提出了更高的要求:需要将任务进行拆解,交由不同的能力来解决,才能够取得更高的运算效率。