自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大模型全流程

1.数据治理数据治理——数据清洗-优快云博客2.模型训练使用 LLaMA-Factory 微调_使用llama factory自建数据集微调-优快云博客3.模型推理vllm快速入门_vllm.entrypoint.openapi-优快云博客4.模型量化使用llama.cpp进行量化和部署_llamacpp 量化gguf-优快云博客5.量化模型部署大模型快速部署工具Ollama介绍-优快云博客6.RAG(模型应用)RAG增强检索_ra

2024-12-27 14:06:05 352

原创 我的问题?

5.模型应用方面,Agent、RAG、问数也是可以相辅相成的吗,应该使用对应的开源框架还是自己做。3.如何在资源有限的情况下,训练出满足客户需求的模型。4.lora微调和full微调,是可以相辅相成的吗。2.如何能够在微调后,保证模型自身通用能力不衰减。6.多模态模型如何才能训出自己想要的效果。1.如何了解项目生产并做出对应的大模型。

2024-12-25 10:12:34 244

原创 Flash Attention与Attention

伪代码:4d(分别代表Q\K\V\O)Flash Attention优化了。

2025-02-05 17:20:04 231

原创 快速上手docker

示例命令表示:使用镜像httpd,以交互模式启动一个容器,将容器的80端口映射到宿主机的80端口,宿主机的目录/data映射到容器的/var/www/httpd目录,并返回容器ID。此处以Apache和CentOS官方镜像为例,由于国内禁止了docker官方镜像源,此处指定华为云官方镜像。-v:把宿主机上的一个目录挂载到镜像里,格式为“宿主机目录:镜像内挂载的路径”,必须为绝对路径。使用docker拉取指定镜像,创建容器并运行,并测试容器运行情况。-t:为容器重新分配一个伪输入终端,通常与-i同时使用。

2025-01-13 09:59:35 785

原创 大模型算法题(9)

比如在水果图片三分类任务,共有三个类别 [菠萝,榴莲,甘蔗],teacher model 对一张图片给出 [0.7, 0.2, 0.1] 的结果,除了正确答案0.7以外,0.2和0.1这两个分支提供了一个信息:榴莲和菠萝的相似程度大于甘蔗和菠萝,这是one-hot label提供不了的。经典的模型蒸馏过程中,student model会学习teacher model的softmax输出,在teacher model的输出进入softmax前,会除以一个温度T>1。(3)训练框架:使用。

2025-01-09 15:34:29 391

原创 大模型算法题(8)

我们需要保存模型中每个节点的激活值,比如使用一个4层的模型,每层的和输出大小都为8,那么一共就要保存32个激活值。更小的expert在同样总参数量和激活参数的情况下,可以提供更多的排列组合,使得每个expert在训练过程中能达到更高程度的专家化。之前比较常用的激活函数ReLU具有计算快,有激活值的时候不容易出现梯度消失等优点,但是ReLU是个分段函数,存在不可导的断点,可能会对模型效果有所影响。(4)专家的数量多,模型的总参数量更大,理论上模型能具有更大的容量,上限更高。的情况,实际使用中效果也较好。

2025-01-08 10:01:19 741

原创 大模型算法题(7)

负载平衡loss有不同的设计和计算方式,但是大致的思路都是迫使模型均匀地使用不同的专家,如果出现某些专家被选中的概率过高,就会进行惩罚。依照ResNet的实验结果,如果一开始模型就跑偏了,那后面再怎么训练,收敛效果都会比较差,说明早期太大的学习率导致模型过早收敛到不太好的局部最优了。另外,模型刚开始训练的时候,大学习率带来的大更新值,会导致模型参数的震荡会很大,使得模型学到的参数很不稳定,这也不利于训练。而这些常用的专家由于使用得更多,训练得更好,又会提升被路由到的概率,导致大部分模型参数几乎没有被用上。

2025-01-07 14:01:16 673

原创 大模型算法题(6)

因为ReLU会抛弃掉小于0的值,对于一个均值为0的输入数据,这就相当于砍掉了一半的值,这样输出的方差和均值就变了。(1)避免梯度消失或梯度爆炸:在深度神经网络中,如果层与层之间的输出方差相差很大,就会有很大的值出现,那么在反向传播过程中,梯度可能会变得非常小(梯度消失)或者非常大(梯度爆炸)导致梯度更新缓慢,或者训练过程不稳定。(2)保持信号的传播:通过保持每一层的输出方差大致相等,可以确保网络中的信号在前向传播和反向传播时不会因为方差的变化而减弱或增强,从而有助于网络更好地学习和传递信息。

