在 NVIDIA Jetson Orin 上应用 SGLang#
先决条件#
开始之前,请确保满足以下条件
已设置好NVIDIA Jetson AGX Orin 开发套件,并安装了 JetPack 6.1 或更高版本。
已安装 CUDA Toolkit 和 cuDNN。
确认 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 的支持。