自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白的博客

努力进化

  • 博客(166)
  • 资源 (9)
  • 收藏
  • 关注

原创 重排序模型计算两个文本的分数

模型选择:使用BAAI/bge-reranker-large模型,该模型专门针对查询-文档相关性任务训练,支持中英文混合场景。输入构造:将查询与每个文档组成二维列表,形成(query, doc)对,这种交叉编码方式能捕捉细粒度语义交互。分数计算:通过sigmoid函数将logits转换为0-1的概率值,分数越高表示相关性越强,0.5为判定阈值。批处理优化:通过padding=True和return_tensors='pt’实现批量推理,提升计算效率。

2025-05-22 21:38:51 208

原创 大模型相关数据格式及训练器接收的数据格式

需要使用下方的代码,转换为。

2025-05-22 20:44:50 315

原创 模型剪枝的定义与核心作用

模型剪枝(Model Pruning)是一种通过移除神经网络中的冗余参数或结构来压缩模型的技术,旨在保持模型性能的同时降低计算复杂度、存储需求和推理延迟。其核心作用包括降低计算成本、减少内存占用、提升硬件友好性以及缓解过拟合。本文以PyTorch为例,详细展示了如何在MNIST分类任务中实现模型剪枝。首先,通过L1非结构化剪枝方法剪除30%的权重,并对剪枝后的模型进行微调,最终评估其性能。此外,还介绍了手动实现L1权重剪枝的方法,并展示了如何统计模型的稀疏性。通过这些步骤,可以有效压缩模型,提升其在边缘设备

2025-05-22 14:09:28 280

原创 数据集下载并保存本地进行加载

本文介绍了如何使用Hugging Face库进行数据集的下载、保存和本地加载。首先,通过load_dataset函数从Hugging Face下载指定数据集,并设置缓存目录。接着,使用save_to_disk方法将数据集保存到本地。最后,通过load_from_disk函数从本地加载数据集。文章还展示了每一步的代码示例和运行测试结果。关于Modelscope的内容尚未补充。

2025-05-22 00:08:49 282

原创 微调后的模型保存与加载

在Hugging Face Transformers库中,微调后的模型保存与加载方式因微调方法不同而有所差异。常规微调时,可以使用save_pretrained()方法保存整个模型(包括权重、配置、分词器),并通过from_pretrained()加载。对于参数高效微调(如LoRA),只需保存适配器权重,加载时需将适配器与原模型合并。此外,Trainer API支持自动保存策略,而基于Unsloth的微调模型则提供了多种保存选项,包括轻量级适配器保存、全量模型合并保存、GGUF高效推理格式导出以及多格式混合

2025-05-21 20:14:59 482

原创 大模型下载到本地

【代码】大模型下载到本地。

2025-05-21 19:50:44 161

原创 BitsAndBytesConfig参数描述

Hugging Face Transformers 库中的 BitsAndBytesConfig 提供了动态量化的核心参数配置,旨在优化模型的内存占用和计算效率。主要参数包括 load_in_4bit(启用 4 比特量化)、bnb_4bit_quant_type(指定量化数据类型,如 nf4 或 fp4)、bnb_4bit_compute_dtype(设置计算数据类型,如 torch.bfloat16)以及 bnb_4bit_use_double_quant(启用嵌套量化以进一步减少内存占用)。此外,llm

2025-05-21 19:26:04 558

原创 模型量化与保存

【代码】模型量化与保存。

2025-05-21 19:19:19 338

原创 梯度裁剪详解与从零实现

梯度裁剪(Gradient Clipping)是一种在神经网络训练中用于防止梯度爆炸的技术。它通过限制梯度的大小或范数,确保参数更新幅度不会过大,从而提升训练稳定性。主要方法包括按范数裁剪和按值裁剪。按范数裁剪通过计算梯度的L2范数并缩放梯度至预设阈值,保持梯度方向不变;按值裁剪则直接限制每个梯度元素的取值范围。梯度裁剪的优点包括防止梯度爆炸、允许更大的学习率以及广泛的适用性,但也存在超参数敏感、可能改变梯度方向以及额外计算开销等缺点。实现梯度裁剪可以通过手动计算梯度范数或直接调用PyTorch内置函数完成

