重要提示

您正在查看 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=' ',
)#
class nemo.collections.common.tokenizers.TokenizerSpec#

继承此类以实现新的分词器。

__init__()#