小白学大模型:Hugging Face Tokenizer

Hugging Face Hub:大模型的参数中心 Hugging Face是一家人工智能公司,专注于自然语言处理(NLP)和机器学习领域。该公司的使命是使人工智能技术更加普及和可访问,通过开源工具和模型的提供,帮助开发者和研究人员在NLP领域取得更好的成果。Hugging Face最著名的贡献是开发和维护了一个名为"Transformers"的开源库。这个库提供了大量预训练的Transformer模型,如BERT、GPT、RoBERTa等,这些模型在NLP任务中表现出色。 阅读详情

Tokenizer介绍

在自然语言处理(NLP)领域,Tokenizer(分词器)是准备输入模型的关键步骤之一。Hugging Face 提供了用于各种模型的分词器库,其中大多数分词器都以两种风格提供:一种是完整的 Python 实现,另一种是基于 Rust 库 🤗 Tokenizers 的“Fast”实现。这两种实现方式各有特点,其中“Fast”实现具有两大优势:

  1. 显著提升速度: 特别是在批处理分词时,使用“Fast”实现可以获得显著的速度提升。
  2. 额外的方法: 提供了额外的方法,用于在原始字符串(字符和单词)与标记空间之间进行映射。例如,可以获取包含给定字符的标记的索引,或获取与给定标记对应的字符范围。

PreTrainedTokenizer 和 PreTrainedTokenizerFast 实现了所有分词器主要方法的核心功能:

  1. 分词(Tokenizing): 将字符串分割成子词标记字符串,将标记字符串转换为标识符(ids)并反向转换,即进行编码/解码(即分词并转换为整数)。
  2. 向词汇表添加新标记: 以与底层结构(BPE、SentencePiece 等)无关的方式添加新标记。
  3. 管理特殊标记: 比如掩码、句首等,包括添加这些标记、将它们分配给分词器的属性以便轻松访问,并确保在分词过程中它们不会被拆分。

BatchEncoding 存储了 PreTrainedTokenizerBase 的编码方法(__call__、encode_plus 和 batch_encode_plus)的输出,是一个继承自 Python 字典的类。当分词器是纯 Python 分词器时,该类的行为与标准 Python 字典完全相同,存储了这些方法计算得到的各种模型输入(input_ids、attention_mask 等)。

当分词器是“Fast”分词器(即由 HuggingFace 的 tokenizers 库 支持)时,该类提供了几种高级的对齐方法,可用于在原始字符串(字符和单词)与标记空间之间进行映射。例如,可以获取包含给定字符的标记的索引,或获取与给定标记对应的字符范围。这为更复杂的分析和理解模型输入与原始文本之间关系提供了便利。

Tokenizer用途

将文本拆分成较小块是一项比看起来更加困难的任务,而且有多种方法可以实现。例如,让我们看看句子 "Don't you love 🤗 Transformers? We sure do."。

一种简单的标记化方法是通过空格拆分,得到:

["Don't", "you", "love", "🤗", "Transformers?", "We", "sure", "do."]

这是一个明智的第一步,但如果我们看一下标记 "Transformers?" 和 "do.",我们会注意到标点符号附在单词 "Transformer" 和 "do" 上,这是不太理想的。我们应该考虑标点符号,以便模型不必学习单词及其可能跟随的每个可能的标点符号的不同表示,这将导致模型需要学习的表示数量激增。考虑标点符号后,对我们的示例文本进行标记化会得到:

["Don", "'", "t", "you", "love", "🤗", "Transformers", "?", "We", "sure", "do", "."]

更好了。然而,标记化处理单词 "Don't" 的方式并不理想。"Don't" 代表 "do not",因此最好将其标记化为 ["Do", "n't"]。这就是事情开始变得复杂的地方,也是每个模型都有自己的分词器类型的原因之一。根据我们用于标记化文本的规则,相同文本的不同标记化输出会生成不同的结果。只有当输入与模型训练数据相同的规则进行标记化时,预训练模型才能正常运行。

spaCy 和 Moses 是两个受欢迎的基于规则的分词器。对我们的示例应用 spaCy 和 Moses,会得到类似以下的结果:

["Do", "n't", "you", "love", "🤗", "Transformers", "?", "We", "sure", "do", "."]

可以看到,这里使用了空格和标点标记化,以及基于规则的标记化。空格和标点标记化以及基于规则的标记化都是词标记化的示例,它宽泛地定义为将句子拆分为单词。虽然这是将文本分块的最直观方法,但对于大规模文本语料库可能会带来问题。

