资讯动态

从零搭建 NInfer:5 分钟跑通你的第一个单卡 LLM 推理环境(新手完整指南)

发布时间:2026/10/3 19:53:00 来源:尧图企业网站定制
从零搭建 NInfer5 分钟跑通你的第一个单卡 LLM 推理环境新手完整指南【免费下载链接】ninferHigh-performance single-GPU inference for selected model checkpoints and GPUs.项目地址: https://gitcode.com/gh_mirrors/ni/ninferNInfer 是一个从零构建的 C/CUDA 高性能推理引擎专为单卡 LLM 推理设计只需一块 NVIDIA GeForce RTX 5090 和一个常驻模型就能跑通 Qwen3.6 / Qwen3.8 系列大模型的文本、图像与视频推理并对外提供 OpenAI / Anthropic 兼容的 HTTP 接口。本文将带你完整搭建单卡 LLM 推理环境——从环境检查、源码编译到 5 分钟发出第一个推理请求再进一步部署成本地 HTTP 推理服务。一、NInfer 是什么3 分钟认识这款单卡 LLM 推理引擎NInfer 的设计哲学是刻意特化一张 GPU、一个常驻模型、启动时固定 1~8 个并发请求。这种取舍换来了在 RTX 5090 上极高的单卡 LLM 推理性能——官方实测Qwen3.8-27B NVFP4 在 8 并发下稳定解码速率可达922 tok/s。核心能力一览能力说明 文本生成支持 thinking / non-thinking 双模式MTP 投机解码加速️ 多模态输入图像、多图、视频及混合消息需--vision开启⚡ 高性能解码分块 prefill、CUDA Graph 精确批量解码 开放接口OpenAI Chat/Responses、Anthropic Messages 三套 HTTP API 官方模型产物5 个.ninferv3 产物下载即用当前官方提供 5 个模型产物quick start 以 Qwen3.8-27B NVFP4 为例模型权重格式产物文件Qwen3.6-27Bgroupwise-int/nvfp4qwen3_6_27b.ninferQwen3.8-27Bgroupwise-int/nvfp4qwen3_8_27b.ninfer/qwen3_8_27b_nvfp4.ninferQwen3.6-35B-A3Bgroupwise-intqwen3_6_35b_a3b.ninfer每个 v3.ninfer文件是一个模型工件容器内含模型配置、编码权重与前端资源加载即可运行无需再配置 tokenizer 或模板。二、环境检查清单开始前确认这些要求NInfer 对运行环境有明确要求开始前请逐项确认 ✅64 位 Linux系统NVIDIA GeForce RTX 5090编译会拒绝sm_120a以外的 CUDA 架构CUDA 工具包支持sm_120a官方以 CUDA 13.1 验证CMake ≥ 3.28、C20宿主编译器、Ninjapkg-config、FFmpeg 开发库libavformat、libavcodec、libavutil、libswscalelibcurl ≥ 7.85 如果嫌环境配置麻烦可以直接跳到第五节的 Docker 快速部署。三、第一步克隆仓库并编译约 2 分钟克隆 NInfer 源码git clone https://gitcode.com/gh_mirrors/ni/ninfer cd ninfer使用内置 CMake Preset 配置并编译配置定义见 CMakePresets.jsoncmake --preset release cmake --build build -jrelease只构建产品二进制适合日常使用dev额外启用测试与基准测试并自动查找 Python 3 解释器构建完成后会得到两个核心可执行文件可执行文件用途入口源码build/apps/ninfer单次请求的命令行客户端apps/cli/main.cppbuild/apps/ninfer-serve常驻 HTTP 推理服务器apps/serve/main.cpp注意NInfer 没有 install 目标也没有打包二进制分发——直接从源码构建树运行即可。四、第二步下载官方模型产物以官方推荐示例使用的Qwen3.8-27B NVFP4为例用 Hugging Face CLI 下载模型产物下载页面见 model-cards/Qwen3.8-27B-nvfp4-NInfer/ 模型卡片hf download neroued/Qwen3.8-27B-nvfp4-NInfer \ qwen3_8_27b_nvfp4.ninfer \ --local-dir models下载完成后models/qwen3_8_27b_nvfp4.ninfer就是你本地 LLM 推理的全部模型资产。 持有旧版 v2 产物无需重新下载权重可用仓库内置脚本本地升级方法见 docs/weight-conversion.md。五、第三步5 分钟跑通第一个 CLI 推理请求运行单卡 LLM 推理的第一条命令./build/apps/ninfer models/qwen3_8_27b_nvfp4.ninfer \ --prompt Explain prefill and decode, then give a concise conclusion. \ --max-context 32768 \ --max-new 8192 \ --kv-dtype fp8 \ --spec mtp --draft-tokens 3 \ --lm-head-draft关键参数解读--prompt直接传入提示词与--messages二选一--max-context 32768本次请求的上下文上限token 数--max-new 8192最多生成的新 token 数--kv-dtype fp8KV 缓存使用 FP8 存储节省显存--spec mtp --draft-tokens 3 --lm-head-draft启用 MTP 投机解码3 个草稿位置 优化提案头可显著提升解码速度输出行为对新手很友好回答内容写入 stdout而启动进度、耗时、吞吐、显存占用等诊断报告写入 stderr——你可以轻松用 answer.txt 2 run.log分开保存。完整参数契约见 docs/cli.md或随时执行./build/apps/ninfer --help。进阶多模态推理图片/视频输入加上--vision即可加载视觉权重再通过--messages传入 JSON 消息文件。项目内置了完整的离线示例集 examples/cli/例如让模型读图./build/apps/ninfer models/qwen3_8_27b_nvfp4.ninfer \ --messages examples/cli/messages/image_chart.json \ --max-context 8192 --max-new 128 \ --kv-dtype fp8 --vision \ --spec mtp --draft-tokens 3 --lm-head-draft它甚至能对比两张图片的差异示例输入 examples/cli/messages/multi_image_compare.json六、第四步启动 OpenAI 兼容的 HTTP 推理服务想接入现有应用用ninfer-serve一键起 HTTP 推理服务详细选项见 docs/serving.md./build/apps/ninfer-serve models/qwen3_8_27b_nvfp4.ninfer \ --max-context 240000 \ --kv-capacity 240000 \ --max-concurrency 2 \ --kv-dtype fp8 \ --device-state-slots 2 \ --host-state-slots 8 \ --host-kv-mib 8192 \ --spec mtp --draft-tokens 3 \ --lm-head-draft \ --preserve-thinking服务默认监听127.0.0.1:8080提供以下端点端点用途GET /health引擎健康检查GET /v1/models查看已注册模型别名POST /v1/chat/completionsOpenAI 风格对话补全POST /v1/responsesOpenAI Responses Core支持流式POST /v1/messagesAnthropic 风格消息接口发一条 OpenAI 风格请求验证服务curl http://127.0.0.1:8080/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen3.8-27b, messages: [{role: user, content: Reply with one short sentence.}], max_tokens: 64 } 看到模型回复你就拥有了一个本地单卡 LLM 推理服务七、用 Docker 快速部署 NInfer 推理环境可选仓库自带 Dockerfile基于 CUDA 13.1 多阶段构建在有 NVIDIA Container Toolkit 的主机上一条命令搞定环境docker build --tag ninfer:local .挂载模型后启动同样的服务配置docker run --rm \ --gpus device0 \ --publish 8080:8080 \ --volume $PWD/models:/models:ro \ ninfer:local \ ninfer-serve /models/qwen3_8_27b_nvfp4.ninfer \ --host 0.0.0.0 \ --max-context 240000 --kv-capacity 240000 \ --max-concurrency 2 --kv-dtype fp8 \ --device-state-slots 2 --host-state-slots 8 \ --host-kv-mib 8192 \ --spec mtp --draft-tokens 3 --lm-head-draft \ --preserve-thinking八、新手必收藏常用参数速查表参数作用默认值--max-context N单序列上下文上限token2048--max-new N最大生成 token 数128--kv-dtype bf16\|int8\|fp8\|nvfp4\|k8v4KV 缓存存储格式bf16--spec mtp\|dflash\|dflash2投机解码后端关闭--draft-tokens N草稿 token 数MTP 1~5未设置--vision开启图像/视频输入关闭--no-thinking关闭思考模式模板默认--greedy精确 argmax 解码关闭--device NCUDA 设备索引0 省略采样参数时引擎会自动为当前模型选择官方注册的采样预设新手无需手动调参。九、新手常见问题FAQQ1为什么只支持 RTX 5090NInfer 是刻意特化的单卡推理引擎构建时会拒绝sm_120a以外的 CUDA 架构。这是少即是多的设计边界单 GPU、单常驻模型、无请求抢占、无多卡分布式。Q2可以指定更大的上下文吗官方产物原生支持 262,144 token 上下文。实际可用额度取决于模型权重、KV 类型与显存余量--kv-capacity auto会在启动时自动计算最大合法容量。Q3为什么加--vision前图片请求失败视觉能力在启动时冻结不带--vision的引擎不会分配视觉权重与显存媒体请求会直接报错且运行中无法后补开启。Q4想用自己的权重怎么办NInfer 支持将官方 Qwen 检查点转换为自定义格式混合的.ninfer产物详见 docs/weight-conversion.md。十、下一步继续深入 NInfer 单卡 LLM 推理搭建完成后建议按这条路线深入性能数据查看各模型在 RTX 5090 上的官方实测——docs/performance.md困惑度评测用固定语料离线评估模型质量——docs/perplexity.md更多示例长文本解码、长上下文检索、思考模式等离线输入——examples/cli/️进阶机制上下文缓存调度算法——docs/maintainer/resource-scheduling-and-context-cache.md从git clone到第一条curl请求返回整个单卡 LLM 推理环境的搭建不过 5 分钟。现在去问问你的本地模型第一个问题吧 输出文章【免费下载链接】ninferHigh-performance single-GPU inference for selected model checkpoints and GPUs.项目地址: https://gitcode.com/gh_mirrors/ni/ninfer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