在 NVIDIA Jetson Orin 上应用 SGLang#

先决条件#

开始之前,请确保满足以下条件

  • 已设置好NVIDIA Jetson AGX Orin 开发套件,并安装了 JetPack 6.1 或更高版本。

  • 已安装 CUDA ToolkitcuDNN

  • 确认 Jetson AGX Orin 处于高性能模式

sudo nvpmodel -m 0

使用 Jetson Containers 安装并运行 SGLang#

克隆 jetson-containers github 仓库

git clone https://github.com/dusty-nv/jetson-containers.git

运行安装脚本

bash jetson-containers/install.sh

构建容器

CUDA_VERSION=12.6 jetson-containers build sglang

运行容器

docker run --runtime nvidia -it --rm --network=host IMAGE_NAME

运行推理#

启动服务器

python -m sglang.launch_server \
  --model-path deepseek-ai/DeepSeek-R1-Distill-Llama-8B \
  --device cuda \
  --dtype half \
  --attention-backend flashinfer \
  --mem-fraction-static 0.8 \
  --context-length 8192

由于 Nvidia Jetson 套件计算资源有限,因此进行了量化并限制了上下文长度(--dtype half --context-length 8192)。详细说明请参阅服务器参数

启动引擎后,请参阅聊天补全来测试可用性。


使用 TorchAO 运行量化#

建议在 NVIDIA Jetson Orin 上使用 TorchAO。

python -m sglang.launch_server \
    --model-path meta-llama/Meta-Llama-3.1-8B-Instruct \
    --device cuda \
    --dtype bfloat16 \
    --attention-backend flashinfer \
    --mem-fraction-static 0.8 \
    --context-length 8192 \
    --torchao-config int4wo-128

这启用了 TorchAO 的 int4 仅权重量化,组大小为 128。--torchao-config int4wo-128 的使用也是为了提高内存效率。


使用 XGrammar 进行结构化输出#

请参阅SGLang 文档结构化输出


感谢 shahizat 的支持。

参考资料#