Jetson orin部署大模型示例教程

一、LLM介绍

LLM指的是Large Language Model(大型语言模型),是一类基于深度学习的自然语言处理技术,其主要目的是让机器能够更好地理解和生成人类的自然语言文本,如文章、对话、搜索等。

教程 - text-generation-webui

通过在 NVIDIA Jetson 上使用 oobabooga 的 text-generaton-webui 运行 LLM 与本地 AI 助手进行交互!

所需条件:

  1. 以下 Jetson 之一:

    Jetson AGX Orin 64GB Jetson AGX Orin (32GB) Jetson Orin Nano Orin (8GB)⚠️1

  2. 运行以下 JetPack.5x 之一

    JetPack 5.1.2 (L4T, r35.4.1) JetPack 5.1.1 (L4T r35.3.1) JetPack 5.1 (L4T r35.2.1

  3. 足够的存储空间(最好使用 NVMe SSD)。

    • 6.2GB对于容器映像
    • 模型空间

使用 和 script 自动拉取或构建兼容的容器映像:run.shautotag

cd jetson-containers
./run.sh $(./autotag text-generation-webui)

容器有一个默认的运行命令 (),它将自动启动 Web 服务器,如下所示:CMD

cd /opt/text-generation-webui && python3 server.py \
  --model-dir=/data/models/text-generation-webui \
  --chat \
  --listen

打开浏览器并访问 .http://<IP_ADDRESS>:7860

在 Web UI 上下载模型

有关下载模型的说明,请参阅 oobabooga 文档 - 从 Web UI 中或使用 download-model.py

./run.sh --workdir=/opt/text-generation-webui $(./autotag text-generation-webui) /bin/bash -c \
  'python3 download-model.py --output=/data/models/text-generation-webui TheBloke/Llama-2-7b-Chat-GPTQ'

GGUF 型号

目前使用最快的 oobabooga 模型加载器是具有 4 位量化 GGUF 模型的 llama.cpp

您可以下载特定量化的单个模型文件,例如 .输入文件名并点击下载按钮。*.Q4_K_M.bin

量化内存 (MB)
TheBloke/Llama-2-7b-Chat-GGUFllama-2-7b-chat.Q4_K_M.gguf5,268
TheBloke/Llama-2-13B-chat-GGUFllama-2-13b-chat.Q4_K_M.gguf8,609
TheBloke/LLaMA-30b-GGUFllama-30b.Q4_K_S.gguf19,045
TheBloke/Llama-2-70B-chat-GGUFllama-2-70b-chat.Q4_K_M.gguf37,655

 这里模型对内存的消耗较大,如果是orin nano选第一个7B大小模型,根据手里的硬件设备进行挑选下载,模型越大对内存要求越高。

测试结果如下

二、文本 + 视觉 (VLM)

教程 - MiniGPT-4

通过在 Jetson 上运行 MiniGPT-4,让您本地运行的 LLM 获得视觉访问权限!

设置容器MiniGPT-4

有关更多信息,请参阅 jetson-containers 的 minigpt4 软件包 README**

克隆和设置jetson-containers

git clone https://github.com/dusty-nv/jetson-containers
cd jetson-containers
sudo apt update; sudo apt install -y python3-pip
pip3 install -r requirements.txt

使用模型启动容器minigpt4

要使用推荐的型号启动 MiniGPT4 容器和 Web 服务器,请运行以下命令:

cd jetson-containers
./run.sh $(./autotag minigpt4) /bin/bash -c 'cd /opt/minigpt4.cpp/minigpt4 && python3 webui.py \
  $(huggingface-downloader --type=dataset maknee/minigpt4-13b-ggml/minigpt4-13B-f16.bin) \
  $(huggingface-downloader --type=dataset maknee/ggml-vicuna-v0-quantized/ggml-vicuna-13B-v0-q5_k.bin)'

然后,打开您的网络浏览器并访问 .http://<IP_ADDRESS>:7860

结果

遇到问题:

/usr/local/lib/python3.8/dist-packages/gradio/layouts/column.py:55: UserWarning: 'scale' value should be an integer. Using 0.5 will cause issues.
  warnings.warn(
Traceback (most recent call last):
  File "webui.py", line 129, in <module>
    start(share_link)
  File "webui.py", line 87, in start
    submit = gr.Button(value="Send message", variant="secondary").style(full_width=True)
AttributeError: 'Button' object has no attribute 'style'

本地运行镜像 docker run --runtime nvidia -it --rm --network host e9a43bf72f83

python3 webui.py   $(huggingface-downloader --type=dataset maknee/minigpt4-13b-ggml/minigpt4-13B-f16.bin)   $(huggingface-downloader --type=dataset makne e/ggml-vicuna-v0-quantized/ggml-vicuna-13B-v0-q5_k.bin)

即可,原因是gradio版本为3.50.2以后成功运行(默认自带4.0.2) 

三、图像生成 Stable-Diffusion

教程 - 稳定扩散

让我们在 NVIDIA Jetson 上运行 AUTOMATIC1111 的 stable-diffusion-webui 来根据我们的提示生成图像!

如何开始

如果您是第一次运行它,请完成预设置并查看 jetson-containers/stable-diffusion-webui 自述文件。

使用 和 script 自动拉取或构建兼容的容器映像:run.shautotag

cd jetson-containers
./run.sh $(./autotag stable-diffusion-webui)

容器有一个默认的运行命令 (),它将自动启动 Web 服务器,如下所示:CMD

cd /opt/stable-diffusion-webui && python3 launch.py \
  --data=/data/models/stable-diffusion \
  --enable-insecure-extension-access \
  --xformers \
  --listen \
  --port=7860

您应该看到它在第一次运行时下载模型检查点。

打开浏览器并访问http://<IP_ADDRESS>:7860

四、视觉Vision Transformers (ViT)

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
Jetson Nano Orin部署是一个涉及到安装Yolo v5的过程。根据引用,可以参考Jetson Linux Developer Guide documentation进行快速入门。根据引用,在网上可以找到很多关于Jetson Nano部署Yolo v5的帖子,但因为每个人的环境和版本都不同,所以过程可能会有所不同。为了记录这个过程并方便后续重装,可以按照以下步骤进行部署: 1. 首先,将Jetson Orin Nano CLB套件客户资料文件夹下的两个文件拷贝到Ubuntu的某个文件夹下。可以使用提供的百度云盘地址来获取这两个文件。 2. 确保您的Jetson Nano Orin已经正确连接到网络,并且已经安装了适当的操作系统。 3. 在Jetson Nano Orin上安装Yolo v5所需的依赖项。这些依赖项通常包括CUDA、cuDNN和OpenCV等。您可以根据您的具体环境和版本选择适当的依赖项。 4. 下载Yolo v5的源代码,并将其解压到您选择的文件夹中。 5. 根据Yolo v5的文档或指南的说明,完成Yolo v5的编译和安装过程。这通常涉及到执行一些命令来构建和安装Yolo v5。 6. 一旦Yolo v5编译和安装完成,您可以根据您的需求进行配置和使用。根据Yolo v5的文档,您可以使用预训练的模型或训练自己的模型,并使用Yolo v5来进行目标检测。 请注意,以上步骤仅为一个大致的指导,具体的部署过程可能会因为环境和版本的不同而有所变化。建议您参考官方文档、论坛帖子或其他可靠的资源来获取更详细和准确的部署指导。
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无证驾驶梁嗖嗖

让我们解决Jetson使用问题

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值