- 博客(58)
- 收藏
- 关注
原创 SELF-REFINE: Iterative Refinement with Self-Feedback
Abstract大语言并不是总能在第一次生成内容时就产生最佳输出,作者从人类改进他们的写作的方式获得启发,提出了self-refine,一种通过迭代反馈和细化来改进llm的初始输出的方法。主要思想是:先让大语言模型生成一个初始输出,然后,用相同的大语言模型对其输出进行反馈,并同时迭代和完善自己。self-refine不需要任何有监督的训练数据,额外的训练或者强化学习,而是使用一个LLM作为生成器、细化器和反馈提供者。我们使用使用最先进的LLM,评估了7个不同的任务,从对话响应到数学推理,比使用相同L
2025-01-11 15:10:08
365
原创 LLM Unlearning:TOFU: A Task of Fictitious Unlearning for LLMs
学习和遗忘过程是交织在一起的,很难在不影响保留集表现的情况下,仅对遗忘集进行遗忘。这为未来的研究提供了动力,并在这一新的基准任务上留有很大的改进空间。在遗忘集和保留集上,计算条件概率 P(a∣q) 并对答案长度进行归一化。在真实作者和世界事实数据集上,将问题视为多项选择题,计算正确答案的概率。通过对答案进行改写和生成多个格式相似但内容错误的答案,评估模型是否仍能检索到被遗忘的信息。将各指标归一化到0到1之间,较高的值表示更好的模型效用。使用 ROUGE-L 召回分数来比较模型生成的答案与真实答案。
2024-12-09 14:56:15
1103
原创 LLM unlearn benchmark:MUSE: Machine Unlearning Six-Way Evaluation for Language Models
大语言模型利用大量的文本进行训练,其中难免包含隐私内容以及受版权保护的内容。然而在目前的模型中只遗忘这些数据点是困难的,这因此导致了许多近似遗忘算法的发展。传统的方法对于这些模型的评估范围很窄,因此本文提出了MUSE这个新的benchmark,量化算法的成功性与实用性。
2024-12-02 14:15:22
690
原创 论文解读:LONGWRITER: UNLEASHING 10,000+ WORD GENERATION FROM LONG CONTEXT LLMS
现象:当前的大预言模型可以接受超过100,000个tokens的输入,但是却难以生成超过2000个token的输出。原因:监督微调过程(SFT)中看到的样本没有足够长的样本。结果:9B参数的模型已经可以在 benchmark上取得最佳效果,只需要在模型对齐过程中具有扩展数据。
2024-08-17 12:12:42
1230
1
原创 Llama开源代码详细解读(3)
这个函数接收一个张量mask,并将其变换为特定的形状。输入三个参数分别为:mask:大小为[bsz, seq_len]。dtype:数据类型。tgt_len:目标序列长度。以下是函数的运行方式。
2024-08-05 17:21:41
601
原创 Llama开源代码详细解读(2)
FlashAttention是Tranformer模型中用于改进注意力机制的技术,主要目的是减少计算复杂度和内存占用。
2024-07-30 21:20:15
1416
原创 Llama开源代码详细解读(1):工具包
logging,utf-8是用于表示unicode字符的编码方式,是互联网标准编码之一。utf-8用1-4个字节表示每个字符。单字节的字符,第一位设为0,后面7位为该符号的Unicode码,对于英文字母,unicode与ASCII编码相同。对于n字节的字符,第一个字节的前n位均设为1,第n+1位设为0,后面字节的前两位均设置为10,剩下的没有提及的,就是该字符的Unicode码。math工具包提供了对于数学函数的访问,具体在接下来用到再说。
2024-07-29 15:32:15
904
原创 Verilog编程手把手教程——一位计数器
由于该芯片提供的原始频率为100MHz,这过于高了,所以我们需要分频器将它分频为2Hz,原理很简单,可以理解为让一个counter在原始的时钟下运行24999999次后,就让新的时钟反向,在后面的时钟我们只使用这个新的时钟就可以实现2Hz的目标。首先在Family界面找到ARTIX-7,然后在package找到csg324,再直接搜索100t,出现的结果随便选一个, 对于新手问题不大。在接下来的界面一直点击next,不用修改,直到这个界面,可以输入项目名称以及地址。
2024-06-18 16:54:46
870
原创 计算机组成原理——计算机的基本组成
第一步,将取数指令传入控制单元:PC->MAR->存储体->MDR->IR->CU。第一步,将存数指令发给控制单元:PC->MAR->存储体->MDR->IR->CU。存储字长:存储单元中二进制代码的位数,每个存储单元有一个地址。第二步:执行取数指令:IR->MAR->存储体->MDR。PC:程序计数器,用于存放当前欲执行指令的地址。IR:指令寄存器,用于存放当前欲执行的指令。将内存单元中的加数送到X中:[M]——>X。进行运算并保存:[ACC]+X——>ACC。[X]——>[MQ] (余数在ACC中)
2024-04-09 06:24:37
3570
原创 计算机组成原理——简介
计算机组成原理是计算机课程体系中唯一一门讲授的课程。我们之前学习的模拟电路,数字电路等课程均是为这门课程所做的准备,因此可见这门课程的重要性。
2024-03-25 22:00:15
200
原创 吴恩达deeplearning.ai:聚类算法
其中x代表每个数据的具体特征输入,而y代表每个特征的输出,同时包含输入和输出,那么就可以设计函数进行拟合,从而得到如图中红色线类似的拟合曲线。上图中的黄点是一些输入特征,k-means算法的第一步是会随机选择两个点,这里表现为红色和蓝色,它们可能表示的是两个不同集群的中心。在猜测完之后,算法将遍历图中所有的数据,然后计算这个数据是更接近红色or蓝色,并将它分给离它近的那个质心。今天我们要了解的算法叫做聚类算法,它的工作方式是寻找你的数据里面的特定结构,并将同一类型的结构划分到一组之中,从而完成分类。
2024-03-20 11:33:42
941
原创 ground breaking work:Gradient-Based Learning Applied to Document Recognition
This article is written by Yann LeCun who got the Turing Award in 2018, today I’d like to share one of his most significant papers with you, which give him the name the father of CNNIn the 1986s, David Rumelhart, Geoffrey Hinton and Ronald Williams publish
2024-03-17 23:22:21
812
原创 吴恩达deeplearning.ai:使用多个决策树&随机森林
我们要做的是替换采样,步骤大概是这样的:我们将所有的训练集的样本放到一个黑箱中,从中随机抽取一定数量的例子,即使重复也没关系不用放回,然后你就构建好了一个新的替换的数据集,这个数据集可能重复,也可能不包含所有数据,但是没关系,这是计划的一部分哈哈。假设我们仅仅将数据集中的一只猫替换成一只与它特征相反的猫,结果发现,树的根节点的最优选择直接变成了是否有胡须,那么甚至导致了整个决策树变得完全不同了,这样就意味着算法的健壮性不够,所以,针对这种情况,我们的解决方案是构建多棵决策树。让我们看看每种方法的适用情况。
2024-03-16 08:47:27
2346
2
原创 吴恩达deeplearning.ai:独热编码One-hot&连续有价值的特征&回归树
具体点说,就是**如果一个分类特征有k个能取的值,那么我们可以创建k个只能取0,1的二进制特征来替换它。在这个算法之中,我们创建了三个新的特征,第一个是是否有尖耳朵,第二个是是否有椭圆耳朵,第三个是是否有圆耳朵。与之前的例子相比,唯一不同的是耳朵的形状,这里耳朵的形状不再只有两种可选项,这里变成了三种,圆的,尖的,椭圆的。这意味着决策树在这里可以有三个不同的分支。在构建回归树时,我们关注的不再是熵值,即分类的纯度,而是每个叶节点的方差,如何构建能够让各个叶节点体重的方差最小,从而可以预估到最精准的体重。
2024-03-14 20:52:52
883
原创 吴恩达deeplearning.ai:纯度
我们还是以猫猫狗狗举例,假设你的猫有三只,狗也有三只,那么p1的取值就是0.5,此时的熵H(p1)最大,为1,这代表你的数据集的混乱程度最高。这节中我们了解下纯度的定义,还是猫的例子,我们知道一组例子中全是猫纯度最高,所有都不是猫,纯度也很高,但是其它的我们该如何定义纯度呢?我们先要看看熵的定义。它是衡量一组数据不纯度的标准。但是每个选择有两个分支呀,这个熵不好比较,因此我们需要加权平均,从而看出每个特征的熵的平均值,分到的数据集多的由于其对决策树的影响更大,因此权重更高,从而可以计算出每种特征选择的熵。
2024-03-11 23:35:18
886
原创 吴恩达deeplearning.ai:决策树模型
学习算法非常强大的原因之一,是其应用了决策树和树集合,尽管决策树取得了巨大的成功,但是在学术界却没有太多的研究,但它其实是你工具箱中非常有用的工具。在以下的例子中,我们将根节点选为Ear Shape,这样,我们就将其中的五种动物分到了左边。为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的。相信你和我的感觉一样,怎么决策树要考虑的情况这么多,没关系,我们在之后的博客之中慢慢了解这些内容。那么决策树是如何构建起来的呢,让我们看看它的学习过程。
2024-03-10 23:20:14
1024
原创 吴恩达deeplearning.ai:倾斜数据集的误差指标&精确率、召回率
假设你的神经网络需要预测一种罕见病,它在正常人群中的发病率约为0.5%,且你的数据集中只有0.5%代表你的预测为负,那么用以前的算法,你就很难估计你算法的性能,例如你有一个算法仅仅会打印1,结果它的准确度为99.5%,另一个算法预测的准确度为98%,这并不能说明下面这个算法的准确性不如上面一个算法。一种最先想到的方法是取平均值,但是这其实并不合理,因为这是一种偏向于大值的算法,如果一个算法具有低精确率和高召回率,那么很有可能是数据样本中的该数据过少导致,结果平均值算法还把该算法认为性能很好,这就不合适了。
2024-03-09 22:58:18
1100
原创 吴恩达deeplearning.ai:机器学习项目的完整周期&伦理
然后,如果你的团队已经实现了一个移动应用程序,例如一个社交应用程序,那么当用户与程序进行交谈时,移动应用程序就可以进行API的调用,将录制的音频传给服务器,服务器接收到你的数据,并在神经网络上运行获得结果,再将结果传输给你的手机app。以上步骤可能会需要多个团队来共同工作。第四,当你认为你的模型以及足够优秀了,那么你就可以部署你的模型了,也就是你的模型对用户开放使用了。这节博客中,我们主要看看构建一个机器学习的完整周期是什么,也就是说,当你想构建一个有价值的机器学习系统时,需要考虑和计划的步骤是什么。
2024-03-07 21:42:14
862
原创 吴恩达deeplearning.ai:数据增强&数据合成&迁移学习
让我们看看为你的程序添加数据的技巧。在构建神经网络的时候,我们总是想要更多的数据,但是获取更多的数据往往是十分昂贵又缓慢的。相反地,添加数据的另一种方法是专注于添加有帮助的数据。在上一篇博客之中,我们提到了垃圾邮件识别器,其中解决提高系统性能的方法之一就是添加专门的某种类型数据,从而增强神经网络的性能。如今,研究人员如果发现神经网络在某种特定的数据上表现特别差,有一种方法能够做到只添加一点点数据,就可以大幅增强神经网络的表现,这叫做。
2024-03-07 19:57:08
1417
原创 吴恩达deeplearning.ai:机器学习的开发过程与优化方法
我想在接下来分析下开发机器学习系统的过程,这样当你自己动手时,能够做出更加正确的判断。
2024-03-05 21:00:36
1216
原创 数字电路与系统(2):概述与逻辑门
逻辑门: 用以实现逻辑运算单元电路称为逻辑门电路。基本逻辑运算 – 逻辑门:与门、或门、非门。复合逻辑运算:与非门、或非门、与或非门、异或门、同或门。逻辑运算和逻辑门:二进制系统:逻辑高 ——逻辑 (1)——高电平逻辑低 ——逻辑 (0)——低电平。
2024-03-04 21:23:43
802
原创 吴恩达deeplearning.ai:学习曲线&决定下一步怎么做
学习曲线是一种图形表示方法,用于展示模型在训练过程中的学习表现,即模型的训练集和验证集上的性能如何随着训练时间的增加而变化。可以帮助我们了解模型的学习进度。
2024-03-04 06:18:25
1220
原创 吴恩达deeplearning.ai:通过偏差与方差进行诊断
虽然上面讲了很多种不同的效果不佳,但是最重要的是要记住高偏差是在训练集的效果不好,高方差是在验证集的效果不好。观察偏差和方差是改善模型的一个重要手段。下节博客我们将详细讲讲正则化是如何影响方差与偏差的,这将帮助你更好地使用正则化的方法来改善模型。为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。
2024-03-02 23:20:36
683
原创 吴恩达deeplearning.ai:模型选择&交叉验证测试集的训练方法
在上一节中,我们了解了如何利用测试集来评估模型性能。今天我们来进一步完善这个想法,让你使用该技术自动选择一个更好的模型。
2024-03-02 09:50:10
970
原创 基础!!!吴恩达deeplearning.ai:模型评估
如果概率大于0.5,关于这里示例预测就为1,反之为0,然后再判断预测与样本实际y是否相符,不相符就计数+1,最后看count了多少个,越多说明模型效果越差。很明显,这个模型与训练集拟合得很好,但是你也应该看出,以上拟合并不能很好地适应新的训练示例,有些过拟合了。但是如果我们增加特征的数量,例如卧室的数量,房屋的层数,房屋的年龄等。test set,其中训练集占大部分(例如70%),验证集占小部分(例如30%),我们可以先利用训练集训练数据,然后在验证集进行验证。我们采取的方法是,将训练数据拆分为两个部分,
2024-03-01 09:22:40
760
原创 基础内容哦!!!吴恩达deeplearning.ai:利用计算图求导(反向传播)
如果一个图具有n个节点(就是图中的矩形)和p个参数(我们这个例子中有两个参数),我们可以在n+p步中求出J对于所有参数的导数,而非n*p,这就表明即使在大型神经网络中你仍然可以进行求导运算。反向传播的第一步是询问d的值,它是价值函数的输入,d改变,J就跟着改变。这张图从左到右逐步展示了价值函数的计算过程,其中矩形之中描述的是计算步骤,而线段上面所写的是前一步计算出来的值。所以从左到右,依次计算量w*x的值,然后计算出了a的值,再计算出a-y的值,最后求得价值函数,为2。利用与上面同样的方法,可以求出。
2024-02-29 21:50:31
1031
2
原创 基础!!!吴恩达deeplearning.ai:卷积层
为了解释卷积层,先看下图:在左边,我将输入设置为一个手写数字9,与以往的密集层不同,在第一层这里,每个神经元并不读取输入的全部像素。如图,第一个蓝色的神经元仅仅读取图中蓝色矩形处的像素,红色神经元仅仅读取右上角矩形处的像素,以此类推,一直到最后一个神经元。我们把这种神经元只读取前一层一部分值的层叫做卷积层。
2024-02-28 23:34:14
2380
原创 基础!!!吴恩达deeplearning.ai:多标签分类与高级优化方法
需要说明的是,Adam算法也需要初始指定一个学习率(这里指定的是0.001),当你实践这个代码时,有必要多试几个值。如图,在这个算法之中,可以看到算法一小步一小步向收敛点靠近,很明显,在这个例子中alpha可以设置得大一点。在这种情况之下,输出的y就不仅仅是一个数值,而是由三个布尔值组成的向量,例如,左图的向量就应该为。在智能驾驶汽车中常常面临的问题是,你需要同时判断一幅图之中是否有汽车,是否有巴士,是否有行人。第二种方法,当然就是搭建一个神经网络,让它同时判断图中是否有汽车,是否有巴士,是否有行人。
2024-02-28 20:23:31
1196
原创 基础!!!吴恩达deeplearning.ai:神经网络中使用softmax
由于在多分类问题之中,分类的选项很多,而各个选项的概率和是一定的为1,因此很多情况下正确的那个选项的概率依然很小,由于使用了log函数,在x接近于0的时候这个值会非常大,那么产生的误差也就会很大,而二分类问题由于选项仅有两个,因此这个问题不是很明显,便没在讲二分类的时候也进行这种优化。相比之前的二分类逻辑回归神经网络,我们主要的改变是将输出层替换为了具有十个神经元的,激活函数为softmax的输出层。以上代码是可以起作用的,符合我们之前的认知,但是还不够优化,在tensorflow中有更好的代码版本。
2024-02-28 00:20:49
890
原创 很基础!!!吴恩达deeplearning.ai:多分类问题
多分类问题指的是分类问题你可能有多于两个以上可能的输出标签(而不只是0和1)让我们通过例子具体看看是怎么样的。
2024-02-27 00:06:25
1274
原创 吴恩达deeplearning.ai:sigmoid函数的替代方案以及激活函数的选择
假设一个只有一个隐藏层,一个最终输出层,且每层只有一个神经元,特征向量也仅仅含有一个特征,这估计是最最最简单的神经网络了,假设所有的激活函数仍然使用线性激活函数,那么计算过程如上,那么。但如果你正在解决一些回归相关问题,那么你可能会选择其它的激活函数,例如股票预测,就建议使用线性激活函数,因为你对于输出值的范围要求在负无穷到正无穷之间。具体来说,如果你正在处理Y为布尔值的问题,即二分类问题时,通常选择的就是sigmoid函数,原理在之前的章节中提到过,这也是非常自然的想法。而ReLU函数就没有这个问题。
2024-02-25 23:43:43
1174
原创 吴恩达deeplearning.ai:Tensorflow训练一个神经网络
在之前的博客中。我们陆续学习了各个方面的有关深度学习的内容,今天可以从头开始训练一个神经网络了。
2024-02-25 15:19:18
1178
原创 吴恩达deeplearning.ai:矩阵运算代码实战
神经网络向量化指的是将输入数据转化为向量形式,以便于神经网络的处理。向量化的作用包括以下几点:提高计算效率:使用向量化的输入数据可以进行并行计算,加速神经网络的训练和推断过程。减少存储空间:向量化可以将原始数据压缩为更小的向量形式,减少内存占用,提高存储效率。简化数据处理:向量化将复杂的输入数据转化为向量形式,简化了数据的处理方式,使得神经网络可以更好地处理和识别模式。
2024-02-25 10:31:45
468
原创 一些不得不知道的概念!吴恩达deeplearning.ai:人工智能的导论
科学家在大脑负责听觉的区域进行试验,切断了这个区域与耳神经的联系(即切断了该神经元的输入),反而给其输入视觉信息,结果令人震惊的是这些神经元竟然开始学习如何“看”。近些年的一些动物实验发现,仅仅一个动物神经元就可以完成许多难以想象的任务,因此从而使得科学家猜测神经元的工作是否可以归因于一种或多种学习算法。随着现代深度学习的崛起,我们开始用计算机模拟神经元来训练人工智能,随着软硬件的发展,我们能模拟的神经元越来越多。等等各种异想天开的实验。注意,在使用矩阵乘法的时候,所有的数据都是采用二维数组的格式进行的。
2024-02-24 21:59:00
1046
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人