技术指南

模型序列化格式

模型序列化是如何将经过训练的机器学习模型保存到磁盘,以便稍后可以在不同的机器上或以不同的语言加载和运行。

听听这个指南AI叙述 · ~2 min

在本页阅读时间:2分钟
  1. 概述
  2. 深入探讨
  3. 现实世界的实施
  4. 模型序列化格式的未来
  5. 付诸实践
  6. 不断探索
  7. 常见问题

概述

您选择的格式会影响可移植性、速度、文件大小,甚至安全性。

深入探讨

After training, a model is just numbers (weights) plus a description of its architecture. Serialization writes that state into a file. Different ecosystems use different formats. Python pickle can execute arbitrary code when loading untrusted data. Many PyTorch checkpoints use pickle-based serialization, but torch.load security behavior is version-sensitive: PyTorch 2.6 and later default to weights_only=True when no pickle module is specified. Check the installed documentation and avoid disabling this protection for untrusted files. ONNX (Open Neural Network Exchange) is a framework-neutral format that lets a model trained in PyTorch run in another runtime or language. TensorFlow SavedModel is a directory format used for serving. Keras 3 saves to the native .keras format by default; its model.export API can produce a SavedModel for TensorFlow serving. Check the version-specific API. For large language models, safetensors has become popular because it stores only tensor data in a simple, fast, memory-mappable layout with no code execution, making it both safer and quicker to load. GGUF is widely used for running quantized LLMs efficiently on local hardware.

现实世界的实施

团队在 PyTorch 中训练模型,将其导出到 ONNX,并在不依赖 Python 的 C# 应用程序中运行它。

Hugging Face 将模型权重作为安全张量进行分配,因此用户可以下载它们,而不会产生恶意代码执行的风险。

开发人员下载量化 LLM 的 GGUF 文件,以便在笔记本电脑 CPU 上本地运行它。

TensorFlow 服务加载一个 SavedModel 目录,其中包含用于通过 API 提供预测的图表和变量。

模型序列化格式的未来

预计安全、便携格式将继续整合。 Safetensors 正在成为公开共享模型权重的默认设置,因为它消除了 pickle 的代码执行风险,而 GGUF 是本地 LLM 量化推理的事实上的标准。 ONNX 作为训练框架与边缘设备、浏览器和加速器上的优化部署运行时之间的桥梁而不断扩展。总体而言,这一趋势有利于语言中立、内存高效且设计安全的格式。

付诸实践

为什么这很重要

  • 成本与预算. 多年来,架构决策决定着性能和运营成本。
  • 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
  • 质量控制. 更好的工程选择可以减少生产中的可靠性事故。

留意

  • 优化一项基准测试可以隐藏更广泛的系统弱点。
  • 基础设施和维护成本常常被低估。
  • 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

后续步骤

  1. 在实施之前定义延迟、质量和成本目标。
  2. 在实际负载和数据条件下进行基准测试。
  3. 仪器监控错误、漂移和用户影响。
  4. 在扩展之前准备回滚和事件响应路径。

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

Take the Model Serialization Formats quiz

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是模型序列化格式?

模型序列化是如何将经过训练的机器学习模型保存到磁盘,以便稍后可以在不同的机器上或以不同的语言加载和运行。您选择的格式会影响可移植性、速度、文件大小,甚至安全性。

为什么 Python 的 pickle 格式被认为是模型的安全风险?

Unpickling 可以运行任意代码,因此加载不受信任的 pickle 文件可能会危害您的系统。

ONNX 格式的主要优点是什么?

ONNX 是一种框架中立的交换格式,可实现跨运行时、语言和硬件的可移植性。

为什么安全张量在共享模型权重方面变得流行?

Safetensors避免了pickle的代码执行风险,通过内存映射快速加载,安全高效。

GGUF 与哪个用例最相关?

GGUF 是在本地高效分发和运行量化 LLM 的事实上的格式。

像 ONNX 这样的交换格式主要存储什么?

ONNX 以标准模式捕获模型的计算图和参数,以便任何兼容的运行时都可以执行它。