- 博客(361)
- 资源 (21)
- 收藏
- 关注
原创 LLM:DeepSeek,Qwen
它的目标仍是生成,但条件(前缀)建模更强,天然适合“给定上下文再生成”的场景。所以 User1 部分的编码输出,只能感知到 User1 的内容,无法感知到它之后的文本,可以用来预测 Assistant1 的内容。而 User2 部分的编码输出,只能看到 User1、Assistant1、User2 的内容,可以用来预测 Assistant2 的内容,依此类推。模型的 attention mask 是一个对角掩码矩阵,每个 token 在编码的时候,只能看到它之前的token,看不到它之后的 token。
2026-01-21 10:20:35
431
原创 深度学习:激活函数,优化器
用于计算一组数值的加权平均,其中最近的数据点被赋予更高的权重。结合了 AdaGrad 算法和 RMSprop 算法的优点,通过计算梯度的一阶矩估计(均值)和二阶矩估计(未中心化的方差)来调整每个参数的学习率,从而实现自适应学习率。这种方式使得算法对最近的梯度给予更多的权重,而对旧的梯度逐渐“遗忘”,从而避免了学习率过快减小的问题。解决AdaGrad算法中学习率单调递减的问题,通过限制累积梯度的窗口大小,并且不需要设置全局学习率,因为它会根据之前的参数更新量来自适应地调整学习率。
2026-01-13 10:47:54
770
原创 LLM:RAG,设计模式,Agent,MCP
检索增强生成(Retrieval-Augmented Generation, RAG) 是指在使用大语言模型回答问题之前,从外部知识库中检索相关信息的技术。RAG 已被证明能显著提升回答的准确性,减少模型幻觉,尤其是在依赖知识的任务中表现尤为出色。尽管可以通过神经网络微调,但它需要消耗大量计算资源,成本高昂,且需要专业技术知识,因此难以适应不断变化的信息环境。
2025-12-25 20:39:23
746
原创 Bug:Nginx 转发末尾斜杠导致 404 问题分析
【问题】为什么不走 Nginx 时带不带斜杠都可以?大多数现代 Web 框架都内置了对末尾斜杠的容错处理,比如重定向机制。通过 Nginx 代理访问,这种自动重定向机制可能不生效,或者 Nginx 拦截了重定向响应。
2025-12-19 19:19:50
316
翻译 Token压缩:LongLLMLingua 通过提示压缩在长上下文场景中加速并增强LLM的性能
在长上下文场景中,大型语言模型(LLM)面临三大挑战:更高的计算成本、性能下降以及位置偏置。研究表明,LLM 的性能高度依赖输入提示中关键信息的密度和位置。基于这一发现,我们提出了 LongLLMLingua 提示压缩方法,以提升 LLM 对关键信息的感知能力,从而同时解决上述三个问题。我们在多种长上下文场景下进行了广泛评估,结果显示 LongLLMLingua 不仅提升了模型性能,还显著降低了成本和延迟。
2025-12-09 18:57:38
92
翻译 Token压缩:LLMLingua 用于加速大语言模型推理的提示压缩方法
大型语言模型(LLMs)由于其惊人的能力已被广泛应用。随着链式思维(CoT)提示与上下文学习(ICL)等技术的发展,输入给 LLM 的提示长度越来越长,甚至超过数万个 token。为了加速模型推理并降低成本,本文提出 LLMLingua,一种粗到细的提示压缩方法,包括:预算控制器(Budget Controller):用于在高压缩率下保持语义完整性;基于 Token 级的迭代压缩算法:更好地建模压缩内容之间的依赖关系;基于指令微调的分布对齐方法:用于提升语言模型间的数据分布一致性。
2025-12-09 11:12:10
57
原创 软件工程:阿里巴巴Java编程手册
【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。【强制】long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。写的是数字的 21,还是 Long 型的 2?【推荐】不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。如:缓存相关的常量放在类:CacheConsts 下;系统配置相关的常量放在类:ConfigConsts 下。大而全的常量类,非得使用查找功能才能定位到修改的常量,不利于理解和维护。
2025-07-28 16:01:30
1198
原创 Claude Code:Skills,SpecKit,OpenSpec
LangChain 是一个基于大型语言模型(LLM)开发应用程序的框架,简化了LLM应用程序的开发、生产和部署过程。
2025-05-16 20:55:26
2051
翻译 Token压缩:LLMLingua2 用于高效且忠实的任务无关提示压缩的数据蒸馏方法
为解决这些问题,我们提出一种数据蒸馏流程,用于从大型语言模型中提取知识,以在不损失关键语义的前提下压缩提示词。同时,我们构建了一个抽取式文本压缩数据集。我们将提示词压缩任务形式化为一个词元级别的分类问题,以确保压缩后的提示内容与原内容保持忠实一致,并使用 Transformer 编码器作为基础架构,从完整的双向上下文中捕获提示压缩所需的核心信息。
2025-05-15 18:00:28
2791
翻译 DeepSeek:OCR 上下文光学压缩
我们提出了 DeepSeek-OCR 并初步验证了通过该模型实现上下文光学压缩的可行性。实验表明,该模型能够有效解码的文本 token 数量超过少量视觉 token 的十倍以上。我们认为,这一发现将有助于未来 视觉-语言模型(VLMs) 和 大语言模型(LLMs) 的发展。此外,DeepSeek-OCR 是一个高度实用的模型,能够生成大规模的预训练数据,是 LLMs 训练过程中不可或缺的助手。
2025-05-12 19:48:38
2220
原创 TTS:CosyVoice2 高质量语音生成
CosyVoice2 只需3~10秒的原始音频,即可生成音色,实现不同语言之间的语音合成,中文、英文、日语、韩语、中国方言(粤语、四川话、上海话、天津话、武汉话、长沙话、郑州话等),还支持生成具有多种情感表达的语音,包括快乐、兴奋、悲伤、愤怒等,还能通过指令控制说话的语气、情绪等
2025-04-28 10:46:21
3473
翻译 文本分类:STRUCTBERT 将语言结构融入预训练以提升深度语言理解
受到Elman线性化探索工作的启发,我们在BERT的基础上提出了一种新模型StructBERT,通过在预训练过程中融入语言结构来提升表现。具体而言,我们为StructBERT设计了两个辅助任务,以充分利用单词和句子的顺序信息,从而在词级和句子级别上利用语言结构。这使得新模型能够适应下游任务所需的不同层次的语言理解能力。
2025-03-27 10:31:35
1464
1
翻译 DeepSeek:R1 通过强化学习激发LLMs的推理能力
我们介绍我们的第一代推理模型:DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一个通过大规模强化学习(RL)训练的模型,在此过程中未采用监督微调(SFT)作为初步步骤,它展现出了卓越的推理能力。通过强化学习,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为。然而,它也面临一些挑战,例如可读性较差和语言混杂等问题。为了解决这些问题并进一步提升推理性能,我们引入了 DeepSeek-R1,该模型在强化学习之前结合了多阶段训练和冷启动数据。
2025-02-08 11:10:42
1286
原创 Require:CDS、CRaC & GraalVM 加速 SpringBoot 启动速度
CDS 通过在 JVM 启动时预加载常用的类数据并将它们共享在多个 JVM 实例之间来优化性能。这些类数据包括类的元数据、方法、常量池等。它是 OpenJDK(JDK 5 开始) 主线中成熟且可用于生产的技术,与 GraalVM 和 Project CRaC 相比,它更易于使用,因为它具有较少的限制和副作用。
2025-01-23 11:06:59
882
原创 Require:利用MySQL binlog实现闪回操作
MySQL binlog以event的形式,记录了MySQL server从启用binlog以来所有的变更信息,能够帮助重现这之间的所有变化。MySQL引入binlog主要有两个目的:一是为了主从复制;二是某些备份还原操作后需要重新应用binlog。
2025-01-13 19:13:40
1180
原创 JVM:ZGC详解(染色指针,内存管理,算法流程,分代ZGC)
ZGC 的核心是一个并发垃圾收集器,所有繁重的工作都在Java 线程继续执行的同时完成。这极大地降低了垃圾收集对应用程序响应时间的影响。ZGC为了支持太字节(TB)级内存,设计了基于页面(page)的分页管理(类似于G1的分区Region);ZGC为了能够快速对对象进行并发标记和并发移动,对内存空间重新进行了划分,这就是ZGC中新引入的指针染色;仅支持 Linux 64 位系统,不支持 32 位平台。因此也不支持压缩指针。同时ZGC为了能更加高效地管理内存,设计了物理内存和虚拟内存两级内存管理。
2025-01-13 10:00:50
4112
原创 Bug:@ConditionalOnProperty居然不影响@Import?
结论:@ConditionalOnProperty 肯定影响 @Import!但是为啥实际项目中出现了@ConditionalOnProperty的类不加载,@Import类加载的情况?
2025-01-10 14:30:17
292
原创 Require:Helm/K3S 离线部署 Sourcegrapha
当使用 INSTALL_K3S_SKIP_DOWNLOAD 环境变量运行 K3s 脚本时,K3s 将使用本地的脚本和二进制。helm在解压后的目录中找到二进制文件,然后将其移至所需的目标位置,这样任何目录都可以使用 helm。要在单个服务器上安装 K3s,只需在 server 节点上执行以下操作。导航代码、查找引用、查看代码所有者、跟踪历史记录等。一次对许多存储库进行大规模更改并跟踪大规模迁移。搜索所有分支和所有代码主机的所有存储库。
2024-12-24 20:26:25
1023
原创 JVM:堆内外存泄露排查
为了优化Java的性能 ,JVM在解释器之外引入了即时(Just In Time)编译器:当程序运行时,解释器首先发挥作用,代码可以直接执行。随着时间推移,即时编译器逐渐发挥作用,把越来越多的代码编译优化成本地代码,来获取更高的执行效率。解释器这时可以作为编译运行的降级手段,在一些不可靠的编译优化出现问题时,再切换回解释执行,保证程序可以正常运行。即时编译器极大地提高了Java程序的运行速度,而且跟静态编译相比,即时编译器可以选择性地编译热点代码,省去了很多编译时间,也节省很多的空间。
2024-11-28 16:26:18
3385
1
原创 Bug:引入Feign后触发了2次、4次ContextRefreshedEvent
Bug:引入Feign后发现监控onApplication中ContextRefreshedEvent事件触发了2次或者4次。
2024-11-21 19:38:45
1411
原创 操作系统:线程(基本概念,内核线程,用户线程,通讯方式)
【内核级线程(内核管理)】指的是在内核支持下运行的,即无论是用户进程中的线程,还是系统进程中的线程,对应的 TCB 自然是放在操作系统里的,它们的创建、撤销和切换等也是依靠内核,在内核空间实现的。内核线程的数量=CPU的核心数。【用户级线程】仅存在于用户空间中。对于这种线程的创建、撤销、线程之间的同步与通信等功能,都无须利用系统调用来实现。对于用户级线程的切换,通常发生在一个应用进程的诸多线程之间,这时,也同样无须内核的支持。
2024-11-19 10:27:43
1249
原创 Spring:Bean(创建方式,抽象继承,工厂Bean,生命周期)
Spring可以管理singleton作用域的Bean的生命周期,Spring可以精确地知道该Bean何时被创建、何时被初始化完成、容器何时准备销毁该Bean实例。
2024-11-05 09:17:35
917
原创 Spring:Bean(基本定义,作用域,各类注入,自动装配,注解)
对于开发者来说,开发者使用Spring框架主要是做两件事:(1)开发Bean。(2)配置Bean。对于Spring框架来说,它要做的就是根据配置文件来创建Bean实例,并调用Bean实例的方法完成“依赖注入”——这就是IoC的本质。其实Spring框架的本质就是,通过XML配置来驱动Java代码,这样就可以把原本由Java代码管理的耦合关系,提取到XML配置文件中管理,这就实现了系统中的各组件的解耦,有利于后期的升级和维护。
2024-11-05 09:01:17
943
原创 Java:类集(HashMap,Map子类,ConcurrentSkipListMap)
2w字吐血整理Java:类集(HashMap,Map子类,ConcurrentSkipListMap,ConcurrentHashMap,LinkedList,Hashtable,SortedMap,TreeMap,IdentityHashMap)
2024-10-30 15:54:19
738
原创 Java:线程池(底层原理,延迟&周期,ForkJoinPool,CompletableFuture)
2w字吐血整理,Java:多线程(线程池,工作流程,拒绝策略,参数详情,队列大小设置,任务执行原理,任务提交原理,优雅停止,延迟执行,周期执行)。包括:基础知识,底层原理,代码复现,面试难点,刁钻问题解答。
2024-10-29 09:31:00
1117
原创 Bug:通过反射修改@Autowired注入Bean的字段,明确存在,报错 NoSuchFieldException
Bug:通过反射修改@Autowired注入Bean的字段,明确存在,报错 NoSuchFieldException
2024-10-17 16:42:17
477
原创 JDK并发:同步工具类(Stemaphore,CountDownLatch,CyclicBarrier,Exchanger,Phaser)
在现代Java开发中,处理并发问题至关重要,而同步工具类是实现高效多线程程序的关键。本博客将深入探讨Java中的多种同步工具,包括信号量、等待完成、阶段同步、Exchanger和Phaser。我们将逐一解析这些工具的使用场景及其背后的原理,帮助你更好地理解它们在并发控制中的角色。无论你是Java新手还是经验丰富的开发者,本文都将为你提供实用的知识和技巧,助你在并发编程的世界中游刃有余。
2024-10-09 09:07:42
770
原创 Spring:基本概念,管理Bean,核心问题
Spring为企业应用的开发提供了一个轻量级的解决方案。该方案包括:基于依赖注入的核心机、基于AOP的声明式事务管理、与多种持久层技术的整合,以及优秀的Web MVC框架等。Spring致力于JavaEE应用各层的解决方案,而不是仅仅专注于某一层的方案。可以说:Spring是企业应用开发的“一站式选择”,Spring贯穿表现层、业务层、持久层。然而,Spring并不想取代那些已有的框架,而是以高度的开放性与他们无缝整合。
2024-09-30 17:18:29
1294
原创 Require:完成一个局部随机,全局离散没有热点且唯一的数值Id生成器。
Require:基于雪花算法完成一个局部随机,全局离散切唯一的Id生成器。
2024-09-25 09:49:51
485
原创 Bug:ThreadPoolTaskScheduler搭配CronTask完成定时任务,关闭scheduler后CronTask任务仍然执行?
Bug:ThreadPoolTaskScheduler搭配CronTask完成定时任务,关闭scheduler后CronTask任务仍然执行?
2024-09-24 19:35:03
590
原创 组成原理:体系结构,CPU,存储器,Cache
在计算机组成原理中,体系结构指的是计算机各个组件如何相互配合工作的整体设计。CPU(中央处理器)是计算机的核心,负责执行指令和处理数据。存储器则用于存储计算所需的数据和指令,分为主存(如RAM)和辅存(如硬盘)。Cache(缓存)是介于CPU和主存之间的高速存储器,用来暂存经常访问的数据,减少CPU直接访问主存的时间,从而提高系统的性能。
2024-09-12 09:04:43
2123
原创 JDK并发:锁(互斥锁,读写锁,公平锁,Condition,StampedLock)
在Java并发编程中,互斥锁、读写锁、Condition和StampedLock是四种重要的同步工具。互斥锁(ReentrantLock)用于确保只有一个线程可以访问共享资源;读写锁(ReadWriteLock)允许多个线程并发读取但写入时进行排他性控制;Condition提供了灵活的线程等待和通知机制;而StampedLock则通过乐观读锁、悲观读锁和写锁提供高效的锁管理。
2024-09-07 18:24:33
1907
原创 Linux:进程管理,任务管理,监控系统
在Linux系统中,进程管理、任务管理和系统监控是保障系统稳定性和性能的关键技能。进程管理涉及对系统中进程的创建、调度和终止,通过如ps和top等工具来查看和调整进程。任务管理使用工具如cron来安排和自动执行定期任务,从而提高操作效率。系统监控则通过工具如vmstat和iostat实时跟踪系统资源使用情况,帮助及时发现和解决潜在问题。
2024-08-15 09:14:15
1131
原创 JDK并发:重排序,内存屏障,Atomic类,CAS,伪共享,Striped64
在Java并发编程中,理解内存屏障、Atomic类、CAS函数和伪共享是优化性能的关键。内存屏障用于确保多线程环境中的操作顺序,防止指令重排序导致的数据不一致问题。Java的Atomic类提供了一种无锁机制来实现线程安全的操作,通过原子性操作提高了性能。CAS(Compare-And-Swap)函数是原子操作的基础,允许线程安全地更新变量,避免了传统锁机制的开销。然而,伪共享问题可能导致性能下降,当多个线程访问的变量共享同一缓存行时,会引发频繁的缓存失效。
2024-08-15 08:59:15
1448
原创 Linux:文件管理,目录管理,文件系统,链接类型
在Linux操作系统中,文件和目录的管理是日常操作的核心。无论您是系统管理员还是开发者,掌握Linux中文件和目录的管理方法对于高效工作至关重要。本篇博客将深入探讨Linux中的文件管理、目录管理、文件类型及链接类型,帮助您熟练操作和管理您的系统资源。
2024-08-13 17:54:26
1539
原创 Linux:操作系统,快捷键,目录结构,关机重启
Linux操作系统因其稳定性、灵活性和开源特性,成为了许多开发者和系统管理员的首选。无论您是新手还是有经验的用户,了解Linux的基本操作、快捷键、目录结构及关机重启方法,对提高工作效率至关重要。本篇博客将为您详细介绍这些基础知识,帮助您更好地掌握Linux系统的使用。
2024-08-13 17:26:18
836
原创 Linux应用:Mysql(安装卸载,登录改密,远程连接,区分表名)
如果你希望掌握 MySQL 在 Linux 系统上的全面应用,这篇博客将是你的理想选择!我们将详细介绍如何从安装到卸载 MySQL,如何进行安全配置,如何修改登录密码,以及如何设置远程连接,让你能够高效管理数据库。我们还将探讨如何正确区分 MySQL 中的表名,以确保数据的准确性和一致性。不论你是新手还是有经验的开发者,这里都将为你提供实用的技巧和解决方案,帮助你优化数据库操作。
2024-08-11 20:56:58
496
原创 MyBatis:Maven,Git,TortoiseGit,Gradle
2w字吐血整理 MyBatis(Maven安装,pom.xml,脚手架,Git下载安装,TotoiseGit配置,添加/修改/删除文件,查看/切换文件版本,创建/切换/合并分支,Gradle安装,groovy语言)。
2024-08-07 17:43:57
1450
整合案例.docx
2019-06-09
国防科技大学机器学习(刘新旺)课程完整笔记(复习资料)
2024-07-31
需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面的形式准确地描述软件需求
2022-11-21
jsp应用与开发技术第二版课后习题配套答案
2019-01-05
spring-hibernate.zip
2019-06-10
Spring-Mybatis.zip
2019-09-19
spring - aop.zip
2019-06-10
spring-hibernate-struts2.zip
2019-06-10
spring-struts.zip
2019-06-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