算法
文章平均质量分 90
TFATS
这个作者很懒,什么都没留下…
展开
-
LORA的基本原理
LoRA 是一种低资源微调大模型方法。使用LORA,训练参数仅为整体参数的万分之一、GPU显存使用量减少2/3且不会引入额外的推理耗时。原创 2024-01-11 16:12:27 · 4685 阅读 · 2 评论 -
大模型 Decoder 的生成策略
Greedy Search、beam search、Sampling、Top-K、Top-p原创 2023-10-02 17:03:26 · 2675 阅读 · 1 评论 -
为什么现在的LLM都是Decoder only的架构?
总而言之,decoder-only 在参数量不太大时就更具有更强的zero-shot性能、更匹配主流的自监督训练范式;而在大参数量的加持下,具有了涌现能力后、可以匹敌encoder-decoder做finetuning的效果;在In Context的环境下、又能更好地做few-shot任务。decoder-only 架构符合传统的 Language Model 的模式。原创 2023-09-21 13:59:43 · 3122 阅读 · 1 评论 -
Zero-Shot、One-shot、Few-Shot 的简介
所以模型需要知道的信息是马的样本、老虎的样本、熊猫的样本和样本的标签,以及关于前三种动物和斑马的描述。”然后,爸爸给小明安排了一个任务,让他在动物园里找一种他从没见过的动物,叫斑马,并告诉了小明有关于斑马的信息:“斑马有着马的轮廓,身上有像老虎一样的条纹,而且它像熊猫一样是黑白色的。如今十分火热的纯监督模型往往需要足够多的样本才能训练出足够好的模型,并且用熊猫训练出来的分类器,只能对熊猫进行分类,其他物种都无法识别,也无法进行特征的综合推理,这样的模型功能还有待完善。原创 2023-09-20 20:09:29 · 3160 阅读 · 0 评论 -
GPT,GPT-2,GPT-3,InstructGPT的进化之路
GPT、GPT2、GPT3、InstructGPT 的进阶之路。原创 2023-09-20 15:58:24 · 1645 阅读 · 1 评论 -
MHA、MQA、GQA区别和联系
MHA: Multi Head AttentionMQA:Multi Query AttentionGQA:Grouped Query Attention原创 2023-09-19 20:27:38 · 2746 阅读 · 1 评论 -
安装 NVSwitch GPU 服务器的 cuda 驱动版本、nvidia-docker 指南
安装 NVSwitch GPU 服务器的 cuda 驱动版本、nvidia-docker 指南。原创 2022-12-12 12:35:22 · 3362 阅读 · 1 评论 -
升级 GPU 服务器 cuda 驱动版本指南
升级 GPU 服务器 cuda 驱动版本指南。原创 2022-08-19 15:09:16 · 3940 阅读 · 3 评论 -
基于 Bert 的多任务改造
一. Bert 的多任务认识以bert为代表的预训练模型多任务可以应用在多种场景。1. 主辅任务:比如我们当前进行任务A,但是我们可以构造一个辅助任务B一起参与训练,来达到提高任务A性能的目的,比如人为的去构造一个辅助任务 MLM(Bert 预训练语言遮蔽模型)这样的辅助任务,辅助去提高任务A,线上推理时并不输出任务B的结果。2. 并行任务:本身就需要进行多个任务,比如ABC,一样重要,但任务类型相似,如果分开训练,那么就需要3个模型,此时可以尝试共享一个模型,即共享大部分参数,差异化小部分参原创 2022-05-07 15:34:36 · 1669 阅读 · 0 评论 -
Sentence-Bert论文中英文比对翻译
Sentence-Bert论文全名: Sentence-BERT: Sentence Embeddings using Siamese BERT-NetworksSentence-Bert论文地址:https://arxiv.org/abs/1908.10084Sentence-Bert论文代码:https://github.com/UKPLab/sentence-transformersAbstractBERT (Devlin et al., 2018) and RoBERTa (Liue.翻译 2021-11-05 17:02:46 · 1477 阅读 · 0 评论 -
手把手教你用BERT做NER命名实体识别
一,从GitHub下载Bert源码和模型关于Bert的详细介绍和如何下载此处就不再赘述了,想了解的直接查看GitHub-Bert自行了解和下载。以下地址也可直接下载。1,下载Bert代码终端执行: git clone https://github.com/google-research/bert.git2,下载中文-base模型Bert-Base中文模型地址二,下载数据三,修改processors四,修改label五,修改create_model六,修改sh文件七,修改horovod多原创 2021-09-18 15:53:25 · 5931 阅读 · 2 评论 -
Linux中使用Docker快速搭建Tensorflow-Gpu开发环境
本文将介绍:如何找到所需要的Tensorflow-GPU镜像在Linux终端中拉取镜像、查看本地镜像使用Docker构建Tensorflow-Gpu环境配置jupyter外部访问映射检查是否是GPU环境一,下载Tensorflow镜像1,找到所需要的Tensorflow镜像百度搜索nvidia ngc进入NVIDIA GPU 加速容器,找到所需版本的Tensorflow镜像,并copy 其对应的 pull tag。2,在Linux终端中拉取镜像docker pull nvcr.io/原创 2021-08-26 11:21:00 · 2269 阅读 · 0 评论 -
分类指标:准确率、精确率、召回率、F1 score以及ROC、AUC、宏平均、加权平均
本文将介绍:混淆矩阵(Confusion Matrix)准确率(accuracy)召回率(recall)精确率(precision)F1scoreROC和AUC宏平均(macro avg)微平均(micro avg)加权平均(weighted avg)一,混淆矩阵(Confusion Matrix)在n分类模型中,使用n行n列的矩阵形式来表示精度,纵列代表n个分类,在每行中的n个数据代表分别预测在每个类别的个数,完美的预测应该是一个列序数=行中有数据的索引数的一条斜线。TP:原创 2021-06-29 15:32:00 · 9187 阅读 · 0 评论 -
NLP(五)命名实体识别(NER)
本文将会简单介绍自然语言处理(NLP)中的命名实体识别(NER)。 命名实体识别(Named Entity Recognition,简称NER)是信息提取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。一般来说,命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。 举个简单的例子,在句子“小明早上8点去学校上课。”中,对其进行命名实体识别,应该能提取信息人原创 2020-10-16 15:37:48 · 2694 阅读 · 0 评论 -
NLP(四)词形还原(Lemmatization)
词形还原(Lemmatization)是文本预处理中的重要部分,与词干提取(stemming)很相似。一,什么是词形还原 简单说来,词形还原就是去掉单词的词缀,提取单词的主干部分,通常提取后的单词会是字典中的单词,不同于词干提取(stemming),提取后的单词不一定会出现在单词中。比如,单词“cars”词形还原后的单词为“car”,单词“ate”词形还原后的单词为“eat”。 在Python的nltk模块中,使用WordNet为我们提供了稳健的词形还原的函数。如以下示例Pyt.原创 2020-10-15 13:43:29 · 9294 阅读 · 3 评论 -
关于pkuseg-python的基本介绍和使用
一,pkuseg的基本概念和亮点1,什么是pkusegpkuseg 是由北京大学语言计算与机器学习研究组研制推出的一套全新的中文分词工具包。pkuseg 在github中的网址如下: https://github.com/lancopku/pkuseg-python2,主要亮点多领域分词。不同于以往的通用中文分词工具,此工具包同时致力于为不同领域的数据提供个性化的预训练模型。根据待分词文本的领域特点,用户可以自由地选择不同的模型。 我们目前支持了新闻领域,网络领域,医药领域,旅游领域,以及混合领原创 2020-09-28 16:58:18 · 8845 阅读 · 0 评论 -
基于python中jieba包的详细使用介绍
一,jieba的介绍jieba 是目前表现较为不错的 Python 中文分词组件,它主要有以下特性:支持四种分词模式:精确模式全模式搜索引擎模式paddle模式支持繁体分词支持自定义词典MIT 授权协议二,安装和使用1,安装pip3 install jieba2,使用import jieba三,主要分词功能1,jieba.cut 和jieba.lcutlcut 将返回的对象转化为list对象返回传入参数解析: def cut(sel原创 2020-09-27 18:31:38 · 42882 阅读 · 1 评论 -
NLP(三)TF-IDF的原理和实践
一,TF-IDF介绍1,TF-IDF简介 TF-IDF是NLP中一种常用的统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度,通常用于提取文本的特征,即关键词。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。2,TF-IDF的计算公式在NLP中,TF-IDF的计算公式如下: tfidf = tf*idf.其中,tf是词频(Term Frequency),idf为逆向文件频率(Inverse Do原创 2020-09-24 18:22:16 · 3406 阅读 · 2 评论 -
NLP(二)词袋模型及余弦相似度、编辑距离相似度
本文将介绍一下内容:NLP中常见的词袋模型(Bag of Words)如何利用词袋模型来计算句子间的相似度(余弦相似度,cosine similarity)一,什么是词袋模型1,分句和分词通常,NLP无法一下子处理完整的段落或句子,因此,第一步往往是分句和分词。这里只有句子,因此我们只需要分词即可。对于英语句子,可以使用NLTK中的word_tokenize函数,对于中文句子,则可使用jieba、ltp 模块。故第一步为分词,代码如下:from nltk import word_tok原创 2020-09-11 18:34:44 · 3164 阅读 · 2 评论 -
排坑:调用python包nltk执行报错:raise LookupError(resource_not_found)
一,使用pip安装NLTKsudo pip install nltk>>> import nltk#没有报错即安装成功二,解决报错使用过程中,报错;错误代码为: raise LookupError(resource_not_found)LookupError: 解决报错:nltk.download()三,解决下载过程中出现“[ERRNO 61] CONNECTION REFUSED”问题1,下载nltk_data1)下载链接如下:http://ww原创 2020-09-11 11:52:12 · 1214 阅读 · 0 评论 -
关于nlp-pyltp的基本介绍和使用
一,下载 ltp 模型 ltp_data_v3.4.0下载地址如下:https://download.csdn.net/download/TFATS/12758993二,分句子# # 1,分句子# from pyltp import SentenceSplitter# sents = SentenceSplitter.split('元芳你怎么看?我就趴窗口上看呗!') # 分句# print ('\n'.join(sents))# 2,分词import osfrom pyltp i原创 2020-09-10 14:38:12 · 2444 阅读 · 1 评论 -
python之sklearn-分类算法-3.5 模型的保存与加载
一,sklearn模型的保存和加载APIfrom sklearn.externals import joblib保存:joblib.dump(rf,“test.pkl”)加载:estimator = joblib.load(‘test.pkl’)二,线性回归模型的保存加载案例1,保存模型import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn原创 2020-08-27 14:48:13 · 654 阅读 · 0 评论 -
python之sklearn-分类算法-3.4 逻辑回归与二分类
一,逻辑回归的应用场景广告点击率是否为垃圾邮件是否患病金融诈骗虚假账号二,逻辑回归的原理1,输入逻辑回归的输入是线性回归的结果:2,激活函数1)sigmoid函数回归的结果输入到sigmod函数当中输出结果:[0,1]区间中的一个概率值,默认为0.5的门限值2)注意:逻辑回归的最终分类是通过某个类别的概率来判断是否属于某个类别,并且这个类别默认标记为1(正例),另一个标记为0(反例)。默认目标值少的为正例。3,损失函数1)对数似然损失公式逻辑回归的损失,称之为原创 2020-08-27 14:26:18 · 6274 阅读 · 0 评论 -
python之sklearn-分类算法-3.3 线性回归的改进-岭回归
一,带有L2正则化的线性回归-岭回归岭回归,其实也是一种线性回归。只不过在算法建立回归方程时候,加上正则化的限制,从而达到解决过拟合的效果。二,APIsklearn.linear_model.Ridge(alpha=1.0)具有l2正则化的线性回归alpha:正则化力度,也叫 λλ取值:0~1 1~10coef_:回归系数sklearn.linear_model.RidgeCV(_BaseRidgeCV, RegressorMixin)具有l2正则化的线性回归,可以进行交叉原创 2020-08-27 13:55:37 · 375 阅读 · 0 评论 -
python之sklearn-分类算法-3.2 欠拟合与过拟合
一,什么是过拟合与欠拟合训练数据训练的很好啊,误差也不大,为什么在测试集上面有问题呢?当算法在某个数据集当中出现这种情况,可能就出现了过拟合现象。1,图示例子欠拟合过拟合分析第一种情况:因为机器学习到的天鹅特征太少了,导致区分标准太粗糙,不能准确识别出天鹅。第二种情况:机器已经基本能区别天鹅和其他动物了。然后,很不巧已有的天鹅图片全是白天鹅的,于是机器经过学习后,会认为天鹅的羽毛都是白的,以后看到羽毛是黑的天鹅就会认为那不是天鹅。2,定义过拟合:一个假设在训练数据上能够获原创 2020-08-27 13:04:00 · 843 阅读 · 0 评论 -
python之sklearn-分类算法-3.1 线性回归
一,线性回归的原理1,线性回归应用场景房价预测销售额度预测金融:贷款额度预测、利用线性回归以及系数分析因子和选股2,什么是线性回归1)定义与公式线性回归(Linear regression)是利用 回归方程(函数) 对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。只有一个自变量的情况称为单变量回归,大于一个自变量情况的叫做多元回归w为权重、b称为偏置项、x为特征2) 举例说明期末成绩:0.7×考试成绩+0.3×平时成绩房子价格 = 0.0原创 2020-08-26 17:01:18 · 1547 阅读 · 1 评论 -
python之sklearn-分类算法-2.7 随机森林
一,什么是集成学习方法集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。二,什么是随机森林在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。例如, 如果你训练了5个树, 其中有4个树的结果是True, 1个数的结果是False, 那么最终投票结果就是True。三,随机森林原理过程学习算法根据下列算法而建造每棵树:用N原创 2020-08-25 15:31:05 · 479 阅读 · 0 评论 -
python之sklearn-分类算法-2.6 决策树
一,认识决策树1,什么是决策树决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法2,理解决策树例子二,决策树分类原理详解1,原理信息熵、信息增益等2,信息熵1),理解信息熵例子那来玩个猜测游戏,猜猜这32支球队那个是冠军。并且猜测错误付出代价。为了使代价最小,可以使用二分法猜测:我可以把球编上号,从1到32,然后提问:冠 军在1-16号吗?依次询问,只需要五次,就可以知道结果。我们来看这个式子:原创 2020-08-25 14:37:11 · 1018 阅读 · 0 评论 -
python之sklearn-分类算法-2.5 朴素贝叶斯算法
一、 朴素贝叶斯简介1,什么是朴素贝叶斯分类方法(特征相互之间独立时使用;不需要调参)二, 概率基础1,概率(Probability)定义概率定义为一件事情发生的可能性扔出一个硬币,结果头像朝上某天是晴天P(X) : 取值在[0, 1]2,概率案例3,条件概率与联合概率联合概率:包含多个条件,且所有条件同时成立的概率记作:P(A,B)特性:P(A, B) = P(A)P(B)条件概率:就是事件A在另外一个事件B已经发生条件下的发生概率记作:P(A|B原创 2020-08-25 13:07:11 · 985 阅读 · 0 评论 -
python之sklearn-分类算法-2.4 网格搜索、交叉验证(模型选择与调优)
一,为什么需要交叉验证交叉验证目的:为了让被评估的模型更加准确可信二,什么是交叉验证(cross validation)交叉验证:将拿到的训练数据,分为训练和验证集。以下图为例:将训练集数据分成5份,其中一份作为验证集。然后经过5次(组)的测试,每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。1,分析我们之前知道数据分为训练集和测试集,但是为了让从训练得到模型结果更加准确。做以下处理:训练集:训练集+验证集测试集:测试集问题:那么这个只是对于参数得原创 2020-08-25 11:51:15 · 1240 阅读 · 1 评论 -
python之sklearn-分类算法-2.3 K-近邻算法
一,什么是K-近邻算法(KNN)1,定义如果一个样本在特征空间中的 k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别, 则该样本也属于这个类别。2,距离公式两个样本的距离可以通过如下公式计算,又叫欧式距离二,举例说明(电影类型分析)三,K-近邻算法APIsklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm=‘auto’)n_neighbors:int,可选(默认= 5),k_neighbors查询默原创 2020-08-25 11:00:32 · 789 阅读 · 0 评论 -
python之sklearn- 分类算法-2.2 sklearn转换器和估计器
一,转换器1,转换器的几种形式我们把特征工程的接口称之为转换器,其中转换器调用有这么几种形式fit_transformfittransform2,转换器几种形式的区别In [1]: from sklearn.preprocessing import StandardScalerIn [2]: std1 = StandardScaler()In [3]: a = [[1,2,3], [4,5,6]]In [4]: std1.fit_transform(a)Out[4]:arr原创 2020-08-25 10:52:51 · 282 阅读 · 0 评论 -
python之sklearn- 分类算法-2.1 数据集介绍与划分
一,sklearn数据集介绍1,apisklearn.datasets加载获取流行数据集datasets.load_*()获取小规模数据集,数据包含在datasets里datasets.fetch_*(data_home=None)获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/2,返回类型load 和 fetch 返回的数据类型datasets.base.Bunch(字原创 2020-08-25 10:31:55 · 1098 阅读 · 0 评论 -
python之sklearn-特征工程-1.6 机器学习算法简介
一,机器学习算法类别1,按照学习方式分类监督学习(supervised learning)(预测)定义:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。分类 k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络回归 线性回归、岭回归标注 隐马尔可夫模型 (不做要求)无监督学习(unsupervised learning)定义:输入数据是由输入特征值所组成。聚类 k-means半监督和强化学习2原创 2020-08-24 18:01:43 · 196 阅读 · 0 评论 -
python之sklearn-特征工程-1.5 特征降维
一,什么是主成分分析(PCA)定义:高维数据转化为低维数据的过程, 在此过程中可能会舍弃原有数据、创造新的变量作用:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。应用:回归分析或者聚类分析当中二,主成分分析(PCA)的理解将这个二维的数据简化成一维,并且损失少量的信息。三,APIsklearn.decomposition.PCA(n_components=None)将数据分解为较低维数空间n_components:小数:表示保留百分之多少的信息整数:减少原创 2020-08-24 17:38:32 · 477 阅读 · 0 评论 -
python之sklearn-特征工程-1.4 特征选择
一,降维处理介绍1,什么是降维降维是指在某些限定条件下 ,降低随机变量(特征)个数, 得到一组“不相关”主变量的过程。降低随机变量的个数相关特征(correlated feature)的相对湿度与降雨量之间的相关等等2、降维的两种方式特征选择Filter(过滤式):主要探究特征本身特点、特征与特征之间关联低方差特征过滤相关系数Embedded (嵌入式):算法自动选择特征(特征与目标值之间的关联)决策树:信息熵、信息增益正则化:L1、L2深度学习:原创 2020-08-24 17:27:07 · 658 阅读 · 0 评论 -
python之sklearn-特征工程-1.3 特征预处理
一,特征预处理介绍1,什么是特征预处理通过一些转换函数将特征转换成更加适合算法模型的过程2,处理方式种类(缺失值用pandas处理)数值型数据进行无量纲化,使不同规格的数据转换到同一规格归一化标准化3, 特征预处理APIsklearn.preprocessing4,为什么我们要进行归一化/标准化?特征的 单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果, 使得一些算法无法学习到其它的特征.二,归一化1,定义通过对原始数据进行变换原创 2020-08-24 16:36:04 · 340 阅读 · 0 评论 -
python之sklearn-特征工程-1.2 特征抽取
一,特征提取目的:对特征当中有类别的信息做处理—>one-hot 编码1,目的:包括将任意数据(如文本或图像)转换为可用于机器学习的数字特征。注:特征值化是为了计算机更好的去理解数据2,特征提取类别:字典特征提取(特征离散化)文本特征提取图像特征提取(深度学习将介绍)3,特征提取APIsklearn.feature_extraction二,字典特征提取1,字典特征提取api介绍作用:对字典数据进行特征值化sklearn.feature_extractio原创 2020-08-21 13:56:54 · 528 阅读 · 0 评论 -
python之sklearn-特征工程-1.1特征工程
什么是机器学习定义机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。背景什么是sklearnScikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。当我们面临机器学习问题时,便可根据下图来选择相应的方法。Sklearn具有以下特点:简单高效的数据挖掘和数据分析原创 2020-08-20 16:53:32 · 373 阅读 · 0 评论 -
数据结构与算法-七种排序算法
一,排序算法简介1,排序算法: 排序算法是一种将一串无规律数据依照特定顺序进行排列的一种方法或思路2,排序算法的稳定性: 队列中有相同的元素,排序前后,这两个相同元素的顺序有没有发生变化。3,常见排序算法:基础: 冒泡、插入、选择中级: 快速高级: 堆、归并其他: 基数、希尔、桶二,冒泡排序1,冒泡排序简介 冒泡排序是一种简单的排序算法。 相邻的元素两两比较。 经过数次比较循环,最终达到一个从小到大(升序)或者从大到原创 2020-08-18 17:07:22 · 1262 阅读 · 0 评论