大模型的几个要点

大模型
1、加载模型
corpus_embeddings_ch = multi_qa_encoder.encode(passages, convert_to_tensor=True, show_progress_bar=True)
和 
model_ckpt = "sentence-transformers/multi-qa-mpnet-base-dot-v1"
tokenizer = AutoTokenizer.from_pretrained(model_ckpt)
model = AutoModel.from_pretrained(model_ckpt)
有什么区别

1)直接处理文本列表返回嵌入向量,简化了预处理步骤,show_progress_bar=True显示编码进度
适合快速生成嵌入,方便再各种下游任务中用;
适合大多数的场景,提供了简便的接口和优化的性能,适合快速开发和部署。

2)手动加载分词器和模型,并进行文本编码。需要实现预处理步骤的手动操作,包括文本分词tokenizer、编码embedding、提取嵌入向量hidden_state
能够使用transformers的各种工具和方法,model和tokenizer分开,可以结合transformer定制化,model的向量长度设置、冻结参数
适合做微调或者自定义步骤的任务,提供了更多的灵活性和控制
 

2、CSDN问答机器人
粗排-->精排-->prompt-->chatgpt

知识库的数据来源:query、answer (tag标签、content、head_title小标题)

粗排:数据向量化query_vector

构建训练数据和训练模型

采用一个sentence-bert模型作为预训练模型,对标注好的数据微调

标注数据方法:利用模型粗筛,再人工标注[query,query,label]

粗筛方法:
利用传统的相似度计算方法LCS、BM25,对标题和query计算相似度,组成[query,queyr]对。更侧重文本相似
训练一个无监督的语义相似模型simCSE,模型计算两个相似度,筛选相似度比较高的数据。更能侧重语义
query计算query与title的相似度,设定一个阈值0.9筛选0.9以上的title,再人工打标label,相似1,不相似0

由此,构建了训练数据

用有监督的数据去微调SBERT模型

难点:该文章使用的数据是query和answer对,是对称语义搜索。即query与query的相似度,而不是query召回answer的相似度。

参考文章:https://blog.csdn.net/qq_44193969/article/details/130834942

3、SimCSE
考虑如何使用SimCSE作为召回模型检索相似的问题

1)SimCSE去掉了SimBERT的生成部分,仅保留检索模型;

2)由于SimCSE没有标签数据,所以把每个句子自身视为相似句传入。

结论1:在SimCSE上的中文实验,结果表明不少任务上SimCSE确实相当优秀,能明显优于BERT-whiteining。
参考文章:https://kexue.fm/archives/8348

结论2:BERT-whitening方法确实达到了当前无监督语义的SOTA,而SimBERT则是中文语义相似度的一个比较高的开源baseline。
参考文章:https://kexue.fm/archives/8321

4、SOTA
SOTA普遍被视为“State-of-the-Art”的缩写
1.SOTA是特定领域或任务、性能保持领先水平的代名词。

2.SOTA并非一成不变,而是会随着新的基准,诞生新的领航者。

3.SOTA意味着超越和突破原有的水平以实现更高的水准。它也因此激励着人们打破能力边界,推动行业的良性竞争,最终实现整个领域的持续发展。

5、深度学习
CNN:卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,主要用于处理具有网格结构的数据,如图像。

原理
卷积层:通过卷积核(滤波器)对输入数据进行局部连接和卷积操作,提取局部特征。
池化层:通过最大池化或平均池化操作,降低数据的维度,减少计算量,同时保留重要特征。
全连接层:将提取到的特征连接到分类器,进行最终的分类或回归任务。

RNN:循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络,特别适合处理时间序列或顺序数据。

原理
递归结构:RNN 通过隐藏状态(hidden state)连接相邻时间步的输出,使得网络可以保留和更新输入序列中的信息。
训练:通过反向传播算法进行训练,但由于梯度消失和梯度爆炸问题,RNN 在处理长序列时存在一定困难。


TCN:时序卷积网络(Temporal Convolutional Network,TCN)是一种使用卷积操作来处理序列数据的模型,旨在克服 RNN 的一些缺点。

原理
因果卷积(Causal Convolution):确保输出时间步只与当前及之前的时间步相关,防止未来信息泄漏。
扩张卷积(Dilated Convolution):通过在卷积核之间引入空洞,扩大感受野,从而捕捉更长的依赖关系。
残差连接(Residual Connection):通过添加短连接,帮助训练深层网络,缓解梯度消失问题。

总结
CNN 适用于图像和视频处理任务,擅长自动提取局部特征,具有参数共享和鲁棒性,但不擅长处理序列数据。
RNN 适用于时间序列和顺序数据任务,能够捕捉时间依赖关系,但存在梯度消失和梯度爆炸问题,难以处理长序列。
TCN 通过因果卷积和扩张卷积处理序列数据,能够并行计算,捕捉长时间依赖关系,并缓解梯度消失问题,但参数量较大。

对于图像处理,CNN 是首选;
对于时间序列预测和自然语言处理,RNN 和 TCN 都是有效的选择,而 TCN 在许多情况下表现优于 RNN。
 

6、正则化、神经网络的常用方法有哪些

L1 L2正则化

最大化正则化

dropout

Spatial Dropout

Variational Dropout

在CNN前加入dropout:有提升 
再CNN之后加入dropout:有提升
在CNN前加入spatial dropout:有提升,较dropout效果好
在卷积层和池化层之间加入dropout:效果不大,可能网络简单
在pooling层之后加入dropout

参考文章:https://blog.csdn.net/u010960155/article/details/104103795

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值