共享
Hugging Face Hub 是一个用于分享、发现和获取各种类型和规模模型的平台。我们强烈建议您在 Hub 上分享您的模型,以推动开源机器学习的发展,造福所有人!
本指南将向您展示如何从 Transformers 将模型共享到 Hub。
设置
要将模型共享到 Hub,您需要一个 Hugging Face 账户。请创建一个 User Access Token(默认存储在 cache 中),并通过命令行或 notebook 登录您的账户。
hf auth login
from huggingface_hub import notebook_login
notebook_login()仓库功能
每个模型仓库都支持版本控制、提交历史记录和差异可视化。

版本管理基于 Git 和 Git Large File Storage (LFS),支持修订版本,即通过提交哈希、标签或分支来指定模型版本。
例如,在 from_pretrained() 中使用 revision 参数,可以从提交哈希值加载特定版本的模型。
model = AutoModel.from_pretrained(
"julien-c/EsperBERTo-small", revision="4c77982"
)从分支或标签加载时,该调用中的所有文件都会固定到同一个提交,然后从该提交获取所有文件。
该固定仅在当前调用期间有效。若需在不同运行之间保持可复现性,请传入一个显式的 commit hash 或一个您视为固定的 tag。不要依赖 main 或其他会移动的分支在不同运行之间保持不变。
模型仓库还支持门控,用于控制谁可以访问某个模型。门控通常用于在研究模型正式发布之前,允许特定用户群体提前预览。

模型仓库还包含一个推理小部件,供用户直接在 Hub 上与模型进行交互。
有关更多信息,请参阅 Hub 模型文档。
上传模型
根据工作流偏好,有多种方式可以将模型上传到 Hub。您可以使用 Trainer 推送模型,直接在模型上调用 push_to_hub(),或使用 Hub 的 Web 界面。
Trainer
Trainer 可以在训练完成后直接将模型推送到 Hub。在 TrainingArguments 中设置 push_to_hub=True,并将其传递给 Trainer。训练完成后,调用 push_to_hub() 即可上传模型。
push_to_hub() 会自动向模型卡片中添加训练超参数和结果等有用信息。
from transformers import TrainingArguments, Trainer
training_args = TrainingArguments(output_dir="my-awesome-model", push_to_hub=True)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=small_train_dataset,
eval_dataset=small_eval_dataset,
compute_metrics=compute_metrics,
)
trainer.push_to_hub()要将模型上传到私有仓库,请在 TrainingArguments 中设置 hub_private_repo=True。如果仓库尚未创建(例如,当 TrainingArguments 中 push_to_hub=False 时),也可以改为向 push_to_hub() 传递 private=True。private 参数仅在创建仓库时生效,因此不会更改现有仓库的可见性。
trainer.push_to_hub(private=True)PushToHubMixin
PushToHubMixin 提供了将模型或分词器推送到 Hub 的功能。
Call push_to_hub() directly on a model to upload it to the Hub. It creates a repository under your namespace with the model name specified in push_to_hub().
model.push_to_hub("my-awesome-model")其他对象(例如 tokenizer)也会以相同的方式推送到 Hub。
tokenizer.push_to_hub("my-awesome-model")您的 Hugging Face 个人资料现在应该会显示新创建的模型仓库。前往 Files 标签页即可查看所有已上传的文件。
有关将文件推送到 Hub 的更多信息,请参阅 将文件上传到 Hub 指南。
Hub 网页界面
Hub 网页界面是一种无需编写代码即可上传模型的方式。
- 通过选择 New Model 创建一个新的仓库。

添加一些有关您模型的信息:
- 选择仓库的 所有者。这可以是您本人,也可以是您所属的任何组织。
- 为你的模型选择一个名称,该名称也将用作仓库名称。
- 选择您的模型是公开还是私有。
- 设置许可证的使用方式。
点击 创建模型 以创建模型仓库。
选择 Files 选项卡,然后单击 Add file 按钮,将文件拖放到您的仓库中。添加提交信息,然后单击 Commit changes to main 以提交该文件。

模型卡片
模型卡片向用户介绍模型的性能、局限性、潜在偏差以及伦理考量。强烈建议为您的仓库添加模型卡片!
模型卡是仓库中的一个 README.md 文件。通过以下方式添加此文件:
- 手动创建并上传
README.md文件 - 点击仓库中的 编辑模型卡片 按钮
请查看 Llama 3.1 的 模型卡片,了解模型卡片中应包含的内容示例。
有关 Model Cards 指南中提供的其他模型卡片元数据(碳排放、许可证、论文链接等),请进一步了解。
Update on GitHub