2025-01-06 11:27:04 614

原创 大模型算法题(5)

PI/NTK/NTK-by-parts主要的做法都是使用插值,而随着插值进行,token之间的距离变得更近(因为现在每一个位置旋转角度变小了),平均最小距离在减小,这样注意力softmax的分布会变得更尖,也就是都集中在某个区间。相比于fp16,bf16牺牲了一些尾数位以增加指数位,扩大了表达的范围,但是精度降低了,因此对于对精度需求比较高的模型,模型可能效果不如fp16。1.在NTK插值之前,线性插值通过在原模型训练的两个位置编码中间,插入新的位置编码,使得同样的取值范围可以容纳更多位置。

2025-01-03 10:10:48 889

原创 大模型算法题(4)

在混合精度训练中,使用半精度进行前向计算和梯度计算,同时优化器备份一份单精度的优化器状态、梯度和参数用于更新参数,因此共有(Φ+Φ)*2+(Φ+Φ+2Φ)*4=20Φ,除去参数和梯度,优化器占部分16Φ。2.view()方法需要tensor满足连续性,操作后返回一个引用,返回值是视图,没有改变原储存空间的值,多个视图共享同一个物理储存空间的内容。1.模型参数Φ:词表部分VH,每层参数12H^2+13H,总共有Φ=VH+L(12H^2+13H),如果是半精度就是2Φ。,是我们想要最终获得的模型;

2025-01-02 09:09:00 883

原创 大模型算法题(3)

的方式实现了相对位置编码,使得能够在不破坏注意力形式的情况下,以“加性编码”的方式让模型学习相对位置。②可以应用于线性注意力。缺点:RoPE相比训练式的绝对位置编码具有一定的外推能力,如可以在2k数据长度训练的模型进行略长于2k的推理。一般来说,相比单头的情况,多个头能够分别关注到不同的特征,增强了表达能力。比如部分头关注语法信息,部分头关注知识内容,部分头关注近距离文本,部分头关注远距离文本,这样减少信息缺失,提升模型容量。在进行自回归解码的时候,新生成的token会加入序列,一起作为下一次解码的输入。

2024-12-31 14:11:20 271

原创 大模型算法题(2)

论文认为:模型一般有多层,前一层的输出是后一层的输入,而训练中前一层的参数更新会导致后一层的输入数据分布变化导致ICS(internal covariate shift),这样后面的层就不得不频繁剧烈更新适应分布变化,导致分布偏移进入。1.原始的Transformer用的是post-norm,它在残差之后进行归一化(add & norm),对参数正则化的效果更强,模型更为鲁棒;的(部分)全连接层增加了LoRA旁路,前向和后向的计算量都在主干模型的基础上,增加了旁路部分的计算,因此相比全参数训练,略有增加。

2024-12-31 14:00:42 752

原创 Python正则表达式实战:高效文本处理与数据清洗技巧详解

正则表达式(Regular Expression,简称Regex)是一种用于字符串匹配与处理的规则系统。它通过一系列的字符和符号定义了一个搜索模式,可以用来对字符串进行匹配、查找、替换和拆分操作。正则表达式是数据清洗和文本处理中的强大工具,掌握它可以让我们的工作事半功倍。通过本文的实战案例和技巧详解,相信你已经对Python正则表达式有了更深入的理解。在实际项目中,灵活运用这些技巧,必将大大提升你的数据处理能力。

2024-12-30 14:14:09 661

原创 大模型算法题(1)

本系列将整理一些LLM中关键的、细节的、值得关注的内容,持续更新~如有错误,欢迎指正~

2024-12-30 11:29:33 803

原创 数据治理—数据配比

里,应该都提及了自己的数据是如何配比的,基本上都是“知识 + 代码 + 逻辑”三个大类目,其中知识数据分文中文知识和英文知识,逻辑数据则可以认为是 math 数据和 cot 数据的混合体。整体上,大部分中文模型的配比都在这个区间左右:中:英:code = 4:4:2(逻辑数据的比例我没有写进去,加入多少取决于你能收集多少,其他三类数据应该是要多少有多少的存在)。我们可以根据自己的实际情况调整配比,但英文的比例一定不能太低。

2024-12-30 11:07:00 332

原创 大模型训练框架Megatron原理

Megatron:基于PyTorch的分布式训练框架,用于训练超大的Transformer语言模型。目标:通过综合应用数据并行、Tensor并行和Pipeline并行来复现如GPT-3这样的大型模型。

2024-12-27 16:53:24 509

原创 linux系统替换文本

比如助手的名称修改为Xiao_Zhi, 由 LLaMA Factory 开发。

