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.pswp.cn/bicheng/15063.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15063.shtml
英文地址,請注明出處:http://en.pswp.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 用戶功能模塊 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八…

Linux:iptables防火墻部署優化之連接轉移(目的地地址轉化)

Linux:iptables防火墻部署優化之連接轉移(目的地地址轉化) 文章目錄 Linux:iptables防火墻部署優化之連接轉移(目的地地址轉化)node1操作檢測ip情況關閉firewalld防火墻服務,并鎖定該服務開啟ip…

什么是分布式會話

分布式會話是指在分布式系統中實現用戶會話管理的一種機制。在傳統的單服務器架構中,用戶的會話數據通常存儲在單個服務器或應用服務器的內存中。然而,隨著業務的發展和用戶量的增加,單服務器架構往往無法滿足高可用性和高并發的需求&#xf…

Minio WebUploader上傳文件的高級用法之進度條顯示、文件過濾、圖片預覽、圖片壓縮

系列文章目錄 第十章 Minio WebUploader上傳文件的高級用法之進度條顯示、文件過濾、圖片預覽、圖片壓縮 Minio WebUploader上傳文件的高級用法之進度條顯示、文件過濾、圖片預覽、圖片壓縮 系列文章目錄進度條顯示文件過濾圖片預覽圖片壓縮 進度條顯示 使用進程文件上傳時&a…

基于springboot+html的二手交易平臺(附源碼)

基于springboothtml的二手交易平臺 介紹部分界面截圖如下聯系我 介紹 本系統是基于springboothtml的二手交易平臺,數據庫為mysql,可用于畢設或學習,附數據庫 部分界面截圖如下 聯系我 VX:Zzllh_

java Iterable和 Iterator接口區別和聯系

Iterable 和 Iterator 是 Java 集合框架中用于遍歷集合元素的兩個接口,它們之間既有區別也有聯系。下面詳細介紹它們的區別和聯系。 Iterable 接口 定義 Iterable 接口位于 java.lang 包中,定義如下: public interface Iterable<T> {Iterator<T> iterator()…

在家庭影院音頻中應用的D類音頻放大器

家庭影院的主要組成部分包括顯示設備、音響設備、信號源和接線設備等。家庭影院的音響信號需要進行處理和輸出&#xff0c;以獲得高質量的音效。音響設備通常需要一臺功率適當的數字、模擬混合的處理器&#xff0c;對音源進行降噪、均衡、擴展等處理操作&#xff0c;以達到高品…

核心交換機與終端通信正常,接入交換機無法Ping通同一VLAN內終端

環境: 思科3560交換機 問題描述: 核心交換機與PC通信正常,接入交換機無法Ping通同一VLAN內PC h3c核心交換機配置vlan2 vlanif2 IP192.168.1.1 下掛接入交換機配置了vlan2 pc接到接入交換機25口這個端口配置access vlan2,pc的ip是192.168.1.3從 核心交換機上ping192.168.…

【智能算法應用】北方蒼鷹算法求解二維柵格路徑規劃問題

目錄 1.算法原理2.二維路徑規劃數學模型3.結果展示4.參考文獻5.代碼獲取 1.算法原理 【智能算法】北方蒼鷹優化算法&#xff08;NGO)原理及實現 2.二維路徑規劃數學模型 柵格法模型最早由 W.E. Howden 于 1968 年提出&#xff0c;障礙物的柵格用黑色表示&#xff0c;可通過的…

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表格數據快速創建圖表

實例需求&#xff1a;Word的表格如下所示&#xff0c;標題行有合并單元格。 現在需要根據上述表格數據&#xff0c;在Word中創建如下柱圖。如果數據在Excel之中&#xff0c;那么創建這個圖并不復雜&#xff0c;但是Word中就沒用那么簡單了&#xff0c;雖然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結尾 說在前…

Pytorch: 解決因pytorch版本不同 導致訓練ckpt加載失敗

大家都會遇到在工程項目實施階段&#xff0c;如果訓練的模型文件在不同的torch版本環境下部署時&#xff0c;會報錯~。 報錯舉例 # 查看torch環境 import torch print(torch.__version__)# 訓練時環境&#xff1a;torch 1.8.2cu111 # 部署時環境&#xff1a;torch 1.4.0torch.…