- 博客(48)
- 收藏
- 关注
原创 【一起来学AI大模型】部署优化推理加速:TensorRT-LLM
TensorRT-LLM 是 NVIDIA 推出的,通过极致硬件优化实现,成为企业生产环境部署的黄金标准。
2025-07-13 21:24:35
1118
原创 【一起来学AI大模型】部署优化推理加速:vLLM
vLLM框架通过创新的PagedAttention技术,将KV缓存分块管理,解决了大模型推理中的内存碎片问题,实现了24倍吞吐量提升和毫秒级延迟。该框架支持连续批处理、零拷贝共享和分布式推理优化,在长文本生成、高并发API等场景表现优异,实测显示70B模型显存占用降低2.7倍。生产部署方案包括OpenAI兼容API、AWQ量化集成和多GPU动态路由,使7B模型可在8GB显存运行。企业案例显示其可将服务成本降低83%,已成为大模型推理的事实标准。
2025-07-13 19:48:05
1109
原创 【一起来学AI大模型】RAG系统流程:查询→向量化→检索→生成
RAG系统通过四步流程实现知识增强:1)用户查询输入;2)使用嵌入模型将查询向量化;3)从向量数据库中检索最相关的文本片段;4)结合上下文生成最终答案。关键优势在于动态获取最新知识、答案可溯源及成本可控。典型技术栈包括LangChain、ChromaDB和LLM(如GPT-4),通过精准控制各环节,RAG在知识密集型任务中表现优于纯LLM方案。主要挑战包括向量化失真、检索相关性和生成幻觉等问题。
2025-07-12 21:12:09
681
原创 【一起来学AI大模型】RAG系统组件:检索器(LangChain)
摘要: 检索器(Retriever)是RAG系统的核心组件,负责从知识库中检索与用户查询相关的信息。LangChain框架提供了模块化的检索器实现,包括基础向量检索器(VectorStoreRetriever)、多路融合检索器(EnsembleRetriever)、智能解析查询的自查询检索器(SelfQueryRetriever)以及优化结果的上下文压缩检索器(ContextualCompressionRetriever)。这些检索器支持灵活配置(如搜索算法、元数据过滤等),并与向量数据库(如ChromaD
2025-07-12 19:30:18
1401
原创 【一起来学AI大模型】微调技术:LoRA(Low-Rank Adaptation) 的实战应用
LoRA(低秩适应)是一种高效微调大型语言模型的技术,通过低秩矩阵分解大幅降低计算资源需求。文章详细介绍了使用HuggingFace的peft库实现LoRA微调的完整流程:1)环境准备与库安装;2)加载基础模型和分词器(支持全精度/4-bit量化);3)配置LoRA参数(关键设置包括秩r、alpha系数和目标模块);4)创建PEFT模型;5)准备数据集;6)设置训练参数;7)使用Trainer进行训练;8)模型保存与加载。文章还提供了参数调优建议、资源优化技巧和注意事项,强调LoRA在保持模型性能的同时显著
2025-07-11 15:42:19
1284
原创 【一起来学AI大模型】微调技术:全量微调流程
摘要: 全量微调是调整大型语言模型(如GPT、LLaMA)所有参数以适应特定任务的基础方法,通常需高性能计算资源。流程包括:明确任务目标、数据收集与预处理、选择预训练模型、配置分布式训练环境、设置超参数(如学习率、批次大小),并进行训练与验证。全量微调虽能最大化任务性能,但面临计算成本高、灾难性遗忘和过拟合等挑战。适用于资源充足、数据量大且任务复杂的场景。替代方案如LoRA、Adapter等参数高效微调技术更适用于资源有限情况。全量微调仍是追求最优性能时的关键方法。
2025-07-11 14:05:41
838
原创 【一起来学AI大模型】LLM预训练:CLM目标
摘要:因果语言建模(CLM)是驱动GPT等大模型的核心预训练技术,通过自回归方式预测下一个词。其关键特征包括:使用Transformer解码器架构、因果掩码确保单向上下文、基于交叉熵损失优化。CLM优势在于自然契合文本生成任务,能学习长期语言依赖,但存在推理延迟和错误传播等挑战。与双向的掩码语言建模(MLM)相比,CLM更擅长生成任务。该技术通过自回归采样实现文本生成,成为GPT系列等生成型大模型的基础,与MLM共同构成现代语言模型的两大训练范式。
2025-07-10 15:11:49
964
原创 【一起来学AI大模型】LLM核心预训练:MLM
摘要:掩码语言建模(MLM)是BERT等模型的核心预训练技术,通过随机掩盖15%的文本token(80%用[MASK],10%随机替换,10%保留原词),训练模型利用双向上下文预测被掩盖内容。MLM的创新在于允许模型同时观察左右上下文,学习深层语义关系,实现自监督学习。其优势包括高效的双向表征能力、自监督训练方式,以及为下游任务提供优质基础模型。尽管存在预训练与微调不一致等问题,MLM仍是现代NLP的重要基石,推动了预训练-微调范式的发展。
2025-07-10 14:05:38
639
原创 【一起来学AI大模型】Transformer架构Self-Attention
Self-Attention是Transformer架构的核心创新,通过Query-Key-Value机制实现序列元素的全局交互。每个元素通过计算与其他元素的注意力分数,动态聚合上下文信息,解决了RNN/LSTM的长距离依赖和并行化问题。多头注意力机制扩展了模型的表达能力。该机制支持完全并行计算,能动态分配权重,并具有一定可解释性,为BERT、GPT等大模型奠定了基础,是处理序列数据的突破性技术。
2025-07-09 15:33:38
1171
原创 【一起来学AI大模型】PyTorch DataLoader 实战指南
本文详细介绍了PyTorch中DataLoader的使用方法,包括基础用法、高级功能和性能优化技巧。主要内容包括:1)创建自定义数据集和基础DataLoader;2)处理图像和文本数据集的示例;3)并行加载、数据预取和内存映射等优化方法;4)分布式数据加载策略;5)数据增强技术;6)常见问题解决方案。文章还总结了批大小选择、worker数量设置、内存优化等最佳实践,帮助开发者充分利用硬件资源,提高模型训练效率。
2025-07-09 14:47:46
508
原创 【一起来学AI大模型】PyTorch 实战示例:使用 BatchNorm 处理张量(Tensor)
本文通过PyTorch在CIFAR-10数据集上的实现,详细演示了BatchNorm在CNN中的关键应用。主要内容包括:1)数据标准化预处理;2)构建含BatchNorm2d/1d层的CNN模型;3)训练/测试模式切换机制(model.train()/eval());4)BN层参数解读(running_mean/running_var);5)常见错误解决方案(如小batch处理)。实验显示,使用BatchNorm可将准确率提升8.5%,显著加快收敛速度。特别强调BN在训练时使用batch统计,推理时切换为全
2025-07-08 15:38:27
548
原创 【一起来学AI大模型】Dropout 正则化:深度学习的抗过拟合利器
摘要:Dropout是一种有效的神经网络正则化技术,通过在训练过程中随机丢弃神经元(通常概率为0.3-0.5)来防止过拟合。其核心原理包括打破神经元共适应、实现模型集成效果和注入噪声增强鲁棒性。PyTorch实现时需区分训练(启用Dropout)和测试(关闭Dropout)模式。最佳实践建议在全连接层使用较高丢弃率(0.3-0.7),卷积层用较低率(0.1-0.3),并与BatchNorm配合使用。变体如SpatialDropout和DropBlock更适合卷积网络。虽然会增加训练时间,但Dropout能显
2025-07-08 14:15:27
977
原创 【一起来学AI大模型】卷积神经网络(CNN):视觉识别的革命性架构
摘要:卷积神经网络(CNN)是受生物视觉启发、专门处理网格数据的深度学习架构,其核心创新包括局部感受野、权值共享和下采样机制。CNN由卷积层、激活函数、池化层和全连接层组成,经典架构从LeNet-5到ResNet不断演进。现代CNN创新技术包括注意力机制、深度可分离卷积和神经架构搜索。CNN广泛应用于图像分类、目标检测等领域,并通过数据增强、正则化和迁移学习进行优化。当前CNN正与Transformer融合形成混合架构,仍然是计算机视觉领域的重要基础。
2025-07-07 16:05:15
753
原创 【一起来学AI大模型】支持向量机(SVM):核心算法深度解析
SVM是一种监督学习算法,通过寻找最优超平面进行分类或回归。核心思想是最大化数据间隔,支持核技巧处理非线性问题。数学上优化间隔边界,Python实现包括梯度下降优化。Scikit-learn提供SVC/SVR,需数据标准化和参数调优(C、gamma、核函数)。RBF核常用,大规模数据可用LinearSVC或核近似。SVM适用于高维数据但训练较慢,需权衡优缺点。典型应用包括图像识别、文本分类等,在小样本高维问题中表现优异。
2025-07-07 13:59:32
782
原创 【一起来学AI大模型】数据处理核心:NumPy/Pandas/Matplotlib 精要指南
本文系统介绍了Python数据分析的核心工具链,涵盖NumPy科学计算(数组操作/向量化运算)、Pandas数据处理(清洗/转换/聚合)、Matplotlib/Seaborn可视化(基础图表/高级图表)三大模块。通过销售数据分析实战案例,展示了从数据准备到分析建模的完整流程,并提供了性能优化技巧(向量化/分块处理)和常见数据模式(时间序列/异常值处理)。最后给出分阶段学习建议:从基础操作到高级应用(如交互可视化/机器学习),推荐结合Kaggle真实数据集实践。掌握这些技术可高效完成90%的数据分析任务。
2025-07-06 20:36:37
328
原创 【一起来学AI大模型】算法核心:数组/哈希表/树/排序/动态规划(LeetCode精练)
本文总结了五大核心算法及其LeetCode经典题解,包含双指针/滑动窗口、哈希表应用、树形结构、排序算法和动态规划。针对每类算法给出了3道典型例题的最优解法和模板代码,如移动零(数组)、字母异位词分组(哈希)、二叉树最大深度(树)、快速排序和编辑距离(DP)。文章还提供了高效训练建议,包括每日专项、三遍刷题法和重点突破方向,强调掌握双指针、哈希空间换时间、递归三要素和DP状态转移等核心技巧。
2025-07-06 19:35:10
650
原创 【一起来学AI大模型】TortoiseSVN使用-权限配置
摘要:本文介绍了TortoiseSVN的权限配置方法,包括单一版本库和多版本库共享配置。在单一版本库配置中,需要修改svnserve.conf文件开启授权访问,并在passwd和authz文件中设置用户账号及权限。用户组和路径权限可以灵活设置,且权限具有继承性。在多版本库共享配置中,需将权限文件放在公共目录,并在各版本库配置文件中指向共享文件,然后为不同版本库分别设置用户权限。配置完成后,可实现精细化的版本库访问控制。
2025-07-04 15:07:31
326
原创 【一起来学AI大模型】TortoiseSVN使用-合并分支代码
本文通过TortoiseSVN的两种合并方式演示分支合并场景。主分支trunk_V01创建分支trunk_V02后分别开发:主分支新增trunk_V01_01.txt并修改text.txt,分支新增trunk_V02_01.txt并修改text.txt。测试发现:1)"合并版本范围"方式能保留两分支新增文件,仅需解决text.txt冲突;2)"合并不同树"方式若不设置主分支版本会丢失主分支新增文件,因为SVN只识别分支创建时的主分支状态;3)设置主分支版本后则效果与第
2025-07-04 13:58:19
887
原创 【一起来学AI大模型】本地部署的qwen3-8b模型和百炼上的qwen3-8b模型效果不一致
用户在使用FunctionCall时发现,百炼平台的Qwen3-8B模型与本地部署版本存在性能差异。本地模型(通过vLLM部署)在生成函数参数时频繁出现漏参或JSON格式错误,而百炼平台模型表现正常。用户怀疑两者版本可能不一致,询问百炼平台是否使用更高版本的Qwen3-8B模型。本地部署采用官方开源模型(Qwen/Qwen3-8B),并启用了推理和自动工具选择功能。该问题反映出模型在不同环境下的性能表现可能存在差异。
2025-07-03 15:15:04
162
原创 【一起来学AI大模型】Aipy实战:使用Deepseek-V3生成多协议弱口令爆破调度工具
Aipy多协议弱口令爆破调度系统是一款集成HTTP、SSH、MySQL等协议的图形化渗透测试工具,解决了传统单协议工具碎片化、管理低效等问题。系统提供动态资源调度、实时进度监控、智能账户锁定识别等功能,支持自定义字典上传、并发数配置及HTML结果导出。通过统一界面管理多协议爆破任务,优化了传统工具切换中断、人工追踪等痛点,实现了弱口令检测的自动化与高效化。主要特性包括多协议集成、智能任务调度和可视化监控,为渗透测试提供系统性解决方案。
2025-07-03 13:57:08
412
原创 【一起来学AI大模型】Qwen2.5-7B-Instruct Lora 微调
摘要:本教程详细介绍了基于Transformers和PEFT框架对Qwen2.5-7B-Instruct模型进行LoRA微调的全过程。内容包括环境配置(推荐使用AutoDL平台镜像)、模型下载、指令集构建(以Chat-甄嬛项目为例)、数据格式化处理方法、半精度模型加载、LoRA参数配置(r=8, lora_alpha=32)以及训练参数设置(batch_size=4, 3个epoch)。教程还提供了完整的训练代码和推理示例,特别说明了如何加载LoRA权重进行个性化对话生成。配套的GitHub仓库提供了not
2025-07-02 15:41:06
843
原创 【一起来学AI大模型】通义千问API入门教程
《通义千问大模型API快速上手教程》摘要:本教程面向具备Python和Git基础的用户,指导如何快速接入通义千问大模型API进行应用开发。内容包含4个核心章节:从基础API调用(4行代码实现对话)、文档对比分析(如阿里云中英文站点文档差异)、工具调用原理到代码生成与执行。提供GitHub/AtomGit两种代码获取方式,通过requirements.txt一键安装依赖,聚焦实际工作场景中的效率提升,不涉及机器学习理论讲解。(149字)
2025-07-02 14:35:46
426
原创 【一起来学AI大模型】maven配置阿里云镜像源
配置阿里云Maven镜像源步骤:修改settings.xml文件,在mirrors标签中添加阿里云镜像配置(id为alimaven,url为https://maven.aliyun.com/repository/public),保存后即可使用阿里云镜像加速依赖库下载。
2025-07-01 14:00:33
218
原创 【一起来学AI大模型】在vscode中调用Deepseek进行AI辅助编程
摘要:本文介绍如何在VSCode中使用开源插件Continue配置Deepseek V3大模型的API接口,实现AI编程辅助功能。首先安装Continue插件,然后在Deepseek开放平台创建API密钥,修改Continue配置文件添加密钥。配置完成后即可使用对话问答、代码智能补全(通过Ctrl+I快捷键生成完整代码)等功能。Deepseek API接口性价比高,推理能力强,能有效提升编程效率。
2025-06-30 15:55:26
787
原创 【一起来学AI大模型】DeepSeek模型MOE结构代码详解
本文详细解析了MOE(Mixture of Experts)结构的工作原理及其实现代码。MOE通过将传统Transformer中的线性层替换为多个并行专家层,并引入路由机制选择部分专家进行计算,既扩展了模型容量又降低了计算成本。文章以代码实现为例,展示了专家选择、加权计算的过程,并解释了辅助损失函数(专家利用率均衡和样本分配均衡)的设计原理。通过具体数值示例,演示了路由网络如何为每个token分配专家,以及如何通过index_add_操作汇总计算结果。最后还分析了训练过程中平衡专家负载的两种损失机制,确保模
2025-06-30 14:51:41
1087
原创 鸿蒙OpenHarmony【Sendable对象冻结】 ArkTS并发线程间通信
Sendable对象支持冻结操作,冻结后的对象变成只读对象,不能增删改属性,因此在多个并发实例间访问均不需要加锁,可以通过调用[Object.freeze]接口冻结对象。
2025-06-29 16:45:03
444
原创 鸿蒙OpenHarmony【共享模块】 ArkTS并发线程间通信
共享模块摘要 共享模块是进程内单例模块,通过"use shared"指令标记。其特点包括: 进程全局唯一,不同线程共享同一实例 需与"use strict"一起写在文件顶部 仅支持ets文件,导出对象必须可共享 禁止直接导出模块和副作用导入 使用场景: 实现进程级单例模式 线程间共享数据 导出Sendable对象供多线程操作 示例展示了共享模块定义Singleton类,并在主线程和任务池线程中安全操作共享计数器的场景。
2025-06-29 15:31:53
553
原创 鸿蒙OpenHarmony【共享容器】 ArkTS并发线程间通信
ArkTS共享容器是用于并发任务间共享传输的高性能容器类,支持引用传递和拷贝传递两种方式。主要包含Array、Map、Set等类型,其接口行为与原生API存在部分差异,如构造时必须提供初始值、禁止遍历时修改元素等。使用时需注意线程安全问题,需配合异步锁机制防止数据竞争冲突。示例展示了如何在并发任务中安全地操作共享数组。
2025-06-28 21:35:42
1856
原创 鸿蒙OpenHarmony【ASON解析与生成】 ArkTS并发线程间通信
ASON是类似JSON的工具,用于Sendable对象的序列化和反序列化。它提供ASON.stringify将对象转为字符串,ASON.parse将字符串转为Sendable对象,支持并发任务间的高性能传递。默认生成不可变布局的Sendable对象,若需可变可指定返回MAP类型。使用示例展示了基本操作方法,通过ArkTSUtils调用ASON接口实现对象与字符串间的转换。
2025-06-28 19:33:14
171
原创 鸿蒙OpenHarmony【异步锁】 ArkTS并发线程间通信
ArkTS引入异步锁机制解决多线程并发数据竞争问题。异步锁支持跨线程引用传递,仅提供非阻塞式锁以避免死锁风险,同时也能保证单线程内异步任务的时序一致性。使用示例展示了如何通过AsyncLock保护共享变量,确保线程安全操作。异步锁方法需标记为async,调用方需使用await确保正确时序。该机制有效解决了@Sendable共享对象在多线程环境下的同步问题。
2025-06-27 16:05:36
173
原创 鸿蒙OpenHarmony【Sendable使用规则与约束】 ArkTS并发线程间通信
摘要: 本文详细阐述了ArkTS中Sendable类型的继承与使用规范。主要规则包括:Sendable类只能继承Sendable类,非Sendable类不能继承Sendable类;成员变量必须为Sendable支持的类型,禁止使用非Sendable接口、!断言和计算属性名;泛型模板类型需为Sendable类型;禁止访问模块内非top-level变量;禁止使用非@Sendable装饰器;必须通过new创建实例,禁止字面量初始化;不支持Sendable与非Sendable类型强制转换;箭头函数不可标记为Send
2025-06-27 13:47:28
471
原创 鸿蒙OpenHarmony【Sendable对象冻结】 ArkTS并发线程间通信
Sendable对象支持冻结操作,冻结后的对象变成只读对象,不能增删改属性,因此在多个并发实例间访问均不需要加锁,可以通过调用[Object.freeze]接口冻结对象。
2025-06-26 15:14:12
382
原创 鸿蒙OpenHarmony【共享模块】 ArkTS并发线程间通信
共享模块是ArkTS中进程内仅加载一次的模块,用"use shared"指令声明。它可实现进程单例,不同线程间共享同一实例。使用时需注意:必须与"use strict"一起置于文件顶部;仅支持ets文件;导出变量须为可共享对象;不允许直接导出模块或side-effects-import。示例展示了如何创建共享模块导出Sendable对象,并在多线程中安全操作共享实例。共享模块适用于需要跨线程共享状态的场景,如计数器、锁管理等。
2025-06-26 13:59:16
406
原创 鸿蒙OpenHarmony【共享容器】 ArkTS并发线程间通信
ArkTS共享容器是一种用于并发任务间高性能数据传递的容器类,包括Array、Map、Set等类型,支持引用传递和拷贝传递两种方式。由于非线程安全,需配合异步锁机制使用,避免多线程并发修改导致异常。与原生API相比,ArkTS容器在构造函数、length属性设置以及元素操作等方面存在差异,例如必须提供初始值、禁止遍历过程中修改元素等。通过示例代码展示了如何使用异步锁安全地操作共享数组,并对比了ArkTS容器与原生API的行为区别。
2025-06-25 15:09:03
404
原创 鸿蒙OpenHarmony【ASON解析与生成】 ArkTS并发线程间通信
ASON工具解析与使用摘要 ASON类似于JSON工具,用于Sendable对象的序列化和反序列化。通过ASON.stringify将对象转为字符串,ASON.parse将字符串转为Sendable对象,支持并发任务间的高性能引用传递。默认生成的Sendable对象布局不可变,若需可变布局可指定返回类型为MAP,此时返回collections.Map对象支持属性增删。示例展示了如何使用ASON.parse和ASON.stringify进行对象转换操作。
2025-06-25 14:01:28
608
原创 鸿蒙OpenHarmony【异步锁】 ArkTS并发线程间通信
ArkTS异步锁机制简介 ArkTS为处理多线程并发任务中的数据竞争问题,提供了异步锁能力。该异步锁采用非阻塞式设计,可跨线程传递,既能解决多线程数据竞争,也能确保单线程内异步任务时序一致性。使用时需注意将方法标记为async并用await调用,示例展示了如何利用AsyncLock保护共享变量。相比阻塞锁,ArkTS异步锁设计更适应异步编程环境,有效避免死锁问题。
2025-06-24 15:11:11
251
原创 鸿蒙OpenHarmony【Sendable使用规则与约束】 ArkTS并发线程间通信
本文总结了Sendable类和非Sendable类在继承、实现、成员变量等方面的使用规范。主要内容包括: Sendable类只能继承自Sendable类; 非Sendable类只能继承自非Sendable类; 成员变量必须符合Sendable数据类型规范; 不支持使用!断言和计算属性名; 泛型类型必须是Sendable类型; 不能使用对象字面量初始化Sendable类型; 非Sendable类型不能强制转换为Sendable类型; 箭头函数不支持共享机制。 这些规范确保了Sendable类型在并发环境中的安
2025-06-24 14:07:07
465
原创 鸿蒙OpenHarmony【Sendable对象简介】 ArkTS并发线程间通信
在传统JS引擎上,对象的并发通信开销的优化方式只有一种,就是把实现下沉到Native侧,通过[Transferable对象]的转移或共享方式降低并发通信开销。而开发者仍然还有大量对象并发通信的诉求,这个问题在业界的JS引擎实现上并没有得到解决。
2025-06-23 15:19:15
712
原创 鸿蒙OpenHarmony【Transferable对象(NativeBinding对象)】 ArkTS并发线程间通信
摘要:Transferable对象(NativeBinding对象)是指JS对象绑定C++对象实现高效跨线程传输的类型,分为共享模式和转移模式。共享模式适用于线程安全的C++对象(如Context),只需重建JS壳即可复用C++对象;转移模式适用于非线程安全对象(如PixelMap),传输后原线程解除绑定。示例展示了如何在子线程创建PixelMap并通过setTransferDetached()转移到主线程使用,最后释放资源。该机制有效提升了跨线程通信性能。
2025-06-23 14:01:03
289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