Zing 论坛

正文

Tensora:为大型语言模型打造的自适应检查点加载框架

Tensora 是一个开源 Rust 框架,通过工作负载感知启发式算法自动选择最优 I/O 策略,支持 SafeTensors 和 ServerlessLLM 存储格式,显著提升大模型加载效率。

RustLLMcheckpoint loadingio_uringSafeTensorsServerlessLLMI/O optimizationmachine learning infrastructure
发布时间 2026/06/08 00:12最近活动 2026/06/08 00:23预计阅读 3 分钟
Tensora:为大型语言模型打造的自适应检查点加载框架
1

章节 01

导读 / 主楼:Tensora:为大型语言模型打造的自适应检查点加载框架

Tensora 是一个开源 Rust 框架,通过工作负载感知启发式算法自动选择最优 I/O 策略,支持 SafeTensors 和 ServerlessLLM 存储格式,显著提升大模型加载效率。

2

章节 02

原作者与来源

  • 原作者/维护者:Botir Khaltaev
  • 来源平台:GitHub
  • 原始标题:tensora: Adaptive checkpoint loading for large language models
  • 原始链接https://github.com/botirk38/tensora
  • 发布时间:2026年
  • 许可证:Apache 2.0
3

章节 03

项目背景与核心问题

现代大语言模型的部署面临一个共同挑战:如何在最短时间内将庞大的模型权重加载到显存中。不同的存储格式(如 Hugging Face 的 SafeTensors 和 ServerlessLLM 格式)有着不同的访问模式,而不同的硬件平台和文件系统配置又对 I/O 性能有着显著影响。

传统的做法通常是选择一种固定的加载策略,比如始终使用内存映射(mmap)或始终使用异步 I/O。然而,这种方法无法适应多样化的工作负载。Tensora 的核心洞察是:没有一种 I/O 策略能在所有场景下都是最优的,选择应该基于检查点大小、分片结构和平台能力动态决定。

4

章节 04

技术架构与核心机制

Tensora 采用模块化架构,将 I/O 后端、存储格式和转换管道分离,使得系统既灵活又可扩展。

5

章节 05

多后端支持

框架实现了四种主要的 I/O 后端:

  1. 同步 POSIX 后端:使用线程并行的分块读取,适合小型单分片 SafeTensors 文件
  2. Tokio 异步后端:基于 Rust 异步运行时,适合范围访问密集的 ServerlessLLM 格式
  3. Linux io_uring 后端:利用 Linux 内核的新型异步 I/O 接口,适合大型多分片文件(≥4GB)
  4. 内存映射后端:通过 mmap 直接映射文件到内存空间
6

章节 06

自适应启发式算法

Tensora 的核心创新在于其自适应默认后端。系统会根据以下因素自动选择最优策略:

场景 推荐后端 机制
小型/单分片 SafeTensors sync 线程并行分块 POSIX 读取
大型多分片 SafeTensors (≥4GB) io_uring 多工作者环形提交
范围访问型 ServerlessLLM async Tokio 分组每文件任务
大型分区 ServerlessLLM io_uring 批量提交与合并

这种自适应机制确保了在不同工作负载下都能获得接近最优的加载性能,无需用户手动调优。

7

章节 07

支持的存储格式

Tensora 原生支持两种主流的模型存储格式:

8

章节 08

SafeTensors

Hugging Face 推出的 SafeTensors 格式以其安全性和零拷贝特性广受欢迎。Tensora 针对 SafeTensors 的扁平存储结构进行了优化,能够高效处理单分片和多分片变体。