首页 > 其他分享 >在Intel GPU上使用IPEX-LLM进行本地BGE嵌入优化

在Intel GPU上使用IPEX-LLM进行本地BGE嵌入优化

时间:2024-12-08 12:29:22浏览次数:9  
标签:嵌入 Intel IPEX LLM query GPU

在Intel GPU上使用IPEX-LLM进行本地BGE嵌入优化

引言

在人工智能领域,嵌入技术广泛应用于信息检索、问答系统等任务中。对于许多开发者而言,了解如何在Intel GPU上利用IPEX-LLM进行优化以获得低延迟、高性能的嵌入操作,是一项非常有价值的技能。本文将以LangChain为例,演示如何在Intel GPU上进行嵌入优化,帮助你充分发挥硬件潜力。

主要内容

环境准备和安装

要在Intel GPU上使用IPEX-LLM进行优化,首先需要按照以下步骤进行工具安装和环境准备:

Windows用户
  1. 更新GPU驱动(可选)并安装Conda。详细信息请参考Windows安装指南
  2. 创建并激活一个Conda环境。
Linux用户
  1. 安装GPU驱动、Intel® oneAPI Base Toolkit 2024.0和Conda。详细信息请参考Linux安装指南
  2. 创建并激活一个Conda环境。

安装IPEX-LLM和必备工具包

在准备好的环境中,安装LangChain及其依赖包:

%pip install -qU langchain langchain-community

安装用于Intel GPU优化的IPEX-LLM和sentence-transformers:

%pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
%pip install sentence-transformers

备注:你也可以使用https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/作为备用源。

运行时配置

为了实现最佳性能,建议根据设备设置环境变量:

使用Intel Core Ultra集成GPU的Windows用户
import os

os.environ["SYCL_CACHE_PERSISTENT"] = "1"
os.environ["BIGDL_LLM_XMX_DISABLED"] = "1"
使用Intel Arc A系列GPU的Windows用户
import os

os.environ["SYCL_CACHE_PERSISTENT"] = "1"

注意:首次在Intel iGPU/Intel Arc A300系列或Pro A60上运行模型时,可能需要数分钟进行编译。

代码示例

以下代码演示如何使用LangChain和IPEX-LLM进行文本嵌入:

from langchain_community.embeddings import IpexLLMBgeEmbeddings

# 初始化嵌入模型
embedding_model = IpexLLMBgeEmbeddings(
    model_name="BAAI/bge-large-en-v1.5",
    model_kwargs={"device": "xpu"},  # 使用API代理服务提高访问稳定性
    encode_kwargs={"normalize_embeddings": True},
)

# 嵌入文本示例
sentence = "IPEX-LLM is a PyTorch library for running LLM on Intel CPU and GPU with very low latency."
query = "What is IPEX-LLM?"

text_embeddings = embedding_model.embed_documents([sentence, query])
print(f"text_embeddings[0][:10]: {text_embeddings[0][:10]}")
print(f"text_embeddings[1][:10]: {text_embeddings[1][:10]}")

query_embedding = embedding_model.embed_query(query)
print(f"query_embedding[:10]: {query_embedding[:10]}")

常见问题和解决方案

  1. 首次运行缓慢问题:如首次在特定GPU硬件上运行模型编译较慢,这是正常现象。后续调用将显著加快。
  2. 网络访问问题:由于某些地区网络限制,可能需要使用API代理服务提高访问速度和稳定性。

总结与进一步学习资源

本文简要介绍了在Intel GPU上使用IPEX-LLM进行嵌入优化的步骤和实现方法。希望通过本文,开发者能更好地利用现有硬件提升应用性能。未来可进一步探索嵌入模型概念指南具体模型如何使用的相关资料。

参考资料

  1. IPEX-LLM官方文档
  2. LangChain官方文档
  3. Intel oneAPI工具套件

结束语:‘如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!’

—END—

标签:嵌入,Intel,IPEX,LLM,query,GPU
From: https://blog.csdn.net/llllllns/article/details/144321573

相关文章

  • 2024 IntelliJ IDEA安装使用教程(附激活,含常见问题解答)
    第一步:下载IDEA安装包访问IDEA官网,下载IDEA也可以在这里点击下载idea(含博主使用版本)下载idea第二步:安装IDEA点击xx关掉程序!第三步:下载补丁IntelliJIDEA补丁文件点击获取补丁下载成功后,打开标注的文件文件夹,进入到文件夹/jetbra注意:这个文件夹单......
  • 大语言模型LLM之GPT系列
    大模型超详细解读(目录)-知乎 LLM系列超详细解读(一):GPT:无标注数据的预训练生成式语言模型-知乎LLM系列超详细解读(二):GPT-2:GPT在零样本多任务学习的探索-知乎LLM系列超详细解读(三):GPT-3:大型语言模型是少样本学习器-知乎LLM系列超详细解读(四):InstructGP......
  • 大语言模型LLM之MoE系列
    大模型超详细解读(目录)-知乎 MoE系列超详细解读(一):SoftMoE:一种完全可微的稀疏Transformer-知乎MoE系列超详细解读(二):V-MoE:视觉领域的稀疏门控混合专家模型-知乎MoE系列超详细解读(三):ST-MoE:设计稳定可迁移的稀疏专家模型-知乎MoE系列超详细解读(四):Mo......
  • ORCA:基于持续批处理的LLM推理性能优化技术详解
    大语言模型(LLMs)推理过程中的批处理优化面临显著挑战,这主要源于其推理过程的迭代特性。核心问题在于批处理中的各个请求完成时间存在差异,这导致资源释放和新请求整合的复杂性显著提高,特别是在处理不同完成阶段的请求时。当批处理中序列的生成长度差异较大时,GPU资源利用率往往不够......
  • [优化你的AI应用:使用CerebriumAI实现高效的LLM模型访问]
    #引言随着人工智能的飞速发展,特别是大规模语言模型(LLM)的广泛应用,开发者们迫切需要一种高效、灵活的基础设施来支持这些模型的使用。CerebriumAI作为一项无服务器GPU基础设施服务,通过提供对多种LLM模型的API访问,极大地简化了这一过程。本文将带您了解如何利用CerebriumAI......
  • MLLM_20241121
    Paper1题目:ClassificationDoneRightforVision-LanguagePre-Training作者团队:字节豆包大模型团队链接:https://arxiv.org/abs/2411.033131.论文试图解决什么问题?是否是一个新问题?当前视觉-语言预训练模型(如CLIP)在训练中计算成本高的问题,特别是大批量对比学习和......
  • Bellman-ford算法
    有边数限制的最短路 #include<bits/stdc++.h>usingnamespacestd;constintN=510,M=10010,INF=0x3f3f3f3f;structEdge{inta,b,c;}edges[M];intn,m,k;intdist[N],last[N];//copy数组intbellman_ford(){memset(dist,0x3f,sizeofdist);dist[1......
  • 大语言模型 —— 使用RAG工具Anything LLM䢎本地部署AI大模型投喂数据,创建本地私有AI
    相关:https://www.youtube.com/watch?v=77990wI3LZkhttps://anythingllm.com/https://ollama.com/......
  • 阿里:面向开放解决方案的推理LLM
    ......
  • LLM-based Multi-Agent 系统架构设计与项目代码实践
    LLM-basedMulti-Agent系统架构设计与项目代码实践关键词:大语言模型(LLM)、多智能体系统、系统架构设计、项目实践、人工智能、协作机制、决策优化摘要:本文深入探讨了基于大语言模型(LLM)的多智能体系统架构设计及其实际项目实现。文章从多智能体系统的基本概念出发,详......