自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(282)
  • 资源 (3)
  • 收藏
  • 关注

原创 Bert基础(十八)--Bert实战:NER命名实体识别

命名实体识别(NER)是自然语言处理(NLP)中的一项关键技术,它的目标是从文本中识别出具有特定意义或指代性强的实体,并对这些实体进行分类。这些实体通常包括人名、地名、组织机构名、日期、时间、专有名词等。NER在许多实际应用中都非常重要,如信息提取、文本挖掘、机器翻译、自动摘要等。实体的边界识别:这部分任务是要确定文本中实体的起始和结束位置,即在文本中准确地定位出实体的边界。确定实体的类型:在识别出实体的边界之后,还需要确定每个实体的具体类型,如人名、地名、机构名等。例如,在处理文本。

2024-04-24 11:03:39 326

原创 Bert基础(十七)--Bert实战:中文情感识别

说了中文分类的过程,这次说一下情感分类相关的代码,其实情感分类也属于中文多分类的一种,知识情感分类一般会专门区分出来,但是代码基本是一致的,基本步骤:fill:#333;color:#333;color:#333;fill:none;1 加载数据集2 数据预处理3 创建模型4 创建评估函数5 创建训练器6 训练模型7 评估8 预测。

2024-04-24 09:22:23 456

原创 Bert基础(十六)--Bert实战:中文文本分类任务-- transformers库实现

Hugging Face 的 Transformers 库是一个开源库,它提供了大量预训练的模型,用于自然语言处理(NLP)任务,如文本分类、命名实体识别、机器翻译、问答系统等。这个库的特点是易于使用,支持多种模型架构,包括但不限于 BERT、GPT、RoBERTa、XLNet 等,并且可以轻松地在不同的任务上微调这些模型。以下是使用 Hugging Face Transformers 库进行情感分类的基本步骤:fill:#333;color:#333;color:#333;fill:none;

2024-04-19 11:31:50 844

原创 Bert基础(十三)--Bert变体之知识蒸馏训练

请注意,我们是将特定任务的知识从教师迁移给学生,因此,要先针对特定任务微调预训练的BERT-large模型,然后将其作为教师。因此,在进行蒸馏时,也就是在将知识从教师(BERT-base模型)迁移到学生(TinyBERT模型)时,我们使用相同的数据集。这里,我们使用大型的预训练BERT模型(BERT-base模型)作为教师,并通过蒸馏将知识迁移到小型的学生BERT模型(TinyBERT模型)。我们将特定任务的知识从教师迁移给学生,因此,如前所述,将采用为特定任务微调后的预训练的BERT模型作为教师。

2024-04-19 09:20:55 655

原创 白话transformer(六)编码器与解码器

今天我们将探讨Transformer模型中的两个核心组件:编码器和解码器。我们将通过一个具体的任务——将中文算术表达式翻译成英文——来深入理解这两个组件的工作原理。transform的原始论文中,整体的架构是有编码器和解码器组成的,但是根据任务不同,有的只需要编码器,比如Bert;有的只需要使用解码器,比如GPT系列模型;还有的是需要编码器和解码器都使用的,比如机器翻译任务。

2024-04-15 09:22:42 988

原创 Bert基础(十二)--Bert变体之知识蒸馏原理解读

知识蒸馏(knowledge distillation)是一种模型压缩技术,它是指训练一个小模型来重现大型预训练模型的行为。知识蒸馏也被称为师生学习,其中大型预训练模型是教师,小模型是学生。让我们通过一个例子来了解知识蒸馏是如何实现的。假设预先训练了一个大模型来预测句子中的下一个单词。我们将大型预训练模型称为教师网络。我们输入一个句子,让网络预测句子中的下一个单词。它将返回词表中所有单词是下一个单词的概率分布,如图所示。为了更好地理解,我们假设词表中只有5个单词。

2024-04-03 15:34:21 609

原创 Bert基础(十一)--Bert变体之ELECTRA

ELECTRA(Efficiently Learning an Encoder that Classifies Token Replacements Accurately,高效训练编码器准确分类替换标记)是BERT的另一个变体。我们已知要使用掩码语言模型构建任务和下句预测任务对BERT进行预训练。在掩码语言模型构建任务中,我们随机掩盖15%的标记,并训练BERT来预测被掩盖的标记。但是,ELECTRA没有使用掩码语言模型构建任务作为预训练目标,而是使用一个叫作替换标记检测的任务进行预训练。

