首页
学习
活动
专区
工具
TVP
发布

从流域到海域

专栏作者
439
文章
498844
阅读量
59
订阅数
LangChain手记 Question Answer 问答系统
本节介绍使用LangChian构建文档上的问答系统,可以实现给定一个PDF文档,询问关于文档上出现过的某个信息点,LLM可以给出关于该信息点的详情信息。这种使用方式比较灵活,因为并没有使用PDF上的文本对模型进行训练就可以实现文档上的信息点问答。本节介绍的Chain也比较常用,它涉及到了嵌入(embedding)和向量存储(vector store)。
Steve Wang
2023-10-12
2860
LangChain手记 Memory
使用open ai的API调用GPT都是单次调用,所以模型并不记得之前的对话,多轮对话的实现其实是将前面轮次的对话过程保留,在下次对话时作为输入的message数组的一部分,再将新一轮对话的提问也放入message数组,再发起一次API调用,即构手动建对话流(以上笔者注)。
Steve Wang
2023-10-12
2360
LoRA: 大模型快速训练的秘诀
LoRA的提出在上述PEFT方法之后,来自微软的研究者认为,现有的Adapter Tuning和Prefix Tuning这两种方法均有缺点:
Steve Wang
2023-10-12
5640
四两拨千斤,训练大模型的PEFT方法
自然语言处理进入大语言模型(Large Language Model, LLM)时代之后,模型的参数量级越来越庞大,以稍早之前的GPT-3为例,它有175B即1亿7千5百万参数,而ChatGPT及后续模型则更大。一方面大语言模型解决自然语言处理任务所需的涌现能力确实需要如此量级的参数,另一方面如此巨大的参数会引起训练成本的急剧增加,甚至从消费级硬件角度来讲,用户全量训练大语言模型的参数的成本令人望而却步。大语言模型已经过pre-training阶段,于是就有学者提出是否能通过finetune一部分少量参数实现下游任务的精调,这催生了一系列PEFT(Parameter-Efficient Fine Tuning,PEFT,可译为参数高效精调)方法。
Steve Wang
2023-10-12
5170
大语言模型高效训练基础知识:优化器AdamW和Adafator
Adam相信很多读者已经了解了,Weight Decay解释起来也比较容易,为了防止过拟合,在计算损失函数时需要增加L2正则项:
Steve Wang
2023-10-12
7350
大模型高效训练基础知识:fp16与混合精度训练
GPU是一种专精浮点数运算的硬件设备,显然处理32位浮点数是处理16位浮点数计算量的2倍还多,在愿意损失一些精度的条件下使用fp16可以加速计算,而且也不会对模型最终的效果产生可感知影响。于是就有人提出了采用fp16来进行训练,具体而言在计算激活值和梯度的时候以fp16精度存储,执行优化算法的时候还原为fp32(缺失位补0),这样最终的效果是模型在GPU上以fp16和fp32两种方式加载,这被称为混合精度训练(mixed precision training),这种方式占用了更少的显存(全精度需要保存2份原始模型,混合精度保存1份原始模型,1份半精度模型,是原始模型的1.5倍),也加速了训练过程,即精度损失换时间。
Steve Wang
2023-10-12
7760
树状数组及其LeetCode应用详解
树状数组即二叉索引树,是使用数组模拟树形结构的一种数据结构,可用于计算前缀和和区间和(元素全为1时可用来计数)。采用数组而不是直接建树来解决问题是由于某些特定问题比如区间求和完全可以不建树就能解决,这样实现简单,复杂度低。这点上和Trie树有异曲同工之妙。
Steve Wang
2022-05-10
7390
Redis常用数据类型及其对应的底层数据结构
Redis是一种键值(Key-Value)数据库。相较于MySQL之类的关系型数据库,Redis是一种非关系型数据库。Redis存储的数据只包含键和值两部分,只能通过键来查询值。这样简单的存储结构,能让Redis的读写效率非常高(HashMap读写效率都是O(1))。
Steve Wang
2022-05-10
3510
Python os.environ
Pythonos包里面提供了一个获取当前系统环境变量的类environ,用户获取并存储环境变量,可以像字典一样操作,key值对应环境变量名称,value值对应路径。
Steve Wang
2022-04-13
4270
深入了解linux inode
文件是储存在硬盘上的,硬盘最小的存储单位叫做扇区sector,每个扇区存储512个字节。操作系统读取硬盘的时候,不会一个个扇区地读取,而是一次性地读取多个扇区,这个逻辑单位叫做块block。由多个扇区构成的快,才是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个sector组成一个block。
Steve Wang
2020-11-12
2.7K0
树状数组
树状数组即二叉索引树,是使用数组模拟树形结构的一种数据结构,可用于计算前缀和和区间和(元素全为1时可用来计数)。采用数组而不是直接建树来解决问题是由于某些特定问题比如区间求和完全可以不建树就能解决,这样实现简单,复杂度低。这点上和Trie树有异曲同工之妙。
Steve Wang
2020-11-03
1.5K0
Redis常用数据类型对应的数据结构
Redis是一种键值(Key-Value)数据库。相较于MySQL之类的关系型数据库,Redis是一种非关系型数据库。Redis存储的数据只包含键和值两部分,只能通过键来查询值。这样简单的存储结构,能让Redis的读写效率非常高(HashMap读写效率都是O(1))。
Steve Wang
2020-10-10
5470
Java面试高频知识点总结 Redis
高性能:从内存读取数据比从硬盘读取要快很多。如果数据库中对应的数据改变之后,同步改变缓存中相应的数据即可。
Steve Wang
2020-09-24
4430
Deep Memory Network 深度记忆网络
一个记忆网络是由一个记忆mmm(一个以mim_imi​作为索引的数组对象)和4个组件I,G,O,RI,G,O,RI,G,O,R组成。其中:
Steve Wang
2020-03-18
1.3K0
Vue.js项目目录结构
folder/flie 说明 bulid 最终生成代码存放位置。 config 配置目录,存放配置文件。index.js中存放了环境和端口等配置信息。 node_module npm加载所需的项目依赖模块。 src 源文件目录,我们写出的文件存储位置,包含以下目录和文件: - assets: 项目资源目录,图片、logo。 -components:项目组件目录。 -App:vue: 项目入口文件,也可以将组件放在这里。 -main.js: 项目核心文件。 static 静态资
Steve Wang
2018-02-05
2.1K0
《数据结构》 顺序表常用操作代码集合
Ps:每段代码中,添加了署名Solo的是博主自己写的,其余来自课本或者老师。 //定义线性表的存储结构 #define MAXSIZE 100 typedef struct { ElemType elem[MAXSIZE]; //ElemType自定义 int last; } SeqList; //线性表按查找内容运算 Locate(L,e)函数 int Locate(SeqList L, ElemType e) { i = 0; while((i <= L.last)
Steve Wang
2018-02-05
5120
《笨办法学Python》 第20课手记
《笨办法学Python》 第20课手记 本节课讲函数与文件,内容比较简单,但请注意常见问题解答,你应该记住那些内容。 指针表示存储地址。 原代码如下: from sys import argv #从sys模组中引入argv script, input_file = argv #将argv的列表变量赋值给script和input_file def print_all(f): #定义一个打印文件的函数 print f.read() #函数主体,打印从f变量中读取的内容 def rewind(f): #
Steve Wang
2018-02-05
4850
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档