- 博客(298)
- 问答 (2)
- 收藏
- 关注
原创 为什么大语言模型推理要分成 Prefill 和 Decode?深入理解这两个阶段的真正意义
Prefill 阶段是语言模型推理中的第一个步骤,它负责处理你输入的所有上下文内容(prompt),为后续生成打下基础。“请解释一下 Transformer 的原理。这句话会被 tokenizer 编码为一串 token,比如["请", "解释", "一下", "Trans", "##former", "的", "原理", "。"]。然后这些 token 会进入 Transformer 模型进行前向传播。重点来了 👇。
2025-04-05 17:13:06
1071
原创 Masked Attention 在 LLM 训练中的作用与原理
这篇文章将帮助你理解 Masked Attention 的作用、实现方式,以及为什么它能确保当前 token 只依赖于过去的 token,而不会泄露未来的信息。如果没有 Masked Attention,模型在训练时可以“偷看”未来的 token,导致它学到的规律无法泛化到推理阶段,从而影响文本生成的效果。虽然 Q, K, V 都计算了,但 Masking 让未来 token 的注意力分数变为 0,确保计算出的 Attention 结果不包含未来信息。,模型会学习到“作弊”策略,直接利用未来信息进行预测。
2025-03-29 11:41:23
890
原创 KV Cache 详解:新手也能理解的 LLM 推理加速技巧
(Autoregressive)生成的,即每次生成一个 token,然后将其作为输入继续生成下一个 token。:如果序列太长,超过了 KV Cache 的存储限制,就需要丢弃最早的 tokens(类似滑动窗口)。时,每次只会生成一个新 token,然后再把这个 token 作为输入继续生成下一个 token。,只缓存计算过的 K,VK, V,每次只计算新 token 的 K,VK, V,从而提升推理效率。:如果输入的 prompt 发生变化,之前的 KV Cache 不能复用,必须重新计算。
2025-03-28 21:49:46
673
原创 NVIDIA GPU 系列简单介绍
NVIDIA 作为全球领先的 GPU 供应商,其产品广泛应用于人工智能 (AI)、高性能计算 (HPC)、游戏、工作站和嵌入式系统等领域。本文将详细介绍 NVIDIA 主要的 GPU 系列,包括其特点和应用场景。
2025-03-03 21:53:32
854
原创 为什么 NVIDIA 仍然在 AI 计算市场保持垄断
虽然 AMD GPU 和华为 Ascend NPU 确实可以运行大语言模型(LLM),但。这是因为 NVIDIA 在。
2025-02-26 17:11:04
920
原创 深入理解 DeepSeek MOE(Mixture of Experts)
DeepSeek MOE 是 DeepSeek 团队推出的基于 MOE 架构的模型,旨在通过稀疏专家选择提高大规模模型的计算效率,减少计算成本,同时提升推理和训练的灵活性。相比于传统 Transformer,MOE 框架的计算复杂度可以大幅下降,同时保持模型的高性能。DeepSeek MOE 通过稀疏激活、动态专家选择等策略,实现了高效的计算资源利用,适用于大规模语言模型、计算机视觉等任务。MOE 结构未来仍有很大的优化空间,将在 AI 领域发挥越来越重要的作用。
2025-02-07 22:09:20
3980
原创 理解知识蒸馏中的散度损失函数(KLDivergence/kldivloss )-以DeepSeek为例
知识蒸馏(Knowledge Distillation)是一种模型压缩技术,目标是让一个较小的模型(学生模型,Student Model)学习一个较大、性能更优的模型(教师模型,Teacher Model)的知识。这样,我们可以在保持较高准确率的同时,大幅减少计算和存储成本。
2025-02-02 12:57:42
2162
原创 DeepSeek 模型全览:探索不同类别的模型
DeepSeek 在 AI 领域的研究覆盖多个重要方向,包括 NLP、代码生成、多模态 AI、数学推理等。无论是开发者、研究人员还是 AI 爱好者,都可以从这些模型中找到适合自己需求的工具。未来,DeepSeek 可能会推出更多创新模型,让我们拭目以待!
2025-01-30 17:16:07
18273
原创 稀疏检索、密集检索与混合检索:概念、技术与应用
随着自然语言处理(NLP)技术的飞速发展,传统的稀疏检索方法逐渐面临着密集检索技术的挑战。本文将介绍稀疏检索、密集检索与混合检索的基本概念,比较它们的优缺点,并介绍实现这些检索方法时所需的技术。随着信息检索需求的不断发展,稀疏检索、密集检索和混合检索都在各自的应用领域中发挥着重要作用。混合检索是结合稀疏检索和密集检索的优点的一种检索方法。通常,混合检索会首先使用稀疏检索(如BM25)从大量文档中快速筛选出一部分候选文档,然后再使用密集检索(如BERT)对这些候选文档进行精确排序,确保获取到最相关的文档。
2025-01-19 22:11:35
1142
原创 了解 BM25:一种高效的文本检索算法
BM25 是一个经典且实用的文本检索算法,它不仅具备高效的性能,还可以轻松适配各种实际应用场景。如果你正在构建搜索或推荐系统,BM25 是一个值得探索的工具!虽然 BM25 在许多应用中表现优异,但它的缺点表明,单独使用 BM25 并不能完全满足现代信息检索需求。在实际项目中,常常需要将 BM25 与其他技术(如深度学习模型)结合使用,以弥补其在语义理解、上下文建模和动态适应性方面的不足。k_1bk_1b。
2025-01-17 22:08:15
3181
原创 Levenshtein 距离的原理与应用
Levenshtein 距离定义为两个字符串之间的最小编辑操作次数,使得一个字符串可以变为另一个字符串。插入一个字符;删除一个字符;替换一个字符。"kitten"和"sitting"的 Levenshtein 距离为 3,因为可以通过以下三步完成转换:替换'k'为's';替换'e'为'i';在末尾插入'g'。Levenshtein 距离是一种高效且实用的字符串相似度度量方法。通过动态规划算法实现,它在拼写纠错、模糊匹配和文本去重等领域得到了广泛应用。
2024-12-31 17:16:23
1237
3
原创 字符串模糊匹配-TheFuzz
TheFuzz是一个用于模糊字符串匹配的Python库。它基于Levenshtein距离算法,通过计算两个字符串之间的编辑距离(插入、删除和替换的最小操作次数),来衡量字符串的相似度。TheFuzz提供了丰富的API来帮助开发者快速实现模糊匹配功能。TheFuzz是一个功能强大且易于使用的模糊匹配库,无论是简单的字符串相似度计算,还是复杂的文本搜索任务,它都能提供很好的支持。如果你正在寻找一种高效的字符串匹配解决方案,不妨试试TheFuzz吧!
2024-12-31 16:00:13
543
原创 研究发现prompt模版会导致最大40%性能差距!
提示格式对模型性能的显著影响不同的提示格式(如纯文本、Markdown、JSON和YAML)会显著影响模型的性能。以代码翻译任务为例,GPT-3.5-turbo的性能在不同提示格式下存在高达40%的差异。这说明模型对输入格式非常敏感。任务类型与格式敏感性相关自然语言推理:对提示格式的敏感性较低,模型可以从各种格式中获得相似的结果。代码生成与翻译:对提示格式极为敏感,结构化格式(如JSON或YAML)往往能提升模型性能。较大模型更具鲁棒性。
2024-12-01 17:26:16
981
原创 基于imdb数据集的情感分析个人的所有博客汇总
深度学习-NLP]Imdb数据集情感分析之模型对比(贝叶斯, LSTM, GRU, TextCNN, Transformer, BERT)_中文情感分类lstm和textcnn效果对比-CSDN博客。
2024-10-06 16:33:48
420
原创 子词级别分词器(BPE)在IMDB数据集上训练情感分析模型
我们使用的是经典的aclImdb数据集,数据集下载参考这篇博客。这是一组二分类的电影评论文本,分别标记为正面(positive)和负面(negative)。数据集分为训练集和测试集,分别包含正面和负面的评论。我们首先将数据集读取进来,并做基本的处理。在这段代码中,我们遍历文件目录,读取文本文件,并为每个评论添加标签:1表示正面,0表示负面。分词器是文本处理的核心部分之一。我们使用tokenizers库中的BPE(字节对编码)分词器来对文本进行子词级别的分割。
2024-10-06 16:01:32
850
原创 Python 代码编写规范
本规范旨在为 Python 项目的代码编写提供一致性指南。它遵循 Python 社区的标准,并结合了通用的编程最佳实践。
2024-10-05 12:13:29
1751
原创 lora 理论篇
在深度学习中,特别是自然语言处理(NLP)领域,预训练语言模型(如GPT、BERT等)已经取得了显著的成果。然而,这些模型通常具有数亿甚至数百亿的参数,在进行特定任务的微调时,所需的计算资源和存储需求非常庞大。LoRA 的提出正是为了解决这一问题。
2024-09-01 22:26:53
1178
1
原创 使用LoRA对Llama3微调
使用LoRA(Low-Rank Adaptation of Large Language Models)技术对Llama-3语言模型进行微调。
2024-08-18 14:22:20
3525
9
原创 Huggingface 模型转换成gguf并且量化
Llama.cpp 是一种在 CPU 和 GPU 上高效运行大型语言模型(LLM)的好方法。不过,它的缺点是需要将模型转换为 Llama.cpp 支持的格式,目前这种格式是 GGUF 文件格式。在这篇博文中,你将学习如何将 HuggingFace 的模型(llama2 7b chat)转换为 GGUF 模型。
2024-08-10 23:21:52
1974
原创 [PyTorch] 多个代码例子阐述梯度计算过程
这个例子说明了 PyTorch 自动求导的工作原理,以及如何在机器学习模型中使用梯度进行优化。PyTorch 使计算梯度变得简单,从而有效地进行模型训练和参数调整。一个简单的线性回归问题,我们想拟合一条线来逼近一些数据点。函数来计算 yyy 对 xxx 的梯度。现在,我们使用 PyTorch 的。,其导数为:f′(x)=2x+2。
2024-07-28 17:10:59
655
原创 [Llama3] ReAct Prompt 测试实验
在网上搜索"Harry Styles age"。结果是:”29 years“利用计算器计算29 ^ 0.23。得到:2.169459462491557。然后我在网上查找一下Olivia Wilde's boyfriend.
2024-06-08 23:15:31
634
原创 llama2 , llama3, llama3.1 中提示(prompt)的模板
注意:换行符 (0x0A) 是提示格式的一部分,为了在示例中清晰起见,它们已表示为实际的新行。基本模型支持文本补全,因此任何未完成的用户提示(没有特殊标签)都会提示模型完成它。单个消息的具有可选的 system prompt。为了在示例中清晰起见,它们已表示为实际的新行。系统提示(prompt)是可选的。换行符 (0x0A) 是提示格式的一部分,该模型期望提示末尾的助手标题开始完成它。系统提示以及用户和助手之间的多轮对话。可在此处找到生成此提示格式的代码。可在此处找到生成此提示格式的代码。
2024-05-30 22:54:16
13317
原创 LLM提示工程的技巧
在上面的幼儿示例中,更有效的方法可能是为他们拿着的物品命名,带他们走到垃圾桶,向他们展示如何将其扔进去,然后庆祝成功。回到幼儿的例子——如果成人和孩子在一起的环境中,他们不希望孩子触摸附近的物体,因为这些物体易碎、肮脏或禁止进入,那么简单地指导孩子接触附近的物体并不是很有帮助或有效的。同样,通过提供“think step by step”的提示,模型被迫将解决方案分解为多个步骤,而不是仅仅抛出一个大的猜测。这是将事实纳入 LLM 申请的有效方法,并且比微调更经济,微调也可能对基础模型的功能产生负面影响。
2024-05-27 21:59:11
791
原创 AI Agent(人工智能体) 初步认识
规划(Planing)子目标和分解(Subgoal and decomposition):代理将大型任务分解为更小的、可管理的子目标,从而能够有效地处理复杂的任务。反思和完善(Reflection and refinement):智能体可以对过去的行为进行自我批评和自我反思,从错误中吸取教训,并针对未来的步骤进行完善,从而提高最终结果的质量。记忆 (Memory)短期记忆(Short-term memory):我认为所有的上下文学习(参见提示工程)都是利用模型的短期记忆来学习。
2024-05-19 12:10:04
901
原创 Circuitbreaker Resilience4j 替换Netflix Hystrix
Spring cloud 早已经不支持也不维护Netflix Hystrix了。但是项目中一直用openfeign, Feign里的fallback原来一直用Hystrix做熔断。怎么找到一个可以替换hystrix相同的东西呢?用CricuitBreaker Resilience4j可以完全替换。实现ErrorDecoder后不能控制能不能熔断。因为项目中如果是500的服务器端的异常,原来是不需要触发熔断。我们是自己写了一个CustomErrorDecoder.Feign的相关配置和代码保持不变。
2024-05-13 22:26:43
484
原创 llama2, llama3, llama3.1比较
Llama 3 刚刚在4月18号推出,距 Llama 2 发布正好 9 个月。它已经可以在 Meta 网站上进行聊天,可以从 Huggingface 以 safetensors 或 GGUF 格式下载。
2024-04-21 22:26:57
7161
原创 2023 E3 算法题第一题 (Difference Letter Count)
思路 1构建一个Map,Map的key是小写字母,Map的Value有三个值分别为0,1,2. 0 : 代表只有一个小写字母。1: 代表所有这个小写字母在大写字母之前。也就是正确的字母2: 至少一个大写字母在这个小写字母前面。也就是不正确的字母。写一个for 循环构建这个Map就可以了。代码 1
2024-04-14 16:06:54
880
原创 具有温度系数(Temperature)的Softmax函数
softmax 函数是一种激活函数,通常用作神经网络最后一层的输出函数。该函数是两个以上变量的逻辑函数的推广。Softmax 将实数向量作为输入,并将其归一化为概率分布。softmax函数的输出是与输入具有相同维度的向量,每个元素的范围为0到1。并且所有元素的总和等于1。
2024-04-06 16:43:22
4765
原创 传统机器学习、深度学习和生成模型的主要缺点以及可能的改进方法
综合以上,通过合适的技术和方法改进,可以缓解传统机器学习、深度学习和生成模型的各种缺点,提高其在实际应用中的效果和可靠性。:结合不同模态的信息,如文本、图像等,提高生成模型生成样本的多样性和真实性。:生成模型生成的样本可能存在噪声、模糊或不真实的问题,影响模型的应用效果。:一些复杂的生成模型,如GANs,通常需要大量的计算资源和时间来训练。:深度学习模型通常是黑盒模型,缺乏解释性,难以理解模型的决策过程。:利用对抗训练等技术,提高生成模型抗拟合能力,生成更真实的样本。
2024-04-01 15:43:53
2574
原创 Spring Cloud Gateway Server MVC
之前你如果要用spring cloud gateway ,就必须是webflux 的,也就是必须是异步响应式编程。不能和spring mvc 一起使用。现在spring cloud 新出了一个可以不用webflux的gateway。
2024-03-24 21:55:43
1254
原创 定时在windows上执行python脚本
现在,有两种方法来执行Python脚本。第一种方法要写批处理Bat文件,另一种则不需要。如果您不想写批处理文件,
2024-03-21 22:18:31
1214
原创 使用OpenRewrite自动做框架升级比如Spring Boot
OpenRewrite 用于大规模自动化源代码重构OpenRewrite 是一个源代码自动重构生态系统,使开发人员能够有效消除其存储库中的技术债务。它由一个自动重构引擎组成,该引擎运行预先打包的开源重构方案,用于常见框架迁移、安全修复和风格一致性任务,从而将您的编码工作从几小时或几天减少到几分钟。OpenRewrite Gradle 插件和 OpenRewrite Maven 插件等构建工具插件可帮助您一次在一个存储库上运行这些配方。
2024-03-19 22:13:37
4519
原创 JavaSE、JavaEE和Jakarta EE的历史、区别与联系
JavaSE、JavaEE和Jakarta EE是Java平台中的三个重要组成部分,它们各自承担着不同的角色,同时也有着密切的联系。在理解它们之间的历史、区别和联系之前,我们首先需要了解它们的基本概念。
2024-03-17 17:36:32
1826
原创 SpringBoot中加载配置文件的优先级
这些属性是从Spring Cloud配置服务器获取的。它们会覆盖应用程序本地配置文件中定义的属性。对应于活动的Spring配置文件。当相应的配置文件处于活动状态时,这些属性将覆盖默认属性。如果一个属性在多个位置定义,则最后应用的属性会覆盖之前的属性。:这些属性在Spring Boot本身中定义,并且通常是不可变的。)中定义,并且从配置服务器中获取,则配置服务器中的值会覆盖本地值。:这些属性在特定于活动Spring配置文件的。类似地,如果一个属性同时在本地配置文件(:这些属性在应用程序的。
2024-03-10 21:19:48
592
1
原创 Flink hello world
Flink 的版本附带了许多示例作业。您可以快速将这些应用程序之一部署到正在运行的集群。利用java 代码运行第一个flink hello world.下载并且解压Flink。
2024-03-05 22:39:03
650
原创 MongoDB Helloworld For Window
4. 用java code 连接mongo. 做增删改查操作。在User collection上增加记录。在MongoDB ui 上可以查看数据。1. 下载MongoDB。2. 安装MongoDB。
2024-03-05 22:21:18
573
空空如也
深度机器学习的数据集为什么一定要2万以上的样本?
2021-01-12
深度机器学习分类问题中,回归率怎么才能提高?
2021-01-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人