最近关于ai的一些思考
# Sora
大洋彼岸的Open AI趁着全国人民正在喜迎新春的时候发布了Sora,风头盖过了同期发布的Gemini pro 1.5(即便它已经能读完一整本书了)。
Sora 能够将文本指令转换成长达 60 秒的高清流畅视频,展现了 AI 在理解真实世界场景并与之互动能力方面的重大飞跃。
在令人震惊的视频生成能力以外,Open AI表示Sora代表了人工智能领域的一个重要里程碑,因为能够深度模拟真实物理世界,创造出包含复杂场景、生动角色表情以及复杂镜头运动的视频。
为什么“世界模拟器”的出现会如此重要,在上一篇文章里面,我尝试理解并介绍了人类智能的重要表现之一的意识可以定义为:“对内部和外部环境(世界)的感知和预测,‘看到’自己如何行动的能力”。意识的这种特征的重要前提是对于外部环境的一切变化具备基本的模拟和理解。
而对于人类意识的理解,目前还仅仅停留在非常粗浅的阶段,Sora是否具备对于世界的模拟能力目前也仅仅是猜测。这种猜测是基于对于所生成的视频种种迹象,并非是基于对于底层知识的理解和解释。
# 人工创造力
最近在看一本书,叫《无穷的开始》。这本书中有一个观点:人类所具备的对于世界现象的“解释”能力推进一切进步的发生。
这个“解释”能力很重要的工作就是“创造新的知识”。作者认为图灵测试已经不再有效,其根本原因是我们无法在不理解基本原理前通过“描述表现”来定义人工智能。“AGI通用人工智能”能够成立的很重要标志是在没有人为干预的情况下“创造新的知识。而这种能力的表现是具备‘泛化’领域的‘涌现’。”
例如我们能够通过大数据量的机器学习来训练“自动驾驶”能力(自动驾驶是目前最领先具备可落地能力的自主系统),但整个过程都有人为干预,并且自动驾驶无法在“驾驶”领域外表现出“涌现”。
我的介绍非常粗浅,建议阅读《无穷的开始》中关于人工创造力的描述。
# 自主系统
回到今天文章的主要内容:自主系统。上一篇文章有提到关于自动系统和自主系统的最主要差异是是否有人类干预。在过去,由“程序员智能”主导的自动系统大幅度提升了人类生产活动的效率。
从去年开始,对于AI agents 的讨论就一直有很高的热度,基于大语言模型作为技术基础,我们似乎看到了自主系统在这个时代成为现实的曙光。AutoGPT、GitHub Copilot等产品的热度一度高居不下。
图片来源:《The Rise and Potential of Large Language Model Based Agents: A Survey》
今天这篇文章主要是几个内容:
我会重点以自动驾驶以及这两年大热的大语言模型为基础的自主系统做案例进行介绍
我们可以概括地将理解“自主系统”理解为:“能够感知内部以及外部环境的变化,并自主作出反应实现一系列目标的系统”。
自动驾驶系统可以理解为一个典型且具备高度复杂性的自主系统。这个复杂度主要表现在外部环境是实时变化且开放的,系统在“前往某个目的地”这个目标的驱动下,能够实时识别外部/内部环境的变化并自动作出决策并最终实施相应的动作。整个过程只有目标设定的环节是有人类参与,其他所有的环节均为自主实现。你可以看到,随着系统自主性的增强,人类在整个系统运行过程中的参与度是越来越低的。## 问题:未来一个完全自主系统甚至可以不需要人类下发目标,完全脱离人类自主运行?感知的主要目的是从内部/外部环境中获取信息,转换成某种或多种格式进行输入。在自动驾驶这个案例中,系统需要识别来自内外部的环境信息输入:- 外部的诸如周边汽车信息、道路信息、路人信息、交通符号信息等;
- 而来自内部的信息则包含车辆的运动状态,例如速度和加速度;
再例如LLM大语言模型主要模拟了人类的语言理解和生成能力,这是一种高级的认知能力。所有的内外部信号都通过文本符号的形式进行输入。最近越来越多的多模态模型则不仅仅局限于文字这种信息媒介,能够整合并处理更多种的数据格式,例如图像和视频。这些模型试图更全面地模拟人类如何通过多个感官同时获取和整合信息,以对世界有更深入的理解。不管是单一模态还是多模态模型,机器感知世界的方式依然有着比较大的局限性。这种间接的信息获取方式和人类感知世界的方式有着天壤之别。人类通过各种感官(视觉、听觉、嗅觉、味觉等)直接感知世界(或者是通过某种统一的媒介,但目前的研究无法对其进行证实或是证伪)。感知到的信息将被传递给认知模块进行状态表示。这个模块的功能是对系统外部和内部环境进行建模。认知模块需要具备注意力以及选择能力从而提取与环境和目标有关的信息。这个建模过程最终的输出是对于当前现状的定义、对于未来状态的预测,而这个定义以及预测则会影响系统后续的决策、计划以及动作。为了尽可能及时的反应环境的动态变化,模型必须实时更新。特斯拉的端到端FSD自动驾驶的反应延时已经能够控制在10ms以内,这个响应速度对于一个自主系统的可靠性至关重要。相比较机器通过大量数据的预学习和相关性识别作出认知建模不同,人类的认知过程不仅受逻辑和证据印象,还会受到情感、直觉、经验和道德价值观的影响。这个过程更加复杂和多维,涵盖了认知、情感和社会心理等多个层面。具身行动(Embodied Cognition)是心理学和认知科学中的一个理论,核心观点是,人类的思考、理解、记忆和认知其他方面是通过身体的互动与周围环境共同构成的。这意味着我们的身体不仅仅是执行大脑命令的工具,而是认知过程的一个积极参与者。这包括感知、动作和身体状态对我们的思维方式和决策的影响。不管如此,关于认知的研究目前都仅仅停留在非常早期的阶段。还是那句话,“如果不能理解,那我们就无法对其进行模拟和预测”。决策模块的主要任务是:目标(Goal)管理 以及 计划(Plan)制定。目标管理是基于目前的状态标注选择相匹配的目标,这体现了自主系统对于环境变化所做出的反应。这种反应往往包含积极反应和消极消极。同样在自动驾驶这个案例中:- 积极反应则包含诸如优化乘客舒适度、减少燃料消耗等等;
目标管理会影响计划的制定,计划的制定过程就是对于目标的分解过程,将一个大目标拆解成多个小目标。在传统计算机时代,“程序员智能”的表现就在于基于目标提前设定好各个自动化环节,而在自主系统中,系统是自主完成这个目标制定和拆解的过程的。在生成式AI所主导的系统中,大语言模型依然是核心关键,像CoT、ToT、ReAct等在规划模块运用的相关技术,其实大部分是进阶的提示词工程的使用技巧,掌握了这些进阶提示词工程的技巧,我们一样能在ChatGPT中实现智能体的规划能力。例如Retool、Coze这类的工具则将提示词工程比较丝滑地介入到Workflow中,让Workflow具备一定的自主规划能力。技能模块就是自主系统对环境作出反应的手段。其目的是实现决策模块的策略,从而适应内外环境变化。这个模块可能是目前基础设施最完善的模块。《无穷的开始》的作者认为:人类之所以能够脱颖而出主要,最主要的原因是人类具备创造知识和使用工具的能力。而长时间以来,人类社会所沉淀的工具和技能都有机会被自主系统所使用。其中包括但不限于:文本输出、视频渲染、计算机、机械手臂、汽车操控系统等等。最后一个关键模块是知识。要完成一个自主系统的运行周期,必须要具备这个周期所依赖的全部知识。知识包含之前与环境交互的先验经验和记忆,而记忆则包含长期记忆(long-term memory)和短期记忆(short-term memory)。在基于大语言模型基础上构建的agent,短期记忆主要表现为提示词工程中的上下文,短期记忆模块受到模型的上下文的限制,我们常看到的GPT-4 Turbo支持128k上下文指的就是模型能够记住的上下文长度,超过上下文的限制后,LLM就会忘记之前输入的信息。而长期记忆则通过向量库检索实现。前文也提到,人类智能非常重要的一个表现是“创造新知识”的能力。如果一个系统仅仅只能够基于已有知识(人类已经掌握的知识)进行决策执行闭环的话,我们不能称之为具备人类智能的系统。在现实中机器所掌握的知识依赖于投喂的数据资料,但无法创造全新的概念或目标。
我将自主系统定义为:“能够感知内部以及外部环境的变化,并自主作出反应实现一系列目标的系统”。这个系统的运行过程往往是以循环的方式出现:1、感知 (Perception):感知的主要目的是从内部/外部环境中获取信息,转换成某种或多种格式进行输入;2、认知(Brain):感知到的信息将被传递给认知模块进行状态表示,产出对于当前现状的定义、对于未来状态的预测;3、决策(decision):基于现状的定义和未来状态的预测生成目标(Goal)并拆解为执行计划;4、技能(Skill):基于决策对自主系统对环境作出反应的手段。其目的是实现决策模块的策略,从而适应内外环境变化。5、知识(Knowledge):在循环过程中应对突变所产生的新知识不断扩大影响范围并支撑整个循环。在这个定义下,当我们重新审视当下的agents体系时,会发现在多个环节距离真正自主的系统依然有着不小的挑战。我认为这些挑战中当下最棘手的莫过于:自主系统的泛化能力。我们或许能够在某一些特定领域实现自主系统,例如“自动驾驶”或者“下棋机器人”等。但是因为对于人类智能的“涌现能力”理解尚过于浅显,目前所有的技术都无法指向一个具备在泛领域具备自主能力的智能体。