Hugging News #0506: StarCoder, DeepFloyd/IF 好多新的重量级模型

Posted Hugging Face 博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hugging News #0506: StarCoder, DeepFloyd/IF 好多新的重量级模型相关的知识,希望对你有一定的参考价值。

每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」,本期 Hugging News 有哪些有趣的消息,快来看看吧!

StarCoder: 最新的代码生成 LLM

Blog:
https://huggingface.co/blog/starcoder

Demo:
https://huggingface.co/chat/

VSCode extension:
https://marketplace.visualstudio.com/items?itemName=HuggingFace.huggingface-vscode

DeepFloyd/IF 模型来啦!

最强大的文生图模型之一,可以精准绘制文本和理解空间关系。

博文:
https://huggingface.co/blog/if

Demo:
https://huggingface.co/spaces/DeepFloyd/IF

AudioGPT

Hugging-Face Transformers:从路径错误中加载模型

【中文标题】Hugging-Face Transformers:从路径错误中加载模型【英文标题】:Hugging-Face Transformers: Loading model from path error 【发布时间】:2020-10-19 20:14:25 【问题描述】:

我对 Hugging-Face 变形金刚很陌生。当我尝试从给定路径加载 xlm-roberta-base 模型时遇到以下问题:

>> tokenizer = AutoTokenizer.from_pretrained(model_path)
>> Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/user/anaconda3/lib/python3.7/site-packages/transformers/tokenization_auto.py", line 182, in from_pretrained
    return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)
  File "/home/user/anaconda3/lib/python3.7/site-packages/transformers/tokenization_utils.py", line 309, in from_pretrained
    return cls._from_pretrained(*inputs, **kwargs)
  File "/home/user/anaconda3/lib/python3.7/site-packages/transformers/tokenization_utils.py", line 458, in _from_pretrained
    tokenizer = cls(*init_inputs, **init_kwargs)
  File "/home/user/anaconda3/lib/python3.7/site-packages/transformers/tokenization_roberta.py", line 98, in __init__
    **kwargs,
  File "/home/user/anaconda3/lib/python3.7/site-packages/transformers/tokenization_gpt2.py", line 133, in __init__
    with open(vocab_file, encoding="utf-8") as vocab_handle:
TypeError: expected str, bytes or os.PathLike object, not NoneType

但是,如果我按其名称加载它,则没有问题:

>> tokenizer = AutoTokenizer.from_pretrained('xlm-roberta-base')

我将不胜感激。

【问题讨论】:

你使用哪个版本的转换器? model_path 的值是多少? 我正在使用transformers==2.4.1model_path=./roberta/model-number 【参考方案1】:

我假设您已经按照documentation 中的描述创建了该目录:

tokenizer.save_pretrained('YOURPATH')

目前有一个 issue 正在调查中,它只影响 AutoTokenizer,但不影响底层的分词器,如 (XLMRobertaTokenizer)。例如以下应该工作:

from transformers import XLMRobertaTokenizer

tokenizer = XLMRobertaTokenizer.from_pretrained('YOURPATH')

要使用 AutoTokenizer,您还需要保存配置以离线加载:

from transformers import AutoTokenizer, AutoConfig

tokenizer = AutoTokenizer.from_pretrained('xlm-roberta-base')
config = AutoConfig.from_pretrained('xlm-roberta-base')

tokenizer.save_pretrained('YOURPATH')
config.save_pretrained('YOURPATH')

tokenizer = AutoTokenizer.from_pretrained('YOURPATH')

我建议或者为标记器和模型使用不同的路径来保留模型的 config.json,因为您应用到模型的一些修改会存储在model.save_pretrained() 期间创建的 config.json 中,并且在您保存模型后如上所述的标记器时将被覆盖(即您将无法使用标记器 config.json 加载修改后的模型)。

【讨论】:

【参考方案2】:

我遇到了同样的错误信息,要修复它,您可以在参数中添加use_fast=True

generator = AutoTokenizer.from_pretrained(generator_path, config=config.generator, use_fast=True) 

【讨论】:

【参考方案3】:

我遇到了同样的问题。使用本地机器上的模型。

os.environ['TRANSFORMERS_OFFLINE']='1'

这告诉库只使用本地文件。你可以在Hugging Face Installation - Offline Mode阅读更多关于它的信息

from transformers import RobertaTokenizer
tokenizer = RobertaTokenizer.from_pretrained('Model_Path')

路径应该是模型文件夹从当前文件目录的位置路径。例如,如果模型文件位于 xlm-roberta-base 文件夹下的模型文件夹中,则路径应为 'models/xlm-roberta-base/'

【讨论】:

以上是关于Hugging News #0506: StarCoder, DeepFloyd/IF 好多新的重量级模型的主要内容,如果未能解决你的问题,请参考以下文章

Hugging-Face Transformers:从路径错误中加载模型

从 Hugging Face 模型加载权重时出错

手把手写深度学习(15):在Hugging Face上构建自己的语料库

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

在管道中使用带有参数的 Hugging-face 转换器

BERT模型Hugging face的慢速训练