IPEX-LLM 项目介绍
背景信息
IPEX-LLM,是一款旨在为英特尔CPU、GPU(如本地PC上的集成显卡和独立显卡如Arc、Flex和Max)以及NPU加速大型语言模型(LLM)的库。它由BigDL中的bigdl-llm项目更名而来,并在此基础上发展而来。项目的目标是提供更高效的LLM推理、服务及微调效率。
功能特点
多硬件平台支持
IPEX-LLM可以在多种英特尔硬件平台上运行,包括但不限于CPU、GPU和NPU,提高了硬件资源的利用效率。
与主流工具和库的整合
IPEX-LLM无缝集成了多个主流LLM工具和库,如llama.cpp、HuggingFace transformers、LangChain、DeepSpeed-AutoTP等,方便开发者轻松上手、构建和优化复杂的大语言模型应用。
模型优化与支持
该项目已经对超过70种模型进行了优化和验证,如Llama、Mistral、Whisper等。这些优化涵盖了LLM的多种加速技术和低位数支持(如FP8/FP6/FP4/INT4),致力于提供领先的性能表现。
最新更新
- 2024年7月:添加了在英特尔GPU上运行Microsoft GraphRAG的支持,并增加了对大规模多模态模型如StableDiffusion的支持。
- 2024年6月:在英特尔Core Ultra处理器上增加了对NPU的实验性支持,并支持在两张及以上的英特尔GPU上进行管道并行推理。
- 2024年5月:支持Axolotl在英特尔GPU上进行LLM微调。
性能与演示
IPEX-LLM在Intel Core Ultra和Intel Arc GPU上进行了性能测试,并展示了优秀的令牌生成速度。此外,项目演示了在多种英特尔硬件上使用IPEX-LLM运行本地LLM的效果,包括Intel集成显卡和独立显卡上进行的文本生成等功能。
使用指南
Docker
- 提供了在Intel GPU上运行的C++和Python推理Docker镜像。
- 支持在Docker中运行vLLM和FastChat服务,以及在VSCode中进行开发。
应用实例
- 提供了如何使用IPEX-LLM运行GraphRAG、RAGFlow等应用的快速上手指南。
- 支持在Dify平台进行生产级LLM应用开发。
安装说明
- 支持在Windows和Linux环境中通过简单命令安装IPEX-LLM。
常见问题与支持模型
该项目提供了详细的FAQ以供解决常见问题,并列出超过50种已优化和验证的模型供使用。
总结
IPEX-LLM通过其广泛的硬件支持、工具和库的无缝集成,以及对众多LLM模型的优化支持,为开发者提供了一个高性能且易用的平台来探索和实现大型语言模型的各种应用场景。