2024-04-03 09:24:49 742

原创 Bert基础(十)--Bert变体之RoBERTa

RoBERTa是BERT的另一个有趣且流行的变体。研究人员发现,BERT的训练远未收敛,所以他们提出了几种对BERT模型预训练的方法。RoBERTa本质上是BERT,它只是在预训练中有以下变化。

2024-04-02 09:27:23 713

原创 Bert基础(九)--Bert变体之ALBERT

在接下来的几篇,我们将了解BERT的不同变体,包括ALBERT、RoBERTa、ELECTRA和SpanBERT。我们将首先了解ALBERT。ALBERT的英文全称为A Lite version of BERT,意思是BERT模型的精简版。ALBERT模型对BERT的架构做了一些改变,以尽量缩短训练时间。本章将详细介绍ALBERT的工作原理及其与BERT的不同之处。

2024-04-01 15:26:48 1150

原创 7、Qwen-7B 部署实践

Qwen(通义千问)由阿里云团队研发,其训练数据覆盖多语言,但主要以中文和英文为主。Qwen的系列模型主要有两类,一类是基座模型Qwen,所谓基座模型,指的是在海量的数据集上进行预训练,这些数据集可能包含了广泛的主题、语境和样式,使得基座模型能够捕捉到丰富的语言特征和通用知识。另外一类是Chat类模型,是利用SFT和RLHF技术实现对齐,从基座模型训练得到对话模型。目前开源模型的参数规模为18亿(1.8B)、70亿(7B)、140亿(14B)和720亿(72B)。

2024-04-01 11:09:45 903

原创 6、ChatGLM3-6B 部署实践

ChatGLM3 是智谱AI和清华大学 KEG 实验室在2023年10月27日联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,免费下载,免费的商业化使用。性能层面,ChatGLM3-6B在10B范围内性能最强,推理能力直逼GPT-3.5;功能层面,ChatGLM3-6B重磅更新多模态功能、代码解释器功能、联网功能以及Agent优化功能四项核心功能,全线逼近GPT-4!

2024-03-27 11:00:21 1110

原创 Bert基础(八)--Bert实战之理解Bert微调

到目前为止,我们已经介绍了如何使用预训练的BERT模型。现在,我们将学习如何针对下游任务微调预训练的BERT模型。需要注意的是,微调并非需要我们从头开始训练BERT模型,而是使用预训练的BERT模型,并根据任务需要更新模型的权重。在本节中,我们将学习如何为以下任务微调预训练的BERT模型。

2024-03-26 13:38:30 1388

原创 Bert基础(七)--Bert实战之理解Bert模型结构

在篇我们将详细学习如何使用预训练的BERT模型。首先,我们将了解谷歌对外公开的预训练的BERT模型的不同配置。然后,我们将学习如何使用预训练的BERT模型作为特征提取器。此外,我们还将探究Hugging Face的Transformers库,学习如何使用Transformers库从预训练的BERT模型中提取嵌入。接着,我们将了解如何从BERT的编码器层中提取嵌入,并学习如何为下游任务微调预训练的BERT模型。

2024-03-26 09:21:52 996

原创 Bert基础(六)--Bert模型预训练

在本节中,我们将学习如何对BERT模型进行预训练。假设我们有一个模型m。首先,我们使用一个大型数据集针对某个具体的任务来训练模型m,并保存训练后的模型。然后,对于一个新任务,我们不再使用随机的权重来初始化模型,而是用已经训练过的模型的权重来初始化m(预训练过的模型)。也就是说,由于模型m已经在一个大型数据集上训练过了,因此我们不用为一个新任务从头开始训练模型,而是使用预训练的模型m,并根据新任务调整(微调)其权重。这是迁移学习的一种类型。

2024-03-25 11:19:33 881

原创 Bert基础(五)--Bert基本原理

我们将开始了解流行且先进的文本嵌入模型BERT。由于在许多自然语言处理任务上的卓越表现,BERT彻底改变了自然语言处理的方法。首先,我们将了解什么是BERT,以及它与其他嵌入模型的区别。然后,我们将详细分析BERT的工作原理和基础配置。接下来,我们将通过两个任务来了解BERT模型是如何进行预训练的。这两个任务分别为掩码语言模型构建和下句预测。然后,我们将分析BERT的预训练过程。最后将讲解几种有趣的子词词元化算法,包括字节对编码、字节级字节对编码和WordPiece。

2024-03-25 09:21:56 839

