自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LLM 推理引擎之爭(zhēng):Ollama or vLLM ?

人工智能
本文將從模型架構(gòu)、計(jì)算效率、推理準(zhǔn)確性以及應(yīng)用場(chǎng)景等多維度出發(fā),對(duì) Ollama 和 vLLM 的推理能力進(jìn)行深入對(duì)比分析,旨在為開(kāi)發(fā)者和研究人員提供科學(xué)、實(shí)用的選擇依據(jù)。

 Hello folks,我是 Luga,今天我們來(lái)聊一下人工智能應(yīng)用場(chǎng)景 - 構(gòu)建高效、靈活的計(jì)算架構(gòu)的模型推理框架。

在人工智能領(lǐng)域,模型的推理能力是衡量其性能的核心指標(biāo)之一,直接影響其在復(fù)雜任務(wù)中的表現(xiàn)。隨著自然語(yǔ)言處理(NLP)和大規(guī)模語(yǔ)言模型(LLM)技術(shù)的迅猛發(fā)展,眾多創(chuàng)新模型不斷涌現(xiàn),為開(kāi)發(fā)者提供了多樣化的選擇。其中,Ollama 和 vLLM 作為近年來(lái)備受矚目的推理框架,因其獨(dú)特的技術(shù)架構(gòu)和廣泛的應(yīng)用場(chǎng)景,吸引了大量開(kāi)發(fā)者和研究人員的關(guān)注。

然而,面對(duì)推理任務(wù)的多樣化需求,Ollama 和 vLLM 各有優(yōu)劣,其適用場(chǎng)景和性能表現(xiàn)也存在顯著差異。究竟哪款模型更適合特定的推理任務(wù)?這一問(wèn)題成為業(yè)界討論的焦點(diǎn)。本文將從模型架構(gòu)、計(jì)算效率、推理準(zhǔn)確性以及應(yīng)用場(chǎng)景等多維度出發(fā),對(duì) Ollama 和 vLLM 的推理能力進(jìn)行深入對(duì)比分析,旨在為開(kāi)發(fā)者和研究人員提供科學(xué)、實(shí)用的選擇依據(jù)。 

一、什么是 Ollama 以及如何認(rèn)識(shí) ?

      Ollama 作為一款專(zhuān)注于用戶(hù)體驗(yàn)和本地化部署的開(kāi)源平臺(tái),旨在簡(jiǎn)化大語(yǔ)言模型(LLMs)的部署與管理流程,為開(kāi)發(fā)者、研究人員和企業(yè)用戶(hù)提供高效、安全的推理支持。

import subprocess
def run_ollama(model_name, prompt):
    """
    Run a prompt against a local Ollama model.
    """
    result = subprocess.run(
        ["ollama", "run", model_name],
        input=prompt.encode(),
        stdout=subprocess.PIPE,
        text=True
    )
    return result.stdout
# Example usage
response = run_ollama("gpt-neo", "What are the benefits of local AI inference?")
print(response)

從本質(zhì)來(lái)講,Ollama 的設(shè)計(jì)理念是將 LLMs 的強(qiáng)大功能帶入本地環(huán)境,使用戶(hù)能夠在個(gè)人電腦或私有網(wǎng)絡(luò)中運(yùn)行模型,從而實(shí)現(xiàn)更高的數(shù)據(jù)控制和隱私保護(hù)。

同時(shí),此平臺(tái)尤其強(qiáng)調(diào)對(duì)量化模型的支持,這對(duì)于顯著降低內(nèi)存占用并提升模型運(yùn)行性能至關(guān)重要。Ollama 提供了一個(gè)不斷增長(zhǎng)的預(yù)訓(xùn)練模型庫(kù),涵蓋了從通用的多功能模型到針對(duì)特定細(xì)分任務(wù)的專(zhuān)用模型。值得關(guān)注的可用模型包括 Llama 3.1、Qwen、Mistral,以及像 deepseek-coder-v2 這樣的專(zhuān)業(yè)變體。

此外,Ollama 的用戶(hù)友好型安裝過(guò)程和直觀的模型管理得益于其統(tǒng)一的 Modelfile 格式。其廣泛的跨平臺(tái)支持,包括 Windows、macOS 和 Linux,進(jìn)一步增強(qiáng)了其易用性。通過(guò)提供具有 OpenAI 兼容接口的本地模型服務(wù),Ollama 對(duì)于那些既追求本地部署的靈活性,又希望輕松集成標(biāo)準(zhǔn) API 的開(kāi)發(fā)者而言,無(wú)疑是一個(gè)穩(wěn)健且極具吸引力的選擇。

