Logo

IPEX-LLM: 加速英特尔CPU和GPU上的大语言模型推理

ipex-llm

IPEX-LLM简介

IPEX-LLM是英特尔推出的一个PyTorch库,旨在以极低的延迟在英特尔CPU和GPU上运行大语言模型(LLM)。它适用于各种英特尔硬件,包括带有集成显卡的本地PC、独立显卡如Arc、Flex和Max等。

IPEX-LLM的主要特点包括:

  • 基于llama.cpp、transformers、bitsandbytes、vLLM、qlora、AutoGPTQ等优秀项目构建
  • 与llama.cpp、Ollama、Text-Generation-WebUI、HuggingFace transformers、LangChain、LlamaIndex、DeepSpeed-AutoTP、vLLM、FastChat、Axolotl等无缝集成
  • 已优化/验证超过50个模型,包括LLaMA/LLaMA2、Mistral、Mixtral、Gemma、LLaVA、Whisper、ChatGLM2/3、Baichuan/Baichuan2、Qwen/Qwen-1.5等

最新更新

IPEX-LLM最近的一些重要更新包括:

  • 支持在英特尔GPU上运行Microsoft的GraphRAG
  • 增加了对大型多模态模型的广泛支持,如StableDiffusion、Phi-3-Vision、Qwen-VL等
  • 在英特尔GPU上增加了FP6支持
  • 为英特尔Core Ultra处理器增加了实验性NPU支持
  • 增加了管道并行推理支持,可以在2个或更多英特尔GPU上轻松运行大型LLM
  • 支持在英特尔GPU上运行RAGFlow
  • 支持使用Axolotl在英特尔GPU上进行LLM微调

性能表现

IPEX-LLM在英特尔Core Ultra和英特尔Arc GPU上展现了出色的Token生成速度。用户可以按照Benchmarking指南自行运行IPEX-LLM性能基准测试。

在模型准确性方面,IPEX-LLM在Wikitext数据集上进行了困惑度测试,结果显示各种低比特量化(如sym_int4、q4_k、fp6、fp8等)与fp16相比保持了较高的准确性。

快速入门

IPEX-LLM提供了多种快速入门的方式:

Docker

  • GPU上的C++推理:在英特尔GPU上运行llama.cpp、ollama、OpenWebUI等
  • GPU上的Python推理:在英特尔GPU上运行HuggingFace transformers、LangChain、LlamaIndex、ModelScope等
  • GPU上的vLLM:在英特尔GPU上运行vLLM服务
  • CPU上的vLLM:在英特尔CPU上运行vLLM服务
  • GPU上的FastChat:在英特尔GPU上运行FastChat服务
  • GPU上的VSCode:在英特尔GPU上使用VSCode开发和运行IPEX-LLM应用

使用指南

  • llama.cpp:在英特尔GPU上运行llama.cpp(使用IPEX-LLM的C++接口作为llama.cpp的加速后端)
  • Ollama:在英特尔GPU上运行ollama(使用IPEX-LLM的C++接口作为ollama的加速后端)
  • 使用llama.cpp和ollama运行Llama 3
  • vLLM:在英特尔GPU和CPU上运行vLLM
  • FastChat:在英特尔GPU和CPU上运行FastChat服务
  • 多GPU服务:利用DeepSpeed AutoTP和FastAPI在多个英特尔GPU上运行IPEX-LLM服务
  • Text-Generation-WebUI:在oobabooga WebUI中运行IPEX-LLM
  • Axolotl:使用Axolotl进行LLM微调
  • 基准测试:在英特尔CPU和GPU上运行IPEX-LLM的延迟和吞吐量基准测试

应用示例

  • GraphRAG:使用IPEX-LLM运行Microsoft的GraphRAG
  • RAGFlow:使用IPEX-LLM运行RAGFlow(一个开源RAG引擎)
  • LangChain-Chatchat:使用IPEX-LLM运行LangChain-Chatchat(使用RAG管道的知识库QA)
  • 编码助手:在VSCode中使用IPEX-LLM运行Continue(编码助手)
  • Open WebUI:使用IPEX-LLM运行Open WebUI
  • PrivateGPT:使用IPEX-LLM运行PrivateGPT与文档交互
  • Dify平台:在Dify(生产就绪的LLM应用开发平台)中运行IPEX-LLM

安装指南

  • Windows GPU:在带有英特尔GPU的Windows上安装IPEX-LLM
  • Linux GPU:在带有英特尔GPU的Linux上安装IPEX-LLM

代码示例

IPEX-LLM提供了丰富的代码示例,涵盖了以下方面:

  • 低比特推理:INT4、FP8/FP6/FP4、INT8、INT2等
  • FP16/BF16推理:包括可能的自推测解码优化
  • 分布式推理:管道并行和DeepSpeed AutoTP
  • 保存和加载:低比特模型、GGUF、AWQ、GPTQ等
  • 微调:LoRA、QLoRA、DPO、QA-LoRA、ReLoRA等
  • 与社区库集成:HuggingFace transformers、PyTorch、LangChain、LlamaIndex、DeepSpeed-AutoTP、Axolotl等

API文档

IPEX-LLM提供了HuggingFace Transformers风格的API(Auto Classes)以及用于任意PyTorch模型的API。

常见问题

IPEX-LLM提供了FAQ和故障排除指南,帮助用户解决常见问题。

验证模型

IPEX-LLM已经优化和验证了超过50个模型,包括LLaMA/LLaMA2、Mistral、Mixtral、Gemma、LLaVA、Whisper、ChatGLM2/3、Baichuan/Baichuan2、Qwen/Qwen-1.5、InternLM等。这些模型在CPU和GPU上都有相应的示例代码。

总的来说,IPEX-LLM为在英特尔硬件上高效运行大语言模型提供了一个强大而灵活的解决方案,支持广泛的模型、任务和集成场景。无论是本地部署还是服务器端应用,IPEX-LLM都能帮助开发者充分发挥英特尔硬件的性能潜力,实现低延迟、高效率的LLM推理和微调。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号