自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 什么是损失函数?什么是激活函数?

优化目标: 损失函数告诉我们模型预测有多大误差,并指导模型参数的更新方向和幅度。模型评估: 损失函数的值直接反映了模型在给定任务上的表现。非线性变换: 激活函数让神经网络能够表达更复杂的关系和模式。梯度传播: 在反向传播中,激活函数的导数影响了梯度传播过程,影响训练效果。损失函数: 衡量模型预测误差的大小,指导模型参数更新,最终优化模型性能。激活函数: 通过引入非线性,使神经网络能够学习复杂的模式和特征,提升网络的表现能力。

2024-09-10 16:49:49 707

原创 【完全背包问题】可视化

没问题,我来用更简单的方式解释一下。你需要计算凑成一个目标金额所需的最少硬币数量。假设我们有硬币面额数组 和目标金额 。我们使用动态规划来解决这个问题。虽然实现中通常使用一维数组,但理解时可以将其看作一个逐步构建的二维数组。这里我们会把一维数组的思想转化为二维数组的方式来帮助理解。定义二维数组:初始化:填充表格:假设硬币面额为 ,目标金额为 。我们逐步填充一个二维数组:填充过程金额为 1:金额为 2:金额为 5:继续填充,直到金额 11。实际实现中,我们用一维数组 代替二维数组,节省空间:希望这

2024-09-10 15:22:00 344

原创 模型训练中什么是adapter

在模型训练中,r 是一种轻量级的模块,通常用于在大规模预训练模型上进行。Adapter 的设计目标是通过,只添加少量新参数来适应特定任务或领域,从而减少训练成本和内存使用。

2024-09-10 10:33:10 254

原创 lora论文4.1部分精学

LoRA 通过低秩矩阵 ( B ) 和 ( A ) 对预训练模型的权重更新进行有效压缩,从而减少参数量。预训练模型的权重矩阵 ( W_0 ) 不参与更新,只是通过低秩矩阵对其进行补充更新。使用缩放因子 ( \alpha ) 来控制这些更新的幅度。这段解释了 LoRA 如何通过低秩矩阵对预训练模型进行高效的参数调整,进而降低训练复杂度,同时保留模型的适应能力。

2024-09-09 13:42:36 316

原创 在lora里矩阵A为什么要用随机高斯分布

在 LoRA(Low-Rank Adaptation)中,矩阵 A 是用来对大模型的权重进行低秩近似的。使用高斯分布随机初始化矩阵 A 是为了提供一种合理的初始值,使得模型能够更快地学习到合适的参数。:如果矩阵 A 使用零值或某种对称的初始化,可能会导致训练过程中模型无法有效地打破对称性,导致参数无法充分更新。随机高斯分布可以帮助打破这种对称性,使得各个权重可以独立更新。:随机高斯分布初始化能够为模型提供较好的初始点,避免陷入梯度消失或梯度爆炸的情况。

2024-09-09 13:08:28 994

原创 大模型评估榜单有那些

*✨C-Eval和CMMLU评测榜单:**这两个榜单侧重于中文大模型的评测,C-Eval尤其因为其覆盖多个学科的综合性考试评测集而受到重视。**✨HuggingFace的Open LLM Leaderboard:**自然语言处理领域内非常知名的开源社区,其大模型排行榜拥有广泛的收录范围和全面的测试维度。**✨OpenCompass2.0评测体系:**这个体系提供了对大模型的全面评测和诊断,其年度榜单通常反映了过去一年大模型的发展趋势和性能。

2024-09-06 10:29:00 363

原创 为什么chat和generate不能并存?

由于Chat和Generate的不同目标、依赖性、模型设计和优化方向,它们的功能通常不会并存于同一个模型中。不过,也有一些高级模型(如多任务学习模型)可以通过不同的架构模块在特定场景下实现这两种功能,但通常它们会单独优化,以确保每个任务的效果。详见:https://blog.csdn.net/2301_78285120/article/details/135695790。

2024-09-06 09:56:41 321

原创 模型为什么需要量化?怎么量化?

量化通过将模型参数从高位浮点数转换为低位整数或低精度浮点数,降低模型的内存占用和计算复杂度。常用的量化方法有后训练量化和量化感知训练,前者简单但可能带来精度损失,后者更复杂但可以保持较高精度。

2024-09-06 09:51:33 830

原创 chatchat:什么是中文标题增强ZH_TITLE_ENHANCE

