Transformer解析
Transformer解析(Attention Is All You Need) 【超详细】【原理篇&实战篇】一文读懂Transformer-CSDN博客 Transformer论文逐段精读【论文精读】_哔哩哔哩_bilibili 【超详细】【原理篇&实战篇】一文读懂Transformer-CSDN博客 大模型面试准备(十二):深入剖析Transformer - 残差连接和层归一化_残差层和归一化层-CSDN博客 Transformer通俗笔记:从Word2Vec、Seq2Seq逐步理解到GPT、BERT-CSDN博客 “Attention Is All You Need” 是一篇由 Ashish Vaswani 等人撰写的论文,发表于 2017 年的 NeurIPS 会议上。这篇论文提出了 Transformer 模型,Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构。Transformer架构引入了自注意力机制(self-attention mechanism),这是一个...
大模型学习路线
大模型学习路线 现在门槛降低了,成本也降低了。大模型技术爆发,抓住机会。 开源大模型(离线,更安全)/在线大模型 微调:Lora->垂类 适用于用户意图识别 RAG:检索增强生成(一系列专家,提升表现幅度,降低幻觉) 只要提供了正确答案,大概率就不会答错 适合私有数据库 所以依赖于提供的数据库的信息,对数据质量要求比较高 推理更加缓慢(低于微调) 对知识库构建/信息压缩排名等(并非深度学习方面,需要深度学习算法工程师进行辅助) 提示词工程 【AI大模型】Prompt 提示词工程使用详解_大模型prompt的用法详解-CSDN博客 预训练:创造出属于自己的全新大模型 需要算力最多(微调其次,RAG和提示词工程对于算力的要求就没那么高) agent->担任80%脑力工作 一些课程 NLP FudanNLP/nlp-beginner: NLP上手教程 (github.com) 自然语言处理的入门练习 深度学习 跟李沐学AI的个人空间-跟李沐学AI个人主页-哔哩哔哩视频 (bilibili.com) 动手学深度学习 论文精读 https://...
xxl-job学习笔记
xxl-job学习笔记 基础概念 xxl-job是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 任务执行流程 执行流程 任务执行器根据配置的调度中心的地址,自动注册到调度中心 达到任务出发条件,调度中心下发任务 执行器基于线程池执行任务,并把执行结果放入内存队列、把执行日志写入日志文件中 执行器消费内存队列中的执行结果,主动上报给调度中心 当用户在调度中心查看任务日志,调度中心请求任务执行器,任务执行器读取任务日志文件并返回日志详情 搭建xxl-job xxl-job: 一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 (gitee.com) 使用docker搭建xxl-job 12345678910111213docker search xxl-jobdocker pull xuxueli/xxl-job-admin:2.4.0docker run -d \ -p 8088...
Java反射:获取类字段(getDeclaredFields())
Java反射:获取类字段getFields()方法和getDeclaredFields ()方法 1. 概念 反射是Java中一种强大的机制,允许在运行时获取、检查和操作类、方法、字段等信息,而不需要在编译时知道这些信息。 其中字段(Field)在Java中是类中用于存储数据的成员变量。在反射中,可以通过Field类获取和操作类的字段。 getFields(): 该方法用于获取某个类及其父类中所有的公有字段。公有字段是指用public修饰的字段。 这个方法对于需要获取类的公有属性时很有用,例如在某些框架或通用库中。 getDeclaredFields(): 该方法用于获取某个类中声明的所有字段,包括公有、私有、受保护的字段,但不包括继承的字段。 这个方法对于需要获取类的所有字段时很有用,尤其是在进行一些高级的操作时。 2. getFields() 12345678910111213141516171819202122import java.lang.reflect.Field;public class GetFieldsTest1 { class Us...
Java使用ES条件构造器BoolQueryBuilder
Java使用ES条件构造器BoolQueryBuilder 1. 检索前构造 12345678//1.构建SearchRequest请求对象,指定索引库SearchRequest searchRequest = new SearchRequest("data_info");//2.构建SearchSourceBuilder查询对象SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();//2.1 这个条件用于返回所有命中条件的数据数量, 不设置则返回大概数值sourceBuilder.trackTotalHits(true);//3.检索条件构造BoolQueryBuilder bqb = QueryBuilders.boolQuery(); 2. 条件构造 must可用filter代替,查询效率会更高,因为must会对结果进行_score评估 12345678910111213141516171819202122232425262728293031//3.1 完全匹配bqb.must(Q...
MySQL分页查询总结
MySQL分页查询总结 LIMIT语法: LIMIT {[offset,] row_count | row_count OFFSET offset} LIMIT子句可以被用于限制被SELECT语句返回的行数。 1234567使用两个参数时,第一个参数指定返回的偏移量,第二个参数指定返回的行数。初始行的偏移量为0(不是1):mysql> SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15使用一个参数时,指定从开头返回的行数:mysql> SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rows 写法实现: 12345678910-- 分页查询 通用语句SELECT * FROM TABLE LIMIT (pageIndex-1)*pageSize,pageSize-- 第一页 每页100条SELECT * FROM EMP LIMIT 0,100-- 第二页 每页100条SELECT * FROM EMP LIMIT 100,100-- 第801页 每页100条SEL...
Java实现LRU的两种方式
Java实现LRU的两种方式 1. 直接继承LinkedHashMap 12345678910111213141516171819202122class LRUCache extends LinkedHashMap<Integer, Integer>{ private int capacity; public LRUCache(int capacity) { super(capacity, 0.75F, true); this.capacity = capacity; } public int get(int key) { return super.getOrDefault(key, -1); } public void put(int key, int value) { super.put(key, value); } @Override protected boolean rem...
Redis实现分布式锁及Redisson
Redis实现分布式锁及Redisson 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。 在分布式系统中,常常需要协调他们的动作,若不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,这个时候,便需要使用到分布式锁。 例子:商品秒杀超卖 1. 无锁 这是一个订单库存的例子,库存stock为1,这里很容易会发现容易造成多次下单成功的错误。 2. 加同步锁 这里在单机情况下确实能够满足不出现超卖的问题。 缺点:如果作Nginx进行负载均衡+分布式集群部署,依然会出现超卖问题。 原因是同步锁synchronized是JVM级别的,每台服务器在并发情况下,只能锁住一个线程。 所以,如何处理这种分布式的情况呢? 3. Redis or Zookeeper 由于系统已经使用到了Redis,为了系统的轻量避免冗余引入新组件,选择通过Redis来进行实现分布式锁。 Redis实现分布式锁 1. SETNX和SET NX命令 [Windows版Docker安装Redis教程(保姆级),适合开发环境...
Java的Stream流
Java的Stream流 [讲透JAVA Stream的collect用法与原理,远比你想象的更强大_stream.collection-CSDN博客](https://blog.csdn.net/veezean/article/details/125857074?ops_request_misc={"request_id"%3A"172258578116800227423214"%2C"scm"%3A"20140713.130102334.."}&request_id=172258578116800227423214&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-125857074-null-null.142^v100^pc_search_result_base8&utm_term=Java stream collect&s...
并发:Java的Future和FutureTask
并发:Java的Future和FutureTask Future类的作用 Future 类是异步思想的典型运用,主要用在一些需要执行耗时任务的场景,避免程序一直原地等待耗时任务执行完成,执行效率太低。具体来说是这样的:当我们执行某一耗时的任务时,可以将这个耗时任务交给一个子线程去异步执行,同时我们可以干点其他事情,不用傻傻等待耗时任务执行完成。等我们的事情干完后,我们再通过 Future 类获取到耗时任务的执行结果。这样一来,程序的执行效率就明显提高了。 这其实就是多线程中经典的 Future 模式,你可以将其看作是一种设计模式,核心思想是异步调用,主要用在多线程领域,并非 Java 语言独有。 在 Java 中,Future 类只是一个泛型接口,位于java.util.concurrent包下,其中定义了 5 个方法,主要包括下面这 4 个功能: 取消任务; 判断任务是否被取消; 判断任务是否已经执行完成; 获取任务执行结果。 源码 123456789101112131415// V 代表了Future执行的任务返回值的类型public interface Future&l...








