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

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

模型仓库还包括一个推理小部件,用户可以在 Hub 上直接与模型交互。
请查阅 Hub 模型文档以获取更多信息。
模型框架转换
通过使模型在 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 网页界面。
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 提供了将模型或分词器推送到 Hub 的功能。
直接在模型上调用 push_to_hub() 将其上传到 Hub。它会在您的命名空间下创建一个仓库,仓库名称是在 push_to_hub() 中指定的模型名称。
model.push_to_hub("my-awesome-model")
其他对象,如分词器或 TensorFlow 模型,也以同样的方式推送到 Hub。
tokenizer.push_to_hub("my-awesome-model")
您的 Hugging Face 个人资料现在应该会显示新创建的模型仓库。导航到 Files 选项卡以查看所有上传的文件。
有关将文件推送到 Hub 的更多信息,请参阅将文件上传到 Hub指南。
Hub 网页界面
Hub 网页界面是一种无需代码即可上传模型的方法。
- 通过选择 New Model 创建一个新的仓库。

添加一些关于您模型的信息
- 选择仓库的 owner。这可以是您自己或您所属的任何组织。
- 为您的模型选择一个名称,这也将是仓库的名称。
- 选择您的模型是公开的还是私有的。
- 设置许可证用途。
点击 Create model 来创建模型仓库。
选择 Files 选项卡,然后点击 Add file 按钮将文件拖放到您的仓库中。添加提交信息,然后点击 Commit changes to main 提交文件。

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