此外,中文标题增强还可能涉及到利用文本数据增强技术,如回译和EDA(同义词替换、插入、交换和删除),来生成与原文相似但表达方式不同的句子,从而增加文本的多样性和丰富性。总的来说,中文标题增强是一种综合性的优化策略,旨在通过改进标题的关键词、语义和表达方式,提高其在搜索引擎中的表现,同时吸引更多读者点击和阅读。‌关键词优化‌:通过分析标题中的关键词,确保这些关键词与内容高度相关,并且能够准确反映文章的主题,从而提高搜索引擎对标题的相关性评估。

2024-09-05 11:31:03 293

原创 chatchat支持的几种向量数据库对比

FAISS:高效、快速,适用于内存内的大规模向量搜索任务。Milvus:分布式、持久化,适用于需要扩展性的大规模向量管理。Zilliz:商业化的 Milvus 云平台,适合企业级大规模应用。:适合已有 SQL 数据库的系统,向量搜索规模有限。:结合全文搜索和向量搜索的强大工具,适合混合搜索场景。Relyt:小众数据库,信息有限,需进一步探索。ChromaDB:轻量级、专注于 AI 应用的数据库,适合快速原型开发。

2024-09-05 11:09:24 753

原创 chatchat报错:model_revision=None is not for chat.xinference.api.restful_api 1232406 ERROR Chat comp

我的xinference报错:2024-09-04 18:58:04,389 xinference.api.restful_api 1232406 ERROR Chat completion stream got an error: [address=0.0.0.0:46557, pid=1238552]原因就是在自定义模型时,"model_ability"同时给了generate和chat,实际这两个好像不能并存?,只保留chat即可。

2024-09-04 20:12:33 221

原创 chatchat错误记录:Expected all tensors to be on the same device, but found at least two devices, cpu and

是因为xinference里的language模型和embedding模型不在一个gpu里。改正方法:把嵌入模型的gpu改一下,在页面端就可以执行。按照以下两步执行完即可。

2024-09-04 20:09:15 205

