自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Lora训练SD1.5与SDXL

Stable Diffusion XL (SDXL) 相较于 Stable Diffusion 1.5 (SD1.5) 具有显著的优势,包括更高的图像质量和细节处理能力、更大的生成多样性和文本一致性、优化的网络架构和训练效率、更强的扩展性和适用性、广泛的社区支持和易于集成的特性,以及更大规模的训练数据和改进的正则化技术。我们需要微调的大模型,这里选择SD1.5模型,此文件的下载有两条路径:一是使用科学上网的方式从huggingface中搜索后直接下载,但是这样做的下载速度会比较缓慢。

2024-09-26 10:25:29 2240

原创 使用python搭建模型库服务

这里获取onnx模型文件的原因是onnx模型文件中包含了模型架构与模型参数,方便我们直接调用训练好的模型,不需要分别加载网络和网络权重。这段代码内容是启动服务代码,使用这段代码能完成对在服务器上的后台搭建,第一条代码也需要在启动这段代码后才能顺利运行。可以使用上述代码验证模型调用的正确性,确保后续步骤能稳定运行。

2024-09-24 17:11:01 499

原创 交叉熵与KL散度

对于离散随机变量,其概率分布P 和 Q的KL散度可按下式定义为等价于即按概率P求得的P和Q的对数商的平均值。KL散度仅当概率P和Q各自总和均为1,且对于任何i皆满足及时,才有定义。式中出现的情况,其值按0处理。对于连续随机变量,其概率分布P和Q的KL散度可按积分方式定义为[2]其中p和q分别表示分布P和Q的密度。更一般的,若P和Q为集合X的概率测度,且P关于Q绝对连续,则从P到Q的KL散度定义为其中,假定右侧的表达形式存在,则为Q关于P的R–N导数。相应的,若P关于Q绝对连续,则。

2024-09-12 17:11:30 607

原创 python学习

python里的flatten(dim)表示,从第dim个维度开始展开,将后面的维度转化为一维.也就是说,只保留dim之前的维度,其他维度的数据全都挤在dim这一维。flatten()和flatten(0)效果一样,a这个数据从0维展开,就是(2 ∗ 3 ∗ 4 2342∗3∗4),维度就是(24)a从1维展开flatten(1),就是( 2 , 3 ∗ 4 ),也就是(2,12).a若是从2维展开flatten(2),那就是(2,3,4)和之前没有变化。比如我们随机定义一个维度为(2,3,4)的数据a。

2024-09-12 17:00:55 816

原创 AutoGPTQ量化环境搭建与示例实现

运行上述代码后可以得到一个量化后的文件夹,这个量化后的模型是以.safetensor格式保存的。文件中具体内容如下所示。

2024-09-10 13:47:50 870

原创 性能评估工具Profiler的使用与相关介绍

在这个界面中就可以对模型的各项运行性能进行一个详细的观测:在上面的界面中有GPU Sunmmary面板,这个面板中包含了GPU的基本信息、算力与使用率以及使用效率,右上角则为各种设备的使用时间与使用率。在小批次推理过程中,量化前后的网络模型体现并不明显,主要运行时间集中在CPU的计算过程中,这个过程主要是CPU对数据传输的过程,想要加速这个过程需要对CPU的使用做一定的处理。上述内容中需要注意的是这里的safetensor格式内容是通过量化后得到的,所以需要对模型的权重进行手动映射。

2024-09-09 14:27:26 1198

原创 GPTQ量化技术中的hessian矩阵原理

假设有一实值函数f(x_1,x_2,……,x_n),如果f的所有二阶偏导数都存在并在定义域内连续,那么函数f的hessian矩阵为或使用下标记号表示为显然黑塞矩阵是一个n×n方阵。黑塞矩阵的行列式被称为黑塞式(英语:Hessian),而需注意的是英语环境下使用Hessian一词时可能指上述矩阵也可能指上述矩阵的行列式。

2024-09-05 09:54:06 1500

原创 大模型量化需要学习的矩阵运算基础

假设a,b为可以相互点乘的向量,对b求导为a,同理对a求导为b,这是因为在矩阵的点积运算中a的每一行会乘以b的每一列,求导的过程实际是对b的过程,,所以最后保留下来的是a而不是。伴随矩阵是线性代数中的一个概念,与矩阵的逆和行列式有关。对于一个给定的方阵A,伴随矩阵 adj(A)是一个矩阵,其元素是A的代数余子式(cofactor)的转置。3 转置:对代数余子式矩阵C进行转置,得到伴随矩阵 adj(A)。其中 det(A)是矩阵A的行列式,I是单位矩阵.组成一个新的矩阵 C,这个矩阵称为代数余子式矩阵.

2024-09-05 09:38:47 655

原创 Transformer中的Encoder与Decoder内容

与自注意力不同,多头注意力机制的 输入向量为整个序列内容,通过多个不同的头,对整个序列内容的升纬操作创建了多个不同的W^Q、W^K、W^V,这个过程中的计算方法与自注意力中的计算方法是完全相同的,而后每个W^Q、W^K、W^V都经过注意力函数的计算的到最后的输出z_i,整合所有头的z就可以得到最后多头注意力的输出。这样就做到了”遮蔽未来位置“的作用。在Transformer的decoder中需要注意的是在不同任务中使用的K、V是由encoder最后的输出线性变换得到的,decoder提供最后的Q的输入。

2024-08-30 15:35:39 991

原创 self-Attention(自注意力)深度解读

在上面的公式中可以看到主要的数据内容为Q、K、V、d_k,要想理解为什么这个公式能让一个词向量拥有各种特征就得先明白每一个数据的含义,在自注意力的过程中QKV的来源其实是原始的输入X,这个X就是我们需要获取特征的词向量,通过三个矩阵W^Q、W^K、W^V(又叫做权重矩阵)原始的词向量X转换为计算公式中的Q、K、V。这将产生此位置(第一个单词)的自注意力层的输出。在公式中可以看到其会将传入其内的所有值附加进e^{x}中,这个x就代表了输入的值,而后除以所有输入附加后的和以计算出每一个值的概率。

2024-08-29 16:08:06 1940

原创 Linux命令指南

torch环境搭建(CUDA12.1,linux,pip)解决办法:添加镜像HF下载路径。解压文件到指定文件夹。

2024-08-28 14:54:46 494

原创 Transformer深度解析,从原理出发分析Attention

Q与K维度信息一致V的维度信息为Q最大的维度的矩阵。K的值在不同任务中可能会不同。attention在本质上更像是对原始的嵌入向量做矫正,帮助其找到在上下文信息中的具体意义。V的值实际是在QK相关性基础上附加对全局相关性的内容。

2024-08-27 11:06:00 1131

原创 TensorFlow Lite工具,实现量化、优化及转换功能

实际流程:Pytorch -> onnx ->TensorFLow ->tensorflow lite。基于bert-base-uncased模型中的onnx内容。创建转换所需python文件:vim onnx2tf.py。

2024-08-13 10:07:27 370 1

空空如也

空空如也

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

TA关注的人

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