- 博客(66)
- 收藏
- 关注
原创 神经网络笔记 - 神经网络
显然W2 的数据更加平稳,这样的数据说明再计算的过程中,神经网络最大程度上使不同数据的信息,而不是单独通过某一条数据进行判断。在训练神经网络时,计算每个参数(权重)应该怎么调整,才能让模型的输出变得更好(比如分类更准)的一种算法。它是一层一层往回推,算出每个参数对最终误差(loss)的影响,然后用这些信息来更新参数。那么,我们如何知道分数有多对,或则这个分数的准确率有多少,这里需要用到损失函数。通过反向传播,它知道了:“啊,我哪一部分参数错了,应该怎么调整”。顺着上面的例子,我们的到了X* W的分数。
2025-04-27 22:08:39
1153
原创 神经网络笔记 - 感知机
主题关键词备注感知机基础权重、阈值、加权和决定输出0或1逻辑门实现单层感知机线性与非线性线性可分 vs 非线性可分XOR是非线性问题多层感知机层与层组合解决复杂问题。
2025-04-26 18:39:49
715
原创 大模型微调-高效微调
方法是否修改 Transformer 层参数训练内容注入位置❌ 不修改只训练输入层的可学习 soft prompt(embedding 向量)仅输入嵌入层❌ 不修改只训练 soft prompt(embedding 向量)仅输入嵌入层❌ 不修改训练可学习 prefix,注入每层 attention 的 KV(key/value)每层 Transformer 的注意力层❌ 不修改训练深度 prompt encoder(如 LSTM),输出注入每层 KV 中。
2025-04-26 01:41:43
940
原创 大模型微调 - transformer架构
Transformer 架构是由 Vaswani 等人在 2017 年提出的一种深度学习模型架构,首次发表于论文《Attention is All You Need》中。
2025-04-25 17:14:04
370
原创 大模型微调 - 自注意力机制
注意力机制(Attention Mechanism)是一种能够根据输入的相关性动态分配权重的机制,广泛应用于自然语言处理、计算机视觉等领域。其核心思想是:“。
2025-04-25 16:33:29
367
原创 大模型Rag - 检索增强技术
给定一个用户问题,让大语言模型(LLM)直接生成对该问题的一个回答,将该回答作为**“伪文档”**,再与原始问题拼接后送入检索系统。利用 LLM 所生成的伪答案来填补原问题的语义空白,提升语义匹配程度,从而提高检索准确性。将问题与伪文档拼接后用于搜索,提升了检索命中文档的语义相关性。
2025-04-23 16:32:20
993
原创 大模型(4) - LangChain
LangChain 通过组合模块和能力抽象来扩展大型语言模型(LLM)的应用开发者文档:https://python.langchain.com/docs/integrations/llms/代码实现:https://github.com/langchain-ai/langchain/tree/master/libs/langchain/langchain/llms。
2025-04-20 17:33:52
806
原创 大模型Rag - 如何评估Rag
RAG(Retrieval-Augmented Generation)是一种结合检索与生成的问答架构。用户提出问题 → 系统检索相关上下文 → 基于上下文由大语言模型生成答案。上下文相关性检索到的上下文是否紧密围绕用户问题展开?是否包含解答问题所需的关键信息?生成答案的忠实性(Faithfulness)答案是否与提供的上下文信息保持事实一致性?能否通过上下文信息进行推断?答案相关性(Relevance)是否直接、完整地回答了用户问题?有无遗漏或冗余无关内容?
2025-04-19 22:14:57
924
原创 大模型Rag - 文本分块
在构建智能问答系统或知识库的过程中,文本分块(Text Splitting)是一项基础但极为关键的任务。它不仅决定了后续 embedding 生成的质量,也直接影响向量检索系统的准确率与效率。本文将系统性地介绍文本分块的原理、动因、策略及工具实践,帮助你构建更健壮的语义检索系统。
2025-04-19 16:36:22
441
原创 大模型Rag - 向量数据库索引
向量数据库 Chroma是一个简单易用的 AI 原生向量数据库,安装十分简单,使用 pip install chromadb 即可完成安装。服务启动后,可以在指定路径查看本地持久化存储的数据。
2025-04-19 12:11:28
295
原创 大模型Rag - 向量数据库
特性维度 Chroma Milvus上手难度 ⭐⭐⭐⭐☆(易上手) ⭐⭐☆☆☆(较复杂)部署方式 本地 / 服务端 本地 / 服务端 / 分布式可扩展性 中等 高检索能力 支持元数据 + 向量检索 支持更多相似度度量与索引算法权限与监控 暂不支持 支持角色权限、监控与日志功能适合项目规模 中小型 中大型。
2025-04-18 17:36:54
1055
原创 大模型Rag - embedding
Embedding模型是一种将各种形式的数据对象(如文本、音频、视频等)转换为的技术。这种转换过程可以形象地理解为将复杂数据"嵌入"到一个高维的数学空间中。以文本为例:"机器学习"和"深度学习"这两个短语的embedding向量在空间中会比它们与"篮球比赛"的向量更接近。
2025-04-18 14:53:10
1041
原创 Open AI 使用篇
大模型中的 function calling 指的是在人工智能模型(如 GPT-4)中调用外部函数或API,以便模型能够执行更复杂的任务或获取外部数据。这种方式允许模型在生成回答时不仅仅依赖于内部的训练数据,还能够与外部系统进行交互,从而拓展其功能。
2025-04-15 21:04:11
468
原创 大模型(3)--提示学习
提示模型(Prompt Model)是指导大语言模型(LLM)生成特定输出的结构化输入方法,通常由自然语言指令、上下文和示例组成。
2025-04-15 02:37:11
459
原创 大模型(1) - 什么是GPT
全称 Generative Pre-trained Transformer 是一种基于架构的大规模预训练语言模型,由OpenAI研发,但GPT仅仅只是借鉴了Transformer 中Decoder的部分,并且做了升级。
2025-04-11 17:40:17
862
原创 eureka三级缓存源码级解析
服务端增量获取注册表eureka 的三级缓存可以说是设计的整个中间件非常大的亮点,这里以增量获取注册表信息为例,直接从服务端开始进行分析我们直接来到获取缓存的部分@VisibleForTesting Value getValue(final Key key, boolean useReadOnlyCache) { Value payload = null; ...... if (useReadOnlyCache) {
2021-02-22 15:54:37
1894
原创 springboot 启动流程
spring 启动 public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) { //从springboot return new SpringApplication(primarySources).run(args); }这里主要分为两步,一个是spring Application的构造方法另一步时执行 run()SpringApplication()
2021-02-06 13:37:37
148
原创 LinedBlockingQueue 源码解析
构造方法 public LinkedBlockingQueue() { this(Integer.MAX_VALUE); }空参构造方法,也就是说没有传入大小,队列的大小默认为Integer的最大值属性 private final int capacity;//容量 private final AtomicInteger count = new AtomicInteger();//存储的元素个数 transient Node<E> head
2021-01-04 15:22:54
165
1
原创 ScheduledThreadPoolExecutor 源码解析
概述ScheduledThreadPoolExecutor 常常用来作为延迟任务,或者是周期性执行某个任务延迟任务简单的使用示如下,如果需要周期性执行任务,使用 scheduleAtFixedRate() public static void main(String[] args) throws ClassNotFoundException, ExecutionException, InterruptedException { ScheduledThreadPoolExecutor s
2021-01-04 14:22:56
170
原创 Callable 源码解析
概述这里Callable 的使用以 FutureTask 举例,源码示例如下 public static void main(String[] args) throws ClassNotFoundException, ExecutionException, InterruptedException { FutureTask futureTask = new FutureTask(new Callable() { @Override pub
2021-01-04 13:03:16
328
原创 ArrayBlockingQueue 源码解析
ArrayBlockingQueue 属性首先来看看ArrayBlockingQueue 的属性public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable { private static final long serialVersionUID = -817911632652898426
2020-12-31 00:11:18
203
2
原创 线程池提交任务和执行任务源码解析(2)
概述因为篇幅太长所以分两篇博客进行说明,本文算是对《线程池提交任务和执行任务源码解析》的补充第一篇博客《线程池提交任务和执行任务源码解析》—》https://blog.youkuaiyun.com/kznsbs/article/details/111958345继续execute()方法的说明 public void execute(Runnable command) { ... int c = ctl.get(); if (workerCountOf(c)
2020-12-30 23:01:51
139
原创 线程池提交任务和执行任务源码解析
线程池提交我们就按照平时使用的方式,从execute()这以execute这个方法为入口 public void execute(Runnable command) { ... int c = ctl.get(); if (workerCountOf(c) < corePoolSize) { if (addWorker(command, true)) return;
2020-12-30 14:23:10
302
原创 rocketmq 消息发送
概述rocketmq的消息发送大体可以分为三部1.消息的验证2.队列的选择3.消息的发送消息的验证以send 方法为入口 public SendResult send( Message msg) throws MQClientException, RemotingException, MQBrokerException, InterruptedException { Validators.checkMessage(msg, this);//消息验证
2020-12-29 17:27:05
627
2
原创 Rocketmq 故障延迟 源码解析
故障延迟在 rocketmq 中,有两种延迟机制1. 开启故障延迟2. 关闭故障延迟(默认)关闭故障延迟通过 sendLatencyFaultEnable = false 表示关闭故障延迟所谓的关闭故障延迟就是,在生产者发送消息的时候,可能因为网络原因或者是其他外接因素,导致消息发送失败,这个时候就会进行消息发送的重试(单向消息除外)那么在 broker 端机会记录一下这个失败的broker,所以下次轮询到这个broker 的时候就会跳过这个broker,这样就减少了消息发送失败的概率这里关于
2020-12-29 15:28:03
782
5
原创 mybatis 插件执行原理
Interceptorpublic interface Interceptor { Object intercept(Invocation invocation) throws Throwable; default Object plugin(Object target) { return Plugin.wrap(target, this); } default void setProperties(Properties properties) { // NOP }
2020-12-20 21:44:37
151
原创 spring 循环依赖源码解析
循环依赖循环依赖在java中其实并不是一个问题而是一个现象,例如public class AService{ public BService bservice;}public class BService{ public AService aService;} AService aService = new AService();BService bService = new BService();aService.bService = bService;bService.aServi
2020-12-08 00:20:37
152
原创 springBean的实例化过程详解---createBeanInstance(2)
回到createBeanInstance Constructor<?>[] ctors = determineConstructorsFromBeanPostProcessors(beanClass, beanName); if (ctors != null || mbd.getResolvedAutowireMode() == AUTOWIRE_CONSTRUCTOR || mbd.hasConstructorArgumentValues() || !ObjectUtils.i
2020-12-05 15:40:16
239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