首页 > 系统相关 >Linux环境下sentence-transformers 之 all-MiniLM-L6-v2模型安装与使用

Linux环境下sentence-transformers 之 all-MiniLM-L6-v2模型安装与使用

时间:2023-09-20 17:36:12浏览次数:37  
标签:MiniLM transformers sentence 环境 v2 conda 安装

好记性不如烂笔头系列

一、背景:

1、之前使用chatgpt接口生成embeddings的向量维度为1536维,数据库中占用较大,所以找寻低维度的向量生成方法,减少数据占用

2、在huggingface上发现all-mpnet-base-v2all-MiniLM-L6-v2两个模型不错,前者会生成768维的向量,后者会生成384维的向量

 

二、介绍:

  1、huggingface下的Sentence Transformers是一个Python框架,用于最先进的句子,文本和图像嵌入。all-mpnet-base-v2、all-MiniLM-L6-v2则是该框架下下载量最多的两个模型

2、模型并不能直接使用,使用这些模型需要提前安装好环境

 

三、环境安装:

1、因为要使用python环境,所以我们使用Anaconda(官网)来对环境进行统一管理,具体介绍可看这篇文章:Anaconda介绍、安装及使用教程

 

2、官网下载Anaconda linux环境安装包,并传到linux下

 

 3、执行安装Anaconda

1 bash Anaconda3-2023.07-2-Linux-x86_64.sh

按照说明一路向下回车,直到显示:Do you accept the license terms? [yes|no],输入yes,回车,等待安装

此时记得断开终端,重新连接,使安装后的Anaconda生效!

 之后执行指令,来验证是否安装成功,成功会显示版本号

conda --version

执行指令,来更新conda,等待跳出更新列表,输入y,进行更新

conda update conda

 

4、创建python环境(此处看文章 Anaconda介绍、安装及使用教程 即可)

通过Sentence Transformers github页面可知,安装条件,在条件transformers v4.6.0中看到在python3.8+得到测试,为了稳妥起见,我这边使用了python3.9

 创建python3.9环境,输入y回车,开始创建

conda create --name python3.9 python=3.9

查看环境

conda info --envs

 切换到环境python3.9

source activate python3.9

 

 5、安装PyTorch

进入pyTorch官网,获取安装pyTouch命令,根据自身情况选择

 回到python3.9环境下,执行命令,安装pyTorch

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

 

 6、安装transformers

 因为上面已经安装了pyTorch,所以此时可以安装transformers了

pip install transformers

 

7、上述依赖环境安装完成,开始安装sentence-transformers

建议使用conda安装,使用pip安装不知道会有何问题

conda install -c conda-forge sentence-transformers

 此时已全部安装完成,环境配置完成

 

8、下载模型

此处建议手动下载模型,否则执行python脚本时再下载会很耽误时间

模型地址上述提过:all-MiniLM-L6-v2,按照图中所示下载全部文件,再放到linux指定目录

 

9、执行测试python脚本

from sentence_transformers import SentenceTransformer

sentences = ["This is an example sentence", "Each sentence is converted"]

model = SentenceTransformer('/usr/local/zxx/huggingface_model/all-MiniLM-L6-v2')
embeddings = model.encode(sentences)
print(embeddings)

 完结撒花~(实测,384维的向量

 

标签:MiniLM,transformers,sentence,环境,v2,conda,安装
From: https://www.cnblogs.com/Arthemis-z/p/17717859.html

相关文章

  • CMT:卷积与Transformers的高效结合
    论文提出了一种基于卷积和VIT的混合网络,利用Transformers捕获远程依赖关系,利用cnn提取局部信息。构建了一系列模型cmt,它在准确性和效率方面有更好的权衡。CMT:体系结构CMT块由一个局部感知单元(LPU)、一个轻量级多头自注意模块(LMHSA)和一个反向残差前馈网络(IRFFN)组成。 ......
  • 【ICML2022】Understanding The Robustness in Vision Transformers
    来自NUS&NVIDIA文章地址:[2204.12451]UnderstandingTheRobustnessinVisionTransformers(arxiv.org)项目地址:https://github.com/NVlabs/FAN一、MotivationCNN使用滑动窗的策略来处理输入,ViT将输入划分成一系列的补丁,随后使用自注意力层来聚合补丁并产生他们的表示,ViT的......
  • 带你上手基于Pytorch和Transformers的中文NLP训练框架
    本文分享自华为云社区《全套解决方案:基于pytorch、transformers的中文NLP训练框架,支持大模型训练和文本生成,快速上手,海量训练数据》,作者:汀丶。1.简介目标:基于pytorch、transformers做中文领域的nlp开箱即用的训练框架,提供全套的训练、微调模型(包括大模型、文本转向量、文本生......
  • 使用 AutoGPTQ 和 transformers 让大语言模型更轻量化
    大语言模型在理解和生成人类水平的文字方面所展现出的非凡能力,正在许多领域带来应用上的革新。然而,在消费级硬件上训练和部署大语言模型的需求也变得越来越难以满足。......
  • 使用 Transformers 优化文本转语音模型 Bark
    ......
  • bert,Bidirectional Encoder Representation from Transformers
    BERT的全称是BidirectionalEncoderRepresentationfromTransformers,是Google2018年提出的预训练模型,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的。模型的主要创新点都在pre-train方法上,即用了MaskedLM和NextSentencePrediction两种方法分别捕捉词语和句子......
  • Transformers包使用记录
    Transformers是著名的深度学习预训练模型集成库,包含NLP模型最多,CV等其他领域也有,支持预训练模型的快速使用和魔改,并且模型可以快速在不同的深度学习框架间(Pytorch/Tensorflow/Jax)无缝转移。以下记录基于HuggingFace官网教程:https://github.com/huggingface/transformers/blob/......
  • NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双
    NLP文本匹配任务TextMatching[无监督训练]:SimCSE、ESimCSE、DiffCSE项目实践文本匹配多用于计算两个文本之间的相似度,该示例会基于ESimCSE实现一个无监督的文本匹配模型的训练流程。文本匹配多用于计算两段「自然文本」之间的「相似度」。例如,在搜索引擎中,我们通常需要判断......
  • NLP文本匹配任务Text Matching 有监督训练:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双
    NLP文本匹配任务TextMatching[有监督训练]:PointWise(单塔)、DSSM(双塔)、SentenceBERT(双塔)项目实践0背景介绍以及相关概念本项目对3种常用的文本匹配的方法进行实现:PointWise(单塔)、DSSM(双塔)、SentenceBERT(双塔)。文本匹配(TextMatching)是NLP下的一个分支,通常用于计算两个句子......
  • Windows11安装python模块transformers报错Long Path处理
    Windows11安装python模块transformers报错,报错信息如下ERROR:CouldnotinstallpackagesduetoanOSError:[Errno2]Nosuchfileordirectory:'C:\\Users\\27467\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\\LocalCac......