模型安全。
Pytorch 默认使用 pickle,这意味着很长一段时间以来,所有使用这种格式的模型都可能在纯粹加载模型时执行意外代码。
Python 的 pickle 页面上有一个醒目的红色警告链接,但很长一段时间以来,社区都忽略了它。现在人工智能/机器学习的应用越来越广泛,我们需要切换到其他格式。
HuggingFace 正在引领这一努力,创建了一种包含纯数据的全新格式(safetensors),并正在逐步将所有库迁移到默认使用这种格式。迁移过程有意放缓,以便尽量减少对用户的影响。
TGI 2.0
自 TGI 2.0 发布以来,我们借此重大版本升级的机会,打破了对这些 pytorch 模型的向后兼容性(因为它们对任何部署它们的人来说都是巨大的安全风险)。
从现在开始,TGI 不会在没有 --trust-remote-code
标志或 TRUST_REMOTE_CODE=true
环境变量的情况下自动转换 pickle 文件。此标志已用于社区定义的推理代码,因此它代表了您对模型提供者的信任程度。
如果您想使用使用 pickle 的模型,但仍然不想完全信任作者,我们建议您使用为此目的制作的空间进行转换。
https://huggingface.co/spaces/safetensors/convert
此空间将在原始模型上创建 PR,您可以直接使用它,无论原始作者是否合并。只需使用
docker run .... --revision refs/pr/#ID # Or use REVISION=refs/pr/#ID in the environment