LLM的7种推理框架
- Hugging Face的transformers
这是一个Python库,可以简化本地运行LLM的过程。
Transformers的优点:
- 自动模型下载
- 提供代码片段
- 非常适合实验和学习
Transformers的缺点:
- 需要对ML和NLP有深入了解
- 需要编码和配置技能
2.Llama.cpp:
Llama.cpp,C++推理引擎翘楚,专为Apple Silicon量身打造,高效运行Llama2模型。GPU与CPU双优化,为您的推理任务提供卓越性能,引领业界潮流。
优势显著:超越Python性能,支持在普通硬件上运行如Llama 7B等大型模型,提供多语言绑定构建AI应用,并凭借Llama.cpp高效执行推理,为您的AI项目提供强大支持。
缺点:模型支持有限,需要构建工具。
Llama.cpp是您的理想选择,无论是本地硬件运行大型模型,还是跨语言构建AI应用,其高效性与兼容性均能满足您的需求。
3.Llamafile:
Llamafile,Mozilla匠心之作,基于C++与llama.cpp库,专为自托管大型语言模型(LLMs)打造。它简化了LLM模型的创建、加载与运行,无需担忧底层环境的繁琐。其简洁的API接口,让开发人员与LLM的交互更为便捷,轻松实现各类复杂应用场景,引领智能编程新纪元。
Llamafile助力您轻松创建嵌入模型的单一可执行文件,打造便携工具的不二之选,满足您的多样化需求。
4.Ollama:
Ollama,作为Llama.cpp和Llamafile的升级之选,以其用户友好的特性脱颖而出。简易下载可执行文件后,即可在您的机器上安装服务,轻松打开终端并运行,轻松高效。
优点:易于安装和使用,可以运行llama和vicuña模型,运行速度非常快。
缺点:模型库有限,需自行管理模型,不支持模型重用,无法定制LLM运行选项,且暂不支持Windows系统。
轻松应对llama与vicuña模型运行,追求简易安装与高效使用的您,Ollama工具将是您的首选之选。
目前微软Phi-3以上四种本地运行模式都支持。详见:
Phi-3量化模型:SLM系列2
5:vLLM
vLLM,一款高效推理与服务引擎,专为大型语言模型打造,提供高吞吐量、内存优化服务,轻松实现便捷、快速、经济的LLM体验。
优点
- 高效的服务吞吐量:vLLM可以快速处理大量的并发请求。
- 支持模型种类多。
- vLLM通过创新的PagedAttention技术,显著提升了内存效率,高效管理注意力键和值,助力强大性能。
缺点
- 你需要确保你的设备有GPU,CUDA或者RoCm.
vLLM会提供对Phi-3的支持,目前代码在集成中。
对Phi-2的支持的验证详见:
语言模型小型化尝试-PyTorch学习系列36
6.TGI(Text Generation Inference)
TGI,由HuggingFace倾力打造的文本生成推理部署框架,兼容主流大模型及其量化方案。结合Rust与Python,TGI巧妙平衡服务效率与业务灵活性,并实现了丰富特性,助力您轻松部署和优化大模型推理任务。
- 简单的启动LLM
- 优化后的transformers代码,利用Flash Attention与Paged Attention技术,显著提升推理性能,打造高效、精准的智能应用。
- 运用bitsandbytes的GPT-Q、EETQ、AWQ与Safetensors技术,实现高效量化,提升性能与效率。
TGI与Transformer推理方式有所不同,差异体现在多个关键方面,包括但不限于处理文本生成与推断的独特方法。
- TGI与Transformer均支持并行计算,但TGI更胜一筹。它巧妙结合Rust与Python,实现服务效率与业务灵活性的完美平衡。在处理庞大语言模型时,TGI能高效利用计算资源,显著提升推理速度,为您带来前所未有的高效体验。
- TGI引入革新优化技巧,包括continuous batching、Flash Attention和Paged Attention,显著提升推理效率和性能,较传统Transformer模型更具优势。这些技巧让您在数据处理上更胜一筹,轻松实现高效能计算。
- TGI支持GPTQ模型服务部署,实现单卡上连续批处理的大模型运行,优于传统Transformer模型,确保高效能与广泛适用性,为大型模型应用提供强大支持。
TGI在某些方面超越传统Transformer推理,但并非万能。面对与TGI优化策略不匹配的任务或数据时,传统Transformer推理或更为适用。经测试,TGI在推理速度上尚不及vLLM。因此,在选择推理方法时,需根据实际需求灵活权衡,确保最优解的选择。
TGI推理支持容器方式运行:
7.Deepspeed
DeepSpeed,微软开源的深度学习优化库,支持本地推理。它通过系统优化和压缩技术,深度优化硬件、操作系统和框架,运用模型与数据压缩,显著提升大规模模型的推理与训练效率。
DeepSpeed-Inference,作为DeepSpeed框架的推理扩展,专为大型语言模型打造。凭借模型、张量及流水线并行技术,显著提升推理性能,大幅缩短延迟,让语言处理更迅速高效。
详细内容参见:
DeepSpeed-Chat微调模型:deepspeed训练系列-1
推理框架的选择(选择之前先确认要使用的模型是否支持这种推理框架):
DeepSpeed:卓越选择,专为高性能推理任务定制。其独特的ZeRO优化器、3D并行(数据、模型与流水线并行)以及1比特Adam等技术,大幅增强大模型训练与推理效率。若您追求极致性能,DeepSpeed不容错过。
ollama,简便易用的工具之选。其显著优势在于易用性,用户仅需通过简易命令行界面,即可轻松运行模型,让操作更加流畅高效。
Llamafile,卓越之选,打造嵌入模型的独立可执行文件。它以卓越的便携性和单文件生成能力闻名,轻松满足您一体化部署需求。
TGI(文本生成推理)是多种硬件环境下高效推理的优选。它集成模型并行、张量并行和流水线并行等优化技术,为大型模型推理带来显著效率提升。无论您的任务需求如何,TGI都能助您一臂之力。
Transformer模型,处理自然语言处理任务的理想之选。对于机器翻译、文本生成等复杂任务,其强大的表示能力可精准捕获文本长距离依赖关系。选择Transformer,解锁自然语言处理的无限可能。
vLLM,专为处理海量自然语言任务而生,如文本分类与情感分析。作为大规模预训练模型,vLLM在各种NLP任务中均展现卓越性能,是您处理大规模数据的不二之选。
-对此,您有什么看法见解?-
-欢迎在评论区留言探讨和分享。-