【AI大模型】Transformers大模型库(四):AutoTokenizer

简介: 【AI大模型】Transformers大模型库(四):AutoTokenizer

一、引言

这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。

🤗 Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨是让最先进的 NLP 技术人人易用。

🤗 Transformers 提供了便于快速下载和使用的API,让你可以把预训练模型用在给定文本、在你的数据集上微调然后通过 model hub 与社区共享。同时,每个定义的 Python 模块均完全独立,方便修改和快速研究实验。

🤗 Transformers 支持三个最热门的深度学习库: Jax, PyTorch 以及 TensorFlow — 并与之无缝整合。你可以直接使用一个框架训练你的模型然后用另一个加载和推理。

本文重点介绍自动分词器(AutoTokenizer)。

二、自动分词器(AutoTokenizer)

2.1 概述

AutoTokenizer是Hugging Face transformers库中的一个非常实用的类,它属于自动工厂模式的一部分。这个设计允许开发者通过一个统一的接口来加载任何预训练模型对应的分词器(tokenizer),而无需直接指定分词器的精确类型。这意味着,当你知道模型的名称时,你可以使用AutoTokenizer自动获取与该模型匹配的分词器,而不需要了解分词器的具体实现细节。

2.2 主要特点

  • 模型兼容性:通过模型名称自动匹配合适的分词器,支持BERT、RoBERTa、Albert、DistilBERT、T5等众多模型。
  • 便捷性:简化了代码,无需根据模型类型手动选择分词器类。
  • 灵活性:对于新发布的模型,只要其分词器在Hugging Face模型库中可用,AutoTokenizer.from_pretrained就能加载。

2.3 代码示例

使用这些特殊标记的例子,比如在BERT模型中准备输入:

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"#使用国内hf镜像
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
 
from transformers import AutoTokenizer
 
# 加载BERT的分词器
tokenizer = AutoTokenizer.from_pretrained('bert-base-chinese')
 
# 使用分词器处理文本
text = "你好,我在北京的互联网公司工作"
tokenized_text = tokenizer.tokenize(text)
print(tokenized_text)
"""
['你', '好', ',', '我', '在', '北', '京', '的', '互', '联', '网', '公', '司', '工', '作']
"""
 
# 或者直接编码为模型输入的格式
encoded_text = tokenizer.encode(text)
print(encoded_text)
"""
[101, 872, 1962, 8024, 2769, 1762, 1266, 776, 4638, 757, 5468, 5381, 1062, 1385, 2339, 868, 102]
"""
 
# 对于更复杂的输入准备,可以使用encode_plus
encoded_plus = tokenizer.encode_plus(text, add_special_tokens=True)
print(encoded_plus)
"""
{
    'input_ids': [101, 872, 1962, 8024, 2769, 1762, 1266, 776, 4638, 757, 5468, 5381, 1062, 1385, 2339, 868, 102], 
    'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
    'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
}
"""

参数说明

  • from_pretrained: 这不是一个方法,而是用来创建AutoTokenizer实例的类方法。它根据提供的模型名称或路径加载对应的分词器。
  • tokenize: 将文本字符串转换为词元(tokens)的列表。
  • encode: 将文本转换为模型输入的数字序列(token IDs)。
  • encode_plus: 除了生成token IDs,还提供额外的数据结构,如attention_mask、token_type_ids等,适合复杂输入准备。以及提供句子编码拼接功能。
  • batch_encode_plus: 对一批文本进行编码,可以自动处理填充和截断,以确保所有输入具有相同的长度。
  • decode: 将token IDs转换回文本字符串。
  • save_pretrained: 保存分词器到本地目录,以便之后使用。
  • 特定于模型的方法: 不同的分词器可能有特定的方法,如处理特定的编码规则、特殊标记等,但这些不是所有分词器都通用的。

这些方法的具体行为和可用参数可能会根据加载的分词器类型(如BertTokenizer、RobertaTokenizer等)有所不同

三、总结

本文对使用transformers的AutoTokenizer进行介绍,他最大的特点是允许开发者通过一个统一的接口来加载任何预训练模型对应的分词器(tokenizer),而无需直接指定分词器的精确类型。这意味着,当知道模型的名称时,可以使用AutoTokenizer自动获取与该模型匹配的分词器。