2024-12-27 10:38:11 136

原创 ROUGE指标介绍

1. **ROUGE-N**:衡量候选摘要和参考摘要之间的n-gram(通常是单词或双词)的重叠。5. **ROUGE-W**:ROUGE-L的改进版本,对最长公共子序列的连续性给予更高的奖励,用加权的方法计算最长公共子序列。- **精确率(Precision)**:候选摘要中n-gram与参考摘要中n-gram的重叠比例。- **召回率(Recall)**:参考摘要中n-gram与候选摘要中n-gram的重叠比例。3. **ROUGE-2**:特指n=2时的ROUGE-N,即双词(bigram)的重叠。

2024-12-26 15:56:46 546

原创 大模型快速部署工具Ollama介绍

Mac和Windows具有成熟的一键安装工具,基本都能安装成功。这里提到如何在linux(内网,配置问题)手动安装linux。ollama支持的模型格式为gguf,如果不是gguf格式需要使用llama.cpp将其转成gguf。⚠️注意:ollama并不能兼容所有的gguf文件!带上下文调用(多轮对话)

2024-12-25 11:42:29 572

原创 Llama3 中文通用Agent微调模型

Llama3模型在4月18日公布后,国内开发者对Llama3模型进行了很多训练和适配,除了中文纯文本模型外,多模态版本也陆续在发布中。将MLP和Embedder加入了lora_target_modules. 你可以通过指定--lora_target_modules ALL在所有的linear层(包括qkvo以及mlp和embedder)加lora. 这通常是效果最好的。,这是开源社区中率先完整适配中文环境的通用Agent Llama3模型,后续会有更完整的评测报告产出。

2024-12-25 09:55:36 1084

原创 常见激活函数

Sigmoid函数:能够将输入压缩到[0, 1]的范围内,通常用于二分类任务的输出层。 Tanh函数:与Sigmoid类似,但是它能将输入压缩到[-1, 1]的范围内,通常具有比Sigmoid更好的性能。 ReLU函数:修正线性单元,是目前最常用的激活函数之一,特别是在隐藏层中。它的优点是能够缓解梯度消失问题,并且计算简单。 Leaky ReLU / Parametric ReLU / Exponential LU (ELU):这些是ReLU的变种,旨在解决ReLU神经元“死亡”的问题,即一旦神经元激

2024-12-24 11:54:43 197

原创 Matplotlib 绘图demo

3、使用matplotlib特定函数,比如条形图,饼图等,传入对应的x y数据。2、选择符合需要的函数从数据 x 得到数据y。4、给图表增加说明性文字,标题,标签等。1、使用numpy构造数据 x。

2024-12-24 10:15:13 294

原创 数据治理——数据清洗

数据清洗(Data Cleaning)是大数据处理中的一个重要步骤,它涉及到识别并纠正或删除错误的、不完整、不准确或不相关的记录。数据清洗的目标是提高数据的质量,确保分析结果的有效性和可靠性。数据清洗是一个迭代的过程,通常需要多次循环进行,直到数据集达到足够的质量标准。随着技术的发展,自动化工具和机器学习算法也被用来辅助数据清洗过程,以提高效率和准确性。

2024-12-23 10:14:44 427

原创 LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct

LLaMA-Factory 单卡3080*2 deepspeed zero3 微调Qwen2.5-7B-Instruct

2024-12-20 10:26:36 866

原创 基于langchain的Agent(实现实时查询天气)

智能体

2024-12-19 17:46:07 394

原创 SWIFT基本使用

【代码】SWIFT基本使用。

2024-12-18 17:50:15 787 2

原创 提示词工程-Prompt Engineering

最核心的写一条好prompt的原则就是尽可能清晰、明确地表达你的需求(类比产品经理向程序员提需求)。细分下来,具体原则包括:清晰的指令:足够清晰明确地说明你希望模型为你返回什么,最后更加细致地说明需求,避免模糊表达。提供上下文和例子:给出较为充分的上下文信息,让模型更好地理解相关背景。如果能够提供示例,模型能表现更好(类似传统LLM中的in-context learning)。善用符号和语法:使用清晰的标点符号,标题,标记有助于转达意图,并使输出更加容易被解析。

2024-12-18 10:06:45 1914

原创 conda指定环境下载

例如下载openai。

2024-12-17 14:59:57 140

原创 随机森林模型

对应的模型分别为随机森林分类模型(RandomForestClassifier)和随机森林回归模型(RandomForestRegressor)。随机森林分类模型的弱学习器是分类决策树模型,随机森林回归模型的弱学习器则是回归决策树模型。随机的含义:双随机,数据样本随机选择,特征随机选择。随机森林模型既能进行分类分析,又能进行回归分析。bagging + 决策树 = 随机森林。

