动手学习RAG: 大模型向量模型微调 intfloat/e5-mistral-7b-instruct

  • 动手学习RAG: 向量模型
  • 动手学习RAG: moka-ai/m3e 模型微调deepspeed与对比学习
  • 动手学习RAG:rerank模型微调实践 bge-reranker-v2-m3
  • 动手学习RAG:迟交互模型colbert微调实践 bge-m3
  • 动手学习RAG: 大模型向量模型微调 intfloat/e5-mistral-7b-instruct
  • 动手学习RAG:大模型重排模型 bge-reranker-v2-gemma微调

在这里插入图片描述

1. 环境准备

pip install transformers
pip install open-retrievals
  • 注意安装时是pip install open-retrievals,但调用时只需要import retrievals
  • 欢迎关注最新的更新 https://github.com/LongxingTan/open-retrievals

2. 使用Mistral作为向量模型

这里直接将query_instruction和document_instruction写进了text里

from retrievals import AutoModelForEmbeddingmodel_name = 'intfloat/e5-mistral-7b-instruct'
model = AutoModelForEmbedding.from_pretrained(model_name,pooling_method='last',use_fp16=True,)texts = [
'Instruct: Given a web search query, retrieve relevant passages that answer the query\nQuery: how much protein should a female eat', 
'Instruct: Given a web search query, retrieve relevant passages that answer the query\nQuery: summit define', 
"As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.", 
'Definition of summit for English Language Learners. : 1  the highest point of a mountain : the top of a mountain. : 2  the highest level. : 3  a meeting or series of meetings between the leaders of two or more governments.'
]embeds = model.encode(texts, normalize_embeddings=True)
print(embeds)scores = (embeds[:2] @ embeds[2:].T) * 100
print(scores.tolist())

请添加图片描述

  • 也可以把prompt写在函数中
from retrievals import AutoModelForEmbeddingmodel_name = 'intfloat/e5-mistral-7b-instruct'
model = AutoModelForEmbedding.from_pretrained(model_name,pooling_method='last',use_fp16=True,query_instruction='Instruct: Given a web search query, retrieve relevant passages that answer the query\nQuery: ',document_instruction='',)query_texts = ['how much protein should a female eat', 'summit define']
document_texts = ["As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.", 'Definition of summit for English Language Learners. : 1  the highest point of a mountain : the top of a mountain. : 2  the highest level. : 3  a meeting or series of meetings between the leaders of two or more governments.']query_embeds = model.encode(query_texts, normalize_embeddings=True, is_query=True)
print(query_embeds)doc_embeds = model.encode(document_texts, normalize_embeddings=True, is_query=False)
print(doc_embeds)scores = (query_embeds @ doc_embeds.T) * 100
print(scores.tolist())

3. LoRA微调E5-mistral向量模型

数据还是按照惯例采用t2-ranking

MODEL_NAME="intfloat/e5-mistral-7b-instruct"
TRAIN_DATA="/root/kag101/src/open-retrievals/t2/t2_ranking.jsonl"
OUTPUT_DIR="/root/kag101/src/open-retrievals/t2/ft_out"torchrun --nproc_per_node 1 \-m retrievals.pipelines.embed \--output_dir $OUTPUT_DIR \--overwrite_output_dir \--model_name_or_path $MODEL_NAME \--pooling_method last \--do_train \--data_name_or_path $TRAIN_DATA \--positive_key positive \--negative_key negative \--use_lora True \--query_instruction 'Instruct: Given a web search query, retrieve relevant passages that answer the query\nQuery: ' \--document_instruction '' \--learning_rate 1e-5 \--bf16 \--num_train_epochs 3 \--per_device_train_batch_size 2 \--gradient_accumulation_steps 16 \--dataloader_drop_last True \--query_max_length 64 \--document_max_length 256 \--train_group_size 2 \--logging_strategy steps \--logging_steps 100 \--temperature 0.02 \--use_inbatch_negative false \--save_total_limit 1

请添加图片描述

由于trainer中可以使用多种方式使用多GPU,因此retrievals也都支持。

# torchrun --nnodes 1 --nproc-per-node 4
# deepspeed --include localhost:0,1,2,3
# CUDA_VISIBLE_DEVICES=1,2,3 python
# accelerate launch --config_file conf_ds.yaml \accelerate launch \--config_file conf_llm.yaml \llm_finetune_for_embed.py \--model_name_or_path mistralai/Mistral-7B-v0.1 \--train_data  \--output_dir output \

4. 评测

微调前性能 c-mteb t2-ranking score
请添加图片描述

微调后性能

请添加图片描述
微调后,map从0.651上升到0.699,mrr从0.758上升到0.808

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143435.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

5.内容创作的未来:ChatGPT如何辅助写作(5/10)

引言 在信息爆炸的时代,内容创作已成为连接品牌与受众、传递信息与知识、以及塑造文化与观念的重要手段。随着数字媒体的兴起,内容创作的需求日益增长,对创作者的写作速度和质量提出了更高的要求。人工智能(AI)技术的…

国家标准参编周期一般是多久?参编的流程有哪些?

在当今快速发展的时代,标准的重要性日益凸显。国家标准作为规范行业发展、保障产品质量、促进技术进步的重要依据,吸引着众多企业积极参与其中。而国家标准参编,为企业提供了一个提升自身竞争力、展示技术实力的良好平台。那么,国…

SLAM面经1(百度)

百度面经 百度共三面,如果面试效果俱佳,会增加一个hr面。前二面主要是技术面,分为在线coding+代码知识+专业知识+工程能力。第三面是主管面,偏向于管理方面,和hr面相似。 一面 1)在线coding 在线coding的考试内容为下面力扣的变种。 2)专业面 (1)VINS-FUSION与ORB…

