tokenizers Tokenizer.from_bytes()在Python绑定中不可用,

htzpubme  于 6个月前  发布在  Python
关注(0)|答案(3)|浏览(99)

在Python中寻找类似于Rust中的"Tokenizer.from_bytes()"支持,目前Python绑定代码中没有这个功能。

为什么需要这个功能?

  • 我们有"safetensors"格式来序列化模型并将它们存储为远程对象,然后可以在内存中加载回并安全地反序列化为Model对象,无需在应用程序服务器中进行文件写操作。
  • 但是对于Tokenizers,我必须使用一个"zip"文件来保存预训练的tokenizers作为远程对象 - 在这里我必须下载远程zip并在加载Tokenizer对象之前在服务器上执行文件写操作 - 执行此文件写操作并不方便。如果我不得不跳过文件写操作,我唯一能做的就是保存我在运行时创建的Tokenizer对象的pickled副本,然后从我的远程对象服务器中解pickle - 这可能不是一个更安全的选择。因此,对于Tokenizer来说,有一个"from_bytes"选项可能会很有帮助。
xbp102n0

xbp102n01#

你是否想要打开一个PR来添加这个功能?🤗

sq1bmfud

sq1bmfud2#

你好@ArthurZucker
我再次查看了代码,以期贡献我之前询问的Tokenizer.from_bytes()方法;但后来我发现,我期望的功能已经在另一个名为Tokenizer.from_buffer()的方法中。
尝试了一个PoC,从tokenizer.json文件的字节加载分词器,它可以工作。附上截图;如果你认为这个PoC是好的,那么这段代码将对任何使用huggingface分词器的人来说是一个足够的参考。

agxfikkp

agxfikkp3#

是的,也许可以更新文档,使缓冲区更易于查找?

相关问题