TT-Metal项目v0.59.0-rc28版本技术解析
TT-Metal是Tenstorrent公司开发的一个高性能计算框架,专注于为AI和机器学习工作负载提供高效的硬件加速支持。该项目通过创新的架构设计,能够充分利用专用硬件资源,为深度学习模型训练和推理提供显著的性能提升。
本次发布的v0.59.0-rc28版本带来了多项重要改进和功能增强,主要集中在性能优化、错误修复和新特性支持等方面。下面我们将深入分析这个版本的关键技术更新。
核心架构改进
本次版本在系统架构层面进行了多项优化。最值得注意的是对FabricContext的引入,这一改进清理了设备初始化流程,并增加了对在TG网关上启动fabric的支持。这种架构调整使得系统能够更高效地管理硬件资源,特别是在多设备环境下。
另一个架构层面的重要变化是移除了host-side buffer分配/释放的概念。这一改变简化了内存管理模型,减少了系统开销,使得数据在主机和设备之间的传输更加高效。
性能优化
性能方面,本次更新包含了多项关键优化:
-
在Llama-3.1-8B-Instruct模型中覆盖了"performance" DecodersPrecision设置,这一调整显著提升了该模型的推理性能。
-
为text_demo.py启用了prefetcher性能模式,通过预取技术减少了数据加载延迟,提高了整体吞吐量。
-
针对4k以上序列长度的Llama TG解码场景解决了挂起问题,大幅提升了长序列处理的稳定性。
-
对conv2d操作进行了边缘情况处理,当split_reader启用且act_block_h=1时能够正确执行,避免了性能下降。
新功能与模型支持
本版本扩展了对多种模型和操作的支持:
-
新增了MistralForCausalLM类,为vLLM框架提供了更好的支持,扩展了模型兼容性。
-
实现了TTNN Roll操作支持,增加了张量操作的灵活性。
-
为uint16数据类型添加了对mul、bitwise或xor操作的支持,扩展了数据类型处理能力。
-
引入了3-tier训练架构演示,展示了更复杂的训练场景实现。
-
改进了对Llama 3模型权重的导入支持,为最新模型提供了更好的兼容性。
错误修复与稳定性提升
稳定性方面,本次版本解决了多个关键问题:
-
修复了slice write在小通道情况下的问题,确保了数据写入的正确性。
-
解决了fold初始化类型问题,避免了潜在的类型不匹配错误。
-
修正了FMOD文档,确保开发者能够正确使用这一功能。
-
修复了eth微基准测试中的程序运行时ID问题,提高了测试准确性。
-
解决了在debug构建中可能触发的assert问题,提高了开发体验。
测试与验证改进
测试基础设施方面也有显著提升:
-
新增了TT-MLIR的C++代码生成emitc测试基础设施,为编译器开发提供了更好的支持。
-
重新启用了单卡和T3K的异步测试,通过重新下载Falcon7b权重解决了之前的问题。
-
为数据移动测试减少了使用的核心数量,避免了256内核参数限制导致的问题。
-
添加了"One from All"原语的测试验证,确保这一关键功能的正确性。
开发者体验优化
针对开发者体验,本次更新也做了多项改进:
-
将ttnn/tensor移动到了新的core和api目录,改善了代码组织结构。
-
将SLAVE重命名为SUBORDINATE,采用了更合适的术语。
-
合并了global_circular_buffer.hpp和global_circular_buffer_impl.hpp文件,简化了接口。
-
添加了CI问题模板,规范了问题报告流程。
-
更新了多个文档,包括get_started.rst和Yolov8 README.md,提供了更清晰的指导。
总结
TT-Metal v0.59.0-rc28版本在性能、稳定性和功能扩展方面都取得了显著进展。通过架构优化、新特性支持和错误修复,这个版本为AI加速提供了更强大、更可靠的平台。特别是对Llama和Mistral等流行模型的支持改进,使得开发者能够更高效地部署这些模型。随着测试基础设施的不断完善,项目的可靠性也在持续提升。
这个版本为TT-Metal的持续发展奠定了坚实基础,展现了Tenstorrent在AI加速领域的技术实力和创新精神。开发者可以期待在这些改进的基础上构建更高效、更强大的AI应用。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0105
baihu-dataset异构数据集“白虎”正式开源——首批开放10w+条真实机器人动作数据,构建具身智能标准化训练基座。00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
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
AgentCPM-Explore没有万亿参数的算力堆砌,没有百万级数据的暴力灌入,清华大学自然语言处理实验室、中国人民大学、面壁智能与 OpenBMB 开源社区联合研发的 AgentCPM-Explore 智能体模型基于仅 4B 参数的模型,在深度探索类任务上取得同尺寸模型 SOTA、越级赶上甚至超越 8B 级 SOTA 模型、比肩部分 30B 级以上和闭源大模型的效果,真正让大模型的长程任务处理能力有望部署于端侧。Jinja00