原创 chatchat问题记录: assert self.model_family.prompt_style is not None AssertionError: [address=0.0.0.0:42

在model.json里 “model_family”: “qwen1.5-chat”,选择对应类型。xinference的Model family支持以下这几类。

2024-09-04 20:04:46 423

原创 Chatchat错误记录:自定义模型已经在xinference正常启动,但chatchat中不显示

要让模型在xinference里跑起来才行。

2024-09-04 17:17:08 116

原创 什么是self-instrucrt

是一种训练大型语言模型(LLMs)的方法,目的是让模型通过自我生成指令和任务来自主学习,进一步提升其能力。:模型会生成一系列任务或指令,类似于“请你写一篇关于气候变化的文章”或者“解释什么是机器学习”。这些指令是由模型自己生成的,或者可以通过人为设定来引导。:模型然后根据生成的指令自我回答这些问题。通过回答这些问题,模型在这个过程中不断地进行自我训练。:通过生成和回答大量不同类型的指令,模型能够在不断迭代的过程中学习更广泛的知识和技能。这些训练步骤能够让模型更好地理解复杂的语言任务。

2024-09-04 10:12:27 249

原创 什么是PPO-白话版

PPO 让 AI 在学习过程中每次只做一点点改变,这样可以让训练变得更稳、更好。它简单、高效,是很多强化学习任务的首选算法。

2024-09-03 16:36:07 164

原创 0-1背包问题一维数组模拟

对于物品A,在容量大于等于2的情况下,我们可以选择将其放入背包,最大价值变为3。对于物品B,在容量大于等于4的情况下,可以选择将其放入背包,将最大价值提升到5。对于物品C,在容量大于等于3的情况下,可以选择将其放入背包,如果同时能放下物品A或B,最大价值可以达到7。如果某个容量j小于物品i的重量,则该物品i无法放入背包,dp[j]不会更新,这就是为什么我们要判断的原因。

2024-09-03 14:37:58 247

原创 所以Advanced RAG是提升RAG性能的方法,Naive RAG是基础框架对吗?

是一种基础框架,它的核心思想是将信息检索(Retrieval)和生成(Generation)结合起来。通过一个简单的流程,从知识库中检索相关文档并基于这些文档生成回答。它的架构比较直接,适合入门或者简单场景。等方法,可以提高模型的准确性、鲁棒性和对复杂任务的处理能力。这些技术在信息检索、推理、生成等环节进行改进,使得 RAG 模型能够更好地应对多样化、复杂的问题。则是在基础 RAG 的基础上进行了一些性能和效果的优化。通过引入更多策略和技巧,如。的区别主要在于其复杂性和性能优化的程度。

2024-09-02 14:21:36 259

原创 什么是Naive RAG,具体包括Infer Pipeline、 Dataset Loader、Retriever Loader、LLM Loader、 Instruction Loader

Naive RAG是一个基础的架构,利用上述组件将信息检索和生成结合起来,提供一个能够回答复杂问题的系统。虽然它的流程比较简单,但对于许多任务来说已经足够有效。这种方法的主要优势在于其直接性和易于实现,而高级 RAG 变体则在其基础上进一步优化和扩展。

2024-09-02 14:17:04 429

原创 什么是Advanced RAG,具体包括RRR、Iter-RETGEN、Self Ask、 Active RAG、 Self-RAG

(Retrieval-Augmented Generation) 是在经典 RAG 模型基础上发展出的一系列技术和策略,旨在提高 RAG 模型在复杂任务中的表现。这些技术通常涉及更高效的检索和生成方法,更智能的问答流程,以及更强的模型自我反馈机制。

2024-09-02 14:14:21 386

原创 什么是benchmarks 例如OpenQA、Multi-Hop QA

Benchmarks 是机器学习和 NLP 领域中不可或缺的工具,它们通过标准化的任务和评估方法帮助研究者测量和比较不同模型的表现。OpenQA 和 Multi-Hop QA 是问答系统中两个重要的 benchmarks,它们针对不同的问答场景提出了特定的挑战和评估标准。

2024-09-02 14:12:23 353

原创 什么是all reduce

All-Reduce是一种在并行计算和分布式计算中常用的通信操作,用于在多个计算节点(例如 GPU 或 CPU)之间汇总数据。它通常被用在深度学习中的分布式训练过程中,用来整合各个节点上的梯度信息,以便进行参数更新。All-Reduce。

2024-09-02 10:45:57 310

原创 所以zero这种内存优化的核心思想是什么

Zero在内存优化中的核心思想是通过减少不必要的内存分配、按需加载数据和避免冗余拷贝来降低内存占用和提高性能。这些策略对于处理大型数据集或资源受限的环境非常有用,能够显著提升系统的运行效率。

2024-09-02 10:40:56 140

原创 HuggingFaceBgeEmbeddings是什么?以及为什么这么用

数据并行:同一模型副本在不同设备上处理不同的数据子集,适合数据量大但模型较小的场景。Pipeline并行:模型按层分配到不同设备上,以流水线方式处理数据,适合超大模型。张量并行:单个张量被切分到多个设备上并行计算,适合超大张量的细粒度并行。模型并行:模型按模块或层分配到不同设备上,每个设备处理模型的一部分,适合超大模型。这些并行方式在实际应用中常常结合使用,以提高训练速度和处理超大模型的能力。

2024-08-30 19:30:57 405

原创 数据并行、pipline并行、张量并行、模型并行

数据并行:同一模型副本在不同设备上处理不同的数据子集,适合数据量大但模型较小的场景。Pipeline并行:模型按层分配到不同设备上,以流水线方式处理数据,适合超大模型。张量并行:单个张量被切分到多个设备上并行计算,适合超大张量的细粒度并行。模型并行:模型按模块或层分配到不同设备上,每个设备处理模型的一部分,适合超大模型。这些并行方式在实际应用中常常结合使用,以提高训练速度和处理超大模型的能力。

2024-08-30 14:05:48 439

原创 为什么要算梯度?怎么算梯度

计算梯度在优化过程中非常重要,尤其在机器学习和深度学习中,它是用来最小化或最大化目标函数(通常是损失函数)的关键步骤。通过计算梯度,你可以了解目标函数在某一点的变化方向和速率,从而更新模型的参数,使得损失函数逐步减少或增加。

2024-08-30 13:14:16 243

原创 LDA无监督聚类算法是干嘛的

简单来说,LDA认为每篇文档是由若干个主题的混合组成,而每个主题又由若干个词汇以不同的概率分布组成。通过LDA,你可以从大量的文本中自动提取出一些主题,并了解每篇文档与这些主题的关系。举个例子,假设你有一堆新闻文章,LDA可以帮助你发现这些文章背后的主题,比如“政治”、“科技”、“体育”等,然后把每篇文章与这些主题相关联。:通过训练,LDA会逐步调整模型,使得它能更好地解释文档中的词汇分布,即找到最能解释数据的主题组合。:最终,LDA会给出每个文档中的主题分布,以及每个主题中重要的词汇。

2024-08-30 11:04:48 353

原创 稀疏逻辑回归(Sparse Logistic Regression)

稀疏逻辑回归通过引入稀疏性约束,能够在训练分类模型的同时进行特征选择,是处理高维数据集、提高模型解释性和减少模型复杂性的有效工具。

2024-08-30 11:01:03 369

原创 矩阵乘法几何意义上是在干什么

矩阵乘法的几何意义可以理解为通过矩阵将向量进行线性变换,这种变换可以表现为旋转、缩放、反射、平移等。多个矩阵的乘积则表示一系列复合变换。

2024-08-30 10:35:06 178

原创 什么是似然函数

似然函数(Likelihood Function)是统计学中用于估计模型参数的一种函数。它表示在给定模型参数的情况下,观测数据出现的概率。与概率密度函数不同,似然函数把观测数据视为固定的,并把模型参数视为变量。似然函数是一个关于模型参数的函数,它描述了在给定参数下,数据出现的可能性。通过最大化似然函数,可以估计出最符合观测数据的模型参数。

2024-08-29 11:00:20 165

原创 BERT实验部分,针对不同任务训练为什么需要引入新参数

引入新参数是为了将预训练的 BERT 模型应用于具体的下游任务,并且通过计算损失函数来优化这些参数,以提升模型在特定任务上的表现。

2024-08-28 13:56:05 896

原创 什么是目标函数?目标函数就是损失函数吗

目标函数是模型训练的核心,它提供了评估和优化模型性能的标准。选择适当的目标函数对模型的成功至关重要,不同的任务(回归、分类等)会选择不同的目标函数。其作用是衡量模型预测值与真实值之间的差异,并通过优化(通常是最小化或最大化)目标函数来训练模型,以获得最优的参数组合。因此,虽然在许多机器学习问题中目标函数和损失函数是相同的,但从概念上讲,目标函数更为广泛。:衡量模型输出的概率分布与真实分布之间的差异,通常用于多分类任务。:衡量预测值与真实值之间的平方差的平均值,目标是最小化 MSE。

2024-08-28 11:50:32 428

原创 wordpiece embedding

WordPiece 是一种用于将单词分割成子词(subword)单元的技术,最初由 Google 为其翻译系统开发,后来在 BERT 等预训练语言模型中得到了广泛应用。

2024-08-28 11:20:58 252

原创 什么是隐藏层

在神经网络中,隐藏层(Hidden Layer)是指位于输入层和输出层之间的中间层。隐藏层的主要作用是对输入数据进行复杂的特征提取和变换,使得模型能够从输入数据中学习到更加抽象和高阶的特征。

2024-08-28 11:11:48 133

原创 在模型领域,什么是输入字典?这个字典大小是人工给定的吗?

在机器学习和深度学习领域,特别是在自然语言处理(NLP)中,“输入字典”通常指的是一种用于将输入数据(如文本)转换为模型可以处理的数值形式的数据结构或映射表。

2024-08-28 11:04:49 765

原创 为什么单向的语言模型受限

单向语言模型(unidirectional language model)在生成或理解文本时具有一些固有的限制,主要与其只能基于单一方向的上下文进行预测有关。

2024-08-28 11:03:26 278

原创 绝对位置编码、相对位置编码、旋转位置编码分别是什么,他们的优缺点是

绝对位置编码、相对位置编码和旋转位置编码是 Transformer 模型中用于处理序列中元素顺序信息的不同方法。它们各自有不同的机制、优点和缺点。

2024-08-26 19:37:18 874

原创 【大模型面试】 transformer里面为什么需要postion-wise feed-forward networks,这一层是在干嘛

在 Transformer 模型中至关重要,它主要用于对每个位置的表示进行非线性处理,提升模型的表达能力。这一层的独立性(逐位置操作)确保了模型在全局信息整合之后,能够对每个位置的信息进行深度加工,使得模型更适合处理复杂的序列任务。

2024-08-26 16:20:10 240

原创 【大模型面试】缩放因子lora_alpha

lora_alpha是 LoRA 微调过程中的一个重要参数,起到缩放低秩矩阵增量的作用。它用于调节微调对原始模型的影响,确保微调的效果既充分又不过度,从而帮助模型更好地适应新任务。

2024-08-26 15:32:44 325

原创 怎么把一个向量变成均值为零方差为1,举例说明

2024-08-26 14:12:47 97

空空如也

空空如也

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

TA关注的人

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