原创 5. GLM4入门介绍

也就是说,assistant消息和role消息是一一对应的,而且在一般情况下,assistant消息只会围绕messages参数中的最后一个role信息进行回答。system role用于身份设定不过,值得一提的是,user和assistant的这种提问方式尽管足够清晰,但往往形式上不够丰富,例如在实践中人们发现,给聊天机器人进行一个身份设置,其实是非常有效的引导模型创作我们想要的结果的方法,例如如果我们希望获得一个关于“什么是机器学习?

2024-03-21 15:08:35 1372

原创 白话transformer(五):位置编码

在前面其实讲过,这次我们具体看看他的数学原理白话transformer(五)

2024-03-21 09:12:59 1158

原创 Bert基础(十四)-- 实战篇:transformer-中文多分类

transformer的原理部分在前面基本已经介绍完了,接下来就是代码部分,因为transformer可以做的任务有很多,文本的分类、时序预测、NER、文本生成、翻译等,其相关代码也会有些不同,所以会分别进行介绍但是对于不同的任务其流程是一样的,所以一些重复的步骤就不过多解释了。

2024-03-19 18:22:45 488

原创 白话transformer(四):整体架构介绍

transformer现在是最主流的深度学习框架,尤其是大模型的流程让transformer的作用更加凸显,他可以对话、分类、生成文本等功能,那么他到底是如何工作的呢。

2024-03-19 09:20:13 982

原创 白话transformer(三):Q K V矩阵代码演示

在前面讲解了QKV矩阵的原理,属于比较主观的解释,下面用简单的代码再过一遍加深下印象。白话transformer(三)

2024-03-15 07:55:31 1137

原创 深度学习&PyTorch 之 LSTM-中文多分类

定义LSTM模型else:具体解析可参考RNN代码解析唯一的不同这里介绍下,就是RNN没有cell,所以这里需要加上。在模型中,这行代码是对RNN层的最后一个时间步的隐藏状态应用dropout正则化。hidden: 这是RNN层的输出之一,表示隐藏状态。对于每个时间步,RNN会产生一个隐藏状态。如果RNN是多层(n_layers大于1),那么每个时间步的隐藏状态会经过所有的层。因此,hidden的形状将是,其中是1(单向)或2(双向)。: 这里,-1索引表示选择最后一个RNN层的输出。

2024-03-15 07:28:34 915 1

原创 RNN和LSTM的几个问题探讨

每次提到RNN最先遇到的问题肯定是梯度消失和梯度爆炸,那么什么是梯度消失和梯度爆炸?RNN中为什么会出现这个问题呢?梯度消失和梯度爆炸是深度学习模型,特别是在训练递归神经网络(RNN)和深度前馈神经网络时可能遇到的两个主要问题。这两个问题都源于神经网络中梯度的连乘效应。梯度消失和梯度爆炸是RNN在反向传播过程中常见的问题,RNN的反向传播是通过时间的反向传播”(Backpropagation Through Time,BPTT),其运行流程与一般的反向传播大有不同。在不同类型NLP任务会有不同的输出层结构、

2024-03-13 09:18:00 1030 1

原创 白话transformer(二):Q K V矩阵

前面说了注意力机制的工作原理,本次来看看为了实现自注意力机制,Q K V矩阵是如何实现的。白话transformer(二)

2024-03-13 09:17:07 1236

原创 遗传算法理解与代码实战(二)- demo(python+deap)

在DEAP库中,algorithmsbasecreator和tools是核心模块,它们提供了构建和运行进化算法所需的各种组件和工具。# 定义问题:求最大化问题# 定义适应度函数# 将二进制转换为十进制# 计算适应度# 将适应度函数与个体评估过程绑定这个与之前一样不过多介绍。

2024-03-07 15:16:43 607

原创 遗传算法理解与代码实战(一)- demo(python手写代码)

适应度函数,计算个体的适应度x = int(''.join(str(gene) for gene in chromosome), 2)#转换成十进制# 选择函数,基于适应度进行选择# 交叉函数,随机选择交叉点,进行基因交换else:# 变异函数,随机翻转基因population: 这是一个参数,代表当前种群的个体集合。在遗传算法中,种群是所有可能的解决方案的集合。这里使用列表推导式来计算种群中每个个体的适应度值。

2024-03-07 11:08:11 828

原创 深度学习&PyTorch 之 RNN-中文多分类【代码解析】

