Tenstorrent TT-Metal v0.58.0-rc18 版本技术解析
Tenstorrent TT-Metal 是一个面向AI加速的高性能计算框架,专注于为机器学习工作负载提供高效的硬件加速支持。该项目通过创新的架构设计,实现了在特定硬件上的高性能计算能力,特别是在矩阵运算、张量处理等AI核心计算任务上表现出色。
本次发布的v0.58.0-rc18版本带来了多项重要更新和优化,涵盖了从底层硬件支持到高层API功能的多个方面。下面我们将深入分析这次更新的关键技术内容。
核心架构改进
本次更新对TT-Metal的底层架构进行了多项重要改进:
-
设备初始化优化:新增了对2D Torus拓扑结构在6U设备上的初始化支持,这为更复杂的计算任务提供了更好的硬件资源管理能力。同时修复了1D Fabric设备初始化时缺少的NOC选择优化问题,提升了设备间通信效率。
-
内存管理重构:移除了DispatchMemMap单例模式,将其所有权转移至MetalContext,这一改变使得内存管理更加模块化和可控。同时优化了DRAM预取器的性能模式支持,可以根据不同工作负载动态调整预取策略。
-
异步模式清理:移除了遗留的异步模式API,简化了代码库并提高了系统稳定性。这一改变反映了项目向更现代化、更一致性的编程模型演进的方向。
性能优化与功能增强
在性能优化方面,本次更新包含多项重要改进:
-
计算核心优化:为Llama SDPA解码阶段引入了16x32瓦片布局,并移除了copy_blocks操作,显著提升了处理效率。同时增加了对0D、1D和0V张量在矩阵乘法运算中的支持,扩展了框架的适用场景。
-
通信优化:实现了WH/BH设备上的原地Halo多播功能,优化了设备间数据交换效率。同时修复了reduce scatter代码中接收方/发送方ID计算的重复逻辑问题,提高了分布式计算的正确性。
-
新算子支持:新增了多个重要算子的实现,包括ttnn.experimental.broadcast_to广播操作、ttnn.stack堆叠操作以及ttnn.sort排序操作的单核实现。这些新算子大大丰富了框架的功能集。
模型支持与AI能力扩展
在AI模型支持方面,本次更新取得了显著进展:
-
视觉模型增强:新增了YOLOv8s_world模型的演示支持,并优化了YOLOv8x模型的追踪性能。同时为YOLOv9c模型带来了性能优化,提升了目标检测任务的执行效率。
-
生成模型支持:为VAE模型添加了midblock和upblocks支持,尽管后续暂时回退了VAE解码器的相关变更,但这一方向的工作仍在持续推进中。
-
大语言模型优化:针对Falcon7b和Llama等大语言模型进行了多项性能优化,包括调整性能容差范围、优化注意力机制实现等,提升了这些模型在TT-Metal上的运行效率。
系统稳定性与工具链改进
在系统稳定性和开发者体验方面,本次更新也包含多项重要工作:
-
调试工具增强:新增了用于捕获DRAM写入操作的观察器,并优化了性能分析工具,支持生成每个核心的操作时间CSV报告,为性能调优提供了更详细的数据支持。
-
测试覆盖扩展:为6U/T3K设备新增了系统健康测试二进制文件,并扩展了全网格带宽测试的覆盖范围。同时修复了多个测试用例中的稳定性问题。
-
开发者体验优化:改进了TTNN的导入逻辑,避免从测试文件中导入函数。同时清理了代码库中的冗余定义,如移除了未使用的MULTI_DEVICE存储类型枚举。
总结
Tenstorrent TT-Metal v0.58.0-rc18版本在架构、性能和功能等多个维度都取得了显著进展。从底层硬件支持到高层API功能,从核心计算优化到模型特定加速,这一版本为AI加速计算提供了更加强大和稳定的平台。特别是对新型硬件拓扑的支持、通信优化的改进以及大语言模型性能的提升,都体现了项目团队对高性能AI计算的深入理解和持续创新。
随着这些改进的引入,TT-Metal框架在AI加速领域的竞争力得到进一步增强,为开发者提供了更高效、更灵活的工具来构建和优化他们的AI应用。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C082
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python056
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0135
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00