重要提示
您正在查看 NeMo 2.0 文档。此版本引入了 API 的重大更改和一个新的库 NeMo Run。我们目前正在将 NeMo 1.0 的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档。
分词器#
- class nemo.collections.common.tokenizers.AutoTokenizer(
- pretrained_model_name: str,
- vocab_file: str | None = None,
- merges_file: str | None = None,
- mask_token: str | None = None,
- bos_token: str | None = None,
- eos_token: str | None = None,
- pad_token: str | None = None,
- sep_token: str | None = None,
- cls_token: str | None = None,
- unk_token: str | None = None,
- additional_special_tokens: List | None = [],
- use_fast: bool | None = False,
- trust_remote_code: bool | None = False,
- include_special_tokens: bool = False,
HuggingFace AutoTokenizer 的包装器 http://hugging-face.cn/transformers/model_doc/auto.html#autotokenizer。
- __init__(
- pretrained_model_name: str,
- vocab_file: str | None = None,
- merges_file: str | None = None,
- mask_token: str | None = None,
- bos_token: str | None = None,
- eos_token: str | None = None,
- pad_token: str | None = None,
- sep_token: str | None = None,
- cls_token: str | None = None,
- unk_token: str | None = None,
- additional_special_tokens: List | None = [],
- use_fast: bool | None = False,
- trust_remote_code: bool | None = False,
- include_special_tokens: bool = False,
- 参数:
pretrained_model_name – 对应于 HuggingFace-AutoTokenizer 的 ‘pretrained_model_name_or_path’ 输入参数。有关更多详细信息,请参阅 http://hugging-face.cn/transformers/_modules/transformers/tokenization_auto.html#AutoTokenizer.from_pretrained。所有受支持模型的列表可以在这里找到:ALL_PRETRAINED_CONFIG_ARCHIVE_MAP
vocab_file – 包含词汇表的文件路径,词汇表由换行符分隔的字符组成。
mask_token – 掩码 token
bos_token – 序列开始 token
eos_token – 序列结束 token。通常等于 sep_token
pad_token – 用于填充的 token
sep_token – 用于分隔序列的 token
cls_token – class token。通常等于 bos_token
unk_token – 用于未知 token 的 token
additional_special_tokens – 标准特殊 token(bos、eos、pad 等)之外的其他 token 列表。例如,T5 的 sentinel token(<extra_id_0>、<extra_id_1> 等)
use_fast – 是否使用快速 HuggingFace 分词器
include_special_tokens – 当为 True 时,将文本转换为 id 将包括特殊 token / prompt token(如果有),从而产生 self.tokenizer(text).input_ids
- class nemo.collections.common.tokenizers.SentencePieceTokenizer(
- model_path: str,
- special_tokens: Dict[str, str] | List[str] | None = None,
- legacy: bool = False,
- ignore_extra_whitespaces: bool = True,
- chat_template: Dict | None = None,
- trim_spm_separator_after_special_token=True,
- spm_separator=' ',
SentencePiece 分词器 google/sentencepiece。
- 参数:
model_path – SentencePiece 分词器模型路径。要创建模型,请使用 create_spt_model()
special_tokens – 特殊 token 列表或 token 名称到 token 值的字典
legacy – 设置为 True 时,将恢复 SentecePiece 包装器的先前行为,包括在包装器内添加特殊 token 的可能性。
ignore_extra_whitespaces – 在编码时是否忽略输入文本中的额外空格。注意:这是针对当前模型分词器完成的,这些分词器默认不处理额外的空格,因为默认分词器学习忽略它。要检查分词器是否默认忽略额外的空格,请参阅分词器的 self.removed_extra_spaces 属性。我们为即将到来的模型在 process_asr_tokenizer.py 中添加了一个参数来内置处理它。
- __init__(
- model_path: str,
- special_tokens: Dict[str, str] | List[str] | None = None,
- legacy: bool = False,
- ignore_extra_whitespaces: bool = True,
- chat_template: Dict | None = None,
- trim_spm_separator_after_special_token=True,
- spm_separator=' ',