文章给出了RNN-中文多分类的代码实现,本次主要是对RNN的架构进行一个详细的解析。

2024-03-04 15:08:13 896

原创 白话transformer(一):注意力机制

前面我们分篇讲述了transformer的原理,但是对于很多刚接触transformer的人来说可能会有一点懵,所以我们接下来会分三篇文章用白话的形式在将transformer 讲一遍。前文链接注意力机制其实最大的作用就是对词嵌入也就是embedding的优化,下面我们来看下是怎么做到的。

2024-03-04 15:07:26 1151

原创 深度学习&PyTorch 之 RNN-中文多分类

关于RNN的理论部分我们已经在前面介绍过,所以这里直接上代码数据是csv格式,只有两列,第一列是标签(但是为中文),第二列是text,文本内容。当然这里也可以加入停用词我们需要构建和处理文本数据的词汇表。词汇表是自然语言处理中的一个基本概念,它将文本中的单词映射到唯一的整数ID上。这样,文本数据就可以被转换为机器可以理解的数字格式。创建好的词汇表如下我们之前看到标签是,等文本,需要转换成数值标签代码中给出了详细的注释,所以就不过多的解释。查看下数据模型结构3、 开始训练完整代码

2024-02-28 15:35:25 2014

原创 Bert基础(五)--解码器(下)

但在这一层,我们有两个输入矩阵:一个是R(编码器输出的特征值),另一个是M(前一个子层的注意力矩阵)。然后,我们把顶层解码器的输出送入线性层。我们可以看到,每个解码器中的多头注意力层都有两个输入:一个来自带掩码的多头注意力层,另一个是编码器输出的特征值。(3) 然后,将注意力矩阵[插图]和编码器输出的特征值[插图]作为多头注意力层(编码器−解码器注意力层)的输入,并再次输出新的注意力矩阵。(1) 首先,我们将解码器的输入转换为嵌入矩阵,然后将位置编码加入其中,并将其作为输入送入底层的解码器(解码器1)。

2024-02-28 10:51:31 807

原创 银河麒麟操作系统安装Anaconda

默认的安装路径为:/root/anaconda3。每次打开terminal时自动激活base环境。来初始化anaconda环境。在上面网址中下载相应的版本。查看anaconda信息。首先确认需要安装的版本。下载后,上传到服务器。成功激活base环境。

2024-02-26 11:25:27 700 1

原创 Bert基础(四)--解码器(上)

因此,一个解码器(第一个除外)将有两个输入:一个是来自前一个解码器的输出,另一个是编码器输出的特征值。同理,我们也不是将输入直接送入解码器,而是将其转换为嵌入矩阵,为其添加位置编码,然后再送入解码器。,我们不是将输入直接送入解码器,而是将其转换为嵌入矩阵(输出嵌入矩阵)并添加位置编码,然后再送入解码器。,我们将输入转换为嵌入(我们称之为嵌入值输出,因为这里计算的是解码器在以前的步骤中生成的词的嵌入),将位置编码加入其中,然后将其送入解码器。需要注意的是,这里使用的数值是随机的,只是为了方便理解。

2024-02-22 13:21:29 1211

原创 Bert基础(三)--位置编码

这样一来,输入矩阵不仅有词的嵌入值,还有词在句子中的位置信息。下图是一个编码器模块,从中我们可以看到,在将输入矩阵送入编码器之前,首先要将位置编码加入输入矩阵中,再将其作为输入送入编码器。前馈网络的参数在句子的不同位置上是相同的,但在不同的编码器模块上是不同的。(1) 将输入转换为嵌入矩阵(输入矩阵),并将位置编码加入其中,再将结果作为输入传入底层的编码器(编码器1)。只需将输入矩阵X与计算得到的位置编码矩阵P进行逐元素相加,并将得出的结果作为输入矩阵送入编码器中。代入pos值,我们得到结果。

2024-02-21 16:35:57 1370

原创 Bert基础(二)--多头注意力

为了确保结果准确,我们不能依赖单一的注意力矩阵,而应该计算多个注意力矩阵,并将其结果串联起来。使用多头注意力的逻辑是这样的:使用多个注意力矩阵,而非单一的注意力矩阵,可以提高注意力矩阵的准确性。也就是说,我们可以应用在上篇中学习的计算注意力矩阵Z的方法,来求得多个注意力矩阵。我们已经知道,为了计算注意力矩阵,需要创建三个新的矩阵,分别为查询矩阵、键矩阵和值矩阵。,那么可以直接将所有的注意力头(注意力矩阵)串联起来,并将结果乘以一个新的权重矩阵。,就可以依次得出对应的查询矩阵、键矩阵和值矩阵。

