You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何离线使用Hugging Face下载的MBart模型?兼询分词器所用文件

离线使用Hugging Face MBart模型的完整方案

一、先把模型和分词器完整下载到本地

直接修改你现有的代码,加上保存方法,就能把在线下载的模型和分词器全部存到本地指定目录(比如./mbart-summarization-mlsum):

from transformers import MBartTokenizer, MBartForConditionalGeneration

# 在线下载同时保存到本地
tokenizer = MBartTokenizer.from_pretrained("ARTeLab/mbart-summarization-mlsum")
tokenizer.save_pretrained("./mbart-summarization-mlsum")  # 保存分词器所有文件

model = MBartForConditionalGeneration.from_pretrained("ARTeLab/mbart-summarization-mlsum")
model.save_pretrained("./mbart-summarization-mlsum")  # 保存模型所有文件

运行完这段代码,本地目录里就会包含离线调用需要的全部文件。

二、分词器核心文件说明

你纠结的“哪些文件负责分词”,这里给你列核心组件:

  • sentencepiece.bpe.model:MBart分词的核心,是SentencePiece训练好的分词模型,专门用来把文本切分成模型能识别的子词
  • vocab.json:词表字典,记录token和对应ID的映射关系
  • tokenizer_config.json:分词器的配置参数,比如特殊token规则、预处理逻辑
  • special_tokens_map.json:定义、、这类特殊token的映射

这些文件缺一不可,少一个都可能导致分词器加载失败。

三、离线环境调用本地模型

离线时,只需要把from_pretrained的参数改成本地目录路径就行,完全不用联网:

from transformers import MBartTokenizer, MBartForConditionalGeneration

# 离线加载本地文件
tokenizer = MBartTokenizer.from_pretrained("./mbart-summarization-mlsum")
model = MBartForConditionalGeneration.from_pretrained("./mbart-summarization-mlsum")

# 测试示例(替换成你的文本即可)
text = "需要总结的原始文本内容"
inputs = tokenizer(text, return_tensors="pt", max_length=512, truncation=True)
summary_ids = model.generate(inputs["input_ids"], max_length=150, num_beams=4, early_stopping=True)
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
print(summary)

四、实用小技巧

  • 如果下载时网络卡,可以直接去模型仓库手动下载所有文件,放到本地目录,效果和代码下载完全一样
  • 别随便删本地目录里的文件,所有自动生成的文件都是必要组件
  • 可以设置环境变量TRANSFORMERS_CACHE指向你的本地模型目录,这样后续调用时不用每次都写路径,库会自动从这个目录加载

内容的提问来源于stack exchange,提问作者Mukhammadsodik Khabibulloev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 17:57:31