Transformers 文档
分享
并获得增强的文档体验
开始使用
分享
Hugging Face Hub 是一个用于分享、发现和使用各种不同类型和大小模型的平台。我们强烈建议在 Hub 上分享您的模型,以推动开源机器学习为所有人向前发展!
本指南将向您展示如何从 Transformers 分享模型到 Hub。
设置
要将模型分享到 Hub,您需要一个 Hugging Face 帐户。创建一个 用户访问令牌(默认存储在 缓存 中),并从命令行或 notebook 登录到您的帐户。
huggingface-cli login
仓库功能
每个模型仓库都具有版本控制、提交历史和差异可视化功能。

版本控制基于 Git 和 Git Large File Storage (LFS),它支持修订,这是一种使用提交哈希、标签或分支指定模型版本的方法。
例如,在 from_pretrained() 中使用 revision
参数,从提交哈希加载特定的模型版本。
model = AutoModel.from_pretrained(
"julien-c/EsperBERTo-small", revision="4c77982"
)
模型仓库还支持 门控,以控制谁可以访问模型。门控通常用于允许选定的一组用户在研究模型公开之前预览它。

模型仓库还包括一个推理 widget,供用户直接在 Hub 上与模型交互。
查看 Hub Models 文档以获取更多信息。
模型框架转换
通过以 PyTorch、TensorFlow 和 Flax 提供模型,覆盖更广泛的受众。虽然用户仍然可以使用不同的框架加载模型,但这会比较慢,因为 Transformers 需要即时转换检查点。首先转换检查点会更快。
设置 from_tf=True
以将检查点从 TensorFlow 转换为 PyTorch,然后保存它。
from transformers import DistilBertForSequenceClassification
pt_model = DistilBertForSequenceClassification.from_pretrained("path/to/awesome-name-you-picked", from_tf=True)
pt_model.save_pretrained("path/to/awesome-name-you-picked")
上传模型
有几种方法可以将模型上传到 Hub,具体取决于您的工作流程偏好。您可以使用 Trainer、TensorFlow 模型的回调来推送模型,直接在模型上调用 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()
PushToHubCallback
对于 TensorFlow 模型,将 PushToHubCallback 添加到 fit 方法。
from transformers import PushToHubCallback
push_to_hub_callback = PushToHubCallback(
output_dir="./your_model_save_path", tokenizer=tokenizer, hub_model_id="your-username/my-awesome-model"
)
model.fit(tf_train_dataset, validation_data=tf_validation_dataset, epochs=3, callbacks=push_to_hub_callback)
PushToHubMixin
PushToHubMixin 提供了将模型或 tokenizer 推送到 Hub 的功能。
直接在模型上调用 push_to_hub() 以将其上传到 Hub。它会在您的命名空间下创建一个仓库,仓库名称为 push_to_hub() 中指定的模型名称。
model.push_to_hub("my-awesome-model")
tokenizer 或 TensorFlow 模型等其他对象也以相同的方式推送到 Hub。
tokenizer.push_to_hub("my-awesome-model")
您的 Hugging Face 个人资料现在应该显示新创建的模型仓库。导航到 文件 选项卡以查看所有上传的文件。
有关将文件推送到 Hub 的更多信息,请参阅 将文件上传到 Hub 指南。
Hub Web 界面
Hub Web 界面是一种无需代码即可上传模型的方法。
- 通过选择 新建模型 来创建一个新的仓库。

添加一些关于您的模型的信息
- 选择仓库的 所有者。这可以是您自己或您所属的任何组织。
- 为您的模型选择一个名称,这也将是仓库名称。
- 选择您的模型是公开的还是私有的。
- 设置许可证使用情况。
单击 创建模型 以创建模型仓库。
选择 文件 选项卡,然后单击 添加文件 按钮,将文件拖放到您的仓库中。添加提交消息,然后单击 提交更改到 main 以提交文件。

模型卡
模型卡 向用户介绍模型的性能、局限性、潜在的偏见和伦理考量。强烈建议在您的仓库中添加模型卡!
模型卡是仓库中的 README.md
文件。通过以下方式添加此文件
- 手动创建和上传
README.md
文件 - 单击仓库中的 编辑模型卡 按钮
查看 Llama 3.1 模型卡,了解模型卡中应包含的内容示例。
在 模型卡 指南中了解有关其他模型卡元数据(碳排放、许可证、论文链接等)的更多信息。
< > 在 GitHub 上更新