当前位置: 首页 > news >正文

05.AI搭建preparationの(transformers01)BertTokenizer实现分词编码

一、下载 

bert-base-chinese镜像下载

二、简介作用:

模型每个参数占用的字节大小模型大小模型大小层数头数
GPT-14 个字节的 FP32 精度浮点数117M446MB1212
GPT-22 个字节的 FP161.5亿到1.75亿0.5GB到1.5GB4816
GPT-32 个字节的 FP161.75万亿(17500亿)350GB17596个头

BERT(Bidirectional Encoder Representations from Transformers)

针对中文语言,HuggingFace 团队推出了 bert-base-chinese 模型,提供语言处理能力。

Transformers提供两大类的模型架构,一类用于语言生成NLG任务,比如GPT、GPT-2、Transformer-XL、XLNet和XLM,

另一类主要用于语言理解任务,如Bert、DistilBert、RoBERTa、XLM.

三、环境依赖

pip install transformers==4.20.0

transformers · PyPI

四、实践

1、 vocab.txt 是已经设定好的词表

2、分词编码

利用transformers库中的BertTokenizer实现分词编码

from transformers import BertTokenizer#111
bert_name = './bert-base-chinese'
tokenizer = BertTokenizer.from_pretrained(bert_name)
text = '窗前明月光,'
input_ids = tokenizer.encode(
    text,#需要编码的文本;
add_special_tokens=True,#是否添加特殊token,即CLS分类token和SEP分隔token;
max_length=128,#文本的最大长度
truncation=True,#使用truncation=True来明确地将示例截断为最大长度。
padding='max_length',#将批次中所有序列填充到最长序列的长度
return_tensors='pt'# 返回的tensor类型,有4种为 [‘pt’, ‘tf’, ‘np’, ‘jax’] 分别代表 pytorch tensor、tensorflow tensor、int32数组形式和 jax tensor;
)
print('text:\n', text)
print('text字符数:', len(text))
print('input_ids:\n', input_ids)
print('input_ids大小:', input_ids.size())

3、特殊标记

整个词表的大小为21128个字,共有5种特殊token标记:

[PAD]: 填充标记,编码为0;
[UNK]: 未知字符标记,即该字不在所定义的词表中,编码为100;
[CLS]: 分类标记,蕴含整个文本的含义,编码为101;
[SEP]: 分隔字符标记,用于断开两句话,编码为102;
[MASK]: 掩码标记,该字被遮挡,编码为103;


4、补充:

某些transformers版本 或者会产生一些提醒,但是可以正常运行,我们可以加上以下语句来清除警告

from transformers import logging

logging.set_verbosity_error()

相关文章:

  • 命令模式(Command Pattern)★
  • Linux内核调试 - Hung_task机制分析上
  • 语言模型理论基础-持续更新-思路清晰
  • 无人机螺旋桨平衡标准
  • LangChain开发(二)LangChain提示词模板Template使用
  • 2.7 进度控制习题-2
  • 【JS】反转字符串中的单词
  • 计算机网络基础:WiFi 与蓝牙的原理与应用
  • JavaScript中的继承有哪些方式?各有什么优缺点
  • 强化学习与神经网络结合(以 DQN 展开)
  • STL之空间配置器
  • 【深度学习与实战】2.1、线性回归模型与梯度下降法先导
  • 数据结构:利用递推式计算next表
  • PostgreSQL详解
  • SiLU与GeLU激活函数:现代大模型的选择
  • WindowsPowerShell、CMD Linux Bash对比分析
  • 工作中遇到的spark SQL小问题:包含某个或某些字符的条件
  • uniapp + Axios + 小程序封装网络请求
  • 力扣HOT100之子串:76. 最小覆盖子串
  • mock.js模拟数据
  • 金价大反攻,国内金饰价格涨回千元,能否重返巅峰?
  • 赵乐际:深入学习贯彻习近平生态文明思想,推动森林法全面有效贯彻实施
  • “五一”从昆明机场出境1.4万人次,较去年增长7.7%
  • 库里22分赢下抢七大战,火箭十年难破“火勇大战”的魔咒
  • 习近平对贵州毕节市黔西市游船倾覆事故作出重要指示
  • 魔都眼|上海环球马术冠军赛收官,英国骑手夺冠