这么大的词汇表强迫模型拥有一个巨大的嵌入矩阵作为输入和输出层,从而导致内存和时间复杂性增加。通常来说,transformer 模型很少具有超过 50,000 的词汇表大小,特别是如果它们只在单一语言上进行预训练。

尽管字符标记化非常简单且可以大大减少内存和时间复杂性,但这使得模型更难学习有意义的输入表示。

不同的分词方法

接下来详细介绍了几种子词(subword)分词算法,主要包括Byte-Pair Encoding (BPE),WordPiece,Unigram和SentencePiece。这些算法的共同目标是根据文本中的频率将词分解为有意义的子词,以便在建模中更好地处理语言。

  1. Byte-Pair Encoding (BPE):

    • BPE根据一个预分词器将训练数据拆分为单词。
    • 创建一个基础词汇,包括训练数据中的所有符号。
    • 学习合并规则,形成新的符号,直到达到所需的词汇大小。
    • 合并规则基于符号对的频率,选择最常见的符号对进行合并。
    • 通过合并规则,BPE创建一个包含合并后符号的词汇。
  2. WordPiece:

    • 与BPE相似,但不是选择最常见的符号对,而是选择最大化加入词汇后训练数据似然的符号对。
    • WordPiece初始化词汇包括训练数据中的每个字符,并逐渐学习一定数量的合并规则。
  3. Unigram:

    • Unigram使用大量符号初始化基础词汇,并逐渐修剪每个符号以获得较小的词汇。
    • 在每个训练步骤中,计算当前词汇和unigram语言模型给定训练数据的损失。
    • 移除影响整体损失最小的符号,重复此过程直到词汇达到所需大小。
    • Unigram保留基本字符,以便能够对任何单词进行分词。
  4. SentencePiece:

    • SentencePiece将输入视为原始输入流,将空格包括在要使用的字符集中。
    • 使用BPE或unigram算法构建适当的词汇。
    • SentencePiece用于处理不使用空格分隔单词的语言,如中文、日文和泰文。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

【2025年最新版】Hugging Face Access Token创建指南 上一篇文章,我们初步介绍了Hugging Face,本文我们介绍如何创建Hugging Face Access Token。 阅读详情

相关推荐

HuggingFace的Transformers库Tokenizer和Model使用技巧

Bert模型作为一个强大的双向Transformer模型,已经在NLP领域广泛使用并作为word embeddding 预训练模型深受青睐。Hugging Face的transformers框架包含BERT、GPT、GPT2、ToBERTa、T5等众多模型,同时支持pytorch和tensorflow 2两个框架,本博客主要介绍如何从Hugging Face加载预训练模型及高效使用。

li1784506的博客 1万+

huggingface的tokenizer解读

目前很多大模型或NLP相关模型可使用huggingface实现,是一个非常好用的集成库,特别是transformer库。而Hugging Face的Tokenizer模块是该平台的重要组成部分,主要用于文本的处理和编码。Tokenizer模块提供了各种先进的文本处理工具,包括分词、编码、解码等功能。本文将以llama模型作为tokenizer列子,介绍tokenizer相关使用内容。

weixin_38252409的博客 5188

Hugging Face 学习笔记

配置模型和一个预处理类(如分词器用于 NLP)所有这些类都可以通过一个通用的方法从预训练实例初始化该方法会(如果需要)下载、缓存并加载相关的类实例,来自HF Hub或保存的检查点在三个类的基础上,提供了两个 API:pipeline()用于快速使用模型对给定任务进行推理Trainer用于快速训练或微调 PyTorch 模型Pipeline是一个高度封装的,让我们可以简单的:指定任务,输入文本,获得结果。

AGemini233的博客 876

Hugging Face 使用笔记

