抢先体验 NVIDIA Jetson Orin Nano Super——最经济实惠的生成式 AI 超级计算机
目录
- Jetson Nano 与 Jetson Orin Nano Super 的比较
- NVIDIA Jetson Orin Super 有多强?
- 生成式人工智能能力
- 视觉语言模型(VLM)
- 视觉变形金刚
- I/O 和连接
- 开发人员友好功能
- 人工智能开发工具
- Jetson Orin Super 入门
- 设置 TensorRT LLM
- 结论
- 参考
NVIDIA 刚刚发布了其最新产品——Jetson Orin Nano 超级开发套件,彻底革新了边缘计算。这不仅仅是一次增量更新,更是一次重大飞跃,以前所未有的 249 美元价格将生成式 AI 功能带入了边缘计算领域。
Jetson Nano 与 Jetson Orin Nano Super 的比较
NVIDIA Jetson Orin Nano 超级开发套件是一款紧凑但功能强大的计算机,它重新定义了小型边缘设备的生成式 AI。
它可提供高达 67 TOPS 的 AI 性能(比其前代产品提高了 1.7 倍),可以无缝运行各种生成式 AI 模型,例如视觉转换器、大型语言模型、视觉语言模型等。
它为开发者、学生和创客提供最经济实惠且易于访问的平台,并借助 NVIDIA AI 软件和广泛的 AI 软件生态系统,实现边缘计算生成式 AI 的普及。现有的 Jetson Orin Nano 开发者套件用户只需升级软件即可体验性能提升,让每个人都能
通过生成式 AI 开启新的可能。
让我们深入了解一下它的规格,看看它与前代产品相比如何:
特征 | Orin Nano 原装 | Orin Nano Super | 改进 |
---|---|---|---|
GPU架构 | NVIDIA Ampere(1024 个 CUDA 核心、32 个 Tensor 核心)@ 635 MHz | NVIDIA Ampere(1024 个 CUDA 核心、32 个 Tensor 核心)@ 1020 MHz | 1.6倍GPU时钟 |
人工智能性能 | 40 TOPS(稀疏)/ 20 TOPS(密集) | 67 TOPS(稀疏)/ 33 TOPS(密集) | 1.7 倍 AI 性能 |
中央处理器 | 6核Arm Cortex-A78AE @ 1.5 GHz | 6核Arm Cortex-A78AE @ 1.7 GHz | 1.13 倍 CPU 时钟 |
记忆 | 8GB 128 位 LPDDR5 @ 68 GB/s | 8GB 128 位 LPDDR5 @ 102 GB/s | 1.5倍内存带宽 |
模块电源 | 7瓦/15瓦 | 7瓦/15瓦/25瓦 | 附加电源模式 |
NVIDIA Jetson Orin Super 有多强?
Super 版本最引人注目的是其性能改进:
- AI 计算性能提高 1.7 倍(67 TOPS vs 40 TOPS)
- 内存带宽增加 1.5 倍(102 GB/s vs 68 GB/s)
- 更高的 GPU 和 CPU 时钟速度,带来更好的整体性能
生成式人工智能能力
NVIDIA Jetson™ 平台运行 NVIDIA AI 软件堆栈,并配备各种针对特定用例的应用程序框架。这些框架包括用于机器人技术的 NVIDIA Isaac™、用于视觉 AI 的 NVIDIA Metropolis 和用于传感器处理的 NVIDIA Holoscan。您可以使用 NVIDIA Omniverse™ Replicator 进行合成数据生成 (SDG),并使用 NVIDIA TAO Toolkit 对 NVIDIA® NGC™ 目录中的预训练 AI 模型进行微调,从而节省大量时间。
Orin Nano Super 最令人印象深刻的方面之一是它能够运行各种类型的生成式 AI 模型:
大型语言模型 (LLM):
模型 | 性能提升 |
---|---|
骆驼-3.1 8B | 1.37倍 |
骆驼 3.2 3B | 1.55倍 |
Qwen2.5 7B | 1.53倍 |
杰玛2 2B | 1.63倍 |
杰玛2 9B | 1.28倍 |
菲 3.5 3B | 1.54倍 |
SmoLLM2 1.7B | 1.57倍 |
视觉语言模型(VLM):
模型 | 性能提升 |
---|---|
维拉 1.5 3B | 1.51倍 |
维拉 1.5 8B | 1.45倍 |
拉瓦 1.6 7B | 1.36倍 |
Qwen2-VL-2B | 1.57倍 |
实习生VL2.5-4B | 2.04倍 |
PaliGemma2-3B | 1.58倍 |
SmoLVLM-2B | 1.59倍 |
视觉变形金刚
模型 | 性能提升 |
---|---|
clip-vit-base-patch32 | 1.60倍 |
clip-vit-base-patch16 | 1.69倍 |
DINOv2-基础-补丁14 | 1.68倍 |
SAM2 基地 | 1.43倍 |
接地-DINO | 1.52倍 |
vit-base-patch16-224 | 1.61倍 |
vit-base-patch32-224 | 1.60倍 |
I/O 和连接
界面 | 规格 |
---|---|
相机 | 2个MIPI CSI-2 22针摄像头连接器 |
PCIe | M.2 键 M x4 PCIe Gen 3 |
附加 PCIe | M.2 键 M x2 PCIe Gen3 |
扩张 | M.2 Key E PCIe (x1)、USB 2.0、UART、I2S 和 I2C |
USB | 4 个 USB 3.2 Gen2 A 型 + 1 个 C 型(用于调试) |
网络 | 1个GbE连接器 |
展示 | DisplayPort 1.2 (+MST) |
贮存 | microSD 插槽(UHS-1 卡最高支持 SDR104 模式) |
通用输入输出 | 40针扩展接头 |
开发人员友好功能
特征 | 描述 |
---|---|
软件堆栈 | 全面支持 TensorRT-LLM |
框架兼容性 | 与流行框架的原生兼容性 |
Jetson 生态系统 | Jetson 软件堆栈和微服务支持 |
部署 | 预构建容器,可快速部署 |
人工智能开发工具
工具 | 描述 |
---|---|
TensorRT 优化 | 使用 TensorRT 优化推理 |
量化支持 | INT8/FP16量化支持 |
多模型推理 | 能够同时运行多个模型 |
集装箱化 | Docker 容器支持,轻松部署 |
Jetson Orin Super 入门
本指南将指导您在 Jetson 设备上设置 Ollama,将其与 Open WebUI 集成,并配置系统以实现最佳 GPU 利用率。无论您是开发者还是 AI 爱好者,此设置都能让您在 Jetson 设备上充分发挥 LLM 的潜力。
先决条件
你需要什么?
- 杰森·奥林·纳米
- 直流电源(DC 至 HDMI 端口)
注意:NVIDIA Jetson Orin Nano 开发套件不支持
HDMI,但它有一个 DisplayPort 输出端口。您可以使用
适配器将该套件连接到仅支持 HDMI 的显示器或电视。
- NVMe SSD(代替 SD 卡)
注意:如果您真的想运行
AI 工作负载,我强烈建议您使用 NVMe SSD。将 NVMe SSD 添加到 Jetson 开发板
- WiFi适配器
- 无线键盘
- 无线鼠标
- 用于安装 SDK Manager 的 Linux 笔记本电脑
注意:需要使用 NVIDIA SDK 管理器将 Jetson Orin SDK 卡映像刷入开发板。不要浪费时间直接将其写入 SD 卡。使用 SDK 管理器可以节省您的时间。
软件
- 下载 Jetson SD 卡镜像
请务必从此链接下载最新的 JetPack 6.2 SDK。您的 Jetson Orin Nano 开发套件出厂时预装了旧固件,与 JetPack 6.x 不兼容。点击此处下载
- 安装在本地系统上的 Etcher
使用此链接下载 Jetson SDK
入门
- 使用 SDK 管理器刷新 Jetson 开发板 - 正确的方法
要使用 SDK 管理器烧写 Orin Nano,必须先将其置于“恢复模式”。为此,请在 Orin Nano 卡背面的 FC_REC 和 GND 引脚(引脚 2 和 3)之间连接跳线或跳线。请参阅此博客了解更多信息。
- 确保 SDK 管理器检测到 Jetson 主板和 NVMe SSD
- 将操作系统刷入 NVMe SSD
步骤1.验证L4T版本
要检查 NVIDIA Jetson 设备(例如 Jetson Nano、Jetson Xavier)上的 L4T(Linux for Tegra)版本,请按照以下步骤操作:
运行以下命令来检索您当前的 L4T 版本。
head -n 1 /etc/nv_tegra_release
结果:
head -n 1 /etc/nv_tegra_release
# R36 (release), REVISION: 4.3, GCID: 38968081, BOARD: generic, EABI: aarch64, DATE: Wed Jan 8 01:49:37 UTC 2025
以下是受支持的 L4T 版本列表:
- 35.3.1
- 35.4.1
- 35.5.0
- 36.3.0
如果您的 L4T 版本与上面列出的支持版本不匹配,您可能需要在 NVIDIA Jetson 设备上重新刷写系统。您可能需要在另一台计算机上使用 SDK 管理器来重新刷写设备。您可以下载 SDK 管理器并按照NVIDIA 官方开发者网站上的教程进行操作。
第 2 步:保持apt
最新状态:
sudo apt update && sudo apt upgrade
步骤3.安装jetpack
:
sudo apt install jetpack
步骤 4. 添加用户
将您的用户添加到 docker 组并重新启动 Docker 服务以应用更改:
sudo usermod -aG docker $USER && \
newgrp docker && \
sudo systemctl daemon-reload && \
sudo systemctl restart docker
步骤5.安装jetson-examples:
pip3 install jetson-examples
步骤6.重启系统
sudo reboot
步骤 7. 安装 Ollama
reComputer run ollama
可选:如果您通过运行上述命令ssh
并遇到错误command not found: reComputer
,则可以通过执行以下命令解决此问题:
source ~/.profile
步骤 8. 运行模型
我能够运行 DeepSeek R1 模型,总体结果非常令人印象深刻。
步骤 9. 从 Ollama 库安装模型(例如 llama3.2)
ollama pull llama3.2
步骤 9. 通过 Docker 安装并运行 Open WebUI
Jetson Orin 默认安装了 Docker。截至撰写本文时,我已默认安装了以下 Docker 二进制文件:
ajeetraina@ajeetraina-desktop:~$ sudo docker version
[sudo] password for ajeetraina:
Client: Docker Engine - Community
Version: 28.0.1
API version: 1.48
Go version: go1.23.6
Git commit: 068a01e
Built: Wed Feb 26 10:41:16 2025
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.0.1
API version: 1.48 (minimum version 1.24)
Go version: go1.23.6
Git commit: bbd0a17
Built: Wed Feb 26 10:41:16 2025
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.2.4
GitCommit: v1.2.4-0-g6c52b3f
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
步骤10.通过docker安装并运行OpenWebUI
安装完成后,您可以通过浏览器中访问 YOUR_SERVER_IP:3000 来访问 GUI。
通过导航至 YOUR_SERVER_IP/ollama/docs#/ 访问 API 端点。如需完整文档,请参阅官方资源:Ollama API 文档(推荐)和 Open WebUI API 端点。
使用 GPU
此安装方法使用单个容器镜像,该镜像将 Open WebUI 与 Ollama 捆绑在一起,从而允许通过单个命令进行简化的设置。请根据您的硬件设置选择适当的命令:
sudo docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
仅使用 CPU
仅适用于 CPU:如果您不使用 GPU,请改用以下命令:
sudo docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
这两个命令都有助于 Open WebUI 和 Ollama 的内置、无忧安装,确保您可以快速启动并运行一切。
配置完成后,Open WebUI 可通过http://localhost:3000访问,Ollama 可通过http://localhost:11434运行。此设置提供了一个无缝且 GPU 加速的环境,用于在 NVIDIA Jetson 设备上本地运行和管理 LLM。
设置 TensorRT LLM
TensorRT-LLM 本质上是一种专用工具,可以使大型语言模型(如 ChatGPT)在 NVIDIA 硬件上运行得更快。
可以这样想:如果说常规语言模型就像汽车引擎,可以带你从 A 点到达 B 点,那么 TensorRT-LLM 就像一套高性能调优套件,可以让同一引擎更加高效、强大。
简而言之:
- 它采用通常响应较慢的 AI 语言模型并对其进行优化,使其运行速度更快。
- 它专为 Jetson Orin 等 NVIDIA 硬件而设计,可帮助其在运行复杂的 AI 模型时发挥出超乎寻常的作用。
- 它的工作原理是重组模型来消除低效率,类似于机械师在不改变基本设计的情况下调整汽车发动机以获得更好的性能。
- 最终结果是,在您的设备上可能太慢而无法实用的 AI 模型现在可以以合理的响应时间运行。
TensorRT-LLM 是一个高性能 LLM 推理库,具有高级量化、注意核和分页键值缓存功能。针对 Jetson AGX Orin 的 TensorRT-LLM 代码库 v0.12.0-jetson 分支已包含针对 JetPack 6.1 从源代码构建 TensorRT-LLM 的初始支持。
我强烈推荐 NVMe SSD,因为它的存储速度和空间都很好。
- tensorrt_llm 容器镜像占用 18.5GB
- 模型空间(>10GB)
git clone https://github.com/dusty-nv/jetson-containers
bash jetson-containers/install.sh
为 Llama 构建 TensorRT-LLM 引擎
您可以在代码库的 examples/llama 目录下找到将 Llama 转换为 TensorRT-LLM 的步骤,也可以在文档中找到。此脚本将自动执行应用 INT4 量化的 Llama-7B 的转换过程,并对模型运行一些生成和性能检查:
首先,获取 Hugging Face API 令牌,将其传递给命令并运行它:
首先,创建具有适当权限的目录:
sudo mkdir -p /tmp/llama2-config
sudo chmod 777 /tmp/llama2-config
然后尝试再次创建文件:
cat > /tmp/llama2-config/config.json << 'EOF'
{
"_name_or_path": "meta-llama/Llama-2-7b-chat-hf",
"architectures": ["LlamaForCausalLM"],
"attn_implementation": "sdpa",
"bos_token_id": 1,
"eos_token_id": 2,
"hidden_act": "silu",
"hidden_size": 4096,
"initializer_range": 0.02,
"intermediate_size": 11008,
"max_position_embeddings": 4096,
"model_type": "llama",
"num_attention_heads": 32,
"num_hidden_layers": 32,
"num_key_value_heads": 32,
"pretraining_tp": 1,
"rms_norm_eps": 1e-05,
"rope_scaling": null,
"tie_word_embeddings": false,
"torch_dtype": "float16",
"transformers_version": "4.31.0",
"use_cache": true,
"vocab_size": 32000
}
EOF
还创建标记器配置:
cat > /tmp/llama2-config/tokenizer_config.json << 'EOF'
{
"add_bos_token": true,
"add_eos_token": false,
"bos_token": {
"__type": "AddedToken",
"content": "<s>",
"lstrip": false,
"normalized": true,
"rstrip": false,
"single_word": false
},
"clean_up_tokenization_spaces": false,
"eos_token": {
"__type": "AddedToken",
"content": "</s>",
"lstrip": false,
"normalized": true,
"rstrip": false,
"single_word": false
},
"model_max_length": 1000000000000000019884624838656,
"tokenizer_class": "LlamaTokenizer",
"unk_token": {
"__type": "AddedToken",
"content": "<unk>",
"lstrip": false,
"normalized": true,
"rstrip": false,
"single_word": false
}
}
EOF
现在是时候转换模型了:
jetson-containers run \
-e HUGGINGFACE_TOKEN=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 \
-e FORCE_BUILD=on \
-v /tmp/llama2-config:/tmp/llama2-config \
dustynv/tensorrt_llm:0.12-r36.4.0 \
bash -c "cd /opt/TensorRT-LLM/examples/llama && python3 convert_checkpoint.py \
--model_dir /tmp/llama2-config \
--output_dir /data/models/tensorrt_llm/Llama-2-7b-chat-hf-gptq \
--dtype float16 \
--quant_ckpt_path /data/models/huggingface/models--TheBloke--Llama-2-7B-Chat-GPTQ/snapshots/d5ad9310836dd91b6ac6133e2e47f47394386cea/model.safetensors \
--use_weight_only \
--weight_only_precision int4_gptq \
--group_size 128 \
--per_group"
太棒了!转换现在运行成功了。你可以看到它以每秒 4.83 次迭代的速度处理了 550 次迭代,这是一个不错的进展。
该命令运行正常,模型正在转换为 TensorRT-LLM 格式。此过程将持续一段时间,因为它会处理所有模型层和权重,以针对您的 Jetson 硬件进行优化。
要在不进入容器的情况下运行转换过程,您需要创建一个处理完整工作流程的命令。我将创建一个您可以保存并运行的脚本:
#!/bin/bash
# Save this as convert_llama_gptq.sh and make it executable with: chmod +x convert_llama_gptq.sh
# Run the container with all the necessary steps in sequence
jetson-containers run \
-it \
dustynv/tensorrt_llm:0.12-r36.4.0 \
bash -c '
# Step 1: Install GPTQ model support
pip install gptqmodel
# Step 2: Download the complete model with configs
cd /tmp
python3 -c "from transformers import AutoModelForCausalLM; AutoModelForCausalLM.from_pretrained('\''TheBloke/Llama-2-7B-Chat-GPTQ'\'', trust_remote_code=True)"
# Step 3: Find the snapshot directory
SNAPSHOT_DIR=$(find /root/.cache/huggingface/hub/models--TheBloke--Llama-2-7B-Chat-GPTQ/snapshots -type d | head -1)
echo "Using model directory: $SNAPSHOT_DIR"
# Step 4: Run the conversion
cd /opt/TensorRT-LLM/examples/llama
python3 convert_checkpoint.py \
--model_dir $SNAPSHOT_DIR \
--output_dir /data/models/tensorrt_llm/Llama-2-7b-chat-hf-gptq \
--dtype float16 \
--use_weight_only \
--weight_only_precision int4_gptq \
--group_size 128 \
--per_group
将此脚本保存到文件中,使其可执行,然后运行它。整个过程将在容器内按顺序执行,无需您手动进入容器。
脚本如下:
- 安装 GPTQ 模型支持
- 下载包含所有配置的完整模型
- 查找下载模型的实际快照目录
- 使用正确的目录运行转换
请注意,这仍然需要相当长的时间才能完成,尤其是转换步骤。该过程运行时,您将在终端中看到输出。
#!/bin/bash
# Save this as convert_llama_gptq.sh and make it executable with: chmod +x convert_llama_gptq.sh
# Run the container with all the necessary steps in sequence
jetson-containers run \
-it \
dustynv/tensorrt_llm:0.12-r36.4.0 \
bash -c '
# Step 1: Install required packages
pip install auto-gptq
# Step 2: Create a config directory with required files
mkdir -p /tmp/llama_config
# Create config.json
cat > /tmp/llama_config/config.json << EOF
{
"_name_or_path": "meta-llama/Llama-2-7b-chat-hf",
"architectures": ["LlamaForCausalLM"],
"bos_token_id": 1,
"eos_token_id": 2,
"hidden_act": "silu",
"hidden_size": 4096,
"initializer_range": 0.02,
"intermediate_size": 11008,
"max_position_embeddings": 4096,
"model_type": "llama",
"num_attention_heads": 32,
"num_hidden_layers": 32,
"num_key_value_heads": 32,
"rms_norm_eps": 1e-05,
"rope_scaling": null,
"tie_word_embeddings": false,
"transformers_version": "4.31.0",
"use_cache": true,
"vocab_size": 32000
}
EOF
# Step 3: Run the conversion
cd /opt/TensorRT-LLM/examples/llama
python3 convert_checkpoint.py \
--model_dir /tmp/llama_config \
--output_dir /data/models/tensorrt_llm/Llama-2-7b-chat-hf-gptq \
--dtype float16 \
--quant_ckpt_path /data/models/huggingface/models--TheBloke--Llama-2-7B-Chat-GPTQ/snapshots/d5ad9310836dd91b6ac6133e2e47f47394386cea/model.safetensors \
--use_weight_only \
--weight_only_precision int4_gptq \
--group_size 128 \
--per_group
结论
Jetson Orin Nano 超级开发者套件代表了边缘 AI 计算领域的一个重要里程碑。它以前所未有的价格将数据中心级的 AI 功能带到了边缘,使其成为开发者、研究人员和企业在边缘部署高级 AI 应用的理想平台。
更强大的 AI 性能、更强大的内存带宽以及更广泛的模型支持,使其成为任何认真对待边缘 AI 开发的人的理想之选。249 美元的价格,它不仅仅是一款产品,更是一场 AI 计算领域的革命。
在下一篇博文中,我们将深入探讨模型优化。敬请期待。