LLM大模型的7种推理框架分析

 89be71a1195202ab831288cdc438831f.jpeg

LLM的7种推理框架

   

  1. 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推理支持容器方式运行:

3f81b93bf6c3ac1a0461a5f38317f7a2.jpeg

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任务中均展现卓越性能,是您处理大规模数据的不二之选。

 

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/15063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习之基于Tensorflow低光增强的深层Retinex分解

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 在图像处理领域,低光照环境下的图像增强是一个具有挑战性的问题。为了提高图像的可…

纽曼新品X1000:轻巧便携仅重9.9公斤的1度电应急电源

在户外救援行动和应急设备中,电力供应的稳定性和安全性直接影响到救援工作的效率和成功率。在现代救援工作中,常见的光学声波探测仪、通信联络设备、气象检测仪、生命探测仪、照明设备等装备均需有持续的电力供应,才能保障救援工作的有序开展…

西门子WINCC8.0VBS脚本学习讲解

WinCC VBS脚本置位/复位/取反 二进制变量 "TAG1_BOOL1" 进行置位复位取反操作 步骤:按钮-->对象属性-->事件-->单击鼠标VBS动作填入代码如下: 对二进制变量进行复位 对二进制变量进行置位 对二进制变量进行取反 VBS脚本数学运算/读写批处理 …

第十六讲:数据在内存中的存储

第十六讲:数据在内存中的存储 1.整数在内存中的存储1.1存储方式1.2大小端字节序1.3大小端字节序排序规则1.4为什么要有大小端1.5练习1.5.1练习11.5.2练习21.5.3练习31.5.4练习41.5.5练习51.5.6练习61.5.7练习7 2.浮点数在内存中的存储2.1练习2.2浮点数的存储2.3浮点…

如何将数据从一部手机传输到另一部手机[安全快速]

概括 手机之间无需使用蓝牙即可传输文件,配合专业的文件传输工具更高效。本文将向您介绍几种使用不同的数据传输工具快速安全地将数据从一部手机传输到另一部手机的方法,特别是当有大文件或大量文件时。现在,我们来看看。 需要在朋友或家人之…

Rust 赋能前端 -- 写一个 File 转 Img 的功能

所有耀眼的成绩,都需要苦熬,熬得过,出众;熬不过,出局 大家好,我是柒八九。一个专注于前端开发技术/Rust及AI应用知识分享的Coder 此篇文章所涉及到的技术有 Rustwasm-bindgen/js-sys/web-sysWeb WorkerWebAssemblyWebpack/Vite配置WebAssemblyOffscreenCanvas脚手架生成项…

校园二手书交易|基于SprinBoot+vue的校园二手书交易管理系统(源码+数据库+文档)

校园二手书交易管理系统 目录 基于SprinBootvue的校园二手书交易管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3 卖家用户功能模块 4 用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

基于springboot+html的二手交易平台(附源码)

基于springboothtml的二手交易平台 介绍部分界面截图如下联系我 介绍 本系统是基于springboothtml的二手交易平台,数据库为mysql,可用于毕设或学习,附数据库 部分界面截图如下 联系我 VX:Zzllh_

在家庭影院音频中应用的D类音频放大器

家庭影院的主要组成部分包括显示设备、音响设备、信号源和接线设备等。家庭影院的音响信号需要进行处理和输出,以获得高质量的音效。音响设备通常需要一台功率适当的数字、模拟混合的处理器,对音源进行降噪、均衡、扩展等处理操作,以达到高品…

【智能算法应用】北方苍鹰算法求解二维栅格路径规划问题

目录 1.算法原理2.二维路径规划数学模型3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】北方苍鹰优化算法(NGO)原理及实现 2.二维路径规划数学模型 栅格法模型最早由 W.E. Howden 于 1968 年提出,障碍物的栅格用黑色表示,可通过的…

ping 探测网段哪些地址被用

#!/bin/bash# 遍历192.168.3.1到192.168.3.254 for i in {1..254} doip"192.168.3.$i"# 对每个IP地址进行三次ping操作if ping -c 3 -W 1 $ip > /dev/null 2>&1thenecho "$ip: yes"fi done$ sh test.sh 192.168.3.1: yes 192.168.3.95: yes 192.…

使用Word表格数据快速创建图表

实例需求:Word的表格如下所示,标题行有合并单元格。 现在需要根据上述表格数据,在Word中创建如下柱图。如果数据在Excel之中,那么创建这个图并不复杂,但是Word中就没用那么简单了,虽然Word中可以插入图表&a…

014_C标准库函数之<stdio.h>

【背景】 今天这个主要说的是<stdio.h>头文件&#xff0c;大家众所周知&#xff0c;这个是我们学习C语言时第一个接触到的头文件了&#xff0c;那么为什么我不一开始就介绍这个头文件呢&#xff1f;我觉得有两个原因&#xff0c;如下&#xff1a; 1.一开始大家的编程思…

LeetCode/NowCoder-链表经典算法OJ练习3

孜孜不倦&#xff1a;孜孜&#xff1a;勤勉&#xff0c;不懈怠。指工作或学习勤奋不知疲倦。&#x1f493;&#x1f493;&#x1f493; 目录 说在前面 题目一&#xff1a;返回倒数第k个节点 题目二&#xff1a;链表的回文结构 题目三&#xff1a;相交链表 SUMUP结尾 说在前…

MySQL库/表/数据的操作

文章目录 1.数据库操作1.1 创建、删除、查看和修改1.2 编码格式1.3 备份和恢复 2.表的操作2.1 创建表2.2 存储引擎2.3 查看表、修改表、删除表 3.数据类型3.1整数类型3.2字节类型(bit)3.3浮点类型(bit)3.4 decimal3.5 字符串类型3.6 日期和时间类型3.7 enum和set关于如何查找想…

Python中别再用 ‘+‘ 拼接字符串了!

大家好&#xff0c;在 Python 编程中&#xff0c;我们常常需要对字符串进行拼接。你可能会自然地想到用 操作符将字符串连接起来&#xff0c;毕竟这看起来简单明了。 在 Python 中&#xff0c;字符串是不可变的数据类型&#xff0c;这意味着一旦字符串被创建&#xff0c;它就…

【Python】—— lambda表达式

目录 &#xff08;一&#xff09;应用场景 &#xff08;二&#xff09;lambda 语法 &#xff08;三&#xff09;示例分析 &#xff08;四&#xff09;lambda参数形式 4.1 无参数 4.2 一个参数 4.3 默认参数 4.4 可变参数 &#xff1a;*args 4.5 可变参数 &#xff1a;…

基于Matlab实现BP神经网络的手写数字识别

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 手写数字识别是计算机视觉和模式识别领域的一个经典问题&#xff0c;具有广泛的应用场景&…

信息安全从业者书单推荐

作为一名网安人&#xff0c;身上肩负的责任是很大的&#xff0c;能力越大&#xff0c;责任也越大&#xff0c;反过来责任越大&#xff0c;能力也必须跟得上。不管是想进这行&#xff0c;还是已经在这行&#xff0c;持续学习肯定是不能缺少的&#xff0c;除了在工作中积累&#…

从0开始写一个环境保护网站的第3天(JAVAWEB)

1.目标 实现首页的环境保护原因的查询&#xff0c;和底部友情连接部分 2.实现 2.1建立数据库表格&#xff08;这里数据全是百度查询&#xff09; 环境保护原因表&#xff1a; 友情连接表&#xff1a;&#xff08;数据来源https://zhuanlan.zhihu.com/p/696243646&#xff0…