模型发布清单
Hugging Face Hub 是分享机器学习模型的首选平台。执行良好的发布可以提高模型的可见性和影响力。本节涵盖简洁、信息丰富且用户友好的模型发布的基本步骤。
⏳ 准备发布模型
上传权重
将模型上传到 hub 时,建议遵循一系列最佳实践:
上传权重
-
为不同的模型权重使用单独的仓库。 例如,你可以在单个仓库中存储同一模型的量化变体,但为不同的模型权重使用单独的仓库。
-
对于权重序列化,优先使用
safetensors而不是pickle。 与 Python 的pickle相比,safetensors提供了更高的安全性和性能。
编写全面的模型卡片
精心制作的模型卡片(仓库中的 README.md 文件)对于可发现性、可重现性和有效分享至关重要。你的模型卡片应包括:
-
元数据配置:模型卡片顶部的元数据部分(YAML 格式)对于可发现性和正确分类至关重要。确保包括:
---
pipeline_tag: text-generation # Specify the task
library_name: transformers # Specify the library
language:
- en # List language for your model
license: apache-2.0 # Specify a license
datasets:
- username/dataset # List datasets used for training
base_model: username/base-model # If applicable
--- -
详细的模型描述:清楚地解释你的模型的功能、架构和预期用例。这有助于用户快速了解你的模型是否适合他们的需求。
-
使用示例:提供清晰、可操作的代码片段,展示如何使用模型进行推理、微调或其他常见任务。这些示例应该可以直接复制和运行,只需最少的修改。
奖励:你可以通过在模型仓库中放置结构良好的 notebook.ipynb 来展示模型功能。这将允许用户直接打开你的笔记本并在 Google Colab 和 Kaggle Notebooks 中直接运行它。
-
技术规格:包括有关训练参数、硬件要求以及任何其他技术详细信息,这些信息将帮助用户了解如何有效使用你的模型。
-
性能指标:分享全面的基准测试和评估结果。包括定量指标和定性示例,让用户全面了解模型的功能和局限性。
-
局限性和偏见:透明地记录与模型相关的任何已知局限性、偏见或伦理考虑。这有助于用户就是否以及如何使用模型做出明智的决定。
增强模型的可发现性和可用性
为了最大化模型的覆盖范围和可用性:
-
库集成:如果可能,添加对与 Hugging Face Hub 集成的众多库之一(如 Transformers 或 Diffusers)的支持。这种集成显著提高了模型的可访问性,并为用户提供了使用模型的代码片段。
例如,要指定你的模型与 Transformers 库一起工作:
---
library_name: transformers
---
你还可以创建自己的模型库或向另一个现有库或代码库添加 Hub 支持。
最后,在推送自定义 PyTorch 模型时,你可以采用 Mixin 类。
我们在这里编写了关于上传最佳实践的详细指南。
奖励:公认的库还允许你跟踪模型随时间的下载情况。
-
正确的元数据:
- 管道标签: 选择正确的管道标签,准确反映模型的主要任务。此标签决定模型在搜索结果中的显示方式以及在模型页面上显示哪些小部件。
常见管道标签示例:
-
text-generation- 用于生成文本的语言模型 -
text-to-image- 用于文本到图像生成模型 -
image-text-to-text- 用于生成文本的视觉语言模型(VLM) -
text-to-speech- 用于从文本生成音频的模型 -
许可证: 许可证信息对于用户了解如何使用模型至关重要。
-
研究论文:如果你的模型有相关的研究论文,你可以在模型卡片中引用它们,它们将自动链接。这提供了学术背景,允许用户深入了解你工作的理论基础,并增加引用。
## References
* [Model Paper](https://arxiv.org/abs/xxxx.xxxxx) -
集合:如果你要发布多个相关模型或变体,请将它们组织到一个集合中。集合帮助用户发现相关模型并理解不同版本或变体之间的关系。
-
演示:创建一个带有模型交互式演示的 Hugging Face Space。这允许用户直接试用模型而无需编写任何代码,显著降低了采用门槛。你还可以从 Space 链接模型,使其出现在模型页面的专用 UI 上。
## Demo
Try this model directly in your browser: [Space Demo](https://huggingface.co/spaces/username/model-demo)
创建演示时,请从 Hub 上的仓库下载模型(而不是使用 Google Drive 等外部源);它将模型工件和演示交叉链接在一起,并允许更多可见性路径。
-
量化版本:考虑上传模型的量化版本(例如,GGUF 或 DDUF 格式)以提高计算资源有限的用户的可访问性。在量化模型卡片上使用
base_model元数据字段链接这些版本。你还可以清楚地记录原始版本和量化版本之间的性能差异。---
base_model: username/original-model
base_model_relation: quantized
--- -
在模型页面上链接数据集:在
README.md元数据中链接数据集,以直接从模型页面显示使用的数据集。---
datasets:
- username/dataset
- username/dataset-2
--- -
新模型版本:如果你的模型是现有模型的更新,你可以在旧版本模型卡片上指定它。这将在旧模型页面上显示横幅,直接链接到此更新版本。
---
new_version: username/updated-model
--- -
视觉示例:对于图像或视频生成模型,使用
<Gallery>卡片 组件直接在模型页面上包含示例。视觉示例提供了对模型功能的即时洞察。<Gallery>


</Gallery> -
碳排放:如果可能,指定与训练模型相关的碳排放。此信息有助于具有环保意识的用户和组织做出明智的决定。
---
co2_eq_emissions:
emissions: 123.45
source: "CodeCarbon"
training_type: "pre-training"
geographical_location: "US-East"
hardware_used: "8xA100 GPUs"
---
访问控制和可见性
-
可见性设置:一旦一切完成并且你准备与世界分享模型,请在模型设置中将模型切换为公开可见。在此之前,请仔细检查所有文档和代码示例,确保它们准确完整
-
门控访问:如果你的模型需要受控访问,请使用门控访问功能并清楚地指定用户必须满足的条件才能获得访问权限。这对于具有潜在双重用途问题或商业限制的模型尤其重要。
🏁 发布模型后
成功的模型发布不仅仅是最初的发布。为了最大化影响并保持质量:
维护和社区参与
-
验证功能:发布后,通过在干净的环境中测试所有提供的代码片段来验证它们是否正确工作。这确保用户可以成功实现你的模型而不会感到沮丧。
例如,如果你的模型是 transformers 兼容的 LLM,你可以尝试以下代码片段:
from transformers import pipeline
# This should work without errors
pipe = pipeline("text-generation", model="your-username/your-model")
result = pipe("Your test prompt") -
分享分享分享:大多数人在社交媒体或内部聊天渠道(如公司 Slack 或电子邮件线程)上发现模型,所以不要犹豫分享模型链接。分发模型的另一种好方法是在你的网站或 GitHub 项目上添加链接。访问和喜欢你的模型的人越多,它在 Hugging Face 的趋势部分排名就越高,从而带来更多可见性!
-
社区互动:在社区标签页中与用户互动,回答问题、处理反馈并快速解决问题。澄清困惑,采纳有用的建议,并关闭离题的讨论或拉取请求,以保持空间专注。
跟踪使用情况和影响
-
使用指标:监控下载和点赞以跟踪模型的受欢迎程度和采用情况。你可以在模型设置中访问总下载指标。
-
监控贡献:定期检查模型树以发现社区所做的贡献。这些贡献可以提供有价值的见解和潜在的协作机会。
企业功能
Hugging Face Enterprise 订阅提供额外功能:
-
访问控制:设置资源组以控制特定团队或用户的访问,确保整个组织的适当权限。
-
存储区域:为模型文件选择数据存储区域(美国/欧盟)以符合区域数据法规和要求。
-
高级分析:使用企业分析功能深入了解使用模式和采用指标。
-
扩展存储:随着模型组合的增长,访问额外的私有存储容量以托管更多模型和更大的工件。
通过遵循这些全面的指南和示例,你将确保在 Hugging Face 上的模型发布清晰、有影响力且有价值。这将最大化你为 AI 社区所做工作的价值并增加其可见性。期待你的贡献!