![](https://img-blog.csdnimg.cn/20210813164829271.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
NLP成长之路
文章平均质量分 75
解决NLP的各种疑难杂症
ToTensor
AI算法工程师
ChatLaw contributor、opencompass contributor、funasr contributor、llamafactory contributor
Qwen-WisdomVast (千问-智瀚)作者
公众号:AI算法之门
Github:https://github.com/seanzhang-zhichen
展开
-
Llama3-chinese: 大幅改进Llama3 中文能力
是以Meta-Llama-3-8B为底座,使用DORALORA+的训练方法,在50w高质量中文多轮SFT数据 + 10w英文多轮SFT数据 + 2000单轮自我认知数据训练而来的大模型。原创 2024-04-22 13:26:05 · 4752 阅读 · 1 评论 -
Qwen-WisdomVast (千问-智瀚)
是以Qwen1.5-7B为底座,使用DORALORA+的训练方法,在100w高质量中文多轮SFT数据 + 20w英文多轮SFT数据 + 2000单轮自我认知数据训练而来的大模型,数学能力相比Qwen1.5-7B-Chat提升了5.16%,在HumanEval数据集上相比Qwen1.5-7B-Chat提升了12.8,在MBPP数据集上提升了11.6%,在BBH数据集上提升了12.44%,全部评测表现见下表。原创 2024-04-11 16:01:59 · 729 阅读 · 0 评论 -
Fastwhisper + Pyannote 实现 ASR + 说话者识别
最近在研究ASR相关的业务,也是调研了不少模型,踩了不少坑,ASR这块,目前中文普通话效果最好的应该是阿里的modelscope上的中文模型了,英文的话,还是非whisper莫属了,而且whisper很变态,粤语效果也还不错,因此,如果实际业务中需要涉及到不同的语言,还是更推荐whisper多一点faster-whisper是使用CTranslate2对OpenAI的Whisper模型的重新实现,CTranslate2是一个用于Transformer模型的快速推理引擎。原创 2024-03-03 18:08:22 · 5684 阅读 · 11 评论 -
关于大模型在文本分类上的尝试
总共25个类别,在BERT上的效果是48%,数据存在不平衡的情况,训练数据分布如下:训练数据不多,4000左右1、Lora SFT效果要比全参SFT差不少2、在单一任务上,基于chat模型做微调要比基于base模型效果要好(多任务上的效果有待验证)3、NEFT确实有效,后续会在其他任务上也使用该方法。原创 2023-11-30 12:47:51 · 1009 阅读 · 0 评论 -
使用自己的领域数据扩充baichuan模型词表(其他模型也一样)
总的来说,扩充词表可以加快解码速度,对于对中文支持不太友好的模型(如llama),扩充词表还能提升模型在中文的表现。原创 2023-08-19 14:54:06 · 790 阅读 · 0 评论 -
大模型训练时间估算
使用激活重计算的一次训练迭代中,对于每个token,每个模型参数,需要进行。内存比较小时再开激活重计算,若内存充足则没必要开激活重计算了。原创 2023-08-12 11:41:12 · 1728 阅读 · 0 评论 -
deepspeed多机多卡并行训练指南
7机14卡,每台服务器两张A800服务器只允许内网访问,不能连接外网因此,你需要先搞定如何离线配置训练环境真正跑过多机多卡训练的同学,应该能明白,这篇文章是有多细节了!毫不夸张地说,干货满满!原创 2023-08-31 23:56:30 · 2800 阅读 · 1 评论 -
RAG之微调垂域BGE的经验之谈
随着大模型的爆火,很多垂域行业都开始使用大模型来优化自己的业务,最典型的方法就是RAG(检索增强生成)了。简单来说就是利用检索技术,找出与用户问题相关性最高的段落,再让LLM基于以上段落,去回答用户的提问。CSDN问答机器人。只不过当时是在SBERT模型上微调,也取得了不错的效果。这里我们使用的基座模型是。1、领导要求提高10%以上,没有标注数据的情况下,感觉还是很难的2、各位大佬要是有想法,欢迎在评论区留言一起讨论。原创 2023-10-25 21:47:59 · 8314 阅读 · 30 评论 -
SentenceTransformer使用多GPU加速向量化
当我们需要对大规模的数据向量化以存到向量数据库中时,且服务器上有多个GPU可以支配,我们希望同时利用所有的GPU来并行这一过程,加速向量化。原创 2023-10-11 20:49:06 · 2256 阅读 · 1 评论 -
百川Dynamic NTK-ALiBi的代码实现:无需微调即可推理更长文本
NTK-ALiBiNTK-ALiBi:通过插值实现大模型ALiBi位置编码的长文本外推。原创 2023-08-27 15:38:13 · 1178 阅读 · 0 评论 -
ChatHome: Development and Evaluation of a Domain-Specific Language Model for Home Renovation
本文介绍了针对复杂的家居装修领域而设计的领域特定语言模型ChatHome的开发和评价。考虑到像GPT-4这样的大型语言模型(llm)的成熟能力以及对家庭装修的不断升级的迷恋,本研究通过生成一个专门的模型来调和这些方面,该模型可以产生与家庭装修领域相关的高保真度,精确的输出。ChatHome的新颖之处在于它的方法,在一个广泛的数据集上融合了领域自适应预训练和指令调整。该数据集包括专业文章、标准文档和与家庭装修相关的网络内容。这种双管齐下的策略旨在确保我们的模型能够吸收全面的领域知识并有效地处理用户查询。原创 2023-08-04 19:34:44 · 1500 阅读 · 0 评论 -
Could not create share link. Please check your internet connection or our status page: https://statu
【代码】Could not create share link. Please check your internet connection or our status page: https://statu。原创 2023-07-27 19:17:01 · 3648 阅读 · 6 评论 -
Could not create share link. Missing file: /xxxx/frpc_linux_amd64_v0.2.
在当前目录按步骤执行。原创 2023-07-27 19:23:31 · 2924 阅读 · 1 评论 -
增量预训练baichuan-13b-chat遇到的那些坑
增量预训练百川13b-chat原创 2023-07-30 11:24:56 · 2068 阅读 · 4 评论 -
LoRA原理解析
随着模型规模的不断扩大,微调模型的所有参数(所谓full fine-tuning)的可行性变得越来越低。以GPT-3的175B参数为例,每增加一个新领域就需要完整微调一个新模型,代价和成本非常高!原创 2023-07-06 22:40:36 · 1779 阅读 · 0 评论 -
LLaMA及其子孙模型概述
Alpaca是Stanford用52k指令数据微调LLaMA 7B后得到的预训练模型,作者声称在单轮指令执行的效果上,Alpaca的回复质量和openai的text-davinci-003相当,但是Alpaca的参数非常少(微调一个7B的llama需要在8张A100 80G上训练3个小时,花费至少100美元)。为了更好的评估效果,我们使用了一个包含一千个样本和九个真实场景的评估集来测试各种模型,同时通过量化分析来提供有价值的见解,以便更好地促进开源聊天模型的发展。白泽提出的训练方法。原创 2023-06-22 22:45:40 · 1715 阅读 · 3 评论 -
用LangChain实现一个ChatBlog
通过本文, 你将学会如何使用`langchain`来构建一个自己的**知识库问答**原创 2023-05-22 22:24:55 · 1807 阅读 · 2 评论 -
OJ平台代码模板自动生成
经常使用CSDN的小伙伴应该知道, 最近CSDN举办了好几期编程竞赛, 其中的编程模板, 都是有python脚本自动生成的, 这篇文章, 用以记录编程模板自动生成的开发过程.我们以java语言为例进行讲解.1、深度分析数据后才能发现数据的规律一开始leader将这个jira分给我的时候, 我觉得这模板代码没法自动生成, 很是抗拒自己写了几个 python 的 oj 模板后才发现这确实是有规律可循的2、年轻人不要浮躁对OJ比赛感兴趣的同学, 可以参加CSDN编程竞赛第四期若发现OJ。.........原创 2022-08-18 17:52:06 · 1385 阅读 · 2 评论 -
基于Sentence-Bert的检索式问答系统
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('原创 2022-05-19 22:51:50 · 7049 阅读 · 10 评论 -
jieba多进程分词
文章目录基础分词多进程分词基础分词import jiebaimport reimport emojifrom common.path.dataset.keywords import get_it_keywords_dirfrom common.utils import filter_content_for_blog_clsfrom config.stopwords.cn import CNStopwordsBuilderfrom config.stopwords.default impor原创 2022-04-24 20:34:04 · 676 阅读 · 8 评论 -
CSDN每日开源指数
文章目录一、前言二、开源指数计算规则三、获取数据四、存储数据五、性能问题六、结果一、前言身为一名程序员,想必你肯定知道有个神奇的网站叫Github,上面有各路大神开源的各种项目,CSDN也有自己的开源网站,以前叫CodeChina,现在叫GitCode,使用起来与github无太大差别,但网速比GitHub快很多,非常适合国内开发者使用。为了解决国内用户访问 github 速度较慢的问题,Gitcode将github上的所有开源项目都镜像到Gitcode Mirrors 镜像仓库里,从Gitcode M原创 2022-04-12 21:42:24 · 439 阅读 · 0 评论 -
Bert+BiLSTM+CRF实体抽取
文章目录一、环境二、模型1、BiLSTM不使用预训练字向量使用预训练字向量2、CRF一、环境torch==1.10.2transformers==4.16.2其他的缺啥装啥二、模型在这篇博客中,我总共使用了三种模型来训练,对比训练效果。分别是BiLSTMBiLSTM + CRFBert + BiLSTM + CRF1、BiLSTM模型大致结构只用BiLSTM来做NER的话,实际上就是多分类,既然是多分类,那么它的损失函数就可以用交叉熵来表示。模型构建及损失计算如下:impo原创 2022-04-07 22:20:38 · 22613 阅读 · 77 评论 -
命名实体识别(NER)标注神器——Label Studio 简单使用
文章目录前言一、安装与启动二、基本使用前言近期在做NER的工作,由于缺乏标注数据,所以,你懂的😭😭Label Studio不仅可以用来标注文本NER任务,还可以用来标注文本分类、图像分类等等其他AI任务。官网——https://labelstud.io/其他标注任务自己去探索吧,我这里只讲一下NER任务。一、安装与启动安装pip install -U label-studio启动# 打开命令行,在命令行中执行:label-studio二、基本使用不出意外的话,在命令行中启动原创 2022-03-05 18:50:38 · 44469 阅读 · 120 评论 -
使用百度paddlex快速训练图片分类器
文章目录前言一、环境依赖二、使用步骤1.准备数据2.划分数据集3.训练4.预测总结前言对内容的分类,有时候不仅需要使用到文本数据,也需要使用到图像数据,将两者联合起来对内容的进行分类。这时候,要是有个工具,能让你快速训练图像分类模型,简直不要太爽,paddlex就是这样一款神器神器。一、环境依赖paddlepaddle-gpu或paddlepaddle(版本大于或等于1.8.1)pip install cythonpip install pycocotoolspip install padd原创 2022-01-14 23:30:00 · 2001 阅读 · 0 评论 -
技术/广告 文章分类器(二)
文章目录前言一、优化手段1、增加训练数据2、更改分类模型3、分词时加入用户词典4、去除停用词及特殊符号二、TFIDF + AdaBoost全部代码三、Fasttext全部代码总结前言本文基于上一篇博客技术/广告 文章分类器(一),作出了一些优化,将准确率由84.5%提升至94.4%一、优化手段1、增加训练数据之前的训练数据集,两类数据分别只有500条左右,训练数据太少。本文所使用数据集为45000余条,增加了90倍,应该完全够用2、更改分类模型之前使用多项式朴素贝叶斯,效果一般,由于使用原创 2022-01-03 14:54:14 · 819 阅读 · 4 评论 -
技术/广告 文章分类器(一)
文章目录前言一、数据二、训练1.加载数据2.加载停用词3.训练4.预测三、完整代码总结前言CSDN的不少博客中,总是有不少博主,在博客中加入自己的软文广告,不是要你加群就是要你关注公众号,关注公众号后,天天在自己的公众号中卖课,推销,甚是烦人,把天真可爱的程序员当作韭菜来割,真是可恶。今天,我们就是要甄别这类文章。一、数据technology文件夹中的某段数据:这就很正能量,踏踏实实写博客,分享自己的经验,向大佬致敬????????advertisement文件夹中的某段数据:转人家文原创 2021-12-18 14:03:00 · 590 阅读 · 2 评论 -
踩坑日记(三)re.split()篇
在解析网页时,有一个需求是将网页内容按<h2>.*<h2>划分开,很容易想到,re.split()可以实现这一功能。话不多说,我们进入正题:import retest_data = """今天天气真不错<h2>是的</h2>真不错啊真不错"""res = re.findall(r'<h2>.*</h2>', test_data, re.S)print(res)输出['\n今天天气真不错\n', '\n真不错原创 2021-12-18 13:18:33 · 745 阅读 · 0 评论 -
踩坑日记(二)Redis篇
此篇文章用以记录python操作redis时容易忽略的问题。首先,连接redisimport redisr = redis.StrictRedis(host='localhost', port=6379, db=0)随便写个东西进去r.sadd('test01', 1, 2, 3, 4, 5, 5)输出:5这是因为此处使用的是redis的集合类型,而集合中的元素是不能重复的,存进去的数字中,有重复元素,去除重复的元素后,只剩下剩下5个元素,被存入到redis数据库中。取出所有元素:r.原创 2021-09-21 18:16:35 · 212 阅读 · 1 评论 -
踩坑日记(一)日志打印篇
团队博客: CSDN AI小组2021/09/12,踩坑日记(一):首先,我们来看一段代码:def request_create_commnuity(self, url, param): fails = 0 while True: try: if fails >= 20: break headers = {'Content-Type'.原创 2021-09-12 13:23:21 · 152 阅读 · 1 评论 -
代码变种策略文档说明
代码变种策略文档说明:cpp/java:1、替换if while for 中的运算符:{ "+": ["-"], "-": ["+"], "<": [">", ">=", "<=", "=="], ">": ["<", ">=", "<=", "=="], "<=": [">", ">=", "<", "=="], ">=": [">", "<=", "<",原创 2021-09-07 16:19:13 · 174 阅读 · 1 评论 -
每日一题开发记录(二)
文章目录前言一、数据二、策略1、选择题2、填空选择题三、存储四、部署总结每日一题社区论坛前言前一篇文章代码一变三模块开发记录(一)大致介绍了代码一变三模块的来龙去脉,由于我们的数据源,主要都是一些算法题,考虑到删掉部分代码后,容易暴露正确选项,因此,为了增加题目的混淆性,去掉了删除代码的策略,主要针对改代码,进行了一些策略调整。一、数据距离上一篇博客已经一个月之久,这一个月,至少有15天都在处理数据,想必作为NLP工程师,数据的重要性,大家应该都不言而喻。我们有一部分题目,来自LeetCod.原创 2021-08-20 12:59:45 · 132 阅读 · 0 评论 -
.py文件与.ipynb文件互相转换
文章目录前言1、直接读写2、冷静分析3、正确操作4、效果前言为了将python代码放在jupyter notebook上运行,人工处理需要耗费大量时间,考虑到以后数据量增多,自动化脚本处理撒必要的。1、直接读写可能很多人起初和我想的一样,不就是更改个后缀名吗,有那么复杂,直接读一下然后存一下不就好了。test.py中的内容:# %%'''# 这是个测试'''# %%def twoSum(nums, target): cache = {} i = 0 while原创 2021-08-14 13:28:12 · 8883 阅读 · 5 评论 -
每日一题开发记录(一)
文章目录前言任务背景任务分析一、输入二、变换代码顺序思路代码实现三、删除某些代码思路代码实现四、替换保留字及运算符思路代码实现五、后续优化方向总结前言任务背景把一个有代码的优质问答变成一个选择题 (例如: 有人问了 “我的冒泡排序为何不对”, 答主写了代码回答, 题主采纳了回答, 我们把正确的代码回答产生出 3 个不对的变种,生成 A,B,C,D 四个选择,让用户去做选择题任务分析可从增删改三个方向去生成候选项,具体想法如下:(1)通过变换代码顺序生成候选项(2)通过删除某些代码生成候选.原创 2021-07-17 14:45:03 · 195 阅读 · 0 评论 -
关于提高PaddleOCR识别准确率的一些优化(三)
关于提高OCR识别准确率的一些优化(三)前言一、优化思路二、完整代码测试总结前言1、本文基于上一篇文章:关于提高OCR识别准确率的一些优化(二)进行了一些优化,将图片方向识别准确率提升至96%。2、在阅读这篇文章之前,建议先看上一篇,以便更好的理解一、优化思路1、在上一篇文章中,我们使用paddleocr的方向分类器直接判别图片方向,发现效果并不怎么好,而且效率也很低,识别一张图片平均耗时2s。2、鉴于以上存在的问题,于是想出了一个新的优化方案:使用paddleocr的文本矩形框检测得到所原创 2021-07-03 13:19:59 · 12069 阅读 · 5 评论 -
关于提高PaddleOCR识别准确率的一些优化(二)
关于提高OCR识别准确率的一些优化(二)前言一、为什么要判断方向?二、paddleocr方向分类器1.方法介绍2、实际效果测试3、文本框检测实际效果4、结果分析5、解决办法6、方向检测测试结果三、paddlex图像分类1.训练2.测试结果分析四、后续优化方向总结前言本文基于关于提高OCR识别准确率的一些优化做出了一些改进和尝试,主要分为以下两点:1、使用paddleocr方向分类器判断文本方向2、用paddlex训练一个方向分类器判断文本方向一、为什么要判断方向?在我们的数据集中,有很多用户原创 2021-06-26 09:40:27 · 13350 阅读 · 2 评论 -
关于提高PaddleOCR识别准确率的一些优化(一)
文章目录前言一、初步解决方案二、后续的优化方向总结前言场景分析:识别用户上传的图片中的文本存在的问题:1、图片倾斜导致ocr识别不准2、图片颠倒,导致识别出来的文本,顺序错乱3、图片尺寸太大,识别效率太慢4、部分图片模糊,导致识别准确率率下降一、初步解决方案1、矫正图像:二值化后,寻找外接矩形边缘线,计算角度------鲁棒性差hough变换-------效果太差radon变换------目前效果最好由于用户拍照场景比较复杂,导致几种典型的算法均不适用,目前效果最好的为ra原创 2021-06-19 10:56:47 · 9483 阅读 · 0 评论 -
代码抽取功能优化(二)
代码抽取功能优化(二)前言一、代码抽取构建思路二、各模块介绍1.提取markdown中的code2.提取python多行注释的索引3.提取C++多行注释4.代码判定逻辑5.后续的优化三、全部代码测试总结前言本文基于上篇代码抽取功能优化(一)进行了一些优化,增加了对python多行注释、C++多行注释以及markdown的处理,修复了一些小bug,将抽取准确率提升至92%。一、代码抽取构建思路二、各模块介绍1.提取markdown中的code思路:1、判断```是否在该行中,在的话coun原创 2021-06-12 13:27:47 · 284 阅读 · 2 评论 -
代码分类功能优化(一)
文章目录前言一、优化思路二、所做的尝试1.加入keywords权重计算句向量2.更改词向量计算方式3.加入keywords4.更改分类模型5.仅使用keywords,不使用模型后续优化总结前言本文基于代码分类功能开发记录进行了一些优化1、将分类类别增加至15个类别2、加入每种语言的keywords表3、在计算句向量时,加入keywords权重一、优化思路上一版模型测试结果:1、在长文本测试集准确率达98%2、在真实业务测试集准确率为49%造成该结果可能的原因:1、训练数据与真实原创 2021-06-06 13:23:25 · 365 阅读 · 0 评论 -
代码抽取功能优化(一)
本文基于上篇博客代码抽取功能开发记录进行了一些优化经过测试发现,之前的代码抽取,对html语言处理存在疏漏,因此,加入了html解析器。先将文本经过html解析器解析后,在输入到代码抽取函数中codefrom html.parser import HTMLParserclass TextHTMLParser(HTMLParser): def __init__(self, ignore_pre): HTMLParser.__init__(self) ..原创 2021-05-29 11:38:32 · 217 阅读 · 1 评论 -
代码分类功能开发记录
代码分类功能开发记录数据训练数据:想要数据的同学可以私信我,暂时未上传百度云盘数据格式只需符合常规的分类数据就可以了,例如:contentlabel代码内容java代码内容python开发思路将代码内容转为向量,用xgboost训练一个多分类器目录结构代码config.py# -*- coding: UTF-8 -*-import os#项目路径root_path = os.path.abspath(os.path.dirname('/原创 2021-05-22 14:47:27 · 216 阅读 · 0 评论