【AI大模型】Transformers大模型库(一):Tokenizer

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
简介: 【AI大模型】Transformers大模型库(一):Tokenizer

一、引言

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

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

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

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

本文重点介绍Tokenizer类。

二、Tokenizer

2.1 概述

Tokenizer在自然语言处理(NLP)中是一个关键组件,它负责将文本字符串转换成模型可以处理的结构化数据形式,通常是将文本切分成“tokens”或单词、短语、子词等单位。这些tokens是模型理解文本的基础。Tokenizer的类型和复杂性可以根据任务需求而变化,从简单的基于空格的分割到更复杂的基于规则或机器学习的分词方法。

2.2 主要功能

1. **分词**:将句子拆分成单词或子词。例如,中文分词器会将“自然语言处理”拆分成“自然”、“语言”、“处理”,而英文Tokenizer可能使用Subword Tokenization如Byte-Pair Encoding (BPE)来处理罕见词。

2. **添加特殊标记**:在序列的开始和结束添加特殊标记,如BERT中的[CLS]和[SEP],用于特定任务的序列分类或区分输入片段。

3. **编码**:将tokens转换为数字ID,这些ID是模型的输入。每个token在词汇表中有一个唯一的ID。

4. **处理填充和截断**:为了确保输入序列的一致长度,Tokenizer可以对较短的序列进行填充,对较长的序列进行截断。

5. **生成Attention Mask**:在某些模型中,Tokenizer还会生成一个Attention Mask,指示哪些输入位置是实际的tokens(通常标记为1),哪些是填充的(标记为0)。

2.3 代码示例

使用示例(以Hugging Face的Transformers库为例):

import os
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
os.environ["TF_ENABLE_ONEDNN_OPTS"] = "0"
 
from transformers import BertTokenizer
 
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
 
print("------------单句分词------------")
 
token = tokenizer.encode("我在北京的,互联网公司工作")
 
print(token)  #[101, 2769, 1762, 1266, 776, 4638, 117, 757, 5468, 5381, 1062, 1385, 2339, 868, 102]
 
print(tokenizer.decode(token))  #[CLS] 我 在 北 京 的, 互 联 网 公 司 工 作 [SEP]
 
print("------------多句分词------------")
 
batch_token1 = tokenizer(["我在,北京工作","想去外地看一看世界多么美好"],padding=True,return_tensors="pt")
 
print(batch_token1)
"""
{'input_ids': tensor([[ 101, 2769, 1762,  117, 1266,  776, 2339,  868,  102,    0,    0,    0,
            0,    0,    0],
        [ 101, 2682, 1343, 1912, 1765, 4692,  671, 4692,  686, 4518, 1914,  720,
         5401, 1962,  102]]), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])}
"""
print(batch_token1["input_ids"])
"""提取input_ids
tensor([[ 101, 2769, 1762,  117, 1266,  776, 2339,  868,  102,    0,    0,    0,
            0,    0,    0],
        [ 101, 2682, 1343, 1912, 1765, 4692,  671, 4692,  686, 4518, 1914,  720,
         5401, 1962,  102]])
"""

这个例子展示了如何使用BertTokenizer来处理文本,生成包括token input_ids、token_type_ids和attention mask在内的编码数据,这些数据可以直接用于BERT模型的输入。

三、总结

本文对使用transformers的BertTokenizer进行尝试,主要功能是将字、词转换为可以运算的数字ID编码,供后面的model层使用。


目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
AI大模型助力客户对话分析
该AI大模型解决方案利用NLP和机器学习技术分析客户对话,提升服务质量和用户体验。方案实践原理清晰,涵盖数据处理、模型训练等步骤,适合技术背景不同的用户。阿里云提供详尽的部署引导和文档,降低学习成本。Python脚本实用,但需注意环境配置。方案能满足基本对话分析需求,特定场景下需定制化开发。
47 28
|
3天前
|
人工智能 自然语言处理 数据挖掘
文档智能 & RAG让AI大模型更懂业务
《文档智能 & RAG让AI大模型更懂业务》解决方案基于阿里云的文档智能解析与检索增强生成技术,实现非结构化文档向结构化信息的转化,提升AI在特定领域问答的能力。方案提供了详尽的部署指南,包括文档处理、知识库构建等步骤,确保新手也能轻松上手。部署体验良好,未遇重大问题,但建议增加故障排除指南。体验中,LLM知识库展现出高准确率和响应速度,尤其适合处理专业查询。该方案适用于客户服务、知识管理和数据分析等场景,满足生产环境需求,但对于小型企业需考虑成本效益。建议阿里云提供多规模解决方案及定制化选项,以适应不同需求。
25 10
|
3天前
|
存储 人工智能 Serverless
AI大模型助力客户对话分析评测文章
在数字化时代,企业面临客户对话数据处理的挑战。阿里云推出的AI大模型助力客户对话分析方案,通过整合多种云服务,实现对话数据的自动化分析,提升服务质量和客户体验。本文将详细介绍该方案的优势与实际应用效果。
|
1天前
|
人工智能
1024 云上见 AI大模型助力客户对话分析 2000个智能台灯等你来领
1024 云上见 AI大模型助力客户对话分析 2000个智能台灯等你来领
15 3
|
2天前
|
敏捷开发 人工智能 运维
汽车革命下半场AI先锋:广汽为新“智”汽车装配大模型“底盘”
汽车革命下半场AI先锋:广汽为新“智”汽车装配大模型“底盘”
|
2天前
|
数据采集 人工智能 自然语言处理
文档智能 & RAG让AI大模型更懂业务
报告概述了阿里云在企业文档处理与问答系统中的应用。通过高效的文档清洗、向量化及RAG技术,实现了快速、准确的问答召回,提升了知识库利用率。系统表现出高自动化、灵活性和语义保留能力,但仍需优化冷启动、多语言支持及复杂查询处理等方面。
|
2天前
|
机器学习/深度学习 数据采集 人工智能
AI 大模型助力客户对话分析
该评测深入分析了“AI大模型助力客户对话分析”方案,涵盖实践原理、实施方法、部署过程、功能满足度及潜在改进空间。通过NLP和机器学习技术,方案能有效提升服务质量和客户体验,但针对特定行业需求尚需定制化开发。
|
2天前
|
人工智能 弹性计算 自然语言处理
触手可及,函数计算玩转 AI 大模型
在AI技术迅速发展的背景下,大模型正推动各行业的智能化转型。企业为抓住机遇,纷纷部署AI大模型。阿里云函数计算凭借按量付费、高弹性和快速交付的特点,成为企业部署AI大模型的理想选择。本文介绍阿里云函数计算的技术解决方案,分析其优势,并通过具体应用场景评测其在AI大模型部署中的表现。
|
3天前
|
人工智能 数据挖掘 API
评测报告:AI大模型助力客户对话分析
《AI大模型助力客户对话分析》解决方案详细介绍了如何利用AI大模型进行语音识别、情感分析和关键词提取,帮助企业提升服务质量。方案内容清晰,但部分技术细节和环境配置说明有待完善。示例代码基本可用,但在特定配置和行业术语方面需进一步优化。总体而言,该方案在实际业务场景中表现出色,但仍需改进以提升用户体验。
|
3天前
|
人工智能 弹性计算 Serverless
函数计算,如何跟AI大模型互动?
阿里云函数计算提供了部署AI大模型的详细实践指南,包括弹性伸缩和按量付费等优势。建议增加视频教程和专业术语解释,以帮助初学者更快上手。未来可进一步优化成本预测工具、性能测试及高级配置选项,提升用户体验。
16 0