- 博客(373)
- 资源 (3)
- 收藏
- 关注

原创 NLP(七十七)文本补全中的动态提示(Dynamic Prompting)
本文将会介绍如何在大模型中对文本补充(Text Completion)进行动态提示(Dynamic Prompting)。
2023-10-17 23:55:50
765

原创 NLP(七十五)大模型时代下的开放领域三元组抽取
本文将会介绍在大模型(LLM)时代下,如何在开放领域进行三元组抽取。本文内容已开源至Github,网址为:https://github.com/percent4/llm_open_triplet_extraction .
2023-10-17 23:52:51
4497
5

原创 NLP(七十三)从BERT模型训练到量化、蒸馏之路
本文将会介绍笔者从BERT模型训练到模型量化、蒸馏的旅程,通过一系列文章的回顾,不难掌握模型训练和模型压缩的技能。
2023-10-17 23:50:26
603

原创 NLP(七十二)使用知识蒸馏提升模型推理性能
本文篇幅较长,主要介绍了知识蒸馏的基本概念和原理,并通过笔者自己的亲身试验,验证了知识蒸馏的有效性,在稍微降低模型效果的前提下,模型的推理速度获得了极大提升。
2023-10-17 23:49:00
631

原创 NLP(七十)使用LLAMA 2模型微调Multiple Choice MRC
本文主要介绍了MRC及RACE数据集,同时介绍了如何在Firefly训练框架下,采用LLAMA 2模型进行微调,并取得了满意的效果。
2023-09-13 20:39:06
1158

原创 NLP(六十九)智能文档问答助手升级
本文在笔者之前研发的大模型智能文档问答项目中,开发更进一步,支持多种类型文档和URL链接,支持多种大模型接入,且使用更方便、高效。
2023-09-09 22:46:34
881
1

原创 NLP(六十八)使用Optimum进行模型量化
本文介绍了如何使用HuggingFace的`Optimum`,来对微调后的BERT模型进行量化(Quantization),在`optimum.onnxruntime`模块中,平均推理时间提速约1.8倍。
2023-09-06 23:38:36
1228
1

原创 NLP(六十七)BERT模型训练后动态量化(PTDQ)
本文介绍了量化基本概念,PyTorch模型量化方式,以及对BERT模型训练后进行动态量化后在推理效果和推理性能上的实验。
2023-09-03 00:13:41
1612
1

原创 NLP(六十六)使用HuggingFace中的Trainer进行BERT模型微调
本文将会介绍如何使用HuggingFace中的Trainer对BERT模型微调。
2023-09-02 22:35:04
2403
1

原创 NLP(六十四)使用FastChat计算LLaMA-2模型的token长度
本文将会介绍如何使用FastChat计算LLaMA-2模型的token长度,包括Prompt的token长度以及对话的token长度。
2023-08-08 23:24:51
2994
2

原创 NLP(六十三)使用Baichuan-7b模型微调人物关系分类任务
本文将介绍如何使用Baichuan-7b模型微调人物关系分类任务,并比BERT时代的模型取得了进步。
2023-07-30 12:50:50
1761

原创 NLP(六十二)HuggingFace中的Datasets使用
本文可作为dataset库的入门,详细介绍了数据集的各种操作,这样方便后续进行模型训练。
2023-07-24 22:45:07
7661

原创 NLP(六十一)使用Baichuan-13B-Chat模型构建智能文档问答助手
本文将详细介绍如何使用Baichuan-13B-Chat模型来构建智能文档问答助手。
2023-07-23 13:31:48
2421

原创 NLP(六十)Baichuan-13B-Chat模型使用体验
本文主要介绍了Baichuan-13B-Chat模型使用体验,包括其与GPT系列模型在中文常识性问题上的测试,以及向量嵌入、文档问答等。
2023-07-21 22:31:58
2480
2

原创 NLP(五十八)LangChain使用Google Search Agent
本文主要介绍了如何在LangChain中使用Google Search Agent,来改善大模型存在的不足之处。
2023-07-02 18:57:11
3233
2

原创 NLP(五十七)LangChain的结构化输出
本文主要介绍了LangChain的结构化输出,这在我们需要对模型输出结果进行结构化解析时较为有用,同时,我们也能接住结构化输出完成一些常见的NLP的任务,如NER等。
2023-06-28 23:35:58
4729
2

原创 NLP(五十六)LangChain入门
本文主要介绍了LangChain,以及LangChain的模型支持、Prompt管理、链,并在此基础上介绍了三个有趣的工具使用。
2023-06-21 18:19:42
2451

原创 NLP(五十四)在Keras中使用英文Roberta模型实现文本分类
本文将会介绍如何将原始torch版本的英文Roberta模型转化为tensorflow版本模型,并且Keras中使用tensorflow版本模型实现英语文本分类。
2022-05-15 12:32:17
6037

