自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (4)
  • 收藏
  • 关注

原创 大模型推理框架Vllm和TensorRT-LLM在ChatGLM2-6B模型的推理速度对比

这篇博客就专门对语言大模型推理框架Vllm和TensorRT-LLM在ChatGLM2-6B模型上的推理速度和效果进行一个对比。主要的内容分为三块,第一块简单介绍一下vllm和TensorRT-llM框架的特色和基本技术点,由于篇幅的原因关于技术的原理就不做多的介绍(每个技术点都可以拧出来写一篇文章,工作量非常大);第二块内容就是介绍一下环境安装和重要的API,并且提供一个web推理服务;最后一块内容就是展示一下具体的推理案例,在推理速度和推理质量上进行对比

2024-04-24 00:30:00 2159

原创 基于torch.compile和gptfast代码风格实现ChatGLM模型推理加速

torch2.0发布以后模型训练和推理可以实现一行代码加速,试用之后发现效果并不明显。随后gptfast项目也发布,表明它确实是可以实现模型推理的加速,看来之前试用是打开方式不对。最近参考gptfast项目,实现了对ChatGLM模型推理的加速,主要的原理是借助torch.compile对模型推理过程中构建计算图,实现加速。

2024-03-20 23:00:00 1088

原创 ChatGLM大模型推理加速之Speculative Decoding

大模型时代,模型的推理效率尤为重要,推理速度的快慢和模型生成的质量好坏对用户的体验影响很大。大模型生成速度慢,生成效果好;小模型推理速度快,但是推理质量稍差。当前大模型推理速度满不足不了业务实效性需求,小模型不能满足业务质量指标的情况下存不存在一种业务在实际落地的时候最优选择呢?google论文和deepmind论文给出了相同思路的解决方案,也就是这篇博客要谈到的东西Speculative Decoding,翻译为推测解码。

2023-12-14 22:30:00 1703 2

原创 CUDA编程二、C++和cuda混合编程的一些基础知识点

上一篇博客,介绍了GPU结构和cuda编程的一些基础知识,最后用cuda实现了向量加法。这一篇博客中主要是学习C++和cuda混合编程的一些知识点,一是C++代码执行的过程,二是C++和cuda混合编程的实现。​​​​​​​。

2023-11-25 16:00:00 830 5

原创 CUDA编程一、基本概念和cuda向量加法

有一段时间对模型加速比较感兴趣,其中的一块儿内容就是使用C++和cuda算子优化之类一起给模型推理提速。之前一直没有了解过cuda编程,也没有学习过C++相关的东西。强迫自己来学习一下cuda编程,同时也学习一下C++,扩宽一下AI相关的领域知识。

2023-11-18 21:15:00 461

原创 rwkv模型lora微调之accelerate和deepspeed训练加速

对rwkv_1.5B模型进行了预研和业务领域的验证。为了快速验证,采用了lora+accelerate+deepspeed的训练方式。微调的过程中对rwkv模型认识更加深刻,同时对于docker训练环境搭建也更加熟悉了

2023-11-02 23:15:00 8334

原创 ChatGLM的int8量化以及由此对量化的梳理总结

目前随着模型规模越来越大,对于没有很多算力的人来说,使用大模型的门槛越来越高,因此ChatGLM提供的模型支持,fp16、int8和int4的量化,来降低加载模型的显存,让更多的人能使用该大模型。

2023-08-21 21:00:00 3806 4

原创 chatGLM2中的Multi Query Attention

MQA最早是出现在2019年谷歌的一篇论文,之所以没有关注到,是因为之前很少做文本生成,解码序列长度也没有现阶段大模型的要求那么高。MQA的思想其实比较简单(如果对MHA比较熟悉的话),论文中给出的描述如下:论文的意思是:MQA和MHA除了不同的attention head共享一份keys和values权重之外,其他的都是一样的。

2023-07-10 22:15:00 1898

原创 pytorch中分布式Collective通信API学习