1. 核心功能

Ollama 的核心目標(biāo)是通過(guò)優(yōu)化 LLMs 的部署流程,使用戶(hù)能夠在“本地設(shè)備”上高效運(yùn)行模型,無(wú)需依賴(lài)云端服務(wù)或復(fù)雜的基礎(chǔ)設(shè)施。這種本地化部署方式不僅提升了數(shù)據(jù)隱私保護(hù),還為用戶(hù)提供了更高的控制力和靈活性。

(1) 本地化部署的橋梁作用

Ollama 作為 LLMs 部署的橋梁,簡(jiǎn)化了傳統(tǒng)上需要高性能計(jì)算集群和復(fù)雜配置的部署流程。用戶(hù)可以在普通個(gè)人電腦或單 GPU 設(shè)備上運(yùn)行模型,降低了硬件門(mén)檻。

  • 隱私與安全:通過(guò)本地運(yùn)行,Ollama 確保敏感數(shù)據(jù)不離開(kāi)用戶(hù)設(shè)備,滿(mǎn)足醫(yī)療、金融和法律等領(lǐng)域的隱私需求。例如,一家醫(yī)療機(jī)構(gòu)可以使用 Ollama 運(yùn)行 LLaMA 模型分析患者記錄,而無(wú)需將數(shù)據(jù)上傳到云端。
  • 可定制化體驗(yàn):Ollama 允許用戶(hù)根據(jù)需求調(diào)整模型參數(shù),例如設(shè)置生成溫度(Temperature)或最大輸出長(zhǎng)度(Max Length),以滿(mǎn)足特定任務(wù)的要求。

(2) OpenAI 兼容 API 的無(wú)縫集成

Ollama 提供了與 OpenAI API 兼容的接口,使用戶(hù)能夠?qū)F(xiàn)有工具和工作流程無(wú)縫遷移到本地環(huán)境。這種兼容性顯著降低了開(kāi)發(fā)者的學(xué)習(xí)成本。

通常而言,用戶(hù)可以通過(guò) REST API 調(diào)用 Ollama 模型,與 Python、JavaScript 或其他編程語(yǔ)言集成。例如,開(kāi)發(fā)者可以使用 Python 的 requests 庫(kù)發(fā)送 API 請(qǐng)求,獲取模型生成的文本。

2. 技術(shù)亮點(diǎn)

Ollama 在性能優(yōu)化和資源管理方面展現(xiàn)了卓越表現(xiàn),憑借對(duì)量化模型的支持和高效的推理流程,提供了輕量級(jí)的運(yùn)行體驗(yàn),尤其適用于資源有限的環(huán)境。

(1) 量化模型支持

Ollama 重點(diǎn)支持量化模型,采用 4-bit 和 8-bit 量化技術(shù)(如 Int8 和 Int4),顯著減少了模型的內(nèi)存占用,同時(shí)提升了推理性能。

  • 量化優(yōu)勢(shì):以 LLaMA-13B 模型為例,未量化時(shí)需約 26GB 顯存,而使用 Int8 量化后,顯存需求大幅減少至 7GB,極大降低了對(duì)硬件的需求。
  • 性能提升:量化不僅減少了顯存占用,還有效加速了推理速度。例如,在 NVIDIA RTX 3060(12GB 顯存)上運(yùn)行量化后的 LLaMA-13B 模型時(shí),推理速度可達(dá)到 10 tokens/s,顯著提升了處理效率。
  • 應(yīng)用場(chǎng)景:得益于量化支持,Ollama 在資源受限的環(huán)境中表現(xiàn)出色,尤其適合在普通筆記本電腦上運(yùn)行,如教育實(shí)驗(yàn)、個(gè)人開(kāi)發(fā)或輕量級(jí)應(yīng)用場(chǎng)景。

(2) 內(nèi)存管理與推理效率

Ollama 采用了 內(nèi)存映射(Memory Mapping)技術(shù),優(yōu)化了模型加載速度,使得啟動(dòng)時(shí)間通常在 30 秒以?xún)?nèi),極大提升了用戶(hù)體驗(yàn)。

  • 單線程推理:Ollama 設(shè)計(jì)采用單線程推理架構(gòu),簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),避免了多線程帶來(lái)的復(fù)雜性和資源競(jìng)爭(zhēng)。這使得 Ollama 更加適合低并發(fā)的場(chǎng)景,能夠高效地完成推理任務(wù)。
  • 跨平臺(tái)支持:Ollama 兼容 Windows、macOS 和 Linux 系統(tǒng),確保用戶(hù)在不同操作系統(tǒng)中都能享受一致的性能體驗(yàn)。例如,在 macOS 上,用戶(hù)可以利用 M1/M2 芯片的神經(jīng)引擎加速推理,進(jìn)一步提升處理速度和效率。

