我们如何在本地安全地运行私有的LLMs呢?开源模型为此提供了可能的解决方案。本文将介绍七种方法。
-
Hugging Face的transformers
这是一个Python库,可以简化本地运行LLM的过程。
Transformers的优点:
-
自动模型下载
-
提供代码片段
-
非常适合实验和学习
Transformers的缺点:
-
需要对ML和NLP有深入了解
-
需要编码和配置技能
2.Llama.cpp:
特点:Llama.cpp是一个基于C++的推理引擎,专门为Apple Silicon优化,可以运行Meta的Llama2模型。它针对GPU和CPU都做了推理优化。
优点:性能高于基于Python的解决方案,支持在适度的硬件上运行大型模型,如Llama 7B,并提供绑定,可以用其他语言构建AI应用程序,同时通过Llama.cpp运行推理。
缺点:模型支持有限,需要构建工具。
使用场景:当你需要在自己的硬件上运行大型模型,或者需要用其他语言构建AI应用程序时,可以选择使用Llama.cpp。
3.Llamafile:
特点:Llamafile由Mozilla开发,基于C++开发,它使用了llama.cpp,这是一个C++库,提供了运行自托管大型语言模型(LLMs)所需的各种功能。通过llama.cpp,开发人员可以轻松地创建、加载和运行LLM模型,而无需担心底层环境的复杂性。此外,Llamafile还提供了一个简洁的API接口,使得开发人员可以更加方便地与LLM进行交互,从而实现各种复杂的应用场景.
优点:与Llama.cpp相同的速度优势,你可以构建一个嵌入模型的单个可执行文件。
缺点:项目仍处于早期阶段,不是所有模型都支持,只支持Llama.cpp支持的模型。
使用场景:当你需要创建一个嵌入模型的单个可执行文件,或者需要一个便携性强的工具时,可以选择使用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是一个高吞吐量和内存高效的大型语言模型(LLMs)推理和服务引擎。它的目标是为每个人提供简便、快捷、经济的LLM服务。
优点
-
高效的服务吞吐量:vLLM可以快速处理大量的并发请求。
-
支持模型种类多。
-
内存高效:vLLM使用了一种名为PagedAttention的技术,可以高效地管理注意力键和值的内存。
缺点
- 你需要确保你的设备有GPU,CUDA或者RoCm.
vLLM会提供对Phi-3的支持,目前代码在集成中。
对Phi-2的支持的验证详见:
语言模型小型化尝试-PyTorch学习系列36
6.TGI(Text Generation Inference)
TGI(Text Generation Inference)是HuggingFace推出的大模型推理部署框架。它支持主流大模型和主流大模型量化方案,并且联用Rust和Python来达到服务效率和业务灵活性的平衡。TGI实现了许多特性,例如:
-
简单的启动LLM
-
使用Flash Attention和Paged Attention进行推理的优化的transformers代码
-
使用bitsandbytes GPT-Q EETQ AWQ Safetensors进行量化
Text Generation Inference(TGI)和Transformer模型的推理方式有一些区别,主要体现在以下几个方面:
-
并行计算:TGI和Transformer都支持并行计算,但TGI更进一步,它使用了Rust和Python联用的方式,实现了服务效率和业务灵活性的平衡。这使得TGI在处理大型语言模型时,能够更有效地利用计算资源,提高推理效率。
-
优化技巧:TGI引入了一些优化技巧,如continuous batching、Flash Attention和Paged Attention等,这些技巧可以进一步提高推理的效率和性能1。而传统的Transformer模型可能没有这些优化技巧。
-
模型支持:TGI支持部署GPTQ模型服务,这使得我们可以在单卡上部署拥有continuous batching功能的,更大的模型。而传统的Transformer模型可能没有这样的支持。
然而,虽然TGI在某些方面可能比传统的Transformer推理更优秀,但这并不意味着我们就不需要使用Transformer的推理了。因为在某些情况下,例如当我们需要处理的任务或数据与TGI的优化技巧不匹配时,使用传统的Transformer推理可能会更合适。目前测试效果TGI的推理速度不如vLLM。
TGI推理支持容器方式运行:
7.Deepspeed
DeepSpeed支持本地推理。DeepSpeed是微软推出的一个开源深度学习优化库,它通过系统优化和压缩的方法,深度优化硬件设备、操作系统、框架等方面,并采用模型压缩和数据压缩技术,以提升大规模模型推理和训练的效率。
DeepSpeed-Inference是DeepSpeed框架在推理方面的扩展,专门针对大语言模型设计。它通过模型并行、张量并行和流水线并行等技术,提高了推理性能并降低了延迟。
详细内容参见:
DeepSpeed-Chat微调模型:deepspeed训练系列-1
推理框架的选择(选择之前先确认要使用的模型是否支持这种推理框架):
DeepSpeed:如果你的任务需要高性能的推理,那么DeepSpeed可能是一个好选择。DeepSpeed提供了一系列优化技术,如ZeRO(零冗余优化器),3D并行(数据并行、模型并行和流水线并行的结合),1比特Adam等,这些技术可以显著提升大模型训练和推理的效率。
ollama:如果你需要一个易于使用的工具,那么ollama可能更适合你。ollama的主要优点在于其易用性,用户可以通过简单的命令行界面运行模型。
Llamafile:如果你需要创建一个嵌入模型的单个可执行文件,那么Llamafile可能是一个好选择。Llamafile以其便携性和创建单文件可执行文件的能力而闻名。
TGI (Text Generation Inference):如果你的任务需要在多种硬件环境下进行高效推理,那么TGI可能是一个好选择。TGI提供了一系列优化技术,如模型并行、张量并行和流水线并行等,这些技术可以显著提升大模型推理的效率。
Transformer:如果你的任务需要处理复杂的自然语言处理任务,如机器翻译、文本生成等,那么使用基于Transformer的模型可能是一个好选择。Transformer模型具有强大的表示能力,可以捕获文本中的长距离依赖关系。
vLLM:如果你的任务需要处理大规模的自然语言处理任务,如文本分类、情感分析等,那么使用vLLM可能是一个好选择。vLLM是一个大规模的预训练模型,可以在各种自然语言处理任务上实现优秀的性能。
零基础如何学习大模型 AI
领取方式在文末
为什么要学习大模型?
学习大模型课程的重要性在于它能够极大地促进个人在人工智能领域的专业发展。大模型技术,如自然语言处理和图像识别,正在推动着人工智能的新发展阶段。通过学习大模型课程,可以掌握设计和实现基于大模型的应用系统所需的基本原理和技术,从而提升自己在数据处理、分析和决策制定方面的能力。此外,大模型技术在多个行业中的应用日益增加,掌握这一技术将有助于提高就业竞争力,并为未来的创新创业提供坚实的基础。
大模型典型应用场景
①AI+教育:智能教学助手和自动评分系统使个性化教育成为可能。通过AI分析学生的学习数据,提供量身定制的学习方案,提高学习效果。
②AI+医疗:智能诊断系统和个性化医疗方案让医疗服务更加精准高效。AI可以分析医学影像,辅助医生进行早期诊断,同时根据患者数据制定个性化治疗方案。
③AI+金融:智能投顾和风险管理系统帮助投资者做出更明智的决策,并实时监控金融市场,识别潜在风险。
④AI+制造:智能制造和自动化工厂提高了生产效率和质量。通过AI技术,工厂可以实现设备预测性维护,减少停机时间。
⑤AI+零售:智能推荐系统和库存管理优化了用户体验和运营成本。AI可以分析用户行为,提供个性化商品推荐,同时优化库存,减少浪费。
⑥AI+交通:自动驾驶和智能交通管理提升了交通安全和效率。AI技术可以实现车辆自动驾驶,并优化交通信号控制,减少拥堵。
…
这些案例表明,学习大模型课程不仅能够提升个人技能,还能为企业带来实际效益,推动行业创新发展。
学习资料领取
如果你对大模型感兴趣,可以看看我整合并且整理成了一份AI大模型资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
部分资料展示
一、 AI大模型学习路线图
整个学习分为7个阶段
二、AI大模型实战案例
涵盖AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,皆可用。
三、视频和书籍PDF合集
从入门到进阶这里都有,跟着老师学习事半功倍。
四、LLM面试题
如果二维码失效,可以点击下方链接,一样的哦
【CSDN大礼包】最新AI大模型资源包,这里全都有!无偿分享!!!
😝朋友们如果有需要的话,可以V扫描下方二维码联系领取~