部署 llama.cpp 容器
您可以在 Hugging Face 端点上部署任何与 llama.cpp 兼容的 GGUF 模型。当您使用 GGUF 模型创建端点时,会自动选择一个使用 llama.cpp 存储库 master
分支构建的最新镜像的 llama.cpp 容器。部署成功后,将提供一个具有 OpenAI 兼容端点的服务器。
Llama.cpp 支持多个端点,例如 /tokenize
、/health
、/embedding
等。有关可用端点的完整列表,请参阅 API 文档。
部署步骤
要使用 llama.cpp 容器部署端点,请按照以下步骤操作
- 创建新端点并选择包含 GGUF 模型的存储库。将自动选择 llama.cpp 容器。
- 选择所需的 GGUF 文件,请注意内存需求会根据所选文件而有所不同。例如,F16 模型比 Q4_K_M 模型需要更多内存。
- 选择所需的硬件配置。
可以选择自定义容器的配置设置,例如
Max Tokens
、Number of Concurrent Requests
。有关这些设置的更多信息,请参阅下面的“配置”部分。单击“创建端点”按钮完成部署。
或者,您可以观看以下视频教程,了解有关使用 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 问题页面。如果您想创建新的问题,请在您的错误报告中包含完整的日志输出。