随笔分类 -  MachineLearning

MachineLearning
摘要:上篇文件介绍了RAG优化与评估的基本概念,以及使用TruLens-Eval在没有Ground-truth的情况下评估RAG应用。本篇文件主要是使用Ragas对RAG应用进行评估; 使用了Gagas生成合成测试数据集,在只有知识库文档并没有Ground-truth(真实答案)的情况下让想评估该知识库文 阅读全文
posted @ 2024-04-01 08:40 AiFly 阅读(110) 评论(0) 推荐(0) 编辑
摘要:在开发基于LLM的RAG应用并准备将其上线应用时,都会比较关注RAG的性能、质量、可靠性其回答的结果准确性到底如何,甚至可以说RAG的质量可靠性其重要性要大于性能,RAG“调好了”看上去效果不错,有没有什么方法去量化度量RAG应用的质量也至关重要,下图为RAG应用度量质量指标分布图。 何为RAG 由 阅读全文
posted @ 2024-03-25 08:40 AiFly 阅读(172) 评论(0) 推荐(0) 编辑
摘要:micrograd为一个自动梯度引擎,其实现了反向传播算法,用于学习理解深度学习中的自动求导原理。自动求导无论再传统的机器学习中还是深度学习或是目前非常热门的大语言模型GPT中其都是非常重要基础部分。 反向传播算法可以高效计算出神经网络中损失函数关于训练权重的梯度,使得可通过快速迭代调整权重已得到损 阅读全文
posted @ 2024-03-11 08:18 AiFly 阅读(13) 评论(0) 推荐(0) 编辑
摘要:Ray一个开源的通用分布式计算框架,支持传统的并行任务并支持AI模型的分布式训练,分布式任务包括有状态与无状态任务,Ray能够快速的构建分布式系统,支持按需申请CPU或GPU;Ray提供了统一的接口提供了基于任务的并行计算与基于行动器的计算,前者通常用于无状态的任务后者用于有状态的任务;Ray为一个 阅读全文
posted @ 2024-01-22 08:25 AiFly 阅读(382) 评论(0) 推荐(0) 编辑
摘要:OpenAI的Karpathy利用周末搞了一个迷你Llama2项目llama2.c用500行C语言实现无任何依赖项的推理程序,此项目在github发布以来衍生出了基于各种语言的迷你Llama推理实现llama2.go、llama2.java、llama2.py等等; 但该项目原本的模型并不支持中文, 阅读全文
posted @ 2023-08-20 16:25 AiFly 阅读(344) 评论(0) 推荐(0) 编辑
摘要:在阅读有些Python的开源项目源码时,会看到某些对象调用了一个方法,但在该对象当中却又找不到该方法。还可能会看到在调用某个方法是并不是直接调用而是使用了getattr这个方法;好在现在IDE比较智能,通常也还能够关联找得到该方法; 调用对象本身没有存在的方法属性、间接调用方法,下面看看在Pytho 阅读全文
posted @ 2020-11-28 18:07 AiFly 阅读(425) 评论(0) 推荐(0) 编辑
摘要:要训练自己的模型、需要标注图片,好在现在标注工具比较简单几乎傻瓜化了。这里使用LabelImg对图片进行标注; LabelImg安装 conda create -n labelImg python=3 conda activate labelImg conda install pyqt=5 cond 阅读全文
posted @ 2020-10-07 13:23 AiFly 阅读(3942) 评论(0) 推荐(0) 编辑
摘要:tqdm Tqdm库比较常用,用于显示进度条。 简单用法: from tqdm import tqdm for i in tqdm(range(2)): pass 100%|███████████████████| 2/2 [00:00<00:00, 1998.72it/s] 从上面可以看到生成一个 阅读全文
posted @ 2020-07-19 15:30 AiFly 阅读(5104) 评论(0) 推荐(1) 编辑
摘要:简单介绍下python的几个自动求导工具,tangent、autograd、sympy; 在各种机器学习、深度学习框架中都包含了自动微分,微分主要有这么四种: 手动微分法、数值微分法、符号微分法、自动微分法 ,这里分别简单走马观花(hello world式)的介绍下下面几种微分框架; sympy 强 阅读全文
posted @ 2019-08-29 07:52 AiFly 阅读(7291) 评论(0) 推荐(1) 编辑
摘要:反向传播四公式: 反向传播的最终目的是求得使代价C最小时w、b的最佳值,为了方便计算引入了神经单元误差δ_j^l,其定义为误差C关于某个神经单元z的关系; 其定义如上所示,某神经元误差为代价C(总误差)关于z的偏导数,其中l为神经网络的层数,j为第几个神经元; 这里的代价函数(损失函数)使用的是平方 阅读全文
posted @ 2019-07-22 22:43 AiFly 阅读(2781) 评论(0) 推荐(0) 编辑
摘要:梯度下降法(Gradient Descendent) 是机器学习的核心算法之一, 自动微分 则是梯度下降法的核心; 梯度下降法用于求损失函数的最优值,前面的文章中我们说过 梯度下降 是通过计算参数与损失函数的梯度并在梯度的方向不断迭代求得极值;但是在机器学习、深度学习中很多求导往往是很复杂的,手动使 阅读全文
posted @ 2018-05-17 08:05 AiFly 阅读(2841) 评论(0) 推荐(0) 编辑
摘要:1、线性方程组概述 线性方程组: 包含未知数x1,x2,x3....xn的线性方程 其中b与系数a1,a2,a3...an是实数或复数,通常是已知的;下标n可以为任意数;线程方程组为由一个或几个包含相同变量x1,x2,x3....xn的线性方程组组成; 线性方程组的解分为相容、与不相容两种情况; 相 阅读全文
posted @ 2018-03-25 16:27 AiFly 阅读(1607) 评论(0) 推荐(0) 编辑
摘要:神经网络理论 BP神经网络(Back Propagation Neural Network) 为多层前馈神经网络用得比较广泛,该神经网络先通过前向传播取得估计值,后再使用误差进行反向传播通过梯度下降来不断地更新权重从而取得最小误差从中学习得最佳权重系数;从BP神经网络的名字也知道该算法的核心为 反向 阅读全文
posted @ 2017-09-24 16:13 AiFly 阅读(1337) 评论(0) 推荐(0) 编辑
摘要:链式法则(chain rule)微积分中求导法则,用于求复合函数的导数; 链式法则 应用广泛,比如神经网络中的反向传播算法就是已链式法则为基础演变的;接下来先说说链式法则的概念然后通过链式法则的两种形式学习链式法则; 链式法则:两个函数组合起来的复合函数,导数等于里面函数代入外函数值的导乘以里面函数 阅读全文
posted @ 2017-07-22 22:46 AiFly 阅读(5874) 评论(0) 推荐(0) 编辑
摘要:近几年机器学习非常火,机器学习并不是近来才出现的已经出现了几十年了,但随着互联网、移动互联网、计算资源的迅猛发展使得机器学习有了 庞大的数据 、 廉价的计算资源 、 广泛的应用场景 ;三种条件可以说缺一不可,互联网、移动互联网带来了大数据与广泛的应用场景,摩尔定律使得机器越来越便宜云计算的出现又让计 阅读全文
posted @ 2017-05-14 09:32 AiFly 阅读(436) 评论(0) 推荐(0) 编辑
摘要:好记忆不如烂笔头,之前西瓜书这章也看过几次但还是掌握不够,今天又拿来翻翻顺便做个笔记; 前面写了几篇线性回归与逻辑回归的文章,是说模型训练的但是模型的性能怎样该怎么选择使用最小二乘法还是梯度下降法呢,我们总得要比较模型的性能再做选择吧;所以就有了这里所说的 模型评估与选择 ; 既然是读书比较我们先看 阅读全文
posted @ 2017-04-22 17:57 AiFly 阅读(3063) 评论(0) 推荐(0) 编辑
摘要:前面几篇文章介绍了 线性回归算法 ,他们都属于线性模型现在这篇说的是逻辑回归,虽然都有回归二字却是非线性模型;逻辑回归的输出为特定离散值,用于判定数据的分类所以 逻辑回归(Logistic regression) 也称为分类模型;分类模型又有二分与多分类,逻辑回归通常用于二分类;以下内容为Stand 阅读全文
posted @ 2017-03-12 00:36 AiFly 阅读(576) 评论(0) 推荐(0) 编辑
摘要:似然函数 似然函数 与概率非常类似但又有根本的区别,概率为在某种条件(参数)下预测某事件发生的可能性;而似然函数与之相反为已知该事件的情况下 推测出该事件发生时的条件(参数) ;所以似然估计也称为参数估计,为参数估计中的一种算法; 下面先求抛硬币的似然函数,然后再使用似然函数算出线性回归的参数; 假 阅读全文
posted @ 2016-12-25 13:55 AiFly 阅读(6465) 评论(0) 推荐(0) 编辑
摘要:上篇文章介绍了梯度下降法在线性回归中的相关理论与证明,这里使用程序实例代码方式看梯度下降法是怎样一步一步下降求出最优解的; X = [1 4;2 5;5 1;4 2]; y = [19;26;19;20]; m = length(y); alpha = 0.002; %步长 num_iters = 阅读全文
posted @ 2016-11-29 23:05 AiFly 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:前面的文章讲了使用 最小二乘法 来求线性回归损失函数的 最优解 ,最小二乘法为直接对梯度求导找出极值,为非迭代法;而本篇文章了使用一个新的方法来求损失函数的极值: 梯度下降法(Gradient Descendent, GD) ,梯度下降法为最优化算法通常用于求解函数的极值,梯度下降法为迭代法,给定一 阅读全文
posted @ 2016-11-15 07:57 AiFly 阅读(1479) 评论(0) 推荐(0) 编辑