项目介绍:TT-Metal
项目概述
TT-Metal 项目是一个现代化的神经网络操作库,主要使用 Python 和 C++ 进行开发。这个库是专为 Tenstorrent 硬件平台设计的,旨在提升深度学习模型的性能和使用便利性。TT-Metal 包含了多种模型的示例和配置参数,助力用户在不同硬件环境下实现高效的深度学习任务。
支持的模型
大规模语言模型 (LLMs)
TT-Metal 支持多种大规模语言模型(LLMs),这些模型可以运行在 Tenstorrent 提供的多种硬件上,如 n150 和 QuietBox 等。这些模型包括:
- Falcon7B、Mistral-7B、Mamba-2.8B、LLaMA-3.1 等。
- 支持从单设备到多设备的并行化(包括数据并行 DP 和张量并行 TP)。
这些模型在不同的硬件配置下表现优异,能够满足不同行业的 NLP 应用需求。
卷积神经网络 (CNNs)
项目中还提供了一些经典的卷积神经网络模型(如 ResNet-50 和 ViT),这些模型在图像处理领域有广泛应用。支持多种分辨率和批次大小,具有高吞吐量,能够在不同硬件上实现高效的图像处理任务。
自然语言处理 (NLPs)
TT-Metal 提供了如 BERT-Large 和 T5 等自然语言处理模型。结合 Tenstorrent 的硬件,这些模型在句子处理速度上表现出色,并且能够在不同的设备上实现灵活部署。
技术报告
TT-NN 提供多份技术报告,以帮助用户更好地理解和实现模型优化:
- 高级性能优化
- 设备网格编程
- ViT 和 YOLOv4 的算法实现
TT-Metalium
TT-Metalium 是 TT-NN 的底层编程模型,支持在 Tenstorrent 硬件上进行内核开发。用户可以通过提供的编程指南和 API 参考资料快速入门,并实现复杂的内核开发任务。
编程示例
为了帮助开发者上手,项目中提供了多个编程示例:
- “Hello World” 核心示例:帮助初学者熟悉基本核心开发。
- 简单的整数操作和张量操作示例:展示数据在内存中的移动和简单的算术运算。
- DRAM 数据移动和 Eltwise 操作:深入理解数据存取和算术操作的基础。
通过这个项目,开发者能够在高性能硬件上实现复杂的算法和模型,提升深度学习任务的性能与效率。无论是在自然语言处理、图像处理还是其他需要高计算力的领域,TT-Metal 都提供了丰富的支持与保障。