2025-05-21 12:58:24 1043

原创 vllm启动模型的四种方式

本文介绍了如何使用 vllm 库在单机单卡环境下部署和运行模型。通过命令行工具 vllm serve,用户可以指定模型名称或本地路径,并设置相关参数来启动服务。默认情况下,模型会从 Hugging Face 下载,数据类型为 auto。文章还提供了官方参数介绍链接,详细列出了 vllm serve 命令的可选参数,包括主机名、端口号、SSL 配置、模型加载格式、数据类型、并行计算设置等。这些参数允许用户根据需求灵活配置模型服务,例如调整 GPU 内存利用率、启用前缀缓存、设置量化方式等。通过合理配置这些参数

2025-05-21 12:36:32 495

原创 PEFT简介及微调大模型DeepSeek-R1-Distill-Qwen-1.5B

PEFT(参数高效微调)是由Huggingface团队开发的开源框架,旨在高效地将大型预训练模型(如GPT、LLaMA、T5等)适配到下游应用,而无需微调所有参数,从而显著降低计算和存储成本。PEFT通过冻结大部分预训练参数,仅调整少量新增或特定层参数(如低秩矩阵、适配器模块),可将训练参数量缩减至原模型的0.1%-1%,同时保持与完全微调模型相当的性能。PEFT支持多种高效微调方法,如LoRA、Prefix Tuning、AdaLoRA和IA3,适用于文本生成、分类、少样本学习等任务。

2025-05-20 22:02:17 861

原创 DeepSpeed简介及加速模型训练

DeepSpeed是由微软开发的开源深度学习优化框架,旨在通过系统级优化技术提升大规模模型的训练与推理效率。其核心功能包括显存优化(如ZeRO技术、Offload技术)、灵活的并行策略(如3D并行)、训练加速(如混合精度训练、稀疏注意力机制)以及推理优化(如低精度推理、模型压缩)。与PyTorch相比,DeepSpeed在显存效率、并行灵活性和生态集成方面具有显著优势,但配置复杂度和硬件依赖是其局限性。DeepSpeed支持与Hugging Face Transformers和PyTorch无缝集成,并通过

2025-05-20 21:22:57 884

原创 vLLM框架高效原因分析

vLLM框架以其高效的模型推理性能著称,主要依赖于PagedAttention、连续批处理、内存与计算优化、分布式推理与并行化以及高效缓存管理等核心技术。PagedAttention通过动态显存管理显著提升显存利用率,连续批处理则通过动态调整批次最大化GPU利用率。内存与计算优化包括融合操作和量化技术,减少数据传输和计算开销。分布式推理与并行化通过模型、数据和流水线并行提升处理能力。高效缓存管理则通过预分配与复用、逻辑-物理块映射和共享缓存降低显存占用。这些优化使vLLM在显存占用、吞吐量、长序列支持和并发

2025-05-20 20:10:24 673

原创 PyTorch中单卡训练、DataParallel(DP)和DistributedDataParallel(DDP)

PyTorch提供了单卡训练、DataParallel(DP)和DistributedDataParallel(DDP)三种模型训练方式。单卡训练简单易用,适合小规模模型和调试,但受限于单卡资源。DP通过单进程多线程实现数据并行,代码简单但存在显存不均衡和效率低下的问题,仅适用于单机多卡。DDP基于多进程实现分布式数据并行,显存均衡、高效并行且支持多机扩展,但配置复杂,适合大规模训练。选择建议:单卡训练用于快速验证,DP用于快速实验,DDP用于生产环境和大规模训练。

2025-05-20 19:59:41 870

原创 Python中列表相关操作

本文介绍了Python中列表(list)的增删改查操作。增加元素包括append()、insert()、extend()和切片赋值;删除元素涉及remove()、pop()、del语句和clear();修改元素可通过直接索引赋值、切片批量修改和列表推导式实现;查找元素则使用index()、in运算符、count()和遍历查找。这些操作涵盖了列表的基本操作,帮助开发者高效处理数据。

