AGI基础方法

AI突破的可能

新的信号处理方法

  1. 非常高的等价算力
  2. 高效率
    1. 单bit
    2. 非数学直接等价(乘加)的计算:查找表
    3. 处理好,抽象好,不可避免的动态特性
    4. 训练受梯度下降算法严格绑定,受数学约束,不太容易改变,但是推理可以
      1. 传统的多个乘法,表示成特定的逻辑运算或者最复杂的LUT
      2. 根据特定模型而动态配置的固定的物理计算逻辑电路
  3. 非传统数字电路
    1. 存算
      1. 针对性的算法端到端实现,避免为了实现传统数学定义而引入的各种负责度
        1. 精度/误差
        2. 复杂的ADC及数据矫正
        3. 复杂的偏移和预处理、后处理
    2. 模拟
    3. 光子

新算法

  1. 充分利用大算力,减少数据流动
    1. 上下文无关:必要的中间结果的流动,但是权重固定,有点像存算
    2. 上下文相关:自然的,固定的broadcast网络
  2. 更高的并行化
    1. 更细粒度,更高规模的并行,而不需要同步
  3. 减少动态性
    1. 支持数据动态,但是减少结构化动态
算法的上层要求
  1. 一个足够复杂的处理系统,能同时输入很多数据,输出很多数据
  2. 能够被按照意愿进行调整

新的计算范式

梯度下降
  1. 信号处理过程必须是线性的
  2. 目标是明确的
  3. 充分的精细的梯度下降(训练)代表在当前权重下的最优解

数据的组织方式

  1. 无缝包含各种类型的数据
  2. 人类不可读的数据信息

计算模型

背景

  1. 计算机已经发展了很多年,很多层的划分已经非常的明确
  2. 高层级的计算范式随着AI的发展,特别是LLM的发展,已经越发的清晰
    1. 传统计算机软硬件堆栈->神经网络算子->神经网络计算图->Pytorch->分布式框架->LLM->Agent->MCP
    2. 由于AI发展的太快,计算机的底层基本没有变化,只是根据AI的需要进行特定的开发
      1. 太底层,不灵活,算子及AI编译器开发消耗大量工作
      2. 软硬件结合的方式还是遵循传统计算机的经验
      3. 主流技术(CUDA)没有摆脱冯诺伊曼的架构,甚至编程模型/内存模型都没有变化
  3. 需要设计一个能适应AI的计算中间层
    1. 位置:传统编译器+编程语言之上,神经网络层之下
    2. 主要抽象,数据流,数据的tensor运算等等
    3. 类似triton

计算范式

  1. 范式:一些明确的简单的规则
  2. 作用:提供给上下游一个明确的,稳定的操作界面、规则、接口
Boids算法及三条规则的启发
  1. 能自动保持稳定,回归稳定,经过外接的扰动后能自动回归稳定
  2. 稳定的变量可以是任何可以被量化和描述的
  3. 稳定的状态就是处理结束的标志
玻尔兹曼机
  1. E = 所有 状态*权重*状态 之和
  2. 用各个节点的状态表示各个权重的计算中间值和输入输出
  3. 改变中间状态使得整体的能量最低点(稳态)作为网络前向(推理)的计算过程
  4. 训练和收敛:调整权重,使得针对所有的输入都能达到一个能量最低点
  5. 利用能量最低作为标识,把部分权重信息转移到状态,在推理的时候需要利用能量最低重新计算这部分权重
生命游戏
围棋

自洽后就有意识了吗?

  1. 自洽能力对于人工智能的重要性
    1. 当前AI还不能轻易的实现自洽能力,甚至在在KV cache内的自洽性还存在挑战,权重范围内只能根据概率来输出
    2. 意识会去维护一个最本质的目的,不断检验当前的成果,提供未来行动的建议
  2. 自洽训练方法
    1. 随机生成无数的样本,一旦触及需要修正的问题,则作为监督样本进行微调。确保一个新的观点对所有权重没有矛盾
      1. GPT4.0开始,非常喜欢用破折号,应该和20世纪初的文本作为训练材料有关
  3. 没有反思能力
    1. 一个任务,不能越做越顺利,不断根据结果进行对流程的改进
      1. 缺乏维护自洽的意识,不能对训练数据进行判断、识别,而是无差别得接受
    2. 当前的Agent还是需要人类不断的改进方法,需要人类提供“算法”->“做法” 机器不能有自洽的意识不断得接近目标
    3. 意识和大语言模型之间缺乏一个标准的可操作接口,大语言模型是一个语言计算器,意识相当于上下文,记忆是不可或缺的一部分

动态算法

  1. Transformer类算法,依赖大维度的信息变换,相关性爆炸
    1. 也就是尺寸很大的矩阵乘法,虽然很适合现代GPU的加速
    2. 大的GEMM提供了非常大的状态空间,目标是包含所有的维度
    3. 使用固定路径的权重链路来完整得表达信息变换的过程
      1. 不管输入是什么,都要经过固定的计算路径,都要和所有的权重计算
      2. 虽然MoE,会有一定的动态性
        1. 但是目前还不明确能不能继续缩小激活比例
        2. 动态选择的空间不大
    4. 虽然有些策略已经减小部分
      1. attention
      2. 分层,分组MLP等等
    5. 但是,还是会造成相关性爆炸
      1. 大范围Reduce类操作的依赖
        1. 整个矩阵维度的累加
        2. softmax
      2. 交叉信息爆炸
  2. 小GEMM+动态权重
    1. 使用很小的局部维度信息根据实际信息,动态得进行变换和按需要进行交叉、汇总、合并

短期记忆和长期记忆

一种误解

  1. 短期记忆是临时记忆,只是记忆的一部分关键信息

短期记忆

  1. 大脑的意识存在于短期记忆
  2. 是一个不断变化的,不断被更改的状态存储器
  3. 存储的是对当前状态的高度浓缩的,高度抽象的表示
    1. 可能没有细节
    2. 可以作为关键词用于长期记忆的检索