- 博客(65)
- 收藏
- 关注
原创 RAG项目实战:金融问答系统
Step 1:创建一个 ChromaDB 类,封装基础的Chroma连接、插入和检索;Step2:实现 PDFProcessor 类,该类调用 ChromaDB 类的插入函数,将批量读取的PDF文件进行切分后保存至向量库;Step3:实现 RAGManager 类,该类封装了RAG的检索链,并定义检索参数;Step4:实现一个测试函数,用于测试RAG的检索功能。
2025-02-26 22:39:39
1271
原创 LLM(大语言模型)、Chat 大模型和 Embedding 大模型
LLM 是一种大规模的语言生成模型,通常基于 Transformer 架构,经过大量文本数据的训练,能够理解自然语言并生成高质量的文本。
2025-02-26 14:02:15
1629
原创 Day30下 - RAG系统
我们的知识分为三类:长生命周期的需要通过微调注入、固定期限(如:2024年的产品说明)和实时资讯。用新知识代替旧知识的时候,是存在一定风险的,因为无法精准的消除已经记住的信息。固定期限的知识,需要通过RAG系统,外挂的方式增删改查。给客户的管理员使用,可以增删改查里面的知识。可以修改每段文本的内容,修改里面的meta信息。启动私有知识库后,上下文会变得很大,而且是看不见的大。这里的api_key服务端不校验,因为要传,所以必须得写,可以随意赋值。每次查询的时候先去参考私有知识库,就不需要微调。
2025-01-18 23:14:26
962
原创 Day30上 - ChromaDB 向量数据库
可以使用查询文本列表查询该集合,Chroma将返回最相似的n个结果。如果未提供n_results,Chroma将默认返回10个结果。这里我们只添加了2篇文档,因此将n_results设置为2。到第二期项目时,可以手动去调整一些文档段落的内容,编辑调整一些格式。从上述查询中可以看到,我们关于夏威夷的查询在语义上与关于菠萝的文档最为相似。2.启动成功,可通过8000端口,连接到服务器。最好的办法是手动区分,即文档手动的去划分语义。Chroma存储文本,并自动处理嵌入和索引。
2025-01-18 23:10:07
1721
原创 Day28下 - 大模型微调:酒店评论情感分析
再调一下训练轮数、批处理大小、保存间隔可以调大一些, 日志可以改小一点,不需要打那么多日志,其他基本不怎么需要修改,即可开始炼丹啦。预训练阶段在实际工作中,一般是用不上的,但我们可以学习了解。2. 回到 LLaMA Board 页面,选择数据集,微调时,一般选择三类数据。数据太少,训练没啥效果,接下来,我们用之前酒店评论情感分析的数据集作为示例。(3)将之前写的情感识别任务的代码上传到autodl平台上,修改模型路径;(2)私有数据(针对你的具体任务,需要设计指定格式,转换自己的数据)
2025-01-05 22:37:39
1387
原创 感受野如何计算?
感受野(Receptive Field, RF)是卷积神经网络(CNN)中的一个重要概念,它指的是网络中某个特定神经元能够接收到的输入图像上的区域大小。换句话说,感受野定义了输出特征图中的每个单元依赖于输入图像中哪些像素。理解感受野对于设计和调试CNN架构非常重要,因为它直接影响模型捕捉到的上下文信息量。
2024-12-21 23:58:32
816
原创 深度学习试题及答案解析(二)
混沌度可以被理解为模型在预测下一个词时的平均分支数。具体来说,它是基于模型的概率分布计算出来的,用来评估模型生成的分布与真实数据分布之间的差异。对于一个包含 (N) 个词的句子ww1w2wNww1w2wN,如果有一个语言模型 (P(w_i | w_{
2024-12-21 01:17:25
1368
原创 Day27 - 大模型微调,LLaMA搭建
例如,在构建聊天机器人时,可以使用 LangChain 来搭建机器人的架构、整合各种API和服务,同时精心设计 Prompts 来确保机器人能够准确理解和回应用户的提问。通过不断地测试和优化 Prompts,提升对话的质量,使机器人更加智能和自然。LLaMA-Factory/data/identity.json ,编辑模式打开该文件,修改{{name}}和{{author}},来改变模型的自我认知。微调的核心是要去设计非常好的指令格式 ,指令格式的设计与上层开发是配套的。如何修改模型的自我认知?
2024-12-19 16:33:41
936
原创 深度学习试题及答案解析(一)
在深度学习中,涉及大量的矩阵相乘,现在需要计算三个稠密矩阵。激活替换为线性激活,那么这个神经网络能够模拟出同或函数。为什么在较小的数据集上更容易出现过拟合现象?在时间序列的背景下,什么是噪声?,以下计算顺序效率最高的是()的最大池化,请问输出是多少?假设三个矩阵的尺寸分别为。当增大正则化的超参数。的神经网络,假如我们把。的输入,并使用步幅为。
2024-12-18 22:57:28
688
原创 Day26下 - 大语言模型的 训练train 和 微调fine-tune 的区别
大部分微调都把模型给整废了,而不是越来越好。厂家发布的模型半真半假,一般发布的都是最好的模型,咱们拿来整废了是常态,训练好是一件不太容易的事情。没有万能公式一步到位,是个不断炼丹尝试的过程,比较玄学。
2024-12-18 16:38:19
930
原创 Day26下 - BERT项目实战
BERT论文:https://arxiv.org/pdf/1810.04805BERT架构: 2. 打包数据3. 构建模型4. 训练5. 保存模型6. 预测
2024-12-18 15:41:00
505
原创 Day26上 - 大模型的处理流程
1. Encoder-Only:双向注意力,(类似:双向RNN)前置操作:打开ModelScope GPU环境,下载模型文件。2. Decoder-Only:单向注意力(类似:RNN)4. 向量化 embedding。5. 位置编码 encoding。1. 用户进行提问 query。2. 套模板,格式化输入。7. 输出层,输出结果。
2024-12-16 17:36:26
807
原创 Day16 - 时序信号预测
选择合适的预测方法取决于数据的特点、预测目标、计算资源等因素。预处理时序数据是确保模型能够有效学习和预测的关键步骤。预处理的目的是清理数据、增强信号并减少噪声,从而提高预测模型的性能。选择合适的时序预测模型和预处理策略是一个动态迭代的过程,需要结合数据特性、业务需求以及计算资源等多个因素不断地试验和优化,可通过以下步骤,逐步找到最符合场景的解决方案。这在很多领域都有广泛的应用,比如金融市场的股票价格预测、销售量预测、天气预报等。时序信号预测是指根据时间序列数据的历史记录来预测未来值的过程。
2024-12-08 10:05:50
318
原创 Day15下 - Seq2Seq架构
Seq2Seq(Sequence-to-Sequence)架构是一种用于处理序列数据的深度学习模型,它广泛应用于自然语言处理(NLP)任务中,如机器翻译、文本摘要、对话系统等。Seq2Seq架构算是大模型的鼻祖,该结构的思想是Encoder to Decoder(编解码器原理),将一个输入序列映射到另一个输出序列,其中输入和输出序列的长度可以不同。
2024-12-07 13:43:10
881
原创 正则化(Regularization)
正则化(Regularization)是机器学习和统计建模中用来防止过拟合的一种技术。当模型过于复杂,例如拥有过多的参数或层级时,它可能会在训练数据上表现得非常好,但对未见过的数据(即测试数据或真实世界的数据)的泛化能力较差。这种情况被称为过拟合。正则化通过向损失函数添加一个惩罚项来限制模型的复杂度,从而帮助提高模型的泛化能力。
2024-12-03 11:35:09
1349
1
原创 神经网络中的参数(Parameter)和超参数(Hyperparameters)
在神经网络中,参数(Parameter)和超参数(Hyperparameters)是两个不同的概念,它们在训练模型时扮演着不同的角色。
2024-12-02 16:03:55
1052
原创 正向传播 (Forward Propagation) & 反向传播 (Backward Propagation)
正向传播负责计算网络的输出。反向传播则利用损失函数和链式法则来计算权重的梯度,并据此调整这些权重,从而优化模型性能。为了演示正向传播和反向传播,我们可以使用Python和一个流行的深度学习库如PyTorch。下面是一个简单的例子,展示如何构建一个两层的神经网络,并实现其正向传播和反向传播。# 定义一个简单的两层神经网络# 定义第一层(输入层到隐藏层)# 定义第二层(隐藏层到输出层)# 激活函数# 正向传播out = self.fc1(x) # 线性变换。
2024-12-02 11:10:02
1162
原创 深度学习:梯度下降法
使用内置函数,避免使用显式for循环,可以让程序运行速度快很多。反之,如果一开始点在左上方,即斜率为负数,那么更新的w的值会变大,也就是会逐渐往右移。从初始点开始,朝最陡的下坡方向走一步,在梯度下降一步后,或许在那里停下,或者尽可能快的向下走,这是梯度下降的一次迭代。导数是函数在对应点的斜率,函数的斜率是高除以宽。如果J函数最开始在右边的点,那么它的斜率是正数,更新的w的值w := w -由上述代码运行结果可知,使用内置函数比显式使用for循环快了200倍,所以我们尽量不要使用显示for循环。
2024-11-30 16:33:41
1004
原创 神经网络中常见的激活函数Sigmoid、Tanh和ReLU
激活函数输出范围优点缺点应用场景Sigmoid(0, 1)输出具有概率意义梯度消失,非零中心化二分类问题的输出层,逻辑回归Tanh(-1, 1)零中心化,更好的梯度传播梯度消失隐藏层,RNN 中ReLU[0, +∞)避免梯度消失,计算简单,引入稀疏性死亡 ReLU 问题,非零中心化隐藏层,DNN、CNN、GAN。
2024-11-30 16:27:36
1601
原创 GPU云环境的使用
A:趋动云环境中,/gemini/code目录是可以保留数据的,即服务关闭再打开,该目录下的数据是保留上次的。不过,建议重要的数据、代码在本地维护保存,云环境只作为临时环境训练模型使用。同上,对于体积小的数据,可以直接使用图示中的上传文件功能。训练完毕后,会在训练脚本同一目录下生成runs目录,里面包含训练的日志,以及训练的模型。上传数据集:点击【修改】-【创建数据】,编辑完信息,点【创建】,然后上传文件。配置相应的训练参数后,运行训练代码,即可开始训练。配置相应的训练参数后,运行训练代码,即可开始训练。
2024-11-20 20:08:35
1260
原创 OpenCV、YOLO、VOC、COCO之间的关系和区别
VOC(Visual Object Classes)是由英国牛津大学计算机视觉组(Oxford Visual Geometry Group)创建的一个图像数据集。VOC数据集是计算机视觉领域最早的一个重要标准数据集之一,广泛用于图像分类、物体检测、语义分割等任务。VOC数据集包括多个子任务,最常见的是。
2024-11-16 22:45:07
2836
原创 OpenCV基础
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛应用于图像和视频处理、计算机视觉、机器学习等领域。
2024-11-16 22:27:46
1146
原创 AI大模型(一):Prompt & AI编程
"""1. 任务描述"""你的任务是识别用户对手机流量套餐产品的选择条件。每种流量套餐产品包含三个属性:名称、月费价格和月流量。根据用户输入,识别用户在上述三种属性上的需求是什么""""""2. 用户输入"""办理100G的套餐"""# prompt模板,instruction和input_text会被替换为上面的内容用户输入:{input_text}""""""3. 调用大模型"""不管是个人还是企业,都能借用AI提效。
2024-11-15 12:33:35
1787
原创 Day15上 - RNN、LSTM、GRU、情感识别
所有的网络都是在处理特征,这是人工智能的核心问题,不论是全链接、卷积、循环和transformer,它们都是在处理特征,所以我们只关注特征的维度。③ Linear 分类。1. 输入:65个词。2. 输出:2个分类。
2024-11-13 18:43:09
889
原创 Day14 - CV项目实战:SAR飞机检测识别
第一排的7张图片,普通人肉眼很难看出对应的是第二排的飞机。还有上图里标注的飞机,外行根本看不明白,为什么这些是,其他的不是。作为一个外行,问题似乎很严峻,从图里根本识别不出来哪里是飞机,也没法标注。其实,在面对各行业问题的时候,经常会遇到这种问题,感觉可能搞不定。但是没关系,很多东西是反直觉的,这个任务真正做起来不难。首先,目标检测的标注是非常重要的。
2024-11-13 10:47:21
1501
4
原创 Transformer(三):论文 Attention Is All You Need
transformer模型仅依赖于注意力机制,没有使用之前的循环或卷积。作者做了2个机器翻译的实验,显示了这个模型在性能上特别好,并行度很好、且训练时间更少。在英语到德语的翻译工作,我们比目前最好的结果,好了2个BLUE。在英语到法语的翻译任务上,做了一个单模型。比所有的模型效果都好。只在8个GPU上训练了3.5天。transformer架构能够泛化到别的任务上,都很好。作者提出了一个新的模型,主要用在哪呢,用在机器翻译的任务上。
2024-11-12 15:51:08
978
原创 Transformer介绍(二):注意力机制
如果由fluffy和blue生成的键,确实与creature所产生的查询高度对齐,那么这2个位置的点积就会是较大的正数,用机器学习中的术语说,fluffy和blue的嵌入(embedding)注意(attention)到了creature的嵌入(embedding)。例如,GPT-3每个模块内使用96个注意力头,这意味着有96个不同的键和查询矩阵,产生96种不同的注意力模式,然后每个注意力头都有独特的值矩阵,用来产生96个值向量序列,全部都将以对应注意力模式作为权重,分别进行加权求和。现在我们只关注名词。
2024-11-11 13:57:14
1485
原创 Transformer介绍(一)
Transformer是一种特殊的神经网络,一种机器学习模型。谷歌在2017年推出的原版Transformer,论文《Attention Is All You Need》,专注于将一种语言的文本翻译成另一种。而我们要关注的Transformer变种,即构建ChatGPT等工具的模型,则是输入一段文本、图像或音频,预测文本接下来的内容,并将结果展现为,接下来不同文本片段的概率分布。
2024-11-09 18:22:42
2286
原创 怎么读论文 - AlexNet论文解读
这个摘要大致表达的意思是,我训练了一个很大的神经网络,在这个数据集上,我们比第二错误率好很多。从摘要来看,有点像技术报告,可能不是那么好的论文,但看最后一句,他的结果非常的好,所以这时一般会选择往下看。然后直接跳到最后,结果发现没有conclusion结论部分,但有一个讨论。一般讨论是说未来要干什么事情,而结论是跟摘要一一对应。Discussion部分大致是说,我们网络的性能会往下降,去掉一层会降2%,所以深度很重要。接下来,我们去看文中一些重要的图和公式。用的这些测试图片可以看到分类的效果如何。
2024-11-08 20:34:01
1300
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人