智客 ZICQ
EN 登录 / 注册
智客信息 开源AI #Deepity #预测编码 #CUDA #高性能计算 #开源库

Deepity发布:基于C++/CUDA的预测编码库,性能超越现有方案

Mr.Xu 的头像

文 / Mr.Xu 社区投稿

发布时间:

中文阅读 (Chinese) English Version

摘要:Deepity-HQ发布了一款名为Deepity的预测编码(Predictive Coding, PC)库,该库采用C++20编写,并集成了手写AVX2/AVX-512 SIMD内核、OpenBLAS/MKL的矩阵运算以及CUDA后端优化。其Python接口允许用户像使用PyTorch/Keras一样定义网络。Deepity在MNIST数据集上的基准测试中表现优异,超越了JAX的jpc和ngc-learn等现有方案。该库目前处于alpha阶段,主要针对CPU优化,CUDA后端仍在调优中。


Deepity:基于C++/CUDA的预测编码库

核心架构与功能

Deepity是一款从头构建的预测编码(Predictive Coding, PC)引擎,采用C++20编写,并集成了以下技术:

  • 高性能内核优化:通过手写AVX2/AVX-512 SIMD内核(使用SLEEF进行超越激活函数计算)实现高效计算。
  • 矩阵运算加速:利用OpenBLAS/MKL进行通用矩阵乘法(GEMM)运算。
  • CUDA后端支持:集成了cuBLAS、CUTLASS和CUDA图捕获技术,用于大规模训练的优化(目前仍在调优中)。

此外,Deepity提供了Python接口(通过nanobind实现),允许用户像使用PyTorch或Keras一样定义网络结构。其支持的PCN变体包括经典沉降网络、Direct Kolen-Pollack反馈机制以及包含µPC缩放、残差连接、增量PC、基于误差的PC和动量沉降的“厨房水槽”网络。

性能表现

在MNIST数据集上的基准测试中,Deepity在784-512-512-10的Sigmoid网络配置下(20个沉降步骤,批次大小250,100个epoch,使用AdamW优化器)达到了98.21%的准确率,耗时487.5秒。相比之下,JAX的jpc实现为97.55%(531.4秒),ngc-learn为98%(1707.7秒)。作为参考,PyTorch的普通反向传播实现在该架构上达到了97.51%(627.8秒)。

工程权衡与挑战

  • 性能优化 vs. 通用性:Deepity通过手写SIMD内核和CUDA优化实现了高性能,但这种优化也带来了对硬件平台的依赖性。
  • CUDA后端成熟度:虽然CUDA后端已经构建并运行,但大规模训练(如ImageNet)仍在优化中,且目前使用的im2col+cuBLAS方法在某些情况下不如cuDNN高效。
  • 开发维护:目前该库由单人维护,未来的扩展性和稳定性可能面临挑战。

开发者建议

  • 硬件要求:由于Deepity对SIMD和CUDA的依赖,建议在具备AVX2/AVX-512和NVIDIA GPU的环境中运行。
  • 使用场景:适合对预测编码有深入研究需求,并希望利用其高性能特性的开发者。
  • 参与贡献:项目欢迎具有C++/CUDA性能优化或构建系统/DevOps背景的开发者参与贡献。

结论

Deepity的发布为预测编码领域带来了新的高性能实现方案,尤其在CPU优化方面表现突出。然而,其CUDA后端的成熟度和开发维护模式仍需进一步观察。对于希望探索预测编码的开发者来说,Deepity是一个值得关注的项目。


消息来源:Reddit r/MachineLearning (2026-10-26)

—— 完 ——

主题标签: #Deepity #预测编码 #CUDA #高性能计算 #开源库

编辑部与事实核查说明:本篇专刊由智客前沿资讯管线根据官方技术公告、学术论文及开源工程文档整理编译,经算法实体核验与人工编辑审校后发布。若发现技术事实纰漏,欢迎依据勘误方针或一键向编辑部发送勘误反馈。

社区整体评论区

正在加载实时智能评论与划词标注…