2025-05-20 19:41:39 424

原创 BM25(Best Matching 25)介绍与使用

BM25(Best Matching 25)是一种改进的信息检索算法,旨在克服传统TF-IDF的局限性。其核心原理包括词频饱和控制、文档长度归一化和参数可调节性。BM25通过非线性函数限制高频词的影响,并对长文档进行惩罚,避免其天然得分过高。其计算公式结合了逆文档频率(IDF)、词频(TF)和长度归一化因子,通过调节参数k1和b灵活控制词频和文档长度的影响。BM25在搜索引擎、问答系统和推荐系统中广泛应用,尤其在短查询与长文档的匹配场景中表现优异。与TF-IDF相比,BM25具有更强的抗长文档偏差能力和更高

2025-05-19 22:04:03 1356

原创 RAG检索结果评估MRR与NDCG计算

MRR@10和NDCG@5是推荐系统中常用的评估指标,分别用于衡量首个相关结果的排名质量和前几个结果的排序质量。MRR@10通过计算首个相关项排名的倒数来评估系统性能,适用于强调首条相关结果的场景。NDCG@5则综合考虑相关性和位置衰减,适用于需要精细排序优化的场景。两者的计算方式不同,MRR@10简单直观,而NDCG@5支持多级相关性,但计算复杂度较高。在实际应用中,可以根据具体需求选择合适的指标来评估推荐系统的性能。

2025-05-19 21:55:34 1050

原创 Python如何从线程(Thread)和进程(Process)中获取运行结果

在Python中,从线程和进程中获取运行结果的方法各有不同。对于线程,常见方法包括使用全局变量、自定义线程类、线程池和队列。全局变量简单但存在线程安全问题,自定义线程类封装性好,线程池适合I/O密集型任务,队列则安全高效。对于进程,常用方法有共享内存、进程间队列、进程池和ProcessPoolExecutor。共享内存适合简单数据共享,进程间队列支持跨进程通信,进程池适合CPU密集型任务,ProcessPoolExecutor则提供了与线程池一致的接口,简化代码迁移。根据任务类型和需求选择合适的方法,可以有

2025-05-19 21:19:18 318

原创 PyTorch模型保存方式

PyTorch提供了两种主要的模型保存方式:仅保存模型参数和保存完整模型对象。

2025-05-19 21:11:21 182

原创 python使用jsonpath-ng库操作json数据

jsonpath-ng 是一个用于在 JSON 数据中执行路径查询的 Python 库。

2025-05-19 20:51:53 1127

原创 Python对JSON数据操作

在Python中,json模块提供了对JSON数据的增删改查及加载保存操作。加载数据可通过json.load()从文件读取或json.loads()从字符串解析;保存数据则使用json.dump()写入文件或json.dumps()生成字符串。

2025-05-19 20:30:55 370

原创 大模型训练计算显存占用

显存占用: 与批次大小(batch size)和序列长度正相关,例如处理512x512x512的3D数据时,单个样本占用134MB,32批次则需4.2GB。显存占用: 以LLaMA-7B模型为例,若使用FP32(32位浮点)精度存储,7B参数占用约28GB显存;优化技术:通过ZeRO(零冗余优化器)将参数切分到多个GPU上,例如ZeRO-3将参数分布在所有GPU中,显存占用降低至单卡的1/N(N为GPU数量)。内容:包括神经网络的权重(weights)和偏置(bias),是模型的核心组成部分。

2025-05-19 19:59:43 389

原创 达梦数据库对json字段进行操作

在达梦数据库中,JSON数据通常以VARCHAR或TEXT类型存储,并通过内置的JSON函数进行操作和过滤。

2025-05-19 19:39:26 383

原创 使用PEFT库将原始模型与LoRA权重合并

