NeuTracer 教程
主页
  • 背景介绍
  • 项目架构
  • 数据收集
  • 服务端
  • 异常检测
项目测试
主页
  • 背景介绍
  • 项目架构
  • 数据收集
  • 服务端
  • 异常检测
项目测试
  • Welcome

Welcome

NeuTracer是一款基于eBPF技术的AI/ML性能分析与异常检测工具,通过零侵扰的内核级监控实现从GPU到Python应用层的全栈覆盖,并将性能开销保持在 10% 以内。该项目创新性地实现了基于拉普拉斯继承规则的GPU内存泄漏检测算法和结合空间与时间维度的显存碎片化检测算法,并引入[MDTP](Meomory Distribution Timeline Plotter),增强碎片化可视化效果,还保证了5秒以内的低延迟和低于 5% 的系统开销。同时集成了压缩感知技术进行时序异常检测,在F1分数基本不变的情况下,通过多方面的算法优化实现平均 6.2倍 加速比。NeuTracer还接入了Traincheck框架用于神经网络静默异常检测,并基于 CUDA API 拓展了不变量的范围,在测试中额外检出 5%到10% 违反的不变量关系。项目还集成LLM驱动的智能分析框架生成详细的优化建议,为AI/ML应用提供了低开销、高精度的全方位性能监控和异常诊断。

特点

五大核心特性

  • 🎯 高效的GPU性能分析:利用 eBPF 进行 GPU 事件(如 CUDA 内核启动、同步事件和内存事件)的追踪和分析,实现零侵扰的 GPU 层面深度监控
  • 📊 全面的性能监控:结合 CPU 和 GPU 的性能数据,提供一个全面的性能视图,覆盖从内核到应用的完整技术栈
  • ⚡ 低开销的数据收集:使用 eBPF 技术确保性能数据收集的开销最小化(开销<10%),同时不影响应用程序的性能
  • 🤖 自动化追踪和分析:自动化收集多个主机和分析器的数据,提供一个整合的性能分析视图,支持分布式监控
  • 🛠️ 易于集成和使用:易于集成到现有 AI/ML 开发环境中,有可调等级的 logger 功能,且用户友好,可视化效果好,数据标签可读性强

项目完成情况

基础目标

实现内容完成情况详细说明
目标1:高效的GPU性能分析✅全部完成实现 CUDA 内核启动事件、 CUDA 内存事件(分配、释放、传输)等 CUDA API 的追踪与分析
目标2:全面的性能监控✅全部完成• 整合传统OS数据,可以监控函数调用情况,收集 CPU、IO、内存和网络、系统调用等指标
• 收集 Python 调用栈信息,监控 PyTorch API调用,通过 Traincheck 框架追踪 AI/ML 负载的不变量
目标3:低开销的数据收集✅全部完成使用eBPF技术,实现零侵扰,[性能开销<10%],同时支持进程过滤、安全获取内核信息
目标4:自动化追踪和分析✅全部完成使用gRPC进行分布式数据传输,Prometheus数据存储,grafana 实时数据聚合分析
目标5:易于集成和使用✅全部完成具有可调等级logger功能,Grafana可视化面板,用户友好的命令行工具,插件化架构设计,数据标签转换增加可读性

创新功能

创新功能完成情况技术亮点
CUDA深度分析✅全部完成采用基于阈值采样和拉普拉斯继承规则的算法检测CUDA 内存泄漏,综合时间、空间等多角度多指标分析显存碎片化并引入[MDTP](Memory Distribution Timeline Plotter)作为可视化方案
增强型异常检测✅全部完成建立了每个模块基于阈值的告警机制,并引入压缩感知方法对收集到的时序数据进行异常检测,使用 LLM 对日志进行智能分析
神经网络专项检测✅初步完成基于Traincheck 框架分析神经网络训练异常,实现了模型卡死检测、静默异常监测等,同时保证神经网络训练过程的稳定性
函数库追踪✅全部完成支持静态函数库追踪、动态函数库追踪、用户自定义库追踪,使用blazesym支持自动识别函数库符号,支持自动挂载函数追踪器
压缩感知加速✅全部完成简化凸优化求解问题,使用自定义求解器,并基于查找表优化了lesinn 算法,平均加速比为 6.2倍,同时使用Osqp与Eigen的Cpp库重构了压缩感知

相关文档

详细介绍

项目测试

案例研究

项目借鉴

未来展望