Tabby 如何根据 GPU 硬件选型 Completion 与 Chat 模型?
Tabby 如何根据 GPU 硬件选型 Completion 与 Chat 模型【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby在自托管部署 TabbySelf-hosted AI coding assistant时一个常见的卡点是手里有具体型号的 GPU却不知道--modelCompletion 模型和--chat-modelChat 模型该填什么。Tabby 的 模型注册表 按参数量给出了明确的 GPU 推荐档位模型配置文档 与 安装文档 则给出了对应的启动命令。本文的任务是根据文档中的选型规则为你的 GPU 选定 Completion 与 Chat 模型启动 Tabby 并确认模型连接成功。适用前提是 Tabby 本地模型模式通过 llama.cpp 子进程加载模型。你的 GPU 能带动多大参数的模型模型注册表对 Completion 模型给出了两档硬件建议1B 到 3B 模型至少需要 NVIDIA T4、10 Series 或 20 Series GPU或 Apple Silicon如 M17B 到 13B 模型建议使用 NVIDIA V100、A100、30 Series 或 40 Series GPU。选型前还需要知道两个与显存、精度相关的硬事实来自 FAQ默认情况下Tabby 在 CUDA 下以 int8 模式运行文档给出的示例数据是 CodeLlama-7B 大约需要 8GB VRAMROCm 环境下CodeLlama-7B 在 AMD Radeon RX 7900 XTX 上同样约 8GB以 ROCm 监控工具读数为准。降精度推理对 GPU 计算能力Compute Capability有要求int8Compute Capability 7.0 或 6.1float16Compute Capability 7.0bfloat16Compute Capability 8.0注意注册表的推荐语句只覆盖 1B–3B 与 7B–13B 两档文档没有给出更高参数量模型的对应 GPU 要求选型时不要自行外推。选定 Completion 模型--model按上面的档位从 模型注册表 中挑出属于对应参数量区间的 Model ID1B–3B 档T4 / 10 系 / 20 系 / M1Model IDLicenseStarCoder-1BBigCode-OpenRAIL-MStarCoder-3BBigCode-OpenRAIL-MStarCoder2-3BBigCode-OpenRAIL-MDeepSeekCoder-1.3BDeepseek LicenseCodeGemma-2BGemma LicenseQwen2.5-Coder-0.5BApache 2.0Qwen2.5-Coder-1.5BApache 2.0Qwen2.5-Coder-3BApache 2.07B–13B 档V100 / A100 / 30 系 / 40 系Model IDLicenseStarCoder-7BBigCode-OpenRAIL-MStarCoder2-7BBigCode-OpenRAIL-MCodeLlama-7BLlama 2CodeLlama-13BLlama 2CodeGemma-7BGemma LicenseCodeQwen-7BTongyi Qianwen LicenseQwen2.5-Coder-7BApache 2.0Qwen2.5-Coder-14BApache 2.0注册表中还列出 Codestral-22B、DeepSeek-Coder-V2-Lite 等模型但它们不属于文档给出的两档推荐区间文档未提供这类更大模型对应的 GPU 要求是否可用需要自己评估本文不展开。注册表页面同时发布了各模型的 benchmark 数据可在质量、许可协议与模型规模之间做权衡时参考。选定 Chat 模型--chat-modelChat 场景的选型规则更简单注册表建议为了保证回复质量且考虑到该场景对延迟要求不高选用至少 1B 参数的模型。可选 Model ID 包括Mistral-7BApache 2.0CodeGemma-7B-InstructGemma LicenseCodeQwen-7B-ChatTongyi Qianwen LicenseQwen2.5-Coder-0.5B-Instruct / 1.5B-Instruct / 7B-Instruct / 14B-Instruct / 32B-InstructApache 2.0Qwen2-1.5B-InstructApache 2.0Codestral-22BMistral AI Non-Production LicenseYi-Coder-9B-ChatApache 2.0与 Completion 模型不同Chat 模型没有按 GPU 分档的推荐语句但显存占用逻辑相同Chat 模型同样在本机加载推理GPU 显存应能同时容纳你选定的两个模型。用选定的模型启动 TabbyLinux 独立可执行文件方式参考 Linux 安装文档。下载与 GPU 对应的 releaseGPU 系统为tabby_x86_64-manylinux2014-cuda117.zip非 NVIDIA GPU 可用 vulkan 版本解压后对tabby与llama-server执行chmod x然后按档位启动# 1B-3B 档T4 / 10 系 / 20 系 / M1文档示例 ./tabby serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct --device $DEVICE # 7B-13B 档V100 / A100 / 30 系 / 40 系模型 ID 取自模型注册表 ./tabby serve --model StarCoder2-7B --chat-model Qwen2.5-Coder-7B-Instruct --device cuda其中$DEVICE为cuda或vulkan。CUDA 版本要求系统已安装 CUDA 11 及以上可用nvcc --version检查。Docker 方式参考 Docker 安装文档需要先安装 NVIDIA Container Toolkitdocker run -d \ --name tabby \ --gpus all \ -p 8080:8080 \ -v $HOME/.tabby:/data \ registry.tabbyml.com/tabbyml/tabby \ serve \ --model StarCoder-1B \ --chat-model Qwen2-1.5B-Instruct \ --device cuda上例沿用文档中的 StarCoder-1B 组合如果你的 GPU 属于 7B–13B 档把--model/--chat-model换成上一节选定的 Model ID 即可。启用的 SELinux 系统需要把卷挂载改为-v $HOME/.tabby:/data:Z。可选替代路径config.toml 配置文件。除启动参数外也可以编辑~/.tabby/config.toml配置本地模型注意 Tabby 默认不会创建该文件需要手动创建[model.completion.local] model_id StarCoder2-3B [model.chat.local] model_id Mistral-7B [model.embedding.local] model_id Nomic-Embed-Text其中model_id必须使用模型注册表中的 ID。Embedding 模型默认使用Nomic-Embed-Text一般不需要为它做 GPU 选型。验证模型连接成功启动成功后访问http://localhost:8080Docker 方式可用docker logs -f tabby跟踪启动日志。进入Information System页面逐一检查各模型卡片的状态确认 Completion 与 Chat 模型都已正确连接文档示例如下模型卡片显示连接异常时回到启动参数核对model_id是否拼写正确、是否与注册表中的 Model ID 一致。硬件边界与已知限制单个 Tabby 实例只支持一块 GPU。需要利用多卡时启动多个 Tabby 实例并分别为它们设置CUDA_VISIBLE_DEVICESCUDA或HIP_VISIBLE_DEVICESROCm见 FAQ。AMD 设备不在 ROCm 支持列表时如果存在受支持的相近 GPU可以设置HSA_OVERRIDE_GFX_VERSIONRDNA2 设为10.3.0RDNA3 设为11.0.0。显存估算以文档给出的 int8 模式数据为参照CodeLlama-7B 约 8GB VRAM其他模型的具体显存占用文档未逐一列出选型时按参数量与上述档位规则判断。完成以上步骤后你的 Tabby 实例会以与 GPU 匹配的模型规模同时提供代码补全与对话能力后续如需调整只需更换--model/--chat-model或config.toml中的 Model ID 并重启实例。【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考