2024-12-17 10:23:24 230

原创 决策树算法模型介绍

决策树模型是机器学习的各种算法模型中比较好理解的一种模型,它的基本原理是通过对一系列问题进行if/else的推导,最终实现相关决策。基尼系数(gini)用于计算一个系统中的失序现象,即系统的混乱程度。基尼系数越高,系统的混乱程度就越高。建立决策树模型的目的就是降低系统的混乱程度,从而得到合适的数据分类效果。决策树模型的建树依据主要用到的是基尼系数的概念。找基尼系数越小越适合做根节点。1、回归决策树,解决回归问题。2、分类决策树,解决分类问题。

2024-12-17 09:45:14 367

原创 Faiss向量数据库

这些操作通过简单的函数调用实现,例如index.add()用于向索引中添加数据,index.remove_ids()用于从索引中删除指定的数据,而index.search()则用于执行实际的相似性搜索并返回结果。这种索引适用于小到中等规模的数据集,因为它采用暴力检索的方式,即计算查询向量与所有数据库向量之间的距离,然后返回相似度最高的前k个向量。总的来说,IndexFlatL2是理解Faiss其他更复杂索引方式的基础,提供了简洁、准确的检索功能,适用于小规模数据集的精确检索任务。

2024-12-17 09:15:22 829

原创 使用python分组聚合execl

数据解释:sex>性别,smoker>是否抽烟,day>天,time>时间,size>就餐人数,total_size>餐费,tip>小费。3.将餐费和小费加起来,并单独创建一列。5.统计不同时间,不同人数的订单数。6.# 求不同日期消费金额数。

2024-12-16 10:41:55 229

原创 垂直领域大模型微调实践经验总结

本篇从基座模型选择、模型整体架构、数据设计、训练微调四个角度总结大模型微调经验。本篇将现有垂类大模型微调已公布的实践经验做一个全面的总结,大部分经验实测可推广,大家在自己实践过程中可以进行适当参考。下面是一个快捷目录,其中数据设计和训练微调是重点。1. 基座模型选择2. 模型整体架构3. 数据设计4. 训练微调。

2024-12-10 15:09:12 835

原创 cxfreeze打包

在使用cxfreeze之前,需要先安装cxfreeze。cxfreeze可以通过。4.执行(找到build/exe....)2.创建setup.py文件。1.安装cxfreeze。

2024-12-09 18:04:20 283

原创 Python项目加密打包

选项,你会看到一个包含多个文件和目录的文件夹结构。目录中只会有一个可执行文件。选项来创建单个可执行文件,那么在。

2024-12-09 14:21:23 279

原创 最简单的线性回归神经网络

【代码】最简单的线性回归神经网络。

2024-12-06 11:59:57 380

原创 RuntimeError: Cannot find sufficient samples, consider increasing dataset size.

Cutoff length截断长度: 设置太大,如果2048,变成1024。

2024-12-05 16:03:50 452

原创 docker应用

docker save -o /XXX/XXX.tar# 保存一个镜像为tar包。docker tag 镜像名:版本 新镜像名:版本 # 复制镜像并改名。docker load -i /XXX/XXX.tar # 导入镜像。docker images# 查看主机所以镜像。docker commit # 提交镜像。docker logs # 查看容器日志。docker search# 搜索镜像。docker build # 创建镜像。docker pull# 下载镜像。docker rmi# 删除镜像。

2024-12-05 09:13:54 293

原创 最简单的deepspeed微调

DeepSpeed是一个开源的深度学习优化库,它由微软开发并维护,旨在提高大规模模型训练的效率和可扩展性。# 移动finetune_lora_single_gpu.sh到外面。训练优化工具:融合优化器,自动混合精度训练,学习率调度。通信优化模块:张量并行,数据并行,流水线并行。1.啥是deepspeed?# 准备数据(例如)

2024-12-04 17:44:00 409

原创 ollama运行qwen2.5-coder:7b

我的前身是GPT-3,它是一种强大的语言生成模型,能够理解和处理自然语言。GPT-4是GPT系列中的一员,拥有更高的性能和能力。\n\n我可以回答问题、提供信息、创作文本和图片等多种任务。我的目标是帮助用户找到答案、解决问题和完成任务。

2024-12-04 15:22:59 1005

基于langchain的Agent(实现实时查询天气)

基于langchain的Agent(实现实时查询天气)

2024-12-19

空空如也

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

TA关注的人

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