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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 【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层使用。


目录
相关文章
|
6天前
|
机器学习/深度学习 人工智能 自动驾驶
企业内训|AI大模型在汽车行业的前沿应用研修-某汽车集团
本课程是TsingtaoAI为某汽车集团高级项目经理设计研发,课程全面系统地解析AI的发展历程、技术基础及其在汽车行业的深度应用。通过深入浅出的理论讲解、丰富的行业案例分析以及实战项目训练,学员将全面掌握机器学习、深度学习、NLP与CV等核心技术,了解自动驾驶、智能制造、车联网与智能营销等关键应用场景,洞悉AI技术对企业战略布局的深远影响。
135 97
|
11天前
|
机器学习/深度学习 人工智能 智能设计
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
VisionFM 是一个多模态多任务的视觉基础模型,专为通用眼科人工智能设计。通过预训练大量眼科图像,模型能够处理多种眼科成像模态,并在多种眼科任务中展现出专家级别的智能性和准确性。
49 4
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
|
1天前
|
SQL 人工智能 关系型数据库
PolarDB-PG AI最佳实践 2 :PolarDB AI X EAS实现自定义库内模型推理最佳实践
PolarDB通过POLAR_AI插件支持使用SQL调用AI/ML模型,无需专业AI知识或额外部署环境。结合阿里云EAS在线模型服务,可轻松部署自定义模型,在SQL中实现如文本翻译等功能。
|
4天前
|
人工智能 自然语言处理 前端开发
三大行业案例:AI大模型+Agent实践全景
本文将从AI Agent和大模型的发展背景切入,结合51Talk、哈啰出行以及B站三个各具特色的行业案例,带你一窥事件驱动架构、RAG技术、人机协作流程,以及一整套行之有效的实操方法。具体包含内容有:51Talk如何让智能客服“主动进攻”,带来约课率、出席率双提升;哈啰出行如何由Copilot模式升级为Agent模式,并应用到客服、营销策略生成等多个业务场景;B站又是如何借力大模型与RAG方法,引爆了平台的高效内容检索和强互动用户体验。
70 5
|
1天前
|
人工智能 供应链 安全
面向高效大模型推理的软硬协同加速技术 多元化 AI 硬件引入评测体系
本文介绍了AI硬件评测体系的三大核心方面:统一评测标准、平台化与工具化、多维度数据消费链路。通过标准化评测流程,涵盖硬件性能、模型推理和训练性能,确保评测结果客观透明。平台化实现资源管理与任务调度,支持大规模周期性评测;工具化则应对紧急场景,快速适配并生成报告。最后,多维度数据消费链路将评测数据结构化保存,服务于综合通用、特定业务及专业性能分析等场景,帮助用户更好地理解和使用AI硬件。
|
1天前
|
人工智能 自然语言处理 API
大模型编程(3)让 AI 帮我调接口
这是大模型编程系列第三篇,分享学习某云大模型工程师ACA认证免费课程的笔记。本文通过订机票和查天气的例子,介绍了如何利用大模型API实现函数调用,解决实际业务需求。课程内容详实,推荐感兴趣的朋友点击底部链接查看原文,完全免费。通过这种方式,AI可以主动调用接口并返回结果,极大简化了开发流程。欢迎在评论区交流实现思路。
28 1
|
4天前
|
人工智能 资源调度 调度
云上AI Infra解锁大模型创新应用
本节课程由阿里云智能集团资深技术专家王超分享,主题为AI基础设施的发展趋势。课程聚焦于AI Infra设计与Scaling Law,探讨了下一代AI基础设施的设计目标、功能升级及推理场景中的应用。主要内容包括高效支持大规模模型训练和推理、全球调度系统的设计、Rack level的Scale优化以及多租户容器化使用方式。通过这些改进,旨在提升并行效率、资源利用率及稳定性,推动AI基础设施迈向更高性能和更优调度的新阶段。
|
9天前
|
人工智能 自然语言处理 计算机视觉
AI大模型开启智能化新时代
12月19日下午,复旦大学计算机科学技术学院第十二期“步青讲坛”在江湾校区二号交叉学科楼E1006报告厅举行。本期讲坛特别邀请了阿里巴巴集团副总裁、IEEE Fellow叶杰平教授做题为《AI大模型开启智能化新时代》的精彩技术报告。
83 4
|
1天前
|
人工智能 数据处理 C#
AI Dev Gallery:微软开源 Windows AI 模型本地运行工具包和示例库,助理开发者快速集成 AI 功能
微软推出的AI Dev Gallery,为Windows开发者提供开源AI工具包和示例库,支持本地运行AI模型,提升开发效率。
32 13
|
10天前
|
人工智能 安全 图形学
【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型
在数字化洪流席卷全球的当下,视觉内容已成为信息交流与传播的核心媒介,然而,随着PS技术和AIGC技术的飞速发展,图像篡改给视觉内容安全带来了前所未有的挑战。 本文将探讨篡改检测技术的现实挑战,分享篡改检测技术前沿和最新应用成果。