2024-02-20 16:08:33 867

原创 Bert基础(一)--自注意力机制

当下最先进的深度学习架构之一,Transformer被广泛应用于自然语言处理领域。它不单替代了以前流行的循环神经网络(recurrent neural network, RNN)和长短期记忆(long short-term memory, LSTM)网络,并且以它为基础衍生出了诸如BERT、GPT-3、T5等知名架构。本文将带领你深入了解Transformer的实现细节及工作原理。

2024-02-19 13:24:29 1131

原创 Bert基础(十五)-- Bert中文文本分类任务(colab)

train_data 是一个包含输入数据的字典,其中 “input_ids” 是模型输入的token ID,“attention_mask” 是用于标识输入序列中哪些位置是有效的前景tokens,“labels” 是序列分类任务的标签。我们可以自己打印下我们前面定义好的训练数据,如下TensorDataset 将数据转换为一个PyTorch张量数据集,其中每个样本是一个包含input_ids、attention_mask和label的元组。

2024-02-07 13:29:36 926

原创 4. ⼤模型微调方法

到底有哪些微调⽅法呢?

2024-02-06 09:34:47 719

原创 3. ⼤语⾔模型深度学习背景知识

⼤模型微调指的是“喂”给模型更多信息,对模型的特定功能进⾏“调教”,即通过输⼊特定领域的数据集,让其学习这个领域的知识,从⽽让⼤模型能够更好的完成特定领域的NLP任务,例如情感分析、命名实体识别、⽂本分类、对话聊天等;微调并不是⼤模型领域独有的概念,⽽是伴随着深度学习技术发展,⾃然诞⽣的⼀个技术分⽀,旨在能够有针对性的调整深度学习模型的参数(或者模型结构),从⽽能够使得其更佳⾼效的执⾏某些特定任务,⽽不⽤重复训练模型;

2024-02-05 15:50:36 963

原创 2. ChatGLM开源⼤模型

ChatGLM模型是由清华⼤学团队开发的⼤语⾔模型,该模型借鉴了ChatGPT 的设计思路,在千亿基座模型 GLM-130B1 中注⼊了代码预训练,通过有监督微调(Supervised FineTuning)等技术实现⼈类意图对⻬。2022年11⽉,斯坦福⼤学⼤模型中⼼对全球30个主流⼤模型进⾏了全⽅位的评测,GLM-130B 是亚洲唯⼀⼊选的⼤模型。通过使⽤与 ChatGLM(chatglm.cn)相同的技术,ChatGLM-6B 初具中⽂问答和对话功能,并⽀持在单张 2080Ti 上进⾏推理使⽤。

2024-02-02 17:18:34 742

原创 1. OpenAI⼤模型⽣态

语⾔类⼤模型:GPT-3、GPT-3.5、GPT-4系列模型。并且,OpenAI在训练GPT-3的同时,训练了参数不同、复杂度各不相同的A、B、C、D四项⼤模型(基座模型),⽤于不同场景的应⽤;其中,A、B、C、D模型的全称分别是ada、babbage、curie和davinci,四个模型并不是GPT-3的微调模型,⽽是独⽴训练的四个模型;四个模型的参数规模和复杂程度按照A-B-C-D顺序依次递增;

2024-02-02 16:35:02 567

原创 streamlit实现DNN回归低代码页面

简单的介绍了streamlit的用法,本文将实战DNN回归的用法,后面会更新深度学习的其他算法。

2024-01-25 10:29:35 941

RNN循环神经网络代码

RNN循环神经网络代码

2024-02-28

回归样本数据(教育年限与收入关系)

回归样本数据(教育年限与收入关系)

2023-01-10

时间序列样例数据(股票数据)

时间序列样例数据(股票数据) 可用于时间序列分析进行测试 时间颗粒度为“天” 包含每一天的开盘价、收盘价、最低值、最高值

2023-01-04

iris鸢尾花数据集下载

鸢尾花数据

2022-01-17

orange中文版.txt

orange中文版

2022-01-17

diabetes_train.txt

糖尿病数据集,主要用于机器学习或者深度学习分类算法,共有9个字段 前8个维变量,最后一个字段为标签,为二分类数据集,当然自己可以转换成ONE-HOT类型

2020-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除