AIGC:LLM大型语言模型是怎么交流的? ———分词

前言

今天我们来聊聊什么是LLM,LLM又是怎么交流的呢?

准备工作

通过 Google Colab,用户可以创建和共享Jupyter笔记本,运行Python代码,访问云端计算资源,以及使用大量开源机器学习框架和库,而无需担心硬件或软件配置问题。

LLM

"LLM" 是 "Large Language Model" 的缩写,翻译过来就是"大型语言模型"。这一术语通常用来描述在自然语言处理(NLP)领域中的一类强大的神经网络模型,这些模型在大规模文本数据上进行预训练,然后可以用于各种自然语言理解和生成任务。

这类大型语言模型具有很高的参数数量,通常拥有数亿甚至数十亿的参数。由于这些模型规模庞大,能够学习到丰富的语言表示,包括词汇、语法、语义等方面的知识。它们在理解和生成自然语言方面的表现十分强大,可以执行诸如文本生成、机器翻译、问答系统等任务。

一些知名的大型语言模型包括:

  1. GPT-3(Generative Pre-trained Transformer 3): 由 OpenAI 开发的模型,拥有 1750 亿个参数。它是目前公开可用的最大的语言模型之一。
  2. BERT(Bidirectional Encoder Representations from Transformers): 由Google开发,采用双向 Transformer 编码器,用于预训练自然语言理解任务。
  3. T5(Text-To-Text Transfer Transformer): 由Google开发,使用统一的文本输入输出框架,适用于各种自然语言处理任务。

这些大型语言模型在推动自然语言处理领域的研究和应用方面发挥了关键作用,它们能够从海量的文本数据中学到通用的语言表示,使得它们在各种自然语言任务中都能够表现出色。

分词

计算机怎么样理解我们句子中的结构和含义呢?通过分词

在自然语言处理中,分词是将文本分割成有意义的最小单元(词)的过程。对于大型语言模型(LLM),分词是模型在理解和处理文本时的一个重要步骤。不同的语言和模型可能使用不同的分词方法。

但我们在使用大型语言模型(LLM)时,通常无需手动执行分词步骤,因为这些模型在训练阶段已经学习了丰富的语言知识,包括词汇和语法。你可以直接将原始文本传递给模型,而模型会自动处理分词。例如,使用 OpenAI 的 GPT-3 模型,你可以直接提供自然语言的文本,而无需显式进行分词。

接下来我们来看看如何进行分词

我们进入Google Colab网站,将代码放进此网站运行。这个网站十分的方便,当我们使用Google Colab 运行python时,可以不用担心配置环境。

点击文件-> 新建笔记本 点击左上角 +代码

输入pip install transformers, 安装transformer包

当左下角出现Successfully说明安装成功

输入:

python 复制代码
from transformers import AutoTokenizer
sens="来颗奇趣蛋,我要找一个好工作"  # 人类语言 -> LLM
tokenizer = AutoTokenizer.from_pretrained('uer/roberta-base-finetuned-dianping-chinese')
tokenizer

使用 Hugging Face 的 transformers 库中的 AutoTokenizer 类来加载一个预训练的中文 RoBERTa 模型(uer/roberta-base-finetuned-dianping-chinese),并使用它对输入文本进行分词(tokenization)。

输入:

python 复制代码
tokens = tokenizer.tokenize(sens)
tokens

tokenizer.tokenize(sens):调用分词器的 tokenize 方法,将输入的文本进行分词处理

输入:tokenizer.vocab

  • vocab:这是分词器的一个属性,表示词汇表。词汇表是模型训练时学到的所有单词、子词或标记的集合。对于预训练的语言模型,词汇表是在大规模文本数据上学到的,并包含了模型在训练过程中遇到的所有单词和标记。

使用 tokenizer.vocab 可以获取分词器使用的词汇表,你可以查看其中包含的单词、标记以及它们在词汇表中的索引等信息。

使用了分词器(tokenizer)将文本转换成模型可以理解的表示形式,其中涉及了将 tokens 转换成对应的 token IDs

输入:

python 复制代码
str_len = tokenizer.decode(ids, skip_special_tokens=False)
str_len

使用了分词器(tokenizer)将通过编码得到的 token IDs 转换回原始的文本形式

今天的内容就到这啦,如果你觉得小编写的还不错的话,或者对你有所启发,请给小编一个辛苦的赞吧

相关推荐
西西弗Sisyphus2 分钟前
如果让计算机理解人类语言- Word2Vec(Word to Vector,2013)
人工智能·word·word2vec
这里有鱼汤3 分钟前
给你的DeepSeek装上实时行情,让他帮你炒股
后端·python·mcp
咖啡啡不加糖5 分钟前
暴力破解漏洞与命令执行漏洞
java·后端·web安全
风象南8 分钟前
SpringBoot敏感配置项加密与解密实战
java·spring boot·后端
前端双越老师25 分钟前
30 行代码 langChain.js 开发你的第一个 Agent
人工智能·node.js·agent
ん贤27 分钟前
RESTful风格
后端·go·restful
Humbunklung29 分钟前
Rust方法语法:赋予结构体行为的力量
开发语言·后端·rust
萧曵 丶35 分钟前
Rust 内存结构:深入解析
开发语言·后端·rust
Kookoos37 分钟前
ABP VNext + Cosmos DB Change Feed:搭建实时数据变更流服务
数据库·分布式·后端·abp vnext·azure cosmos
东坡肘子42 分钟前
高温与奇怪的天象 | 肘子的 Swift 周报 #092
人工智能·swiftui·swift