随着各种大模型的不断迭出,感觉现在的NLP领域已经来到了大模型的时代。那么怎么来训练一个大模型呢?其中比较关键的一个技术基础就是分布式训练。在阅读GLM源码的时候,感觉其中的分布式训练代码不是很熟悉,看起来有点吃力,为此专门对pytorch中分布训练环境的搭建和通信API进行了学习,这个对大模型训练中利用不同显卡上的梯度和数据进行训练的理解有着促进作用。

2023-05-31 22:00:00 816

原创 声纹识别之说话人验证speaker verification

由于工作需要接触到了语音领域的声纹识别,对语音识别进行了一些预研,因此在这里开一篇博客,聊一聊speaker verification学习历程。

2023-01-10 22:00:00 5696 22

原创 paddle2.3和torch1.8在SentenceBert上的性能对比

torch和paddle在Sbert模型上的对比。

2022-08-09 19:38:18 1338 2

原创 Contrastive Search Decoding——一种对比搜索解码文本生成算法

GPT2生成模型再生成的token具有各异向性,使得token之间的相似性非常接近没有很好的区分度,最后解码的时候造成了文本重复——textdegeneration;因此论文提出了一种新的训练策略(SimCTG)+解码算法(contrastivesearch),在多语言任务和实际的工业场景中进行人工评测,很显著的提升了文本生成的质量。...

2022-07-27 21:00:00 2111 1

原创 2022搜狐校园NLP算法大赛情感分析第一名方案理解和复现

2022搜狐校园NLP算法大赛情感分析第一名方案理解,代码复现和效果对比

2022-07-18 21:14:31 7059 33

原创 算法工程师展示demo的最佳实践

作为一个算法工程师无可避免的会给领导或者客户展示算法应用和效果,一个比较直观的方法就是制作一个比较简单的http页面,可以远程访问同时能够比较直观的展示出相关算法的效果之类的。这样使用一个美观的网页的形式,我认为还是比较有逼格的。假设前提,一般都假设算法人员开发前后......

2022-07-13 20:18:22 1876 1

原创 GPT2中文文本生成对话应用尝试

文本对话是一个很复杂的任务,难度比较大。按照对话文本产生的方式可以分为检索式和生成式;按照技术实现的方式可以分为端到端和pipeline的方式。为了保证对话的多样性和丰富性,以及减少流程的繁琐例如构建对话管理、对话理解等模块,我们基于GPT2模型以及GPT2-chat项目在保险领域进行了中文文本生成对话应用的尝试。总而言之,本文并不是一个创新性的内容,更多的是一种现有技术和模型在业务中的尝试和验证。一、GPT2模型解读二、GPT2-chat项目三、保险领域对话生成实战...

2022-05-27 19:00:00 5625 13

原创 python多进程及通信实现异步任务需求

目录一、python多进程及通信基本用法1、多进程的基本实现a、Process重写run方法b、使用Process和target方法c、直接使用Process类2、多进程的通信a、Queueb、Pipe二、python多进程实战1、使用进程池快速抽取数据2、多进程及通信完成数据清洗和保存3、多进程及通信实现异步任务需求写在最前面,说实话python多进程这块儿知识对于很少使用python多进程或者没有实际使用过多...

2022-05-25 13:40:57 3002

原创 NER任务最新SOTA模型W2NER

2022-04-13 16:49:05 7263 75

原创 pytorch中torch.nn.utils.rnn相关sequence的pad和pack操作

自然语言处理任务中,模型的输入一般都是变长的。为了能够组成batch输入模型进行并行计算,都是要把变长的数据处理为等长的。之前都是自己手动padding来实现的,后面发现torch中已经有了相应的API能够高速快速的处理这样的问题,同时也能够处理好padding无意义的值带来的影响。下面就一起来看看torch.nn.utils.rnn中处理这些问题的API吧!一、pad_sequence二、pack_sequence三、pad_packed_sequence四、pack...

2022-04-05 17:36:52 7103 1

原创 说话人性别识别——语音检测初探

说话人性别识别——语音检测初探任务分析特征抽取数据集模型实战

2022-03-30 11:41:15 7371 9

原创 pytorch框架下打造自己的数据读取加载

