机器学习模型类别与格式详解

August 7, 2026 in 人工智能 3 minutes

解析主流模型格式特点与适用场景,以及 Hugging Face 按任务分类的模型类别体系

按任务理解模型类别

Hugging Face 官方根据具体的任务类型(Tasks),将模型进行了非常精细的划分。以下是各大核心类别下更细致的任务分类大全:

1. 自然语言处理 (Natural Language Processing)

专注于文本数据的理解与生成,细分任务包括:

  • 文本生成 (Text Generation): 基于上下文生成连贯的文本
  • 文本到文本生成 (Text2Text Generation): 将一种文本序列转换为另一种文本序列(如翻译、摘要)
  • 填充掩码 (Fill-Mask): 预测句子中被遮掩的词语,常用于预训练
  • 文本分类 (Text Classification): 将文本归类到预定义的类别中
  • 零样本文本分类 (Zero-Shot Classification): 无需额外训练,直接对未见过类别的文本进行分类
  • 词元分类 (Token Classification): 对文本中的每个词进行分类(如命名实体识别 NER、词性标注)
  • 问答 (Question Answering): 从给定上下文中提取或生成问题的答案
  • 表格问答 (Table Question Answering): 基于结构化表格数据进行数字推理和问答
  • 文本摘要 (Summarization): 将长文本压缩成短文本
  • 机器翻译 (Translation): 将文本从一种语言翻译成另一种语言
  • 句子相似度 (Sentence Similarity): 评估两个句子的语义相似程度
  • 对话 (Conversational): 支持多轮人机交互对话

2. 计算机视觉 (Computer Vision)

专注于图像和视频的理解与处理,细分任务包括:

  • 图像分类 (Image Classification): 识别整张图像的主要内容
  • 零样本图像分类 (Zero-Shot Image Classification): 无需训练即可识别图像类别
  • 目标检测 (Object Detection): 定位图像中物体的位置并分类
  • 零样本目标检测 (Zero-Shot Object Detection): 无需训练即可检测并定位物体
  • 图像分割 (Image Segmentation): 在像素级别对图像中的物体进行轮廓划分
  • 图像到图像 (Image-to-Image): 将一张图像转换为另一种风格或形式的图像
  • 无条件图像生成 (Unconditional Image Generation): 无需文本提示,直接生成全新图像
  • 视频分类 (Video Classification): 识别视频片段的内容或动作
  • 深度估计 (Depth Estimation): 从单张图像预测拍摄者到图像各处的距离

3. 音频处理 (Audio)

专注于声音和语音信号的处理,细分任务包括:

  • 自动语音识别 (Automatic Speech Recognition): 将语音音频转录为文本
  • 音频分类 (Audio Classification): 识别音频片段中的声音类型(如环境音、情感)
  • 零样本音频分类 (Zero-Shot Audio Classification): 无需训练即可对音频进行分类
  • 文本转语音 (Text-to-Speech): 将文本合成为自然语音
  • 音频到音频 (Audio-to-Audio): 将输入音频转换为另一种音频(如降噪、变声)
  • 语音活动检测 (Voice Activity Detection): 检测并识别音频中包含人声的部分

4. 多模态 (Multimodal)

处理跨越多种数据类型(文本、图像、音频等)的复杂任务,细分任务包括:

  • 特征提取 (Feature Extraction): 从多模态数据中提取通用向量表示
  • 图像特征提取 (Image Feature Extraction): 专门提取图像的深层特征
  • 文本到图像 (Text-to-Image): 根据文本提示生成对应的图像
  • 图像到文本 (Image-to-Text): 为图像生成描述性文本
  • 视觉问答 (Visual Question Answering): 基于图像内容回答自然语言问题
  • 文档问答 (Document Question Answering): 基于文档(包含图文排版)回答相关问题
  • 掩码生成 (Mask Generation): 自动为图像生成物体掩码

5. 表格数据 (Tabular)

专注于处理结构化表格数据,细分任务包括:

  • 表格分类 (Tabular Classification): 对表格数据进行类别预测
  • 表格回归 (Tabular Regression): 对表格数据进行连续数值预测

6. 强化学习 (Reinforcement Learning)

  • 强化学习 (Reinforcement Learning): 通过与环境交互学习最优策略
  • 机器人学 (Robotics): 应用于机器人控制与决策

💡 补充说明

