tokenizer.py — Tokenizer 加载与处理¶
文件路径: verl/utils/tokenizer.py
文件概述¶
提供统一的 HuggingFace Tokenizer 和 Processor(多模态处理器)加载函数,以及 token ID 标准化工具。
核心函数¶
1. 加载 Tokenizer¶
def hf_tokenizer(name_or_path, **kwargs):
"""加载 HuggingFace tokenizer,自动处理信任远程代码等选项"""
tokenizer = AutoTokenizer.from_pretrained(name_or_path, trust_remote_code=True, **kwargs)
return tokenizer
2. 加载 Processor(多模态)¶
def hf_processor(name_or_path, **kwargs):
"""加载 HuggingFace processor(用于视觉-语言模型)"""
processor = AutoProcessor.from_pretrained(name_or_path, trust_remote_code=True, **kwargs)
return processor
3. Token ID 标准化¶
某些 tokenizer 返回的 ID 可能是 numpy int 或 tensor,此函数统一为 Python 原生 int。
与其他模块的关系¶
- 被
__init__.py导出为公共 API - 被
dataset/rl_dataset.py、chat_template.py等使用 hf_processor被多模态数据集使用
小结¶
简洁的 tokenizer 加载封装,确保框架中各处使用一致的加载方式。