- 博客(27)
- 收藏
- 关注
原创 【AI】LoRA微调全面解析:从原理到实战的完整指南
LoRA微调技术解析:高效适配大模型的实用指南 LoRA(低秩自适应)是一种参数高效的大模型微调方法,通过冻结原始模型权重、仅训练小型适配器模块,显著降低计算资源需求。其核心原理是将权重变化矩阵分解为两个低秩矩阵的乘积,使参数量减少1-2个数量级。关键超参数秩r的选择需平衡任务复杂度(简单任务r=4-8,复杂任务r=16-32)和数据量(少量数据用小秩防过拟合)。实战中,LoRA优势显著:消费级显卡即可完成7B模型微调,适配器文件仅MB级,支持零延迟合并部署。相比全量微调,LoRA能避免灾难性遗忘,保留模型
2025-11-08 00:13:18
907
原创 【AI】模型为何要量化?LoRA 是什么?QLoRA 如何实现极致压缩?
《大模型时代的量化与微调技术:QLoRA的突破与实现》 文章摘要: 本文深入探讨大语言模型(LLM)在实际应用中的落地挑战与解决方案。随着模型参数规模膨胀至数十亿甚至数千亿,传统全参数微调方法面临严峻的硬件资源限制。为解决这一难题,研究社区提出了模型量化和参数高效微调(PEFT)两条路径。其中,QLoRA技术通过4-bit量化、分块处理、双重量化等创新方法,首次实现在24GB显存的消费级GPU上微调65B参数的大模型。文章系统分析了量化的必要性、LoRA的低秩分解原理,以及QLoRA如何解决传统量化中的精度
2025-10-30 12:20:54
932
原创 【AI】为什么 Transformer 用“位置编码 + 词向量”,而不是相乘或拼接?
Transformer架构中位置编码(PE)采用"相加"而非其他方式融合词向量的原因可概括为:1)保持语义与位置信息的可分离性;2)不破坏词向量原有分布;3)天然兼容注意力计算;4)计算高效;5)经过实践验证。其本质是注入位置信息而不干扰语义表示,这一设计理念在RoPE等现代编码方案中得以延续。对于RAG开发者而言,理解PE原理有助于优化文档切分、检索和生成效果。
2025-10-29 12:17:17
541
原创 【AI】 同一个路径,为何既能加载分词器又能加载模型?——揭秘 Hugging Face 模型的文件结构
Hugging Face的预训练模型并非单一文件,而是一个包含多个文件的"资源包"。分词器(AutoTokenizer)主要加载词汇表(vocab.txt)和分词配置,负责文本切分;模型(AutoModel)则加载网络结构(config.json)和权重(pytorch_model.bin),负责语义计算。这种模块化设计使得tokenizer和model能共享同一路径而互不干扰,支持灵活组合与扩展。通过查看模型目录结构和文件内容,用户可以清晰理解这种分工机制,从而更高效地使用和自定义预训
2025-10-20 21:14:21
459
原创 【AI】为什么大模型会“听话”?揭秘 LangChain 输出解析器的底层逻辑
本文探讨了LangChain中format_instructions如何确保大模型输出规范列表的机制。通过实战案例展示了使用CommaSeparatedListOutputParser将通义千问模型输出自动解析为Python列表的过程。关键发现是:模型通过指令微调阶段学习到"逗号分隔列表"的响应模式,而非内置规则。英文指令"Your response should be..."作为高概率触发词,配合LangChain的契约式设计,确保输出可解析性。
2025-10-09 22:26:44
532
原创 【AI】深入 LangChain 生态:核心包架构解析
LangChain 0.2+版本进行了架构重构,从单体包拆分为模块化设计。核心包包括:langchain-core(基础接口和协议)、langchain-community(第三方集成)、langchain-openai(OpenAI专用接口)等。其中langchain-core是所有组件的基础,langchain-community提供各种工具和数据库支持,langchain-openai专注OpenAI模型调用。而原langchain包变为聚合包,自动安装多个常用组件,适合快速开发但不推荐生产环境。
2025-10-07 23:01:25
1352
原创 load_dotenv() 加载环境变量
load_dotenv()是python-dotenv库提供的函数,用于将.env文件中的配置加载到系统环境变量中。它会解析.env文件中KEY=VALUE格式的内容,并将其写入os.environ字典,使得后续代码可以通过os.getenv()访问这些配置。使用时需注意文件路径、变量拼写和.gitignore设置,避免密钥泄露。该功能特别适合开发环境,可以替代手动设置环境变量,但生产环境建议使用系统级环境变量。
2025-10-07 21:42:49
411
原创 【AI】详解BERT的输出张量pooler_output
本文介绍了BERT模型中pooler_output的作用及其应用。pooler_output是[CLS]标记经过全连接层和tanh激活后的输出,作为整个句子的语义表示(768维向量),特别适合分类任务。文中通过情感分析案例,展示了如何使用pooler_output构建分类器:将文本输入BERT模型后,提取pooler_output作为特征,再接入简单分类层即可。pooler_output的优势在于它通过Self-Attention机制聚合了全句信息,并经过NSP任务预训练,具备良好的语义表达能力,使其成为文
2025-09-27 22:45:15
1220
原创 【AI - nlp】Tokenizer简介及常见编码方式
Tokenizer是自然语言处理的核心组件,负责将文本转换为模型可处理的数字序列。主流方法包括Word-level、Character-level和Subword-level分词,其中Subword(BPE、WordPiece等)能平衡词汇表大小与未登录词问题。Tokenizer在BERT、GPT等模型中应用广泛,处理特殊标记、输入格式等关键环节。现代NLP任务中,Tokenizer通过encode_plus或直接调用方式实现批量处理,支持padding、truncation等功能。随着技术发展,Token
2025-09-25 22:52:37
1112
原创 【AI】pickle模块常见用途
Python的pickle模块主要用于对象的序列化和反序列化,能够将Python对象保存到文件并在需要时还原。其主要用途包括:保存机器学习模型、预处理工具、大数据处理结果、实验配置和跨进程传递对象。pickle支持几乎所有Python对象,但存在安全性风险、仅限Python使用、版本兼容性等问题。相比JSON,pickle能处理更复杂的数据类型但不可跨语言。建议用于模型保存和数据处理,但避免用于生产环境部署和加载未知文件。pickle就像Python的"时光机",能冻结并还原对象状态。
2025-09-12 21:51:42
850
原创 【AI - nlp】Transformer输入部分要点
Transformer输入部分的三个关键细节:1)词嵌入乘以√d_model以平衡词向量和位置编码的幅度,防止位置编码淹没语义信息;2)使用register_buffer注册位置编码,使其随模型保存但不参与训练;3)相加时用[:,:x.size(1)]动态截取位置编码,适配不同长度的输入序列。这些机制共同确保输入信息(语义+位置)的有效融合和稳定训练。
2025-09-02 23:09:28
1031
原创 【前端】基础 - HTML基础标签和样式设置
本文介绍了HTML中常见的文本样式与布局标签,包括已弃用的font标签(设置字体、大小、颜色)、hr水平线(控制高度、宽度和颜色)、语义标签strong和em(强调文本)、ruby注音标记(中文拼音标注)、blockquote引用(段落缩进)以及h4-h6标题标签。同时指出font标签在HTML5中已被CSS替代,并提供了使用现代CSS实现相同效果的改进建议,如通过class定义字体样式、用CSS控制水平线样式等。文章还涵盖了HTML注释的用法,强调语义化标签对可访问性和SEO的重要性。
2025-07-02 22:31:03
374
原创 【Python】进阶 - 数据结构与算法
本文系统介绍了数据结构与算法的核心概念,分为三大部分: 1️⃣ 算法分析:详细讲解时间/空间复杂度,涵盖O(1)到O(2ⁿ)不同阶的示例(如二分查找O(logn)、冒泡排序O(n²)等),对比最坏/平均情况。 2️⃣ 线性结构:解析数组、链表(单/双向)、栈和队列的实现,用Python代码演示操作(如链表节点删除、栈的LIFO特性)。 3️⃣ 非线性结构:重点讲解树(二叉树/二叉搜索树/完全二叉树)、堆(最大/最小堆)和图(邻接表表示),包含前中后序遍历、堆的heappush/heappop操作等实战代码。
2025-07-02 22:26:39
1919
原创 【前端】基础 - 文本格式化标签
摘要:这段HTML代码展示了文本修饰标签的使用示例,包含标题、水平线、段落及各类语义化文本标签(如strong、em、del、ins等)。注释部分详细对比了推荐与不推荐的样式标签,强调语义化标签对SEO和无障碍访问的优势。代码同时呈现了上/下标、大小字体等格式化效果。虽然结构清晰,但部分属性(如align)已不符合现代开发规范,建议改用CSS控制样式。整体适合作为HTML基础教学案例,体现了内容与样式分离的设计理念。(149字)
2025-06-30 18:26:31
530
原创 【Python】进阶 - 生成器、正则表达式
本文摘要: Python生成器与正则表达式详解 生成器部分: 生成器通过yield或生成器表达式创建,按需生成值,节省内存 特点包括惰性求值、适合处理大数据流 包含生成器推导式和yield生成器两种创建方式 对比列表推导式,生成器在内存使用上更具优势 正则表达式部分: 介绍re模块的match/search/findall等核心方法 详解正则表达式符号:字符匹配、量词、锚点等 重点说明分组功能:捕获组、非捕获组、命名组 包含反向引用等高级特性 全文通过代码示例详细说明各类语法,对比分析不同方法的适用场景,是
2025-06-30 18:06:10
1159
原创 【Python】进阶 - 网络编程(TCP开发基础、进程和线程)
本文摘要: Python网络编程与并发编程指南,涵盖TCP/IP协议栈、进程和线程的核心概念。主要内容包括:1)网络编程三要素(IP地址、端口号、协议)及socket类使用;2)TCP客户端/服务器开发流程与代码示例;3)进程与线程的对比分析,重点介绍multiprocessing和threading模块的使用;4) 进程间内存隔离特性与线程共享全局变量的区别;5) 守护进程/线程的设置方法。文章通过代码示例详细演示了网络通信和并发编程的实现方式,并分析了不同场景下的适用方案(CPU密集型推荐多进程,IO密
2025-06-29 22:41:15
912
1
原创 【前端】基础 - meta标签
定义网页的元数据(metadata),也就是描述网页本身的信息。这些信息不会直接显示在页面上,但对浏览器、搜索引擎和服务器等有重要作用。,比如字符集、刷新时间、作者信息、SEO关键词等。是 HTML 的一个。,用来提供关于网页的。
2025-06-27 17:42:03
158
原创 【Python】进阶 - 闭包、装饰器、深浅拷贝
本文摘要: Python闭包与装饰器深度解析 主要内容: 闭包详解:通过外部函数嵌套内部函数,实现变量生命周期延长,包含nonlocal关键字用法 装饰器原理:本质是闭包,支持无参/有参函数装饰,详解通用装饰器语法和多个装饰器执行顺序 深浅拷贝对比:分析单层结构和嵌套结构的拷贝差异,浅拷贝仅复制外层引用,深拷贝递归复制所有层级 特色亮点: 包含大量代码示例,展示装饰器在登录验证、性能测试等场景的应用,以及带参数的装饰器实现技巧。
2025-06-27 17:16:16
909
原创 【Python】进阶 - 面向对象(详细)
本文介绍了面向对象编程(OOP)的核心概念及其在Python中的实现。主要内容包括:1. 面向对象基础:类与对象的定义、属性和方法的创建、self关键字的使用以及__init__、__str__等魔术方法;2. 三大特性:封装(私有属性和方法)、继承(单继承和多继承)和多态(同一接口不同实现);3. 其他特性:类属性、类方法和静态方法的定义与使用。文中通过学生类等示例演示了如何定义类、创建对象以及实现继承等OOP特性,为Python面向对象编程提供了实用指导。
2025-06-25 14:51:06
1188
原创 【Python】基础 - 文件、异常、模块、PyMySQL
本文介绍了Python文件操作、异常处理、模块导入和PyMySQL数据库连接的基础知识。文件操作部分讲解了读写模式、路径表示方法和with语句自动管理资源;异常处理演示了try-except-else-finally完整语法;模块导入介绍了多种导入方式和自定义模块开发规范;PyMySQL部分展示了连接数据库、执行SQL查询和事务提交的完整流程。内容涵盖Python编程中文件I/O、错误处理、模块化开发和数据库交互等核心知识点,适合Python初学者系统学习。
2025-06-22 20:06:38
1137
原创 【Python】基础 - 推导式、函数
本文介绍了Python中公共运算符、推导式、函数以及拆包组包等核心知识点。主要内容包括:1.公共运算符(+、*、in等)和函数(len、type等)的使用;2.列表、集合和字典推导式的简洁写法;3.函数的定义、参数类型、作用域及递归调用;4.拆包组包操作对容器类型的处理。这些内容涵盖了Python编程中的基础且重要的概念,有助于提高代码的简洁性和可维护性。掌握这些知识点将为后续学习面向对象编程等更高级内容打下坚实基础。
2025-06-21 15:48:16
1318
原创 【Python】基础 - 循环、容器类型
本文回顾了Python基础中的循环结构和容器类型。在循环部分,详细讲解了while和for两种循环的语法及控制语句(break/continue),并通过实例演示了循环嵌套的应用。容器类型部分系统地介绍了字符串、列表、元组、集合和字典五大容器:字符串重点讲解切片操作和常用方法;列表详细说明增删改查操作;元组强调其不可变性;集合突出元素唯一性特点;字典着重键值对操作。每种容器类型都配有清晰的语法说明和实用案例,帮助理解不同类型的特点和使用场景。文章通过大量代码示例使抽象概念具体化,是Python基础知识的实用
2025-06-20 19:15:31
1025
原创 【Python】基础知识(详细)
本文介绍了Python编程语言的基础知识与入门指南。主要内容包括:1. Python简介:作为当前最受欢迎的编程语言,Python以简洁语法、丰富库支持和跨平台特性著称,特别适合AI开发领域。2. 开发环境搭建:详细讲解了Anaconda和PyCharm的安装配置方法。3. 基础语法:涵盖了变量定义、数据类型、输入输出、运算符使用等核心概念。4. 条件语句:通过实例演示了if-elif-else结构的多种应用方式。文章以新手友好为导向,提供了从环境配置到基础编程的完整学习路径,适合Python初学者快速入门
2025-06-19 17:56:27
826
原创 MySQL基础DQL(单表查询、多表查询)
本文详细介绍了数据查询语言(DQL)的基本语法和进阶技巧。主要内容包括:单表查询(简单查询、条件查询、排序、聚合函数、分组、分页);多表查询(交叉连接、内连接、外连接);自关联查询;子查询(作为条件、数据源、查询字段)。文章通过商品和分类数据库的示例演示了各种查询方式,特别强调了SQL语句的书写和执行顺序差异。同时还简要说明了外键约束的作用和使用方法,为数据库查询操作提供了全面的技术指导。
2025-06-18 20:31:04
865
原创 MySQL数据库基础
本文介绍了数据库基础及SQL语言的核心内容。主要内容包括:1)数据库概述:解析关系型和非关系型数据库的特点与区别;2)SQL语言分类:DDL(数据定义)、DML(数据操作)、DQL(数据查询)、DCL(数据控制);3)DDL操作详解:数据库/表的创建、修改、删除;4)常用数据类型:varchar、int、date等;5)DML操作:记录的增删改查;6)约束条件:主键、自增、非空等约束的使用方法。文章为后续深入学习SQL查询(DQL)打下基础。
2025-06-17 20:11:11
771
原创 AI开发者基础必备知识:Linux常用基础命令
本文介绍了Linux常用命令的基本用法,重点讲解了目录结构、基础命令(cd/pwd/ls/clear)、文件操作命令(mkdir/touch/cat/more/less/cp/mv/rm)、搜索命令(grep/find)、压缩解压命令(tar/zip)以及vi编辑器使用。文章旨在帮助初学者快速掌握Linux系统的基本操作,以便更好地管理互联网项目。所有命令都配有参数说明和使用示例,特别适合Windows用户通过VMware虚拟机学习Linux环境下的操作。
2025-06-16 21:42:11
717
原创 浅拷贝和深拷贝的区别
简单来说浅拷贝就是只拷贝地址,而深拷贝会拷贝所有属性,如果属性值是对象或数组时,也会对这些对象或数组进行拷贝,我们一般使用函数的递归来实现。
2023-07-30 00:02:41
113
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