原创 NLP(五十三)抽取式词义消歧(WSD)
在本文中,笔者将介绍如何使用抽取式NLP模型来实现词义消歧(WSD),模型灵感来源于论文ExtEnD: Extractive Entity Disambiguation
2022-05-04 00:56:45
2944
8

原创 NLP(五十二)在BERT模型中添加自己的词汇
不论是Tensorflow版本或者PyTorch版本的NLP预训练模型,我们都会在模型文件中看到vocab.txt文件,这个文件就是该预训练模型的词汇表。通常,模型本身都会自带词汇表文件,这是在模型预训练的时候训练得到的词汇表,具有代表性,一般不可随意更改。同时vocab.txt文件中也保留了一定数量的unused词汇,用来添加新词。 本文将介绍如何在BERT模型中添加自己的词汇,其他预训练模型原理相同。我们将通过三个常见的模块来介绍,分别是keras-bert,transformers,toke
2022-05-03 20:06:10
8268
3

原创 NLP(五十)别名发现模型的初次尝试
别名发现系统项目说明别名发现在日常生活、知识图谱及搜索推荐中有重要应用。本项目使用深度学习方法去发现非结构化文本中的别名与简称(或称缩略语),比如下面的例子:卡定沟:又名嘎定沟,位于西藏318国道拉萨至林芝段距八一镇24公里处,海拔2980米,地处雅鲁藏布江支流尼洋河畔发现别名为:(卡定沟, 别名, 嘎定沟)。本文将会提供别名发现的语料以及相应的深度学习模型,即使用关系抽取模型作为别名发现的模型。语料说明本项目最大的贡献在于提供人工标注的高质量别名语料,本项目于2021年8月11日启动,长
2021-11-30 12:23:07
2317

原创 NLP(四十九)使用kenlm进行文本纠错
本文将会介绍如何使用kenlm工具进行文本纠错。 kenlm是用C++编写的语言模型工具,可以方便、快速地计算n-gram。kenlm工具的首页网址为:https://kheafield.com/code/kenlm/,该工具的Github网址为:https://github.com/kpu/kenlm。 关于kenlm的安装,本文不再详细介绍,网上有很多这方面的介绍。安装完kenlm工具包后,其文件夹目录结构如下:BUILDINGCMakeLists.txtCOPYINGCOPYING
2021-07-26 11:55:45
3953
6

原创 NLP(四十八)文本纠错之获取形近字
简介 笔者最近在从事文本纠错的相关工作,颇有收获,因此记录于此。 文本纠错很大一部分工作在于纠正同音字、形近字,所谓形近字,是指字形相近的汉字。本文将介绍如何获取形近字。 获取形近字的算法如下:获取汉字库,将所有汉字转化为黑白图片;获取每个汉字的向量表示(即将图片转化为向量);计算两个汉字的向量的余弦相似度,得到它们的字形相似度。 下面将详细演示如何获取形近字。获取形近字 我们从网上得到3500个汉字的txt文件(all_3500_chars.txt),通过pygame将汉字
2021-06-29 22:59:39
4677
5

原创 NLP(四十七)常见的损失函数
本文将给出NLP任务中一些常见的损失函数(Loss Function),并使用Keras、PyTorch给出具体例子,最后再介绍标签平滑技术(Label Smoothing)。 本文将介绍的损失函数如下:Mean Squared Error(均方差损失函数)Mean Absolute Error(绝对值损失函数)Binary Cross Entropy(二元交叉熵损失)...
2021-04-24 14:39:13
5300

原创 NLP(四十六)对抗训练的一次尝试
初次听说对抗训练是在一次实体识别比赛的赛后分享中,当时的一些概念,比如Focal Loss、对抗训练、模型融合、数据增强等都让我感到新奇,之后笔者自己也做了很多这方面的尝试。本文将分享笔者对于对抗训练(FGM)的一次尝试。什么是对抗训练? 提到“对抗”,相信大多数人的第一反应都是CV中的对抗生成网络 (GAN),殊不知,其实对抗也可以作为一种防御机制,并且经过简单的修改,便能用在NLP任务上,提高模型的泛化能力。GAN之父Ian Goodfellow在15年的ICLR论文《Explaining a
2021-04-14 22:17:32
1506

原创 NLP(四十五)R-BERT在人物关系分类上的尝试及Keras代码复现
本文将介绍关系分类模型R-BERT和该模型在人物关系数据集上的表现,以及该模型的Keras代码复现。关系分类任务 关系分类属于NLP任务中的文本分类,不同之处在于,关系分类提供了文本和实体。比如下面的例子:亲戚 1837年6月20日,威廉四世辞世,他的侄女维多利亚即位。其中两个实体在文本中用和包围着,人物关系为亲戚。 在关系分类中,我们要注重文本特征,更要留意实体特征。常见的英文关系分类的数据集为SemEval 2010 Task 8、New York Times Corpus、Wik
2021-04-01 15:59:46
2110
1