本文介绍了如何使用PEFT库将原始模型与LoRA权重合并。首先,加载基础模型和tokenizer,确保配置与LoRA训练时一致。接着,加载LoRA适配器,并通过merge_and_unload()方法将LoRA权重与基础模型合并,同时移除LoRA层。最后,将合并后的模型保存为标准HuggingFace格式,便于后续推理。代码示例展示了完整的合并与保存流程,用户只需提供基础模型路径、LoRA权重路径和输出路径即可完成操作。

2025-05-15 23:36:36 305 1

原创 LLaMA-Factory 微调 Qwen2-7B-Instruct

使用 llama factory 微调大模型 Llama3-8B-Chinese-Chat

2025-05-14 23:04:50 1571 1

原创 大模型中的KV Cache

KV Cache(Key-Value Cache)是一种在Transformer模型推理阶段优化自注意力机制的技术,通过缓存键(Key)和值(Value)矩阵,避免重复计算,从而提升推理效率。

2025-05-13 20:48:56 924

原创 大模型常用位置编码方式

深度学习中的位置编码用于为模型提供序列中元素的位置信息。常见的编码方式包括:1) 固定位置编码(Sinusoidal Positional Encoding);2) 可学习位置编码(Learnable Positional Encoding);3) 相对位置编码(Relative Positional Encoding);4) 旋转位置编码

2025-05-13 20:29:53 1076

原创 python中的进程锁与线程锁

在Python中,线程锁和进程锁分别通过threading和multiprocessing模块实现,用于保护共享资源。线程锁使用threading.Lock,支持基本锁、可重入锁(RLock)和信号量(Semaphore),适用于多线程环境。进程锁通过multiprocessing.Lock实现,用法与线程锁类似,但用于跨进程同步,需配合共享内存(如multiprocessing.Value)。使用锁时需注意避免死锁,减少锁持有时间,并确保锁的获取顺序一致。

2025-05-13 20:04:21 205

原创 vLLM部署多模态大模型Qwen2.5-VL-3B-Instruct

本文介绍了如何配置和运行Qwen2.5-VL-3B-Instruct模型。

2025-05-12 23:23:33 1140 2

原创 ik 分词器 设置自定义词典

本文介绍了如何在Elasticsearch中配置IK分词器的自定义词典。

2025-05-12 20:21:14 172

原创 m1 安装 Elasticsearch、ik、kibana

本文介绍了Elasticsearch(ES)的安装与配置步骤。首先,从Elastic官网下载ES安装包,解压到指定目录并关闭安全模式。然后,通过运行命令启动ES,并访问本地端口验证安装成功。接着,安装ik分词器插件,将其解压并放入ES的plugins文件夹。最后,下载并安装Kibana作为ES的可视化界面,解压后运行命令启动Kibana,并通过指定网址访问。整个过程详细展示了从下载到启动ES及其插件的完整流程。

2025-05-11 13:43:24 648

原创 vLLM部署Qwen2-7B模型推理

vLLM是一个专为高效执行大型语言模型设计的推理和部署服务系统,支持多种量化技术以优化模型大小和推理速度,并提供与OpenAI API兼容的接口。安装vLLM需要配置Python环境,并安装相关依赖,如modelscope、openai、torch等。模型可以通过modelscope下载,并通过vLLM进行推理。vLLM提供了两种运行方式:一是通过代码直接运行模型,二是通过OpenAI式接口提供服务。测试代码展示了如何使用langchain调用vLLM服务,并生成文本结果。

2025-05-09 22:54:22 443

原创 FastChat部署大模型

本文介绍了在autodl算力平台上使用fastchat和modelscope库进行模型部署和推理的步骤。首先,安装modelscope和fastchat库,并通过modelscope下载Baichuan2-13B-Chat模型。接着,启动fastchat的三个服务:controller、model_worker(或vllm_worker)和openai_api_server。其中,vllm_worker用于加速推理过程。文章详细说明了每个服务的启动命令和相关参数,如主机地址、端口号、模型路径等。

2025-05-09 20:22:13 476

原创 大模型中常见的精度类型及区别​

