当前位置:   article > 正文

Jetson orin部署大模型示例教程_jetson部署

jetson部署

一、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

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

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

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

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

在 Web UI 上下载模型

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

  1. ./run.sh --workdir=/opt/text-generation-webui $(./autotag text-generation-webui) /bin/bash -c \
  2. '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

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

使用模型启动容器minigpt4

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

  1. cd jetson-containers
  2. ./run.sh $(./autotag minigpt4) /bin/bash -c 'cd /opt/minigpt4.cpp/minigpt4 && python3 webui.py \
  3. $(huggingface-downloader --type=dataset maknee/minigpt4-13b-ggml/minigpt4-13B-f16.bin) \
  4. $(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

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

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

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

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

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

四、视觉Vision Transformers (ViT)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/693829
推荐阅读
相关标签
  

闽ICP备14008679号