【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层使用。


目录
相关文章
|
6天前
|
数据采集 人工智能 自然语言处理
中文法律AI大模型!LaWGPT 一键生成法律文书,司法考试通过率提升50%
LaWGPT 是南京大学推出的中文法律大语言模型,基于 LLaMA 模型进行二次预训练,融入大量中文法律知识,适用于法律咨询、文书生成、司法考试辅助等多种场景。
129 22
中文法律AI大模型!LaWGPT 一键生成法律文书,司法考试通过率提升50%
|
5天前
|
人工智能 数据可视化 安全
Manus AI 站在巨人(大模型)肩膀上的AI助手
3月6日,Manus AI震撼登场,它不仅是一个聊天机器人,更是全能AI助手。能帮你筛选简历、进行房产调研、自动编写代码和数据分析,甚至创建并部署交互式网站。创始人是中国90后肖宏,毕业于华中科技大学。目前服务器已爆满,敬请期待其强大功能。
|
2天前
|
存储 人工智能 Cloud Native
小鹏汽车选用阿里云PolarDB,开启AI大模型训练新时代
PolarDB-PG云原生分布式数据库不仅提供了无限的扩展能力,还借助丰富的PostgreSQL生态系统,统一了后台技术栈,极大地简化了运维工作。这种强大的组合不仅提高了系统的稳定性和性能,还为小鹏汽车大模型训练的数据管理带来了前所未有的灵活性和效率。
|
8天前
|
人工智能 弹性计算 自然语言处理
5分钟部署,解锁100种和AI大模型的交互可能
在AI技术飞速发展的今天,个人大模型的部署与应用面临复杂流程和高门槛。阿里云推出高效、易用的个人AI大模型部署方案,支持多模型集成、灵活扩展和定制化主页,帮助用户快速搭建专属AI主页,实现智能化新体验,真正把“AI玩出花”。
|
7天前
|
人工智能 弹性计算 自然语言处理
5分钟部署,解锁100种和AI大模型的交互可能
阿里云弹性计算推出了一套高效、易用的个人AI大模型部署方案,帮助用户快速搭建专属的AI主页,开启智能化新体验,真正的实把“AI玩出花”。
|
8天前
|
机器学习/深度学习 人工智能 安全
AI大模型安全风险和应对方案
AI大模型面临核心安全问题,包括模型内在风险(如欺骗性对齐、不可解释性和模型幻觉)、外部攻击面扩大(如API漏洞、数据泄露和对抗性攻击)及生成内容滥用(如深度伪造和虚假信息)。应对方案涵盖技术防御与优化、全生命周期管理、治理与行业协同及用户教育。未来需关注动态风险适应、跨领域协同和量子安全预研,构建“技术+管理+法律”三位一体的防护体系,推动AI安全发展。
|
13天前
|
人工智能 编解码 测试技术
阿里云通义千问发布多款AI大模型 多模态、长文本能力全面升级!
阿里云通义千问发布多款AI大模型 多模态、长文本能力全面升级!
|
13天前
|
人工智能 Cloud Native 安全
《2025年度企业用云十大趋势》发布,AI云全面支撑大模型落地
《2025年度企业用云十大趋势》发布,AI云全面支撑大模型落地
|
13天前
|
人工智能 自然语言处理 机器人
招商银行X通义大模型 ,2024年度AI最佳实践案例!
招商银行X通义大模型 ,2024年度AI最佳实践案例!
|
2天前
|
人工智能 自然语言处理 搜索推荐
AI大模型:职业教育在探索中的新航标
随着AI技术迅猛发展,AI大模型正成为职业教育变革的重要驱动力。职业院校积极探索AI大模型在教学中的应用,如广东科学技术职业学院的“知行大先生”大模型,助力助学、助教、助训、助管。然而,当前仍面临理解表面化、低水平重复等挑战。为解决这些问题,需紧贴行业需求,加强教师培训,并通过GAI认证提升个人AI应用能力,推动职业教育高质量发展。未来,期待更多AI大模型融入教学,培养适应社会需求的高端技术技能人才。

热门文章

最新文章