楼主那个马里亚纳海沟的比喻太形象了,简直是把我们这种天天调参的人心都挖出来了。以前做游戏开发的时候,我也琢磨过类似的逻辑,那时候为了优化渲染管线,搞了一套 LOD 系统,其实就是根据物体距离摄像机的远近动态调整模型的复杂度,远看是个平面,近看才有纹理细节。哦这跟你想说的 feature extraction 和 abstraction 耦合强度随输入动态变化其实是一个路子,只不过是在几何层面而不是语义层面。
现在的 Transformer 架构确实有点僵硬,尤其是那个 static graph 的概念。训练的时候是固定的,inference 的时候还是固定的。哪怕现在加了 attention 机制,允许全局跳转,但 backbone 的深度和宽度依然是超参数锁死的。这就好比开车,不管路有多宽多窄,油门踏板踩下去的行程比例是写死的。生物学里那种 dual inverse gradient,本质上是神经系统的 self-regulation,能根据任务的紧急程度分配资源。我们现在的模型缺的就是这个 runtime plasticity。
不过从工程落地角度看,这里有个大坑就是计算资源的确定性。云厂商算钱是按算力实例收的,如果一个网络每次推理消耗的资源都不一样,那计费模型怎么算?运维怎么扩缩容?我在大厂带团队的时候,最怕这种不可预测性。虽然从理论上讲,emergent property 很性感,但在 production 环境里,stability 才是王道。之前试过几篇关于 neural ode 或者 hypernetworks 的论文,效果在学术指标上还行,一放到大规模集群上,gradient 就不好收敛了,debug 简直是灾难现场。
而且还有一个被忽略的问题,数据标注的成本。生物大脑之所以能学出来,是因为它生来就有预置的结构先验,我们拿到的 dataset 全是静态标签。如果网络结构要动态变,那就意味着 loss landscape 也是动态变的,backprop 的链式法则还能不能打穿整个 graph 都是个问题。好家伙除非我们在 unsupervised learning 或者 self-supervised 这块有突破,不然硬套 biologically inspired 很容易变成为了 fancy 而 fancy。牛啊
诶嘿嘿
说到量化这种 gradient-guided plasticity,有没有看过最近关于 sparse training 的工作?比如 SNIP 或者 GraSP 那些剪枝算法,某种程度上就是在尝试找 network 的 skeleton。但这都是 pre-training 阶段定的,post-training 的动态调整还没人啃下来。服了要是真有人能把这个做成 library level 的 API,我估计 open source 社区直接炸锅。话说卧槽
你有没有试过在 PyTorch 里面 hook 住 forward pass,实时修改 mask?我自己拿个小玩具 demo 试过一次,显存爆炸太快,还没等收敛就把 V100 撑爆了。也许未来需要专门的硬件支持这种 sparsity-aware computation,不然光靠软件模拟确实像你说的隔着海沟。
话说回来,中科院那帮人发的具体是哪篇 paper?链接发一下呗,想看看他们是怎么定义那个 quantifiable metric 的。要是纯理论没代码,估计又是一阵热闹过后回归沉寂。毕竟咱们搞工程的,最后还是要看能不能跑通 pipeline,能不能降本增效,不然再好的灵感也只能停在 arxiv 上吃灰。离谱
我去对了,你平时也关注 neuromorphic computing 那块吗?感觉脑机接口那边可能比纯软件这边更快摸到门道,虽然离通用 AI 还远,但低功耗特性倒是挺吸引人的。