佰朔资本:本周2只新股发行!水性印花胶浆细分龙头将登陆A股

到发稿,本周网上发行2只新股披露发行价。北交所新股铜冠矿建发行价为4.33元,发行市盈率15.48倍,工作最近一个月平均动态市盈率5.89倍。创业板新股长联科技发行价为21.12元,发行市盈率17倍,工作最近一个月平均动态市盈率…

合宙Air201模组LuatOS扩展功能:温湿度传感器篇!

通过前面几期的学习,同学们的学习热情越来越高。 合宙Air201模组除了支持3种定位方式外,还具有丰富的扩展功能,比如:通过外扩BTB链接方案,最多可支持21个IO接口:SPI、I2C、UART等多种接口全部支持。 本期…

我的AI工具箱Tauri版-VideoReapeat视频解说复述克隆

本教程基于自研的AI工具箱Tauri版进行VideoReapeat视频解说复述克隆。 视频解说复述克隆样片 《我的AI工具箱Tauri版-VideoReapeat视频解说复述克隆》样片 进入软件后可以直接搜索 VideoReapeat 或者依次点击 Python音频技术/视频tools 进入该模块。 该模块会消耗TTS文本转语…

P1079 [NOIP2012 提高组] Vigenère 密码------------------------------P1703 那个什么密码2

P1079 [NOIP2012 提高组] Vigenre 密码 题目描述 16 世纪法国外交家 Blaise de Vigenre 设计了一种多表密码加密算法 Vigenre 密码。Vigenre 密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。 在密码学中&#xff…

人工智能(AI)的影响下人类的生活样子

讨论在人工智能(AI)的影响下人类的生活是什么样子 在21世纪的今天,人工智能(AI)已经不再是遥不可及的未来科技,而是悄然渗透到我们日常生活的每一个角落,以一种前所未有的方式改变着我们的生活方式、工作模式乃至社会…

在表格的函数参数中使用通配符

条件:条件的形式为数字、表达式、单元格引用或文本,它定义了要计数的单元格范围。 例如,条件可以表示为32、">32"、B4、"apples"或"32"。 可以在条件中使用通配符,即问号(?)和星号(*)。问号匹…

Python编码系列—Python组合模式:构建灵活的对象组合

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

7 种有助于压缩图像的最佳图像压缩工具

您的网站是否由于图像文件过大而表现不佳?现在是时候探索最适合您网站的图像压缩工具了。 影响页面加载速度的因素之一是需要更多资源来加载的庞大视觉对象,例如叠加图像。在这种情况下,您应该先压缩视觉对象,然后再将其上传到您…

什么护眼台灯性价比高又亮?五款性能好的护眼台灯推荐

现在不止是小孩子需要保护眼睛,而我们的成年人也是需要保护眼睛。因为现在上班压力大,下班回家加班也成了日常操作,每天用眼,对着电子产品的时间也会很久,眼睛会感到不舒服。回到家中,我们就需要一款好的护…

【2024华为杯研究生数学建模竞赛】比赛思路、代码、论文更新中.....

目录 赛中助攻华为杯常用建模算法🗒️🗒️历年优秀论文⭐⭐论文模板1)论文模板2)基础画图能力 绘图与数据分析软件SPSSPRO 2024研究生数学建模竞赛时间为9月21日(周六)8:00至9月25日(周三&#…

HTML5精粹练习第1章博客

第1章博客 用最新的HTML5标签来联系博客 HTML文件&#xff1a;第1章博客.html <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"description" content"这是一个HTML5案例" /><meta name"…

香港科技大学工学院2025/2026年度硕士研究生(MSc)项目招生宣讲会——华南师范大学佛山校区

&#x1f514;香港科技大学工学院2025/2026年度硕士研究生&#xff08;MSc&#xff09;项目招生宣讲会 &#x1f559;时间&#xff1a;2024年9月26日&#xff08;星期四&#xff09;19:00 &#x1f3e0;地点&#xff1a;华南师范大学佛山校区图书馆电影院 &#x1f386;2024T…

【楚怡杯】职业院校技能大赛 “云计算应用” 赛项样题七

某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenStack搭建企业内部私有云平台&#xff0c;开源Kubernetes搭建云原生服务平台&#xff0c;选…

ClickHouse 与 Quickwit 集成实现高效查询

1. 概述 在当今大数据分析领域&#xff0c;ClickHouse 作为一款高性能的列式数据库&#xff0c;以其出色的查询速度和对大规模数据的处理能力&#xff0c;广泛应用于在线分析处理 (OLAP) 场景。ClickHouse 的列式存储和并行计算能力使得它在处理结构化数据查询时极具优势&…

[atcoder agc 004 c] AND Grid

题目链接 题目简述 给定一个 H W H \times W HW 的网格图&#xff0c;有些位置已经被涂色。要求构造两个相同大小的网格图&#xff0c;并且在上面涂色&#xff0c;需要保证颜色四联通。满足这两个网格的涂色部分的重合位置恰好是给定的网格图的涂色位置。 题目保证边界上不…

《粮油仓储科技通讯》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《粮油仓储科技通讯》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《粮油仓储科技通讯》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;中国储备粮管理集团有限公…

EA首席执行官:AI现在是“我们业务的核心”

EA 日前举办了投资者日活动&#xff0c;首席执行官 Andrew Wilson 谈到了该公司对生成式人工智能的投入。在直播演示中&#xff0c;Wilson 提到 EA的游戏一直处于技术曲线的最前沿&#xff0c;而不同形式的人工智能始终是该公司创意之旅的核心。 然后他解释说&#xff0c;这项技…