自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 如何计算kv cache的缓存大小

首先,定义一些符号:( B ):批大小(Batch Size)( L ):序列长度(Sequence Length),在您的问题中,( L = 1 )( N ):Transformer 层数(Number of Transformer Layers)( H ):注意力头数(Number of Attention Heads)( D ):每个注意力头的维度(Dimension per Head),即 (DHDH。

2024-12-09 16:14:11 1951

原创 PPO(Proximal Policy Optimization)算法介绍

PPO通过引入剪辑损失函数,有效地限制了策略更新的幅度,兼顾了学习效率和更新稳定性。在RLHF中,PPO作为微调预训练语言模型的关键算法,发挥了重要作用,使得模型能够从人类反馈中高效学习,生成更符合人类期望的内容。

2024-11-06 17:50:23 1610

原创 RLHF流程中的奖励模型(Reward Model)一般怎么选

奖励模型(Reward Model,RM)被训练用于预测人类的偏好,为语言模型生成的输出分配一个标量奖励。在微调过程中,它指导语言模型生成更符合人类期望的输出。

2024-11-06 11:43:44 493

原创 RLHF阶段,一般需要多大的人类反馈数据集

在RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)阶段,所需的人类反馈数据量取决于多个因素,包括模型的规模、任务的复杂度、预期的性能水平以及可用资源等。

2024-11-05 15:44:06 512

原创 RLHF中,人类反馈数据格式是什么样的?

人类评估者在两个模型生成的回复中,选择一个更好的。

2024-11-04 17:01:25 1398

原创 RLHF的流程介绍

RLHF通过将人类直接反馈纳入模型训练过程,使模型不仅能生成流畅的语言,还能更好地理解和满足人类的需求和偏好。这种方法在提升模型性能的同时,有助于控制模型输出的质量和安全性,在对话生成、内容推荐等领域具有广泛的应用前景。

2024-11-04 16:27:04 516

原创 RMSNorm(RMS归一化)介绍

RMSNorm通过简化归一化过程,降低计算复杂度,提供了一种有效的归一化方法。它在保持模型性能的同时,提高了计算效率,是LayerNorm的有力替代方案。对于需要高效归一化操作的深度学习模型,RMSNorm是一个值得考虑的选择。

2024-11-01 18:00:13 5119

原创 MHA(Multi-Head Attention) 与GQA(Grouped Query Attention)的区别

特点:每个头都有独立的查询、键和值投影矩阵,最大化模型的表达能力。优点:能够捕获输入序列中丰富的特征,适用于对性能要求高的场景。缺点:参数量大,计算复杂度高,对资源要求较高。

2024-10-31 20:26:40 950

原创 Transformer 如何计算时间复杂度

Transformer 模型的计算时间复杂度主要由自注意力机制的 O(n²·d) 决定。前馈网络的复杂度为 O(n·d²),在 n 远大于 d 的情况下,可以忽略不计。当处理长序列时,自注意力机制的二次时间复杂度导致计算量迅速增加。

2024-10-31 11:55:16 1075

原创 BERT在预训练阶段,需要如何处理数据集?

通常使用BERT预训练模型提供的词汇表(vocab.txt)。

2024-10-30 19:42:42 1402

原创 BERT预训练的MLM和NSP任务的损失函数都是什么?

BERT预训练过程中包括两个主要任务:Masked Language Modeling(MLM) 和 Next Sentence Prediction(NSP)。

2024-10-30 16:16:00 1579

原创 如何写好prompt以及评测prompt的好坏

在编写Prompt时,目标是明确、具体地指引AI生成符合期望的输出。

2024-10-25 11:36:52 621

原创 在大模型的预训练中,主要可以监控哪些指标

在大模型的预训练和微调过程中,除了监控loss之外,还可以监控以下的指标。通过这些指标,可以去判断模型当前学习的进展,以及发现潜在的问题。

2024-10-21 19:53:42 615

原创 如何评估大模型全参数微调需要的显存

模型的大小、批处理大小(Batch Size)、序列长度,以及是否采用了一些显存优化技术。模型的大小直接影响显存使用。例如,一个有110M参数的模型(如BERT-base)与一个有340M参数的模型(如BERT-large),在相同条件下,后者会消耗更多的显存。批处理大小增加意味着同时处理更多的数据,这会线性增加显存的需求。输入的序列长度越长,模型处理时占用的显存也就越多。这是因为模型必须处理并存储更多的中间状态数据。