二、什么是 vLLM 以及如何認(rèn)識(shí) ?

vLLM 是一款開(kāi)源推理框架,專(zhuān)注于大語(yǔ)言模型的高效推理與服務(wù),旨在為開(kāi)發(fā)者提供高性能、可擴(kuò)展的 LLMs 部署解決方案。

vLLM 由加州大學(xué)伯克利分校的 Sky Computing Lab 開(kāi)發(fā),其技術(shù)靈感來(lái)源于研究論文《Efficient Memory Management for Large Language Model Serving with PagedAttention》。通過(guò)引入創(chuàng)新的 PagedAttention 內(nèi)存管理技術(shù),vLLM 實(shí)現(xiàn)了對(duì)計(jì)算資源的高效利用,能夠在處理大規(guī)模模型和高并發(fā)請(qǐng)求時(shí)保持卓越的性能表現(xiàn)。

import requests
def query_vllm(api_url, model_name, prompt):
    """
    Send a prompt to a vLLM API endpoint.
    """
    payload = {
        "model": model_name,
        "prompt": prompt,
        "max_tokens": 100
    }
    response = requests.post(f"{api_url}/generate", json=payload)
    return response.json()
# Example usage
api_url = "http://localhost:8000"
result = query_vllm(api_url, "gpt-j", "Explain the concept of throughput in AI.")
print(result)

從某種意義上而言,作為一款高性能推理引擎,vLLM 專(zhuān)注于分布式部署和大規(guī)模推理任務(wù),適合需要處理高并發(fā)請(qǐng)求的場(chǎng)景。

與傳統(tǒng)框架的對(duì)比:相較于 Hugging Face Transformers 等傳統(tǒng)推理框架,vLLM 在吞吐量和資源利用率上具有顯著優(yōu)勢(shì),推理速度可提升 2-4 倍。

vLLM 的技術(shù)核心在于其創(chuàng)新的內(nèi)存管理和推理優(yōu)化技術(shù),通過(guò) PagedAttention 和分布式計(jì)算框架,實(shí)現(xiàn)了高效的資源利用和卓越的推理性能。

1. PagedAttention 技術(shù):內(nèi)存管理的突破:

  • 技術(shù)原理:PagedAttention 將鍵值緩存(KV Cache)分塊存儲(chǔ),類(lèi)似于操作系統(tǒng)中的分頁(yè)內(nèi)存管理(Paging)。這種方法通過(guò)動(dòng)態(tài)分配顯存,減少內(nèi)存碎片,顯著降低顯存占用。
  • 性能提升:傳統(tǒng)推理框架中,KV Cache 占用大量顯存,尤其在長(zhǎng)序列推理時(shí)問(wèn)題更為嚴(yán)重。PagedAttention 將顯存占用量降低 50%-70%,使 vLLM 能夠在相同硬件條件下處理更大的模型或更長(zhǎng)的上下文。
  • 應(yīng)用效果:以 LLaMA-13B 模型為例,傳統(tǒng)框架在 FP16 格式下需要約 26GB 顯存,而 vLLM 通過(guò) PagedAttention 優(yōu)化后僅需 10GB 顯存即可運(yùn)行。

2. 分布式推理與高吞吐量:

  • 分布式計(jì)算框架:vLLM 基于 PyTorch 和 Ray 構(gòu)建,支持多 GPU 分布式推理,通過(guò)并行計(jì)算提升吞吐量。
  • 連續(xù)批處理(Continuous Batching):vLLM 采用連續(xù)批處理技術(shù),動(dòng)態(tài)調(diào)整批次大小(Batch Size),最大化 GPU 利用率。例如,在 4 塊 NVIDIA A100 GPU 上運(yùn)行 LLaMA-13B 模型,vLLM 的吞吐量可達(dá) 5000 token/s。
  • 高并發(fā)支持:vLLM 能夠處理數(shù)百個(gè)并發(fā)請(qǐng)求,推理速度保持穩(wěn)定,適合高負(fù)載生產(chǎn)環(huán)境。

3. 資源利用率優(yōu)化:

  • FP16 推理:vLLM 默認(rèn)使用半精度浮點(diǎn)(FP16)格式推理,結(jié)合 GPU 的 Tensor Core 加速計(jì)算,推理速度比 FP32 格式快 2 倍以上。
  • 動(dòng)態(tài)調(diào)度:vLLM 內(nèi)置高效的請(qǐng)求調(diào)度器,優(yōu)化任務(wù)分配,確保在高并發(fā)場(chǎng)景下資源分配均衡,避免性能瓶頸。
  • 低延遲:通過(guò)內(nèi)存優(yōu)化和分布式計(jì)算,vLLM 的推理延遲顯著降低,平均響應(yīng)時(shí)間可控制在 100ms 以?xún)?nèi)。