目录一、torch.utils.data.Dataset使用方法1、NLP中数据量不是很大情况2、图片和音频数据二、data.IterableDataset的使用方法做算法工程师工作以来,一直都是使用的pytorch框架,它提供了很方便的数据加载模块。很少接触到训练数据数据量巨大的情景,64G内存的机器采用Map加载方式(torch.utils.data.Dataset)一次性加载全部数据放在内存中也是能够做到的,训练效率也是比较高的,不需要每个batc...

2022-03-10 15:36:18 1629 1

原创 《CoSENT(一):比Sentence-BERT更有效的句向量方案》pytorch实现和中文实验

一、CoSENT简介 目前已经有了很多比较有效的bert系列句向量方案,其中最易于实现以及数据构造比较友好并且效果也比较好的方法就是Sentence-BERT。当然Sentence-BERT的训练目标和推理任务的目标是不一致的,它的训练目标是优化一个分类任务,而推理却是计算文本的余弦相似度。那么有没有一种更好的方案来解决Sentence-BERT文本相似度训练和推理优化目标不一致的问题?苏神的博客——CoSENT(一):比Sentence-BERT更有效的句向量方案给出了答案,直接优化文本对的余...

2022-02-09 16:11:54 5341 5

原创 浅谈文本生成或者文本翻译解码策略

浅谈文本生成或者文本翻译解码策略

2022-01-26 18:19:28 3718

原创 NLP中的对抗训练