2024-01-29 11:46:18 15057 5

原创 从零开始讲解LoRA——大语言模型的PEFT(Parameter-Efficient Fine-Tuning)系列

通过这种方式,可以使预训练模型在下游的微调任务当中,不用去学习全量的训练参数,因此大大降低了模型的训练参数量,同时降低了GPU内存的需求。LoRA的主要思想是在预训练模型的每一层中保持训练前权重不变,同时在每一层中注入可训练的秩分解矩阵,从而大大减少了针对下游任务的可训练参数数量。与模型质量相当或更好的表现:尽管LoRA具有较少的可训练参数、更高的训练吞吐量和与适配器不同的无额外推理延迟,但在RoBERTa、DeBERTa、GPT-2和GPT-3上的表现与完全微调相当或更好。的参数量为d*k个。

2024-01-17 19:40:52 1925

原创 为什么LLM都用的Decoder only结构?

现在的LLM的模型,都用的是 decoder的 架构,没有用encoder的,之前的google开发出了bert,后续出的T5的模型,都是很经典的模型,在NLU上的效果都很好,为什么现在的LLM都不用encoder结构了呢?

2024-01-13 17:36:19 903 1

原创 文档的画图配色方案

其中,折线图可以用图2的上面的方案来绘制,三色图配色:#EA8379 #7DAEE0 #B395BD。多色机制图配色:#43978F #9EC4BE #ABDOF1 #DCE9F4 #E56F5E #F19685 #F6C957 #FFB77F #FBE8D5。六色图配色方案1:#427AB2 #F09148 #FF9896 #DBDB8D #C59D94 #AFC7E8。六色图配色方案2:#EEA599 #FAC795 #FFE9BE #E3EDE0 #ABD3E1 #92B4C8。

2023-12-11 11:27:27 4295

原创 解决开发机上的csv传到mac上中文显示乱码的问题

最近在开发机上生成了一些csv的文件,传到mac后,打开csv文件时,发现中文显示乱码了。后面查了一下,发现是因为使用开发机的时候,生成的csv中文数据的编码是"utf-8"的格式,而在mac上,对应的中文数据的编码是"GBK",因为编码不一致导致的乱码。把对应的"utf-8"编码的input.csv 转化为"GBK"编码的output.csv。重新打开output.csv,中文乱码问题解决。只需要把当前的csv文件的编码由"utf-8"转到"GBK"即可。

2023-12-08 10:25:58 1904

原创 python 绘制饼图

在分析数据的时候,我们往往想直观的得到这个数据的具体比重,用饼图是一个很好的方式,能够给人直观的呈现结果。相关的参数以及参数说明,都放在了代码里面,就不再写一遍参数说明了。一张饼图就绘制完成了。

2023-11-21 18:01:52 973

原创 vim 的初始化配置

vim分为系统版本的vim以及当前用户版本下的vim。一般系统版本的vim的配置路径为:/etc/vimrc。用户版本下的vim的配置路径一般为:~/.vimrc,有些用户环境下是没有~/.vimrc 这个文件的,这时可以自己手动添加一个。最近在新的开发机下使用vim看一些文本数据,为了看到每条数据的行数,每次都需要 :set nu。还是比较麻烦的,因此后面就把开发机的vim做了下初始化的配置。vim的初始化配置很多,比如『语法高亮』、『显示行数』、『设置制表符长度』等等。"允许使用鼠标点击定位。

2023-11-06 15:13:45 368 1

原创 解决macos的.bash_profile配置环境变量每次都需要使用source 激活才能生效的问题

重新打开一个terminal后,试着使用ll命令,生效,问题解决。在新开一个terminal后,执行ll后,命令并没有生效。source ~/.zshrc,激活.zshrc 文件。使用vim 或者vi 打开 ~/.zshrc。:wq保存修改后的 ~/.zshrc文件。

2023-10-25 14:33:24 1644 1

原创 K近邻算法的介绍

