自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python asyncio 完全指南

Python asyncio异步编程指南 本文全面介绍了Python标准库asyncio的使用方法和实现原理。asyncio是Python 3.4+引入的异步I/O框架,通过事件循环和协程实现单线程高并发,特别适合I/O密集型任务。 核心概念包括协程、事件循环、await关键字、Task和Future。文章详细讲解了基础用法,如运行协程的三种方式、任务管理和并发执行。 内部机理部分深入分析了事件循环的工作原理、协程状态转换和底层实现,通过伪代码展示了调度过程。 对比分析了asyncio与多线程/多进程的区别

2025-12-09 17:29:50 962

原创 在 HuggingFace Transformers 中创建可 `from_pretrained` 的自定义模型(继承/嵌套):像官方模型一样丝滑使用自定义模型

摘要:本文探讨了在HuggingFace预训练模型上添加自定义模块的两种方法。方法A通过继承backbone Config实现单一backbone扩展,方法B采用嵌套backbone_config支持多backbone切换。文章详细介绍了from_pretrained的工作原理、自定义模型的必备组件,并对比了两种方法的优缺点。两种方式均支持权重自动加载/初始化、模型保存/加载等完整流程,适用于不同应用场景。最后提供了可运行示例和最佳实践建议,帮助开发者在保持HuggingFace生态功能的同时实现模型定制化

2025-12-01 16:00:51 969

原创 深度解析 MLOps:从模型开发到生产系统的全流程指南

摘要: MLOps(机器学习运维)是将DevOps理念引入机器学习领域的方法论,旨在实现模型从开发到生产环境的全流程标准化与自动化。其核心流程包括数据管理、特征工程、模型训练、版本管理、部署、监控及自动再训练,形成闭环迭代。通过工具链(如MLflow、Kubeflow、Feast等)实现数据版本控制、特征存储、实验管理、自动化Pipeline和漂移检测,确保模型持续稳定服务业务。企业可逐步落地MLOps,最终构建“持续训练-部署-监控”的工程化体系,解决模型性能衰减问题,最大化AI业务价值。

2025-11-24 16:09:04 95

原创 用 Hugging Face Trainer 微调你自己的聊天助手:让大模型学会“像你说话”

本文介绍如何使用Hugging Face工具链微调大语言模型(LLM)以生成个性化聊天助手。主要内容包括:1)准备聊天数据(对话或问答格式);2)配置训练环境(transformers+trl+peft+accelerate);3)编写训练脚本(SFTTrainer+LoRA技术);4)多卡分布式训练;5)显存优化技巧(LoRA、8-bit量化等)。通过微调基础模型(如GPT-2)并应用参数高效技术,可在有限计算资源下训练出与个人语言风格匹配的AI助手。

2025-11-06 19:30:30 845

原创 大模型位置编码的演化逻辑:从 Sinusoidal 到 RoPE,再到未来

摘要 Transformer模型由于并行处理特性,缺乏顺序感知能力,需要位置编码(PE)注入位置信息。本文梳理了PE的演化历程: Sinusoidal PE(2017):固定正余弦编码,泛化性强但缺乏灵活性。 Learnable PE(2018):可训练参数提升适应性,但泛化性受限。 Relative PE(2019):引入相对位置偏置,增强长距离依赖建模。 RoPE(2021):旋转位置编码,结合相对性与无参数性,高效且泛化。 NTK-aware等改进(2023+):优化RoPE频率,解决长序列退化问题。

2025-10-31 16:40:17 470

原创 Python 跨文件日志记录终极指南:使用 `logging` 模块构建专业日志系统

避免使用print进行日志记录,Python标准库中的logging模块提供了更专业的解决方案。logging支持日志级别控制、灵活输出目标、自定义格式、动态调整和线程安全等关键特性。文章详细介绍了logging的四大组件:记录器(Logger)、处理器(Handler)、格式器(Formatter)和过滤器(Filter),并提供了单文件和多文件项目中的实际配置示例。通过主程序统一配置,模块通过__name__获取日志器,可实现跨文件日志管理,适用于各类规模的项目,显著提升日志系统的专业性和可维护性。

2025-10-29 11:06:43 1073