文章摘要: HuggingFace是机器学习领域的开源社区平台,提供模型仓库、预训练模型(如Transformer架构)和公开数据集,支持NLP、音频、CV等任务。核心工具包括Transformers(模型库)、Datasets(数据集处理)和Accelerate(多GPU加速)。用户需注册获取token(分为read/write权限)并通过代码、命令行或配置文件配置。下载模型/数据集可通过snapshot_download或hf_hub_download实现,但可能因网络超时失败(如连接huggingfa

人无远虑,必有近忧 3700

零配置部署大模型应用:Hugging Face Spaces实战指南

大模型应用(LLM Application)指具备交互界面、业务逻辑封装与错误兜底的最小可用单元,其核心价值在于降低用户使用门槛。传统本地部署面临环境依赖、网络穿透和长期维护三大隐形成本,而托管即服务(MaaS)通过声明式配置与Serverless运行时,将运维复杂度转化为确定性交付。Hugging Face Spaces凭借GitOps流程、CUDA预装镜像与中文友好的构建日志,成为中文开发者首选的免费托管平台;结合hf_hub_download动态加载模型、Gradio状态管理与URL参数追踪等工程实践

cunbei2644的博客 441

【大模型】Transformers基础组件 - Tokenizer

Hugging Face 的 Transformers 库是目前最流行和功能最强大的自然语言处理(NLP)库之一,提供了对大量预训练模型的访问和支持。这些模型涵盖了文本生成、文本分类、命名实体识别、机器翻译等多种任务。Hugging Face 的 Transformers 库提供了 Tokenizer(分词器)、Model(模型)、Pipeline(流水线)等模块,便于灵活使用。本篇博客我们主要介绍基于Hugging Face 的 Transformers 库进行及。

酒酿小圆子呀~ 2390

Hugging Face 微调 + Tokenizer 机制新手教学(超详细)

Hugging Face入门指南:零基础玩转NLP模型 本文为NLP初学者提供了一份Hugging Face平台的详细入门教程。主要内容包括: Hugging Face核心功能: Transformers库(预训练模型) Datasets库(开源数据集) Tokenizers库(文本数字化工具) 关键概念解析: 预训练模型:如BERT、GPT等现成模型 微调:在预训练基础上进行针对性训练 Tokenizer:将文本转换为模型可读的数字格式 实战案例: 使用IMDB影评数据集进行情感分类 完整代码示例涵盖数据

qq_57758323的博客 1158

Hugging Face的API token获取方式指南

平台的AI Models,Spaces和Datasets,虽然transformers包可以在本地调用。之后可以直接在Spaces新建Gradio项目,保证Gradio项目的稳定部署和多端访问。在弹出的对话框中,输入一个名称来标识这个新的 API token,例如“在“Settings”页面中,选择“API tokens”选项卡。在“API tokens”页面中,点击“New token”按钮。登录后,点击右上角的用户名,选择“Settings”。”按钮,系统会生成一个新的 API token。

Cachel Wood的博客 7480

Rust LLM库如何集成Hugging Face Tokenizer:完整使用指南

Rust LLM生态系统提供了强大的大型语言模型处理能力,其中与Hugging Face tokenizer的集成是实现高质量文本处理的关键。本文将详细介绍如何在Rust LLM项目中获取和使用Hugging Face tokenizer,帮助开发者快速上手这一重要功能。 ## 🔧 Tokenizer源类型详解 Rust LLM库支持多种tokenizer源类型,在[crates/llm-b

gitblog_00385的博客 1014

关于并网继电器的继电器自检逻辑及实现方式

对于常规的光伏并网逆变器来说,继电器控制至关重要。继电器一般位于逆变电感后,共模电感前,用于将逆变电压与电网电压脱开,一般国外有双继电器的安规强制认证要求,国内目前只需要单继电器要求(后续应该会有双继电器要求,个人感觉)

weixin_29982209的博客 2615

给粒子物理萌新的Geant4保姆级入门:从看懂B1示例代码到跑通第一个模拟

本文为粒子物理初学者提供Geant4的保姆级入门指南,从解析B1示例代码到跑通第一个模拟。详细介绍了环境准备、代码解析、可视化系统实战及扩展模拟的方法,帮助新手快速掌握Geant4的基本概念和工具包使用。

weixin_29231725的博客 500

【Hugging Face】transformers 库中 tokenizer 常用的方法和属性

tokenizer在transformers库中用于文本预处理,主要包括分词、编码、解码、特殊标记处理等功能,适用于NLP任务(文本分类、翻译、摘要、问答等)。tokenizer常见属性:tokenizer.pad_token、tokenizer.cls_token、tokenizer.sep_token。tokenizer常用方法:tokenizer.tokenize(text)→分词,tokenizer.encode(text)→转换为ID,tokenizer.decode(ids)→解码,tokeni

彬彬侠的博客 2648

LAMMPS实操系列(一): 大量FCC-CoCrCuFeNi高熵合金建模与最稳定结构筛选

高熵合金(High-entropy alloys,HEA),是由五种或五种以上等量或大约等量金属形成的合金。由于高熵合金可能具有许多优秀的物理化学性质,因此在材料科学领域受到广泛关注

Ceshigo_CD的博客 3257

Hugging face 详细介绍

Hugging Face是一个专注于AI和NLP的开源平台,提供Transformers库、Model Hub模型仓库、Datasets数据集和Spaces演示平台等功能。其主要组件包括pipeline(数据处理流水线)、tokenizer(文本分词和向量化工具)、model(预训练模型)和datasets。使用前需安装特定版本的PyTorch和transformers库。文章详细介绍了如何创建虚拟环境、安装依赖以及使用pipeline和tokenizer进行文本处理,包括模型加载、分词和向量化操作。

yang1yu的博客 3929

HFSS实战:手把手教你设计一款小型化圆极化微带天线(附仿真文件)

本文详细介绍了使用HFSS设计小型化圆极化微带天线的完整流程,包括工程初始化、辐射贴片设计、仿真设置与优化等关键步骤。通过实战案例,帮助工程师掌握圆极化天线设计技巧,解决轴比控制和耦合馈电匹配等核心问题,适用于物联网终端和便携式设备应用。

weixin_32770423的博客 339

PC微信逆向) 读取内存联系人链表

