记第一次LoRA训练
记第一次LoRA训练
这两天断断续续的在了解一些关于LLM fine-tuning和LoRA训练的知识,但是一直还没上手实践,感觉眼睛学会了个7、8成。
就在刚才到处逛看到一个叫伶荔的project,一看owner好家伙是深圳大学计算机视觉研究所,母校。
洗澡前打算交点活给GPU干,于是想让它训练一个LoRA。数据集就用Linly提到的instructions,我只取了其中的CSL部分。
原本打算基于Llama-2 13B GQPT模型训练,但是它报错,训练GPTQ模型的LoRA需要一个叫monkeypatch的包。这个包装不上
123 except ImportError, e: ^^^^^^^^^^^^^^SyntaxError: multiple exception types must be parenthesized
好像是太老了,新python已经不支持except这种写法。急着洗澡没去仔细研究,于是换了个vicuna-13b-v1.3-hf,可以跑起来,就走开了。
洗澡真是个彻底放松的时间,sparks of inspiration come ...
Stable diffusion上手试玩
Stable diffusion上手试玩
前几天尝试搭了个Stable diffusion webui,可以说整个过程十分简单,很傻瓜化,只碰到了一个pip安装问题,从issue也找到了解决方式。
然后抄了c站上的prompt,尝试画甘雨
其他画的一些感觉还不错的图
K-means与KNN
K-means
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162import numpy as npimport matplotlib.pyplot as pltdef kmeans(x, k, norm=2): # n samples n = x.shape[0] if n < k: raise "len(x) < k" y = np.ones(n) * -1 centroid_idx = np.linspace(0, n - 1, int(n / (n / k)), dtype=int) centroid = x[centroid_idx, :] updated = -1 distance = np.zeros(k) epoch = 0 while updated != 0 and epoch & ...
逻辑回归整理
逻辑回归
Sigmoid function
Sigmoid函数:σ(z)=(1+e−z)−1\sigma(z) = (1 + e^{-z})^{-1}σ(z)=(1+e−z)−1
线性回归:z=w0x0+w1x1+...+wixi=∑iwixiz = w_0x_0 + w1_x1 + ... + w_ix_i = \sum_{i} w_ix_iz=w0x0+w1x1+...+wixi=∑iwixi, 矩阵形式: z=WTXz = W^TXz=WTX
逻辑回归:σ(z)=σ(w0x0+w1x1+...+wixi)=(1+e−(w0x0+w1x1+...+wixi))−1=(1+e−WTX)−1\sigma(z) = \sigma(w_0x_0 + w1_x1 + ... + w_ix_i) = (1 + e^{-(w_0x_0 + w1_x1 + ... + w_ix_i)})^{-1} = (1 + e^{-W^TX})^{-1}σ(z)=σ(w0x0+w1x1+...+wixi)=(1+e−(w0x0+w1x1+...+wixi))−1=(1+ ...
相关性系数笔记
相关性系数笔记
相关性系数可以用于衡量两个变量的相关性。
协方差 (covariance)
协方差在概率论和统计学中用于衡量两个变量的总体误差。x和y是两个随机变量,以下函数用于计算x和y序列的协方差。
covx,y=1N−1∑i=1N(xi−xˉ)(yi−yˉ)cov_{x,y}=\frac{1}{N - 1}\sum_{i=1}^{N}(x_{i}-\bar{x})(y_{i}-\bar{y})covx,y=N−11∑i=1N(xi−xˉ)(yi−yˉ)
covx,ycov_{x,y}covx,y = covariance between variable x and y
xix_{i}xi = data value of x
yiy_{i}yi = data value of y
xˉ\bar{x}xˉ = mean of x
yˉ\bar{y}yˉ = mean of y
NNN = number of data values
协方差输出正值表示正相关,负值表示负相关,0表示不相关。值大小不代表相关程度。
协方差矩阵 (covariance mat ...
梯度下降拟合曲线
梯度下降拟合曲线
原本打算使用python代码实现梯度下降曲线拟合。搜索了一圈没有找到讲得非常详细的文章。自己实践了一下记录在此。
注:公式是后期整理的没有很仔细,也许会有些细节上的问题,仅供参考。
原理
首先确定拟合曲线的函数是怎样的,这里用一元k次方程:
y(w0,w1...wk)=w0+w1x+w2x2...+wkxk=∑n=0kwnxny(w_0,w_1...w_k) = w_0 + w_1 x + w_2 x^2 ... + w_k x^k = \sum_{n=0}^{k} {w_n}{x^n}y(w0,w1...wk)=w0+w1x+w2x2...+wkxk=∑n=0kwnxn
然后,确定使用最小二乘损失函数:
L=∑i=0j12j(yi^−𝑦i)2L = \sum_{i=0}^{j} \frac{1}{2j} (\hat{y_i} - 𝑦_i) ^ 2L=∑i=0j2j1(yi^−yi)2
这里的y^\hat{y}y^是观测值, yiy_iyi是理论值(ground truth),jjj是一次迭代的样本个数。
梯度下降优化,就是对l ...
PID算法笔记
PID笔记
参考B站的奇乐编程学院的视频: 通俗易懂的 PID 控制算法讲解
TODO
[ ] 串级PID
公式
u(t)=Kpe(t)+Ki∫e(t)dt+Kpdedtu(t)=K_{p} e(t)+K_{i} \int e(t) d t+K_{p} \frac{de}{dt}u(t)=Kpe(t)+Ki∫e(t)dt+Kpdtde
u(t)u(t)u(t): PID control variable, 控制输出值
KpK_{p}Kp: proportional gain, 比例增益
e(t)e(t)e(t): error value, t时刻的误差值
KiK_{i}Ki: integral gain, 积分增益
de{de}de: change in error value, 误差微分
dt{dt}dt: change in time, 时间微分
其中, KpK_{p}Kp, KiK_{i}Ki, KdK_{d}Kd需要调参
计算步骤
Python代码
1234567891011121314151617def pid(kp, ki, kd, dt ...
Kalman filter学习笔记
Kalman filter学习笔记
前言
本文纯属笔记且未完成,巨坑,不具参考性。
应用
数据融合
目标追踪(SoRT)
前置知识点
线性代数
协方差,协方差矩阵
正态分布
运动模型
运动模型可以分为
一次运动模型
CV: 匀速模型(Constant Velocity)
CA: 匀加速模型(Constant Acceleration)
二次运动模型
CTRV: 恒定转弯率和速度幅度模型(Constant Turn Rate and Velocity)
CTRA: 恒定转动率和加速度
CSAV: 恒定转向角和速度
CCA: 恒定曲率和加速度(Constant Curvature and Acceleration)
匀速模型例子
系统状态方程
x^k=Ax^k−1+wk−1\hat{x}_k = A\hat{x}_{k - 1} + w_{k - 1}x^k=Ax^k−1+wk−1
x^k\hat{x}_kx^k: 第k次预测值
wk−1w_{k-1}wk−1: 过程误差协方差矩阵, 符合期望为0,协方差为Q的正态分布 P(w)∼N(0,Q ...
GPU cloud computing market
GPU云计算市场
这两天正式开始用AutoDL炼丹。感觉还是比较容易上手的。
貌似有点过拟合了。
忘了怎么找到这个AutoDL的,11-11前有重新装机的打算,准备装一个GPU搞DL训练。但是好几部分原因,搁置了装机计划,改为线上租赁。
现在用的是一个¥0.6/h的1080ti实例跑一下facenet的训练,作为前期的学习和验证足够了。它最低貌似能到0.49/h (TITAN),但不太好抢。这个价格也就每小时一度电左右的费用,自己装机除了硬件费用还要给电费,而且硬件还有贬值,还要自己搭环境,收集数据,没有直接用线上的来的方便。
表格
随便简单采样了一些,发现这个领域还是比较卷的。
算力市场
数据集
备注
AutoDL
共享/百度云/阿里云盘
featurize
共享
可用较少, 没价格优势
智星云
公共
矩池云
1.00/h 起
恒源云
公共/共享
0.60/h 起, 类似autodl, 注册才能看价格
腾讯云
没仔细看
loss反映出的问题
train loss 不断下降,test loss不断下降,说明网络仍在学习;
tr ...
吐槽一下那些慕课
吐槽一下那些慕课
就不指名道姓了,估计大部分都差不多。
起个超大的标题,什么百万级高并发服务器设计与开发,进去一看前一半第一章hello world,后一半配服务器,最后一页告诉你。那感觉就像打开一本高等数学,第一页先从99乘法表开始水了一半,后面一元一次方程水一半,最后一页介绍了下微积分。这还是收费的所谓实战课,综合评分一看全满,评价默认好评还不能改。
这种课程你说它挂羊头卖狗肉吧,但是标题写的啥都蹭了一点,不过真的对不起这个标题和价格。