202509
ai-systems

基于 TT-Buda 构建 TT-NN 操作库与 Metalium 低级内核:Wormhole AI 芯片的高吞吐量推理优化

利用 TT-Buda 编译框架,构建 TT-NN 操作库和 Metalium 低级内核,实现 Wormhole AI 芯片上神经网络的高吞吐量推理,提供优化参数与工程实践要点。

在 AI 加速器领域,Tenstorrent 的 Wormhole 芯片通过开源软件栈 TT-Metal 实现了高效的神经网络推理。TT-Metal 包括 TT-NN 操作库和 TT-Metalium 低级内核编程模型,前者提供 Python 和 C++ 接口用于构建神经网络操作,后者允许开发者直接操控硬件资源以优化性能。结合 TT-Buda 高级编译器,这一栈可以从 PyTorch 或 TensorFlow 等框架导入模型,实现端到端的优化部署,尤其适合高吞吐量场景如大型语言模型推理。

构建 TT-NN 操作库的核心在于定义和实现神经网络的基本操作,如矩阵乘法、激活函数和注意力机制。这些操作需针对 Wormhole 的 Tensix 核心架构进行适配,Tensix 核心集成了 RISC-V 微处理器和专用计算单元,支持多种数据精度如 FP8 和 INT8,以降低功耗并提升效率。利用 TT-Buda,用户首先导入模型架构和权重,例如通过 PyBuda 接口加载 Llama 模型,然后编译器后端会自动优化操作图,包括操作融合和内存布局调整。证据显示,在 Galaxy(基于 Wormhole)硬件上运行 Llama 3.1 70B 模型时,使用张量并行(TP=32)和批次大小 32,可实现首 token 时间(TTFT)53ms 和每用户 token 吞吐量(T/S/U)72.5,这一性能得益于 TT-NN 中的优化操作如 Flash Attention 实现,避免了传统 GPU 的内存瓶颈。

进一步地,Metalium 低级内核开发允许开发者自定义计算内核,例如编写矩阵引擎(Matrix Engine)中的 GEMM(通用矩阵乘法)操作。Wormhole 芯片的片上 SRAM(高达 108MB per chip)支持高效数据局部性,开发者需关注数据格式如 BF16 或 FP8 的转换,以饱和 DRAM 带宽(288 GB/s per chip)。在 TT-Buda 的指导下,编译过程会调度这些内核到多核网格中,利用以太网互连实现多芯片扩展。例如,对于 Qwen 3 32B 模型,在 QuietBox(Wormhole)上以 TP=8 和批次 32,T/S/U 达 22.1,目标优化至 30,通过调整内核中的数据重用策略(如多播和分片)可进一步提升。通过这些自定义,推理延迟可降低 20%以上,同时保持准确性。

落地实践时,首先设置环境:安装 TT-Metal v0.62.2,支持 Ubuntu 20.04+ 和 x86_64 架构,确保至少 64GB 系统内存。步骤包括:1)使用 PyBuda 导入模型,例如 from tt_buda import load_model; model = load_model('llama3_70b.pth');2)配置优化参数,如设置数据精度 precision='fp8'、张量布局 layout='tile_16x16' 以匹配 Tensix 核心;3)编译并部署到 Wormhole n150 卡(72 核心,160W),监控指标包括 TTFT <100ms 和 T/S >2000。风险控制:若优化失败,回滚至默认 TT-NN 操作,使用 vLLM 集成验证性能;内存溢出时,减小批次大小至 16,并启用子设备(Sub-Devices)分担负载。监控要点:利用 TT-NN Visualizer 工具可视化操作流图和内存使用,阈值设定为 DRAM 利用率 >90% 时警报。

在多芯片场景下,Ethernet 和 CCL(集体通信库)是关键。构建 TT-NN 时,集成 all-reduce 操作以支持数据并行(DP),参数如环状拓扑下带宽阈值 100Gbps,确保同步延迟 <10ms。对于 Metalium 内核,示例包括编写 eltwise 二元操作:使用 SFPU(标量浮点单元)处理激活,代码片段如 kernel.add_binary_op('add', format='fp16'),优化后可实现单核 1.2GHz 下 262 TFLOPS FP8 算力。实际部署清单:预热模型 5-10 迭代以稳定缓存;测试序列长度 128 tokens 下 TTFT;若 T/S/U 低于目标 80%,调整内核重配置数据格式(reconfig_data_format),如从 FP32 降至 FP8,潜在提升 30% 吞吐量但需验证 NaN 处理(special floating-point numbers)。

总体而言,这一栈的优势在于开源性和可定制性,避免黑匣子设计,开发者可逐步从 TT-Buda 高层抽象过渡到 Metalium 细粒度控制。相比传统 GPU,Wormhole 的网格架构在高密度计算中更高效,如 Galaxy 服务器的 32 芯片配置下,总 T/S 达 2268.8。工程化参数建议:批次大小 16-64,根据用户并发调整;超时阈值 500ms 后重试;回滚策略为切换至单芯片模式。未来,随着 Blackhole 芯片集成,这一优化将进一步扩展到训练场景,实现端到端 AI 流水线。

(字数约 1050)