首先从一些网络上搜索到的信息可以得出联系人列表是保存在内存里的,并且是全局变量不会被释放,所以我们可以通过搜索某个联系人的信息来定位

Qwertyuiop2016的博客 2919

一文彻底搞懂大模型 - Hugging Face Transformers

Hugging Face Transformers是一个开源的预训练模型库,旨在将NLP领域的最新进展向更广泛的机器学习社区开放。该库包含了经过精心设计的最先进的Transformer架构,并提供了易于使用的API,使得研究人员和开发者能够轻松地加载、微调和使用这些模型。

2401_85328934的博客 1742

第12步 支持向量机(SVM)

搭建SVM

Jet4505的博客 1051

小白也能学会的Hugging Face大模型入门教程

Hugging Face是提供开源AI工具和平台的公司,其生态系统包括Hub(模型和数据集托管平台)和工具链(Datasets、Tokenizers、Transformers等库)。文章详细介绍了如何使用Transformers库加载预训练模型,如何使用Tokenizer处理文本数据,以及如何使用Datasets库高效加载和预处理数据集。这些工具共同构成了大模型开发的完整工作流,简化了从数据处理到模型训练的整个过程。

大模型学习路线 901

基于Python的FTA协定内容爬虫实战:从数据抓取到智能分析

本文将详细介绍如何使用Python构建一个高效的FTA(自由贸易协定)内容爬虫,涵盖最新技术如Playwright、异步IO、智能解析等。通过本教程,您将学会如何从各类政府网站和国际组织平台抓取结构化FTA数据,并对其进行清洗、存储和分析。文章包含完整的代码实现和最佳实践指南,适合中高级Python开发者学习网络爬虫开发。

2201_76125261的博客 993

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

1902

Rust大语言模型中的Tokenizer技术:Hugging Face集成与本地使用终极指南

在Rust大语言模型(llm)生态系统中,**Tokenizer技术**是实现高质量文本处理的核心组件。本文将深入探讨llm项目中tokenizer的实现方式,特别是Hugging Face集成与本地嵌入tokenizer的使用技巧。🚀 ## 什么是Tokenizer及其重要性 Tokenizer(分词器)是将原始文本转换为模型可理解的token序列的关键组件。在大型语言模型中,tokeni

gitblog_00218的博客 1128

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Hugging face Transformers(3)—— Tokenizer

本文介绍 Hugging Face Transformers 库中 Tokenizer 组件的基础用法

佚失的诗篇 1996

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

从零开始:如何使用 Hugging Face Transformers 进行大模型开发

随着人工智能技术的迅猛发展,机器学习和深度学习逐渐成为各行各业的热门话题。然而,对于许多没有专业背景的初学者来说,如何上手这些复杂的技术成了一个难题。幸运的是,Hugging Face Transformers 库的出现,极大地降低了大模型开发的门槛,使得每个人都能轻松地参与到 AI 项目的开发中来。在这篇文章中,我们将详细介绍 Hugging Face Transformers 库的独特价值和核心功能模块。

Android23333的博客 1050

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 小白学大模型:四种文本解码策略
下一篇: 大模型在股市真的能帮我们赚钱吗?
AI大模型_学习君
博客等级 码龄3年 6137粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值