目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
5天前
|
人工智能 自然语言处理 机器人
文档智能与RAG技术如何提升AI大模型的业务理解能力
随着人工智能的发展,AI大模型在自然语言处理中的应用日益广泛。文档智能和检索增强生成(RAG)技术的兴起,为模型更好地理解和适应特定业务场景提供了新方案。文档智能通过自动化提取和分析非结构化文档中的信息,提高工作效率和准确性。RAG结合检索机制和生成模型,利用外部知识库提高生成内容的相关性和准确性。两者的结合进一步增强了AI大模型的业务理解能力,助力企业数字化转型。
35 3
|
7天前
|
人工智能 弹性计算 Serverless
触手可及,函数计算玩转 AI 大模型 | 简单几步,轻松实现AI绘图
本文介绍了零售业中“人—货—场”三要素的变化,指出传统营销方式已难以吸引消费者。现代消费者更注重个性化体验,因此需要提供超出预期的内容。文章还介绍了阿里云基于函数计算的AI大模型,特别是Stable Diffusion WebUI,帮助非专业人士轻松制作高质量的促销海报。通过详细的部署步骤和实践经验,展示了该方案在实际生产环境中的应用价值。
38 6
触手可及,函数计算玩转 AI 大模型 | 简单几步,轻松实现AI绘图
|
4天前
|
人工智能 新制造 芯片
2024年中国AI大模型产业发展报告解读
2024年,中国AI大模型产业迎来蓬勃发展,成为科技和经济增长的新引擎。本文解读《2024年中国AI大模型产业发展报告》,探讨产业发展背景、现状、挑战与未来趋势。技术进步显著,应用广泛,但算力瓶颈、资源消耗和训练数据不足仍是主要挑战。未来,云侧与端侧模型分化、通用与专用模型并存、大模型开源和芯片技术升级将是主要发展方向。
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
【10月更文挑战第31天】2024年,AI大模型在软件开发领域的应用取得了显著进展,从自动化代码生成、智能代码审查到智能化测试,极大地提升了开发效率和代码质量。然而,技术挑战、伦理与安全问题以及模型可解释性仍是亟待解决的关键问题。开发者需不断学习和适应,以充分利用AI的优势。
|
5天前
|
存储 人工智能 固态存储
如何应对生成式AI和大模型应用带来的存储挑战
如何应对生成式AI和大模型应用带来的存储挑战
|
12天前
|
人工智能 JSON 自然语言处理
基于文档智能&RAG搭建更懂业务的AI大模型
本文介绍了一种结合文档智能和检索增强生成(RAG)技术,构建强大LLM知识库的方法。通过清洗文档内容、向量化处理和特定Prompt,提供足够的上下文信息,实现对企业级文档的智能问答。文档智能(Document Mind)能够高效解析多种文档格式,确保语义的连贯性和准确性。整个部署过程简单快捷,适合处理复杂的企业文档,提升信息提取和利用效率。
|
8天前
|
人工智能 自然语言处理 算法
企业内训|AI/大模型/智能体的测评/评估技术-某电信运营商互联网研发中心
本课程是TsingtaoAI专为某电信运营商的互联网研发中心的AI算法工程师设计,已于近日在广州对客户团队完成交付。课程聚焦AI算法工程师在AI、大模型和智能体的测评/评估技术中的关键能力建设,深入探讨如何基于当前先进的AI、大模型与智能体技术,构建符合实际场景需求的科学测评体系。课程内容涵盖大模型及智能体的基础理论、测评集构建、评分标准、自动化与人工测评方法,以及特定垂直场景下的测评实战等方面。
43 4
|
13天前
|
人工智能
热门 新 1024 云上见 AI大模型助力客户对话分析 2000个智能台灯等你来领
热门 新 1024 云上见 AI大模型助力客户对话分析 2000个智能台灯等你来领
50 3
|
13天前
|
机器学习/深度学习 人工智能 算法
AI赋能大学计划·大模型技术与应用实战学生训练营——吉林大学站圆满结营
10月30日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·吉林大学站圆满结营。