• 指数位:BF16的指数位(8位)与FP32对齐,数值范围达±3.4×10³⁸,远超FP16的±65504。实际应用中需根据硬件支持、任务需求和模型规模综合权衡。• 尾数位:FP16尾数位(10位)比BF16(7位)多,精度更高,适合小数值运算(如图像处理),但对大模型训练中的梯度爆炸敏感。• BF16:专为大规模模型设计(如GPT、BERT),在TPU和NVIDIA A100等硬件上优化,支持更大批量训练。• FP16:适合资源受限场景(如移动端)、中小模型训练,需搭配梯度缩放技术防止数值溢出。

2025-05-03 15:18:44 388

原创 langchain使用向量数据库进行检索时,使用重排序模型

【代码】langchain使用向量数据库进行检索时,使用重排序模型。

2025-05-02 20:58:52 112

原创 自定义编辑mcp client调用mcp tool工具,使用星火大模型

自定义编辑mcp client调用mcp tool工具,使用星火大模型。

2025-04-04 10:54:21 383

原创 使用mcp自定义编写mcp tool,使用 conda 启动,在cline中配置使用

# /langchain_learn/mcp学习/base_mcp_tool_study2.py# 导入必要模块import os# 初始化 MCP 服务器实例,指定服务器名称和版本#mcp_server.tool() 将函数注册为 mcp tool 工具"""获取指定目录的文件列表(默认查看桌面)Args:directory (str): 要查询的目录路径,支持 ~ 符号Returns:list: 文件名列表"""try:# 处理跨平台路径格式str。

2025-04-04 10:48:19 989

原创 springboot项目中,没有对应实体类,通过@update等注解执行自定义sql语句时,如何将自定义sql中的驼峰字段转为大写

替换驼峰为大写下划线(如userName→USER_NAME)

2025-03-31 19:41:56 216

原创 Spring Boot项目中,通过MyBatis-Plus的@Update等注解执行自定义SQL语句,没有相关实体类,如何将返回结果中的大写字段名自动转为驼峰格式​

将大写字段名转为驼峰(如USER_NAME→userName)

2025-03-31 19:37:45 237

原创 Springboot项目中使用WebSocket与前端通信时,AOP的before注解未起作用

在 Spring AOP 的 @Before 切面阶段,WebSocket 连接可能还没有完全建立,尤其是在请求处理流程的早期阶段。因此,前端无法立即接收到消息。而 @AfterReturning 会在控制器方法执行完毕后触发,此时 WebSocket 连接一般已完全准备好,消息更容易被前端接收。尝试延迟发送消息,给 WebSocket 连接足够的时间来建立。可以在 @Before 切面中加入一点延迟来测试。

2024-10-27 21:25:28 455 2

dataset-info.json 文件

llamafactory中 data目录下的 dataset_info.json 文件

2025-05-13

机器学习分类算法实验报告.docx

对于KNN,SVM,adaboost以及决策树等分类算法对数据集运行结果进行总结,代码点我博文

2021-05-30

数字图像处理图10.34的霍夫变换代码及ppt.rar

对飞机跑道进行直线检测,并将断裂线段连接起来,是数字图像处理第三版图10.34,代码与ppt,matlap实现

2021-06-20

频域拉普拉斯算子.pptx

频域中使用拉普拉斯算子增强图像

2021-05-17

poi-3.17.zip

使用java建表,读取表,对表进行操作

2021-08-19

jsp上传文件所需jar包.zip

引入的 jar 文件:commons-fileupload-1.3.2、commons-io-2.5.jar; 相关实现代码在我博文上

2021-08-19

连接数据库以及poi创建表格所需jar包.rar

HSSFWorkbook,HSSFSheet,HSSFRow,jar包,和连接数据库的jar包

2021-06-21

彩色锐化之拉普拉斯.pptx

使用拉普拉斯对彩色图像进行锐化,matlab实现

2021-05-30

Survey on Influence Factors on Spouse Choice of Contemporary Chinese Youth.pptx

调查年轻人选择配偶考虑的因素和数据分析

2021-05-15

均值滤波与阈值处理-zt.pptx

空间域:均值滤波与阈值处理 代码实现和效果截图

2021-05-15

空空如也

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

TA关注的人

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