一个达到openai-ada向量效果的向量模型开源项目(从0开始训练8192上下文)

向量数据库大模型智能内容

“ RAG场景目前的向量模型的效果,bge-m3 > bce > bge > cmteb前排的所有模型。这篇文章的价值是很高的,他开源了详细的技术报告、code、数据。而且训练结果超过了openai-ada模型,支持8192长度的输入,在做向量模型的同学肯定是可以借鉴一下的。picture.image


        
          
https://blog.nomic.ai/posts/nomic-embed-text-v1  
https://github.com/nomic-ai/contrastors  
https://static.nomic.ai/reports/2024_Nomic_Embed_Text_Technical_Report.pdf  

      

picture.image

模型改动:(在bert的基础上)

  • 使用了ROPE,用以支持外推
  • 使用了SwiGLU 激活
  • dropout设置成了0

训练优化:

  • 使用deepspeed、flash attention训练
  • 使用bf16精度
  • vocab大小调整为64的倍数
  • train batch size = 4096
  • masked language model训练的时候,mask rate调整成15%
  • 没使用nsp的任务

训练顺序:

文本编码器通常通过对大量成对文本进行对比学习的方式进行训练,分为多个阶段。

在高层次上,Transformer架构首先通过自监督的MLM目标(BERT)进行预训练,然后通过规模庞大的无监督数据进行对比训练,最后通过较小的高质量的成对数据进行对比微调。

第一个无监督对比阶段是在由弱相关文本对生成的数据集上进行训练,例如来自StackExchange和Quora等论坛的问题-答案对,亚马逊评论的标题-正文对,以及新闻文章的摘要。

在第二个微调阶段,利用来自网络搜索的搜索查询和答案等更高质量的标记数据集。数据筛选和难例挖掘在这个阶段至关重要。

具体的可以看开源的项目和技术报告,我只看了下博客内容,主要最近不搞这个,但是这种超长长度文本的向量模型的训练应该还是挺有意思的。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论