什么是通用 (在 AGI 中,G 是什么意思)
What is G in AGI
很多人进了 AGI 群,往往以为自己进了 AI 群,在群里呆了一两年,仍然不太理解这个多出来的 G 的含义。
所以这次我打算讲讲自己的心得:到底 G 在 AGI 理论和工程项目中意味着什么
通用,可以有多种粗略的表达:
- 万金油
- 万能钥匙
- 以不变应万变
- 一套工具可以适用于大部分场景
- 套理论可以解释大部分智能相关的现象
专用
的反面
但仅仅像上面这样的表达,不足以对工程、编程进行指导。
我们需要更细致的拆解通用的含义。
要讲清楚通用,需要先解释通用的反面:专用
什么是专用
- 采用细分的策略(这跟通用的抽象优先的策略正好相反),任何事情,专用系统设计者都喜欢先拆分,然后“逐一攻破”。
- 分模块,每个模块的底层公式不相同。
- 分团队,每个团队只用相对简单的接口进行对接。
- 采用人海战术,认为可以堆人力达成超级智能。
- 优先考虑相对简单的模块,将高难度模块推迟或完全交给外围团队,或直接声称不做那些较难的模块(比如声称不做视觉、或不做推理)。
- 优先考虑容易出“效果”的策略。
以上策略在工业界
或者IT界
往往可以奏效,但在智能实现这件事情上,往往带来一些严重的后果:
专用带来的后果
- 专用路线的设计者,往往前期喜欢挑选较为简单的模块来实现,使得较难的模块成为了未知数,设计者往往只是凭借“自信”来看待高难度模块,没有根据、没有理论支撑地认为将来可以实现高难度模块。
- 专用设计者经常把“视觉”或“推理”忽略,或将其交给外部团队,问题在于外部团队也没有办法在“视觉”或“推理”上达成满意的效果。
- 错误的认为 if、else、for 等等硬编码能够堆积出智能,且错误的认为多个专用模块相加,可以堆叠出超级智能,但做这些假设的人往往没有大型应用的编写经验,以为代码行数等价于智能。
- 专用模块之间由于很难协同,往往不能解决组合爆炸、接口自动更新等难题。