k近邻算法,也称为KNN或者是k-NN,它是属于非参数、有监督的学习分类器。它常用于解决分类与回归问题。按照比较通俗的话来说,所谓的k近邻,就是每个样本可以用它最接近的k个相邻样本来表示。如果一个样本,它的k个相邻的样本的大多数都属于类别1,那么这个样本就也会归结到类别1当中。

2023-10-24 20:54:13 263

原创 如何使用seaborn绘制散点图

data的输入可以为pandas的DataFrame结构,可以为numpy的array,也可以是对应的mapping,或者是序列输入数据结构。在本次当中,我们使用的是pandas的数据结构。接下来,我们主要是采用seaborn来绘制它的散点图,可以看下seaborn绘制散点图的官方文档。seaborn的绘制散点图的官方api文档如下所示。最近在做一些文本聚类的工作,在看数据的可视化分布的时候,采用了seaborn来绘制散点图。因为是绘制二维的散点图,是对应的数据的x轴和y轴。

2023-10-17 11:13:38 1286 1

原创 分享一个超实用开发机互传文件的方法

上一篇文章讲到了如何在mac和开发机上互传文件,这一篇讲一下如何在linux开发机之间,或者在linux与macos之间互传文件。

2023-10-16 14:13:28 147 1

原创 分享一个超实用mac和开发机文件互传的方法

MAC发送:nc -w 1 [开发机的 hostname] [端口号] < file.tgz(到该文件的目录下执行)step2:mac发送: nc -w 1 [开发机的 hostname] 8888 < file.tar.gz。开发机搭服务器:python -m SimpleHTTPServer [端口号](到需下载文件的目录下执行)开发机监听:nc -l [端口号] > file.tgz(到需要下载文件的目录下执行)step1: 开发机监听:nc -l 8888 > file.tar.gz。

2023-10-16 10:07:41 352 1

原创 解决 -bash: *.sh: Permission denied 的问题

可以看到,之前的sh脚本是没有执行权限标识(x)的。可以看到,*.sh文件已经添加了可执行的权限。使用ll -rt命令,看下sh脚本的权限。

2023-10-13 14:45:27 8096

原创 NLP中关于embedding相加的思考

NLP模型中,包括了传统的NLP模型以及bert、LLM等,都可以认为是有着类似傅里叶变化的能力的,即识别出信号波是由什么原始的信号波叠加的。因此,在模型的训练过程中,相加后的embedding结果仍然可以被模型所解耦以及识别。",题主提的问题大概意思是这样:BERT的input有三个embedding:Token embedding,Segment embedding, Position Embedding,这三个向量相加后,明明大小和方向都发生了改变,语义应该变了,为什么还能作为input的表征?

2023-10-12 15:18:43 267

原创 解决sklearn中tsne算法降维结果不一致的问题

TSNE在运算的时候,会初始化一个随机的种子点,如果没有制定该参数的话,默认该参数为None,同时会默认使用mumpy.random随机生成一个数作为种子点。最近在做一个文本聚类的分析,在对文本数据embedding后,想着看下数据的分布,于是用sklearn的TSNE算法来降维我的数据结果。当我在多次执行后,竟发现TSNE的结果竟然变了,而且每次都不一样。之前只是在网上随便找了个做TSNE的博客,粘了这两行代码就跑结果了,出现了这个问题后,决定还是得好好看看sklearn中的官方文档。

2023-10-12 11:58:40 823 4

原创 mac中如何安装brew

mac中如何安装brew

2023-10-11 11:37:39 652 1

原创 解决pip安装出现Could not find a version that satisfies the requirement XXX (from versions: none) 问题

最近,在新的机器pip安装jieba包的时候,出现了下面的错误:"ERROR: Could not find a version that satisfies the requirement jieba (from versions: none) ERROR: No matching distribution found for jieba"。(本次更新了自己的pip,重试了依然没有解决。本人列举了相关的国内常用的镜像源,以及对应的优缺点,供大家自行选择使用。完全度和速度都很好,是一个优秀的pip镜像源。

2023-10-10 12:22:09 36844 14

NLP+embedding+m3e模型,用于做中文文本的NLU任务

使用场景主要是中文,少量英文的情况,可以使用m3e模型做相关的embedding。m3e模型目前是在hugging face上开源,在中文的文本分类,相似度计算等方面做的很出色。本模型是基于torch的m3e模型。

2023-11-07

空空如也

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

TA关注的人

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