huggingface文件名字及格式理解

1.解读

概述

  • 同一个基础模型 DeepSeek-R1-Distill-Qwen-1.5B

  • 被转换成 LiteRT / TFLite / LiteRT-LM 可部署格式

  • 面向 Android / iOS / Web / MediaPipe LLM Inference API / LiteRT-LM 场景

  • 提供了不同的:

    • 精度格式f32q8
    • 推理图形态seq128multi-prefill-seq
    • KV Cache 容量ekv1280ekv4096
    • 封装格式.tflite.task.litertlm

2.文件名命名规则拆解

先看一个完整名字:

DeepSeek-R1-Distill-Qwen-1.5B_multi-prefill-seq_q8_ekv4096.task

可以拆成下面几段:

2.1 模型主体

DeepSeek-R1-Distill-Qwen-1.5B

表示基础模型就是这个 1.5B 参数规模的蒸馏版 DeepSeek R1 Distill Qwen。README 里也标了 base_model。

2.2 推理图类型

multi-prefill-seq

  • 支持 multiple prefill signatures
  • 针对不同长度的 prompt prefill 阶段做了多签名/多形状优化
  • 目的是提升 prefill 阶段吞吐、减少不同输入长度带来的低效

seq128

  • 图编译时采用了 固定或偏固定的序列处理块/签名
  • 这里的 128 一般可理解为 预填充或输入处理的序列块长度/签名长度级别
  • 相比 multi-prefill-seq,它往往更简单,但灵活性通常弱一些

从命名习惯看,seq128 更像“单一序列长度特征”的导出版本;而 multi-prefill-seq 更像“多段 prefill 签名优化版”。

2.3 精度/量化类型

f32

表示 float32

  • 权重大概率是 32 位浮点
  • 体积最大
  • 内存占用最大
  • 精度最原始

q8

表示 8-bit quantization,README 里对应的是 dynamic_int8

  • int8 权重
  • float 激活
  • 体积显著缩小
  • 更适合端侧部署

2.4 KV Cache 容量

ekv1280

这里的 ekv 基本可以理解为 exported KV cache size / effective KV cache capacity 这一类含义,即导出时预设的 KV cache 容量级别。

  • 1280 说明 KV cache 配置较小
  • 更省内存
  • 可支撑的上下文更短

ekv4096

表示 KV cache 容量更大:

  • 能支持更长上下文
  • 内存占用更高
  • 更适合长对话、长 prompt、复杂推理链

支持缓存:4096/token


3.不同扩展名的含义

3.1 .tflite

这是 LiteRT / TFLite 的 flatbuffer 模型文件

用途:

  • 直接给 LiteRT/TFLite runtime 加载
  • 偏底层
  • 适合自己写加载逻辑、自己控制 tokenizer / sampling / session

3.2 .task

这是给 MediaPipe / LLM Inference API / Task API 这类更高层封装使用的模型包。

一般理解为:

  • .tflite 基础上再加一些 metadata / task 封装
  • 更适合直接接入官方 demo 或 task-style API

3.3 .litertlm

这是 LiteRT-LM 生态专用封装格式。

可理解为:

  • 面向 LiteRT-LM 的更直接分发格式
  • 适配该框架自己的加载方式
  • 对使用 LiteRT-LM 项目的人更省事

4.命名关系图

flowchart TD
    A[DeepSeek-R1-Distill-Qwen-1.5B] --> B[推理图类型]
    B --> B1[multi-prefill-seq
多 prefill 签名优化] B --> B2[seq128
固定/较简单序列图] A --> C[精度] C --> C1[f32
全精度] C --> C2[q8
8位量化 dynamic_int8] A --> D[KV Cache配置] D --> D1[ekv1280
较短上下文 较省内存] D --> D2[ekv4096
更长上下文 更耗内存] A --> E[封装格式] E --> E1[tflite
底层模型文件] E --> E2[task
MediaPipe/Task API封装] E --> E3[litertlm
LiteRT-LM专用]