推理端點(專用)文件

llama.cpp

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

llama.cpp

llama.cpp 是一個用 C/C++ 編寫的高效能推理引擎,專為在 GGUF 格式下執行 Llama 和相容模型而設計。

核心功能

  • GGUF 模型支援:原生相容 GGUF 格式及其所有量化型別。
  • 多平臺:針對 CPU 和 GPU 執行進行了最佳化,支援 AVX、AVX2、AVX512 和 CUDA 加速。
  • 相容 OpenAI 的 API:提供用於聊天、完成、嵌入等功能的端點,實現與現有工具和工作流程的無縫整合。
  • 活躍的社群和生態系統:快速發展和豐富的工具、擴充套件和整合生態系統。

當您使用 GGUF 模型建立端點時,會自動選擇一個 llama.cpp 容器,該容器使用從 llama.cpp 倉庫的 master 分支構建的最新映象。部署成功後,一個相容 OpenAI 的端點伺服器即可使用。

llama.cpp 支援多個端點,例如 /tokenize/health/embedding 等。有關可用端點的完整列表,請參閱 API 文件

部署步驟

要使用 llama.cpp 容器部署端點,請按照以下步驟操作:

  1. 建立新端點,然後選擇包含 GGUF 模型的倉庫。llama.cpp 容器將自動選中。
Select model
  1. 選擇所需的 GGUF 檔案,請注意記憶體要求將根據所選檔案而異。例如,F16 模型比 Q4_K_M 模型需要更多的記憶體。
Select GGUF file
  1. 選擇所需的硬體配置。
Select hardware
  1. (可選)您可以自定義容器的配置設定,例如 最大令牌數併發請求數。有關這些設定的更多資訊,請參閱下面的配置部分。

  2. 單擊建立端點按鈕完成部署。

此外,您可以按照下面的影片教程,獲取使用 llama.cpp 容器部署端點的分步指南。

配置

llama.cpp 容器提供多項可調整的配置選項。部署後,您可以透過訪問端點詳情頁面上的設定選項卡來修改這些設定。

基本配置

  • 最大令牌數(每次請求):單次請求中可傳送的最大令牌數。
  • 最大併發請求數:此部署允許的最大併發請求數。增加此限制需要額外的記憶體分配。例如,將此值設定為 4 個請求,每個請求最大 1024 個令牌,則總共需要 4096 個令牌的記憶體容量。

高階配置

除了基本配置外,您還可以透過設定環境變數來修改特定設定。可用環境變數列表可在 API 文件中找到。

請注意,以下環境變數為系統保留,不可修改:

  • LLAMA_ARG_MODEL
  • LLAMA_ARG_HTTP_THREADS
  • LLAMA_ARG_N_GPU_LAYERS
  • LLAMA_ARG_EMBEDDINGS
  • LLAMA_ARG_HOST
  • LLAMA_ARG_PORT
  • LLAMA_ARG_NO_MMAP
  • LLAMA_ARG_CTX_SIZE
  • LLAMA_ARG_N_PARALLEL
  • LLAMA_ARG_ENDPOINT_METRICS

故障排除

如果部署失敗,請檢視日誌輸出是否有任何錯誤訊息。

您可以透過單擊端點詳細資訊頁面上的日誌選項卡來訪問日誌。要了解更多資訊,請參閱日誌文件。

  • 記憶體分配失敗:記憶體不足
    如果您在日誌中看到此錯誤訊息:

    ggml_backend_cuda_buffer_type_alloc_buffer: allocating 67200.00 MiB on device 0: cuda
    Malloc failed: out of memory
    llama_kv_cache_init: failed to allocate buffer for kv cache
    llama_new_context_with_model: llama_kv_cache_init() failed for self-attention cache
    ...

    這意味著所選的硬體配置沒有足夠的記憶體來容納所選的 GGUF 模型。您可以嘗試:

    • 降低每次請求的最大令牌數
    • 降低併發請求數
    • 選擇較小的 GGUF 模型
    • 選擇更大的硬體配置
  • 工作負載被驅逐,儲存限制超出
    此錯誤訊息表示硬體記憶體不足,無法容納所選的 GGUF 模型。嘗試選擇較小的模型或選擇更大的硬體配置。

  • 其他問題
    對於其他問題,請參考 llama.cpp issues 頁面。如果您想建立新問題,請在您的錯誤報告中包含完整的日誌輸出。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.