除了上述按任务划分的类别外,Hugging Face 还会根据模型的底层架构或功能特性进行标签化分类,例如:

  • 深度推理模型 (Deep Reasoning): 擅长复杂逻辑推理、数学计算和多步决策
  • 行业大模型: 针对金融、医疗、法律等垂直领域定制化训练的模型
  • 文档大模型 / 语音大模型: 专门针对长文档处理或复杂语音交互优化的模型

模型的生命周期:加载、推理、训练与部署

在大模型(LLM)与AIGC领域,加载、推理、微调、训练、部署构成了模型全生命周期的核心环节。以下是针对这五个维度的基础知识梳理,涵盖主流框架、格式及核心区别:

1. 模型加载 (Model Loading)

指将存储在磁盘上的模型权重和配置读取到内存/显存中的过程。

  • 主流格式:
    • SafeTensors 🌟推荐:HuggingFace 主推,纯数据格式,无代码执行风险,加载速度极快(支持零拷贝/mmap),已逐渐取代 bin/pth。
    • PyTorch (.bin/.pth):传统格式,包含序列化对象,加载较慢且有潜在安全风险。
    • GGUF / GPTQ / AWQ:量化专用格式,用于低资源设备加载。
    • ONNX:跨平台中间表示,适合非Python环境或特定推理引擎。
  • 加载方式:
    • AutoClass:HF/ModelScope 的自动类(如 AutoModelForCausalLM),根据 config.json 自动映射模型架构。
    • 原生加载:使用 torch.load + 自定义 Model Class,灵活性高但维护成本大。
    • 分片加载:大模型通常拆分为多个 shard 文件,加载器需支持索引文件(model.safetensors.index.json)按层读取。

2. 模型推理 (Inference)

指模型接收输入并生成输出的计算过程,关注延迟、吞吐和显存效率。

  • 核心技术:
    • KV Cache:缓存历史Token的Key/Value矩阵,避免重复计算,是Transformer自回归生成的基石。
    • FlashAttention (v2/v3):IO感知注意力算法,大幅降低显存占用并提升速度。
    • Speculative Decoding:投机采样,用小模型预测+大模型验证,加速生成。
    • Batching策略:Continuous Batching / PagedAttention(vLLM核心),动态管理显存块,大幅提升并发吞吐。
  • 主流框架对比:
框架 特点 适用场景
vLLM PagedAttention, 高吞吐, OpenAI兼容API 生产级服务部署
SGLang RadixAttention, 结构化生成优化 Agent/复杂Prompt工程
llama.cpp CPU/Apple Silicon/Metal支持, GGUF格式 端侧/个人电脑本地推理
TensorRT-LLM NVIDIA深度优化, FP8/INT4极致性能 NVIDIA GPU高性能部署
Transformers 生态最全, 开发友好 原型验证/小规模测试

3. 模型微调 (Fine-tuning)

在预训练模型基础上,用特定数据调整参数以适应下游任务。区别于从头训练。

  • 主流方法:
    • Full Fine-tuning:更新全部参数,效果最好但资源消耗巨大。
    • PEFT (参数高效微调) 🌟主流:
      • LoRA / QLoRA / DoRA:冻结原模型,仅训练低秩适配器矩阵。QLoRA结合4bit量化,单卡即可微调70B模型。
      • Prefix Tuning / P-Tuning:在输入层添加可学习虚拟Token。
    • 对齐技术:SFT(指令微调)、DPO/ORPO(偏好对齐)、RLHF/PPO(强化学习反馈)。
  • 主流框架:
    • ms-swift:ModelScope出品,集成度高,支持500+模型,内置数据预处理与评估。
    • LLaMA-Factory:社区热门,WebUI友好,支持多种训练范式。
    • Axolotl:配置驱动,YAML定义训练流程,灵活性强。
    • Unsloth:极致优化LoRA训练速度(2-5x加速)与显存节省。

4. 模型训练 (Pre-training)

从零开始或在大规模语料上继续预训练,构建模型基础能力。

  • 核心挑战:数据规模(TB级)、集群稳定性、通信瓶颈。
  • 关键技术:
    • 并行策略:数据并行(DP/FSDP)、张量并行(TP)、流水线并行(PP)、序列并行(SP)。
    • 混合精度:BF16/FP16 + FP32 Master Weights,平衡速度与数值稳定性。
    • Checkpoint:异步保存、弹性恢复,应对千卡集群故障。
  • 主流框架:
    • Megatron-LM:NVIDIA官方,工业界预训练事实标准,性能极致但上手难。
    • DeepSpeed:微软开源,ZeRO系列优化显存,社区生态好。
    • FSDP (PyTorch原生):PyTorch 2.x内置,易用性优于DeepSpeed,性能接近。
    • veRL / OpenRLHF:专注RLHF/Post-training阶段的大规模训练。