原创 【终端复用教程】Tmux 完全指南

Tmux是一款终端复用工具,可让用户保持会话、随时恢复连接并管理多窗口。安装方法支持Ubuntu/Debian(apt)、CentOS/RHEL(yum)和macOS(brew)。核心功能包括创建/管理会话(new/ls/attach)、分屏操作(%/")和快捷键组合(先按Ctrl+B)。常用场景包括后台运行Docker任务和并行监控多个进程。配置优化建议修改~/.tmux.conf文件,如更改前缀键和启用鼠标支持。基础操作流程:创建会话→运行任务→分离会话→随时重连。Tmux能有效解决SSH断开

2025-10-23 19:10:08 986

原创 Python Logging 配置了 filename 却没有生成日志文件的原因与解决方法

摘要:Python中使用logging.basicConfig()配置日志时,可能出现未生成日志文件且无报错的问题。原因是basicConfig()仅在root logger无handler时生效,而第三方库可能已自动添加了handler(如StreamHandler)。解决方法:1) 调用前手动清理现有handler;2) 更推荐直接手动配置FileHandler,避免依赖basicConfig()的"单次生效"机制。后者可控性更高,适合生产环境。

2025-08-28 11:59:30 928

原创 Linux 国内镜像源配置指南(命令式)

【摘要】本文介绍了国内常用软件源的配置方法,可显著提升各类工具下载速度。主要内容包括:1) Ubuntu/Debian系统apt源替换为清华/阿里云镜像;2) Python pip设置清华/中科大镜像源;3) Docker配置国内镜像加速;4) HuggingFace模型下载代理设置;5) 提供一键切换脚本模板。所有配置均包含详细命令和备份说明,并支持主流国内镜像源,适用于开发者优化工作环境。

2025-08-27 21:16:57 624

原创 OmegaConf :强大、灵活的ML/深度学习项目配置管理工具

OmegaConf是一个Python 配置管理库,最初由 Facebook AI Research 的Hydra项目推动并使用。它的核心目标是:提供一个结构化、安全、灵活的配置系统支持从YAML/字典/命令行/环境变量/对象等来源加载配置允许分层合并配置(composition)支持插值(interpolation),配置值之间可以相互引用能够与等强类型工具无缝结合OmegaConf 常作为Hydra的底层配置引擎,但它本身也可以独立使用。

2025-08-23 17:58:07 1224

原创 大模型分布式训练deepspeed环境搭建

DeepSpeed是由微软开发的开源深度学习优化库,专注于提升大规模模型训练的效率和可扩展性。其核心技术是零冗余优化器(ZeRO),通过分阶段优化模型参数、梯度和优化器状态,显著降低显存占用。ZeRO提供3个主要优化级别:ZeRO-1优化优化器状态,ZeRO-2增加梯度分割,ZeRO-3进一步分割模型参数,内存节省与GPU数量成正比。DeepSpeed还支持CPU卸载、混合精度训练等功能,通过简单的配置文件即可实现不同级别的优化。

2025-06-24 20:03:38 1351

原创 Transformers及训练框架介绍

Hugging Face Transformers是一个为PyTorch、TensorFlow和JAX设计的先进机器学习工具库。它提供了简单易用的API,可下载和微调各种预训练模型(如BERT),支持自然语言处理、计算机视觉等多模态任务。安装方式可通过pip或conda进行,使用流程包括数据加载、模型微调、训练和评估等步骤。该库支持多种并行训练技术(如DDP、DeepSpeed)和参数高效微调算法(如LoRA)。核心类包括Dataset(高效数据处理)、PretrainedModel(模型基类)和Train

2025-06-23 19:59:40 1196

原创 RLHF vs. SFT 小记

RLHF与SFT协同优化模型输出的关键作用:RLHF主要通过人类反馈优化模型输出的表达方式、安全性和价值观对齐,而非直接提升准确性。它能改善"正确但冗余"的回答,但无法解决模型知识盲区。SFT则通过监督学习建立任务适应性,帮助模型从通用语言生成转向特定任务的高质量输出。二者形成互补关系:通常先通过SFT建立基础能力,再用RLHF优化表达。当模型完全缺乏领域知识时需先进行SFT或预训练,而输出风格优化则可直接应用RLHF。两种方法各具局限性,需根据具体需求配合使用。