原创 NLP(四十四)使用keras-bert加载BERT模型的两种方法
keras-bert是Keras框架加载BERT模型的Python第三方模块,在之前的文章中,笔者介绍了如何使用keras-bret来实现不同的NLP任务,比如:NLP(三十四)使用keras-bert实现序列标注任务NLP(三十五)使用keras-bert实现文本多分类任务NLP(三十六)使用keras-bert实现文本多标签分类任务NLP(三十七)使用keras-bert实现英语序列标注任务NLP(三十九)使用keras-bert实现完形填空及简单的文本纠错功能NLP(四十二)人物关系
2021-03-31 21:51:36
4311
3

原创 NLP(四十三)模型调参技巧之Warmup and Decay
Warmup and Decay是深度学习中模型调参的常用trick。本文将简单介绍Warmup and Decay以及如何在keras_bert中使用它们。什么是warmup and decay? Warmup and Decay是模型训练过程中,一种学习率(learning rate)的调整策略。 Warmup是在ResNet论文中提到的一种学习率预热的方法,它在训练开始的时候先选择使用一个较小的学习率,训练了一些epoches或者steps(比如4个epoches,10000steps)
2021-03-27 17:46:19
2994
1

原创 NLP(四十二)人物关系分类的再次尝试
两周前的周末,笔者决定对人物关系分类进行再次尝试。 为什么说是再次尝试呢?因为笔者之前已经写过一篇文章NLP(二十一)人物关系抽取的一次实战,当时的标注数据大约2900条,使用的模型也比较简单,为BERT+Bi-GRU+Attention+FC结构,其中BERT用作特征提取,该模型在原有数据集上的F1为79%。 经过笔者一年断断续续的努力,现在的标注样本已经达到3900多条。鉴于笔者已做过BERT微调相关工作,当然希望在此数据集上进行再次尝试。 现有的人物关系数据集大约3900多条,分布如下
2021-03-25 22:36:23
2158
7

原创 NLP(四十一)使用HuggingFace翻译模型的一次尝试
本文将如何如何使用HuggingFace中的翻译模型。 HuggingFace是NLP领域中响当当的团体,它在预训练模型方面作出了很多接触的工作,并开源了许多预训练模型和已经针对具体某个NLP人物训练好的直接可以使用的模型。本文将使用HuggingFace提供的可直接使用的翻译模型。 HuggingFace的翻译模型可参考网址:https://huggingface.co/models?pipeline_tag=translation ,该部分模型中的绝大部分是由Helsinki-NLP(Lan
2021-03-10 22:15:06
16273
25

原创 NLP(四十)利用seqeval模块获取序列实体识别结果
在文章NLP(二十三)序列标注算法评估模块seqeval的使用中,笔者首次介绍了seqeval模块,它可以帮助我们很好地完成序列标注算法的模型效果评估,并且能在Keras模型训练过程中引入。 其实,在seqeval模块中还有一个get_entities函数,它能帮助我们迅速地从一个标注序列中获取完整实体,支持常规的BIO、BMESO等标注方式。让我们来看下该函数的源代码:def get_entities(seq, suffix=False): """Gets entities from s
2021-03-05 12:01:32
1266

原创 NLP(三十九)使用keras-bert实现完形填空及简单的文本纠错功能
在之前的系列文章中,笔者介绍了如何使用keras-bert来调用BERT模型,实现文本多分类,文本多标签分类以及序列标注任务,文章如下:NLP(三十四)使用keras-bert实现序列标注任务NLP(三十五)使用keras-bert实现文本多分类任务NLP(三十六)使用keras-bert实现文本多标签分类任务在本文中,笔者将介绍如何使用keras-bert来调用BERT模型使用完形填空及简单的文本纠错功能。完形填空 首先,我们来了解下什么是完形填空。所谓完形填空,指的是将句子中缺失的
2021-01-24 16:35:23
4901
7

原创 NLP(三十八)使用keras-bert调用ALBERT模型实现文本分类、文本多标签分类、序列标注任务
在系列文章NLP(三十四)使用keras-bert实现序列标注任务、NLP(三十五)使用keras-bert实现文本多分类任务、NLP(三十六)使用keras-bert实现文本多标签分类任务中,笔者介绍了如何使用keras-bert模块来调用BERT等模型来实现文本分类、文本多标签分类、序列标注任务。 在系列文章NLP(二十二)利用ALBERT实现文本二分类、NLP(二十五)实现ALBERT+Bi-LSTM+CRF模型、NLP(二十八)多标签文本分类中,笔者将ALBERT模型作为特征向量提取工具,实
2021-01-05 22:41:09
5244
3
pytorch入门+神经网络模型+实战项目
2023-03-18
Advanced model deployments with TensorFlow Serving Presentation.pdf
2021-02-25
Python爬虫系列之PhantomJS+Selenium+AutoIt.pptx
2018-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人