5. 模型部署 (Deployment)

将模型封装为可用服务,关注稳定性、成本、兼容性。

  • 部署形态:
    • API Service:RESTful/OpenAI兼容接口(vLLM/SGLang/TGI)。
    • Edge/On-device:移动端/PC端运行(MLC-LLM, llama.cpp, MediaPipe)。
    • Serverless/Cloud:按需弹性扩缩容(SwingDeploy, SageMaker, Vertex AI)。
  • 关键优化:
    • 量化:GPTQ/AWQ(4bit无损感)、FP8(H100/B200原生支持)、SmoothQuant。
    • 编译优化:torch.compile / TensorRT / ONNX Runtime 图融合。
    • 路由与负载均衡:多模型/多副本调度,请求分级处理。

💡 核心区别速查表

维度 微调 vs 训练 推理 vs 部署 加载 vs 推理
目标 微调=适配任务;训练=构建能力 推理=单次计算;部署=系统工程 加载=IO操作;推理=Compute操作
数据量 微调: KB~GB级;训练: TB级 推理: 单条/小batch;部署: 持续流量 加载: 静态文件;推理: 动态张量
资源焦点 微调: 显存容量;训练: 算力+带宽 推理: 延迟/吞吐;部署: 可用性/成本 加载: 磁盘/内存带宽;推理: GPU FLOPs
迭代频率 微调: 小时天;训练: 周月 推理: 毫秒级;部署: 长期运行 加载: 启动时一次;推理: 每次请求

实践建议:新手入门推荐路径:SafeTensors加载 → Transformers推理 → ms-swift/LLaMA-Factory LoRA微调 → vLLM部署。此路径工具链成熟、文档完善、社区支持强,可快速建立完整认知后再深入底层优化。


模型存储、交换与部署格式

一、训练与部署的分离

PyTorch 格式

这是深度学习研究的主流格式,它保留了完整的计算图和动态特性,非常适合模型的训练、调试和实验。但它依赖于 Python 环境和 PyTorch 库,体积较大,启动慢,不适合直接用于生产环境。

ONNX 格式

这是一种开放的中间表示格式,它将模型从训练框架中"解耦"出来。ONNX 模型是静态计算图,可以被优化(如算子融合),并由专门的推理引擎加载,从而实现更快的推理速度和更小的内存占用。

二、跨平台与硬件兼容性

PyTorch

主要依赖 GPU/CPU,对特定硬件的优化需要额外配置。

ONNX

具有极强的跨平台兼容性,可以被转换为 TensorRT、OpenVINO 等针对特定硬件优化的格式,从而在 NVIDIA GPU、Intel CPU 或边缘设备上实现最佳性能。

三、安全与加载效率

PyTorch (.bin/.pth)

使用 Python 的 pickle 序列化,可能存在安全风险,且加载大模型时速度较慢。

SafeTensors (.safetensors)

由 Hugging Face 开发,专为安全、快速地加载大型张量而设计,避免了 pickle 的安全问题,并支持内存映射,显著提升了加载速度。

四、主流模型格式大全

格式 文件后缀 核心特点 适用场景
PyTorch .bin, .pth, .pt 训练框架原生格式,保留动态图特性,依赖 Python 环境 模型训练、研究、本地调试
SafeTensors .safetensors 安全、快速加载,仅包含权重参数,无执行代码 大模型存储与分发,替代 .bin
ONNX .onnx 开放中间格式,跨框架兼容,支持图优化和量化 生产环境推理、跨平台部署
GGUF .gguf 专为 CPU 推理优化,支持量化,可在个人电脑上运行大模型 本地部署、资源受限设备
TensorFlow .pb, .h5, .ckpt TensorFlow/Keras 原生格式,适合规模化训练 TensorFlow 生态内的训练与部署
TensorRT .engine, .plan NVIDIA 专用推理引擎格式,极致优化 GPU 性能 NVIDIA GPU 上的高性能推理
CoreML .mlmodel, .mlpackage Apple 专用格式,优化 iOS/macOS 设备性能 Apple 生态系统内的移动端部署

简单来说,你下载的 PyTorch 格式模型是"原材料",而 fastembed 需要的 ONNX 格式是经过"加工"后更适合在生产环境中高效运行的"成品"。你可以使用 optimum 或 torch.onnx.export 等工具将 PyTorch 模型转换为 ONNX 格式。