NLP中的对抗训练FGMPGDFreeLBSMARTimport torchclass FGM(): ''' Example # 初始化 fgm = FGM(model,epsilon=1,emb_name='word_embeddings.') for batch_input, batch_label in data: # 正常训练 loss = model(batch_input, batch_label)

2022-01-19 20:30:44 6926 12

原创 label smooth标签平滑的理解

标签平滑的原理和作用标签平滑的实现——训练过程中loss函数的使用实践效果对比

2022-01-13 21:13:56 10231 5

原创 datafountain自然语言处理比赛的学习和总结

自转行入坑NLP炼丹2年以来,一直没有打过相关的比赛,究其原因一个是觉得自己NLP相关的积累太少了,参加比赛完全没有什么用;另外一方面是公司任务安排的比较多,又是自学工作任务处理起来就比较费时间,所有就没有多余的时间来打比赛了;最后就是稍微有些空闲的时间就用来休息谈恋爱呀娱乐呀学做饭呀以及学习写博客之类的。在新公司适应的比较快,项目也不是特别多,公司又有打比赛的需要,抓住机会参加了datafountain上面的几个比赛。我主要打了大奖赛中的产品评论观点提取和千言-问题匹配鲁棒性评测(提交一个...

2021-12-06 14:35:20 2322 4

原创 elasticsearch原理简析服务器上安装Python和golang语言下的数据写入和查询简单实战演练

一、elasticsearch原理简析二、服务器上的安装三、实战演练相关Python语言版本1、数据增删改相关2、数据查询相关golang语言版本1、数据增删改相关2、数据查询相关

2021-11-15 11:23:01 477 2

原创 NLP分类任务中的损失函数的选择

NLP分类任务可以分为单标签和多标签,在进行这些分类任务的时候,怎么选择损失函数呢?一、单标签分类任务单标签分类任务很简单,就是一个样本只有一个标签;进一步,根据类别的多少可以分为二分类和多分类。1、二分类任务只有2个类别,非A即B,那么这种情况下,可以采用如下的方式:a、sigmoid激活函数+BCELoss训练代码实现方式如下#output [B,C]output = torch.sigmoid(output)loss = f.binary_cross_entropy(

2021-09-14 19:28:14 2926 7

原创 无监督对比学习SIMCSE理解和中文实验操作

一、SIMCSE原理理解论文的背景、核心思想、如何构建正样本对——为何这样就能构造一个很好的样本对(bert模型中dropout的理解)、损失函数的理解,错误负样本对结果的影响,有没有好的方法构建一批两两之间都是负样本的数据集,会不会提高SIMCSE的效果?二、文本相似度实验对比可以把bert原生不微调的对比结果、微调后的;有监督的sentence-bert后然后再采用simce对比一下效果。...

2021-09-09 14:37:53 10684 22

原创 Sentence-Bert中pooling的理解

之前使用Sentence-Bert思想来做文本匹配相似的时候,忽视了其中的pooling细节。在对embedding做处理的时候,只是简简单单的做了一个均值处理。代码如下:embedding_a = self.bert(indextokens_a,input_mask_a)[0]embedding_a = torch.mean(embedding_a,1)以上的简单方式并没有什么错误,其中每个序列的embedding中含有作为padding字符(0)的向量表示,可能会影响最后下游...

2021-08-30 10:00:29 2817

原创 基于TensorRT和onnxruntime下pytorch的Bert模型加速对比实践

一、TensorRT安装二、torch2trt简单示例三、Bert模型加速1、pytorch下的Bert模型通过torch2trt转化为TensorRt可使用的格式

2021-07-19 22:07:57 9524 39

原创 模型蒸馏原理和bert模型蒸馏以及theseus压缩实战

模型蒸馏原理和bert模型蒸馏实战

2021-04-10 16:38:59 6843 10

原创 torch模型保存和加载中的一些问题记录

torch模型保存和加载中的一些问题记录注意模型打开的问题————一个torch.load()参数问题单卡训练和保存多卡训练和保存————保存模型所有,保存模型参数

2021-04-02 11:34:17 6672 5

原创 Moco训练方式的学习以及在文本表示方面的应用探索

Clip和Moco两种训练方式的学习以及在文本表示方面的应用

2021-03-30 14:43:25 1760 3

原创 softmax()和log_softmax()、CrossEntropyLoss()和NLLLoss()对比分析

softmax()和log_softmax()比较和分析

2021-03-28 18:10:49 3997 1

原创 transformer和文本纠错初探

一、transformer简单原理和实现二、模型训练全流程三、解码策略总结1、贪心搜索(greedy search)2、集束搜索(beam search)3、Top-K采样和Top-p采样

2021-03-01 21:25:14 2914 18

原创 余弦相似度计算的实现方式

自己手写实现一个,numpy、sklearn、scipy.spatial等当数据量大了以后就得采用其他的方法了,faiss库和GGNN-graph-based GPU nearest neighbor search先做调研

2020-11-21 14:01:19 9628 10

原创 pytorch原生支持的apex混合精度和nvidia apex混合精度AMP技术加速模型训练效果对比

apex的AMP库和pytorch中自带的amp——自动混合精度了解一下算法原理参考文章Pytorch 1.6使用自动混合精度训练(AMP)使用AMP得到更高效的PyTorch模型​​​​​​​...

2020-11-12 17:38:09 12689 17

原创 中文NER任务简析与深度算法模型总结和实战展示

一、中文NER原理简析主要简单描述一下,什么是NER,NER原理二、算法模型总结主流算法和模型总结,以及一些论文的分享三、NER实战针对一些具体的算法和模型进行实战,总结在实战中遇到的坑和简单的技巧...

2020-11-08 16:39:18 7755 9

原创 基于pytorch多GPU单机多卡训练实践

基于pytorch多GPU模型训练实践

2020-09-02 18:35:05 11749 25

原创 TensorFlow2.0仿pytorch快速搭建深度学习模型训练和文本分类任务实践

TensorFlow2.0学习和文本分类任务实践

2020-08-28 18:30:02 1506 5

HLA的一个简介

该文档是HLA初学者入门者的一个最佳学习文档,对HLA有一个宏观的介绍,然后详细介绍相关软件的安装,已经程序例子的演示。

2015-04-24

creator建模学习

学习creator 这是一个有关于三维建模软件的学习文档

2014-03-28

pHp 系统级资料

网上收集集合资源,内含PHP编写的商城系统,以及PPT教程!

2013-06-23

电子商务资料

相关代码也是在网上搜索的,放在这里做个集合,只是为了方便大家!

2013-06-22

空空如也

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

TA关注的人

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