Hugging Face 模型 Bio_ClinicalBERT 产生 404 错误

Posted

技术标签:

【中文标题】Hugging Face 模型 Bio_ClinicalBERT 产生 404 错误【英文标题】:Hugging Face model Bio_ClinicalBERT producing 404 error 【发布时间】:2021-08-10 18:06:50 【问题描述】:

我正在使用 emilyalsentzer/Bio_ClinicalBERT 的 Hugging Face 实现构建命名实体识别 (NER) 模型。直到今天,我对模型没有任何问题。我希望有人可以帮助我理解为什么它目前没有按预期工作。

问题 1 - 今天,尝试使用以下方法进行训练:

MODEL_NAME = 'emilyalsentzer/Bio_ClinicalBERT'
model = text.sequence_tagger('bilstm-bert', preproc, bert_model=MODEL_NAME)

导致此错误: 404 客户端错误:找不到 url:https://huggingface.co/emilyalsentzer/Bio_ClinicalBERT/resolve/main/tf_model.h5

Hugging Face 是否提供任何类型的健康检查来确定其模型的状态?

问题 2 - 使用我从早期训练迭代中保存的文件(model.h5、model.json 和 preproc.sav),我得到了与上面显示的相同的 404 错误。我不明白这些文件在哪里发生了对 Hugging Face 的调用。它似乎不在 .json 中,而且 .h5 和 .sav 文件格式很难检查。阅读更多关于这些文件是什么的信息: https://medium.com/analytics-vidhya/how-to-deploy-your-neural-network-model-using-ktrain-ae255b134c77

早在 2 月份,我就使用这些确切的 model.h5、model.json 和 preproc.sav 文件来使用 Streamlit 运行 NER 应用程序,没问题。不确定这是否是 Bio_ClinicalBERT 的临时问题,或者由于此变压器模型可能存在永久性问题,我是否需要重新调整我的原始方法。

【问题讨论】:

【参考方案1】:

根据您为问题 1 提供的 URL,我了解到您正在尝试为 TensorFlow 模型 (tf_model.h5) 加载预训练的权重

但是,the pre-trained model you are trying to load 仅在 PyTorch 版本中可用。继续链接并查看页面顶部的标签。这个模型只有 PyTorch 标签,没有 Tensorflow 标签。

据我了解,在这种情况下,您应该从 PyTorch 检查点加载预训练的权重。为此,您可以将此参数添加到执行加载的函数中:

from_pt=True

【讨论】:

【参考方案2】:

正如 ktrain 存储库中的 this post 中所述,您应该能够安全地忽略该错误。

404 错误仅表示 transformers 无法找到该特定模型的 Tensorflow 版本(ktrain 正在请求该模型)。如果您访问 Hugging Face 模型中心,您会看到您使用的模型仅作为 PyTorch 模型上传。

在这种情况下,模型检查点的 PyTorch 版本将由 ktrain 自动下载,然后作为 TensorFlow 模型加载以进行训练/微调。如果输入model.summary(),应该会显示模型加载成功。

我认为您之前没有看到该错误的原因是因为较新版本的 Hugging Face 转换器显示 404 错误。

【讨论】:

以上是关于Hugging Face 模型 Bio_ClinicalBERT 产生 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

查看 Hugging Face Sagemaker 模型的训练错误指标

如何获得 Hugging Face 预训练模型的大小?

BERT模型Hugging face的慢速训练

Hugging Face H5 加载模型错误:在配置文件中找不到模型

使用 LoRA 和 Hugging Face 高效训练大语言模型

Hugging Face 模型 Bio_ClinicalBERT 产生 404 错误