modelscope的QWenTokenizer 都可以调用哪些方法?

modelscope的QWenTokenizer 都可以调用哪些方法?

展开
收起
小小爱吃香菜 2024-04-16 21:25:01 71 分享 版权
阿里云 AI 助理回答

根据提供的知识库资料,QWenTokenizer 是 ModelScope 中通义千问(Qwen)模型的分词器组件,主要用于处理文本输入和输出的分词、编码与解码操作。以下是 QWenTokenizer 可调用的主要方法及其功能说明:


1. encode 方法

  • 功能:将输入的自然语言文本转换为模型可接受的 token ID 序列。
  • 参数
    • text:需要编码的文本字符串。
    • add_special_tokens(可选):是否在编码结果中添加特殊标记(如 [CLS][SEP])。
  • 返回值:一个包含 token ID 的列表。
  • 示例
    tokenizer = QWenTokenizer.from_pretrained("Qwen/Qwen-7B-Chat")
    encoded_input = tokenizer.encode("你好,世界!")
    print(encoded_input)  # 输出类似 [1546, 2345, 6789]
    

2. decode 方法

  • 功能:将模型生成的 token ID 序列转换回自然语言文本。
  • 参数
    • token_ids:需要解码的 token ID 列表。
    • skip_special_tokens(可选):是否跳过解码过程中的特殊标记。
  • 返回值:解码后的文本字符串。
  • 示例
    decoded_text = tokenizer.decode([1546, 2345, 6789])
    print(decoded_text)  # 输出 "你好,世界!"
    

3. __call__ 方法

  • 功能:提供统一接口,支持对输入文本进行编码,并返回模型所需的张量格式。
  • 参数
    • text:输入文本或文本列表。
    • padding(可选):是否对输入进行填充以保证长度一致。
    • truncation(可选):是否截断超过最大长度的输入。
    • return_tensors(可选):指定返回的张量类型(如 pt 表示 PyTorch 张量,tf 表示 TensorFlow 张量)。
  • 返回值:一个字典,包含 input_idsattention_mask 等字段。
  • 示例
    inputs = tokenizer("你好,世界!", return_tensors="pt")
    print(inputs["input_ids"])  # 输出类似 tensor([[1546, 2345, 6789]])
    

4. from_pretrained 方法

  • 功能:从预训练模型路径或名称加载分词器。
  • 参数
    • pretrained_model_name_or_path:预训练模型的名称或本地路径。
  • 返回值:一个初始化的 QWenTokenizer 实例。
  • 示例
    tokenizer = QWenTokenizer.from_pretrained("Qwen/Qwen-7B-Chat")
    

5. save_pretrained 方法

  • 功能:将当前分词器保存到指定目录,便于后续加载使用。
  • 参数
    • save_directory:保存分词器的目标目录路径。
  • 示例
    tokenizer.save_pretrained("./saved_tokenizer")
    

6. 其他辅助方法

  • add_tokens:向分词器词汇表中添加新的 token。
  • num_special_tokens_to_add:返回分词器中特殊标记的数量。
  • get_vocab:获取分词器的完整词汇表。

注意事项

  • 模型兼容性:确保使用的 QWenTokenizer 版本与对应的 Qwen 模型版本一致,否则可能导致分词结果不匹配。
  • 性能优化:对于大规模文本处理任务,建议启用批量编码(batch_encode_plus)以提高效率。
  • 特殊标记:在调用 encodedecode 方法时,需明确是否需要处理特殊标记(如 [PAD][UNK] 等)。

以上是 QWenTokenizer 的主要方法及其使用说明。如果您需要更详细的代码示例或特定场景的应用指导,请进一步说明需求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

热门讨论

热门文章

还有其他疑问?
咨询AI助理