三、vLLM vs Ollama ,該如何選擇 ?

基于上述文章中的描述,我們有所熟知,Ollama 和 vLLM 作為兩款領(lǐng)先的大語(yǔ)言模型(Large Language Models, LLMs)推理框架,因其獨(dú)特的設(shè)計(jì)理念和技術(shù)特性,分別適用于不同類(lèi)型的項(xiàng)目和應(yīng)用場(chǎng)景。

Ollama 強(qiáng)調(diào)本地化部署和用戶(hù)友好性,適合注重隱私保護(hù)和簡(jiǎn)單操作的場(chǎng)景;而 vLLM 則專(zhuān)注于高性能推理和可擴(kuò)展性,能夠滿(mǎn)足高并發(fā)、大規(guī)模部署的需求。選擇適合的工具需要綜合考量用戶(hù)的技術(shù)背景、應(yīng)用需求、硬件資源以及對(duì)性能和易用性的優(yōu)先級(jí)。

綜上所述,在具體的業(yè)務(wù)應(yīng)用中,針對(duì)特定的需求場(chǎng)景,我們提出以下選型建議:

  • 對(duì)于優(yōu)先考慮數(shù)據(jù)隱私和簡(jiǎn)化部署的場(chǎng)景: 推薦采用 Ollama。尤其適用于本地化、離線操作或計(jì)算資源受限的環(huán)境,Ollama 能夠提供便捷的模型部署和管理能力。
  • 對(duì)于對(duì)推理性能和系統(tǒng)可擴(kuò)展性有較高要求的場(chǎng)景: 建議選擇 vLLM。尤其適用于需要處理高并發(fā)請(qǐng)求和大規(guī)模推理任務(wù)的應(yīng)用,vLLM 在性能優(yōu)化方面表現(xiàn)出色。
  • 綜合考量因素與逐步采納策略: 用戶(hù)在選擇框架時(shí),應(yīng)綜合評(píng)估自身的技術(shù)能力、具體的應(yīng)用需求、可用的硬件資源以及對(duì)性能和易用性的優(yōu)先級(jí)排序。例如,對(duì)于初學(xué)者或希望快速上手的用戶(hù),可以?xún)?yōu)先選擇 Ollama 作為入門(mén),待熟悉 LLM 推理流程和原理后,再根據(jù)更復(fù)雜應(yīng)用的需求,逐步轉(zhuǎn)向 vLLM 以獲得更高的性能和更強(qiáng)的擴(kuò)展性。

今天的解析就到這里,欲了解更多關(guān)于 Function-Calling 和 MCP 相關(guān)技術(shù)的深入剖析,最佳實(shí)踐以及相關(guān)技術(shù)前沿,敬請(qǐng)關(guān)注我們的微信公眾號(hào):架構(gòu)驛站,獲取更多獨(dú)家技術(shù)洞察!

Happy Coding ~

Reference :

  • [1] https://medium.com/@sungcheol.kim78/using-deepseek-r-1-on-the-local-vllm-server-b45b11413f90
  • [2] https://aws.amazon.com/blogs/opensource/virtual-gpu-device-plugin-for-inference-whttps://blog.gopenai.com/serving-large-models-part-two-ollama-and-tgi-c084bbb57050
責(zé)任編輯:趙寧寧 來(lái)源: 架構(gòu)驛站
相關(guān)推薦

2025-03-10 05:00:00

2025-04-09 10:47:02

2025-04-09 08:20:00

2023-05-30 14:17:00

模型推理

2023-09-01 15:22:49

人工智能數(shù)據(jù)

2023-06-21 13:20:14

系統(tǒng)模型

2024-06-04 12:59:41

2024-07-29 08:19:00

服務(wù)引擎

2023-11-27 13:19:54

模型訓(xùn)練

2024-09-09 08:31:15

2024-02-26 07:43:10

大語(yǔ)言模型LLM推理框架

2024-02-01 08:34:30

大模型推理框架NVIDIA

2023-11-30 15:56:54

大型語(yǔ)言模型人工智能

2025-01-08 08:00:00

2025-04-29 07:47:27

2023-05-23 14:06:53

微軟研究

2024-07-05 15:06:00

2024-02-04 00:00:00

Triton格式TensorRT

2024-11-18 09:30:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)