2025-06-20 18:40:02 327

原创 python进程池、线程池的简单用法示例

本文介绍了Python中进程池(ProcessPoolExecutor)和线程池(ThreadPoolExecutor)的使用方法及区别。进程池适用于CPU密集型任务,需要函数和数据可序列化;线程池适用于I/O密集型任务,支持共享内存。文章通过代码示例展示了两种池的submit和as_completed用法,并详细对比了它们的特性差异,包括序列化要求、类方法调用等限制。此外,还提出了解决进程池类内函数无法序列化的方案,并推荐在高并发场景下采用多进程+协程的最佳实践。

2025-06-20 18:32:37 446

原创 大模型Prompt、提示工程和微调

密度链模式Prompt是Salesforce、麻省理工学院和哥伦比亚大学的研究人员推出的一种新提示(GOT),它非常的高效,使用递归来创建越来越好的输出的提示,与普通提示生成的 GPT-4 摘要相比,它生成的摘要更加密集且更适合人们理解。N-Narrowing(Constraints):缩小范围(约束条件),和RTF框架中的Format有异曲同工之妙,一个是格式的约束,而这里的约束可以是任意方面,比如回答的内容(特定领域)、字数限制等等方面。T-Task(任务):任务,告诉大模型需要为我们做的事情。

2025-06-19 16:36:20 1226

原创 大模型位置编码

本文对比分析了两种Transformer位置编码方法。绝对位置编码通过正余弦函数为每个位置生成固定向量,其低频和高频分量分别表示粗/细粒度位置信息,具有处理任意长度序列的优势。旋转位置编码(RoPE)通过复数旋转变换将位置信息注入注意力计算,自然编码相对位置,被LLaMA等现代大模型采用。两者各有特点:正余弦编码实现简单但缺乏灵活性;RoPE性能优异但实现复杂,需要额外技术处理超长序列。位置编码机制的选择需权衡模型需求与实现复杂度。

2025-06-19 16:08:45 409

原创 Rejection Sampling(拒绝采样)概念介绍

因为均匀分布 ( U(0,1) ) 的性质:任意一个区间 ([0, a]) 的概率正好是 ( a )。所以:如果 ( u < \frac{p(x)}{M q(x)} ),那么每次 ( x ) 被接受的概率就是 ( \frac{p(x)}{M q(x)} )。这样,所有 ( x ) 的被接受概率就和 ( p(x) ) 成正比了。用均匀随机数,是为了公平地实现“以某个概率保留样本”。这样做,才能让最终被接受的样本分布和目标分布一致。

2025-06-19 15:57:15 834

原创 DeepSeek-V3 技术报告相关技术点介绍

Token-to-Latent Attention(输入序列通过注意力机制与潜在变量交互,将信息聚合到潜在空间):Z = Attention(L,X,X), X为输入序列,L为潜在变量,Z为聚合后的潜在表示。多头潜在注意力,在每个注意力头中引入了“潜在变量”或“隐空间”,使模型能够从更抽象、更高层次的角度理解和建模输入数据的关系。Latent-to-Token Attention(再通过注意力机制,将潜在变量中的信息反馈给原始序列,实现全局信息的传递):Y=Attention(X,Z,Z),Y为最终输出。

2025-06-19 15:48:08 443

原创 PEFT(参数高效微调方法:LoRA、QLoRA、soft prompt、IA3)

LoRA和QLoRA是当前主流的高效微调技术,其中QLoRA通过4-bit量化主模型参数进一步降低显存需求。二者均采用低秩矩阵作为可训练模块,适用于不同显存条件下的模型微调。PEFT库支持包括LoRA、PrefixTuning等多种高效方法。软提示作为可优化的嵌入参数,相比人工硬提示更具灵活性但缺乏可解释性。IA3技术通过在Transformer层引入可学习缩放向量,显著减少训练参数且不影响推理速度,被广泛应用于参数高效微调场景。相关实现可参考微软和huggingface的开源项目。

2025-06-19 15:39:51 418

空空如也

空空如也

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

TA关注的人

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