这篇文章最初发表在 NVIDIA 技术博客上。
随着 大型语言模型 (LLM) 功能变得更加强大,降低计算需求的技术也日趋成熟,因此出现了两个令人关注的问题。首先,哪些最先进的 LLM 可以在边缘设备上运行和部署?其次,现实世界的应用程序如何利用这些技术进步?
运行先进的开源 LLM (如 Llama 2 70B),即使在降低的 FP16 精度下也需要超过 140GB 的 GPU VRAM (在 FP16 中,700 亿个参数 x 2 字节=140GB,KV 缓存更多)。对于大多数开发者和较小的公司而言,此数量的 VRAM 并不容易访问。此外,由于成本、带宽、延迟或数据隐私问题,应用程序特定的要求可能会排除使用云计算资源托管 LLM 的选项。
NVIDIA IGX Orin 开发者套件 和 NVIDIA Holoscan SDK 应对这些挑战,将 LLM 的强大功能带到边缘。NVIDIA IGX Orin 开发者套件搭配独立的 NVIDIA RTX A6000 GPU,提供了一个专为工业和医疗环境需求量身打造的工业级边缘 AI 平台。该平台包括 NVIDIA Holoscan,这是一个能够协调数据移动、加速计算、实时可视化和 AI 推理的 SDK。
该平台使开发者能够将开源 LLM 添加到边缘 AI 串流工作流和产品中,为支持 AI 的实时传感器处理提供新的可能性,同时确保敏感数据保持在 IGX 硬件的安全边界内。
用于实时流式传输的开源 LLM
开源 LLM 最近的快速发展改变了人们对实时流式传输应用程序的可能性的看法。普遍的看法是,任何需要类似人类的能力的应用程序都是由数据中心规模的企业级 GPU 提供支持的闭源 LLM 所独有。但是,由于新开源 LLM 最近的性能激增,Falcon、MPT 和 Llama 2 等模型现在可以为闭源黑盒 LLM 提供可行的替代方案。
有许多应用程序可以在边缘上利用这些开源模型,其中许多涉及将流式传感器数据提炼成自然语言摘要。这些可能性包括实时监控手术视频以让家人及时了解进展情况,总结空中交通管制员最近的雷达联系,甚至将足球比赛的逐场播放评论转换为另一种语言。
访问功能强大的开源 LLM 激发了一个社区的热情,致力于提升这些模型的准确性,并减少运行模型所需的计算资源。这个活跃的社区在Hugging Face Open LLM 排行榜上不断更新,经常引入最新的优秀模型。
边缘 AI 功能
我们的 NVIDIA IGX Orin 平台 搭载 NVIDIA RTX A6000 GPU,具有独特的优势,能够充分利用激增的可用开源 LLM 和支持软件。NVIDIA RTX A6000 GPU 提供了充足的 48 GB VRAM,使其能够运行一些大型开源模型。例如,模型权重已量化为 4 位精度(而不是标准的 32 位)的 Llama 2 70B 版本可以完全在 GPU 上运行,速度可达每秒 14 个令牌。
可靠的 Lama 2 模型可以解决各种问题和用例,该模型由 NVIDIA IGX Orin 平台的安全措施提供支持,并无缝集成到低延迟的 Holoscan SDK 流程中。这种融合不仅标志着边缘 AI 能力的显著进步,而且释放了跨多个领域的变革性解决方案的潜力。
一个值得注意的应用程序可以利用新推出的 临床 Camel,这是一款经过微调的,专门用于医学知识的 Lama 2 70B 变体。通过基于此模型创建本地化医疗聊天机器人,它可以确保敏感的患者数据仍然局限于 IGX 硬件的安全边界内。对于那些隐私、带宽问题或实时反馈至关重要的应用程序,IGX 平台是真正的亮点所在。
想象一下,输入患者的病历并查询机器人以发现类似病例,获得对难以诊断的患者的新见解,甚至为医疗专业人员配备规避与现有处方相互作用的潜在药物简短列表。所有这些都可以通过 Holoscan 应用程序实现自动化,该应用程序将医生与患者互动的实时音频转换为文本,并将其无缝输入到临床 Camel 模型中。
图 1.临床 Camel 模型在示例对话中生成的临床注释
得益于对低延迟传感器输入的出色优化, NVIDIA IGX 平台进一步发挥了其潜力,将 LLM 的功能扩展到了纯文本应用程序之外。虽然医疗聊天机器人提供了令人信服的用例,但 IGX Orin 开发者套件的强大之处在于它能够无缝集成来自各种传感器的实时数据。
IGX Orin 专为边缘环境而设计,可以处理来自摄像头、激光雷达传感器、无线电天线、加速传感器、超声波探针等的流式传输信息。这种通用性为尖端应用程序提供支持,将 LLM 的强大功能与实时数据流无缝融合在一起。
这些 LLM 集成到 Holoscan 运算符中,有可能显著增强支持 AI 的传感器处理流程的能力和功能。具体示例详见下文。
**多模态医疗助理:**增强了 LLM 的能力,不仅可以解释文本,还能解释医学影像。正如以下项目所示:Med-Flamingo 能够解读核磁共振成像 (MRI)、X 射线和组织学图像。
图 2.LLM 可以解读文本并从医学影像中提取相关见解
**信号情报 (SIGINT):**从通信系统和雷达捕获的实时电子信号中提取自然语言摘要,提供连接技术数据与人类理解的洞察。
**手术案例注释生成:**将内窥镜视频、音频、系统数据和患者记录传输到多模态 LLM,以生成全面的手术案例注释,并自动上传至患者的电子病历中。
**智慧农业:**通过使用监测 PH 值、湿度和养分水平的土壤传感器,LLM 能够提供实用的见解,以优化种植、喷洒和病虫害控制策略。
用于教育、故障排除或生产力增强代理的软件开发副驾驶是 LLM 的另一个新用例。这些模型可帮助开发者开发更高效的代码和全面的文档。
Holoscan 团队最近发布了 HoloChat,这是一款 AI 驱动的聊天机器人,在 Holoscan 开发中充当开发者的副驾驶。它可以生成类似人类的回答,回答有关 Holoscan 和编写代码的问题。有关详情,请访问 nvidia-holoscan/holohub 在 GitHub 上的发布页面。
HoloChat 本地托管方法旨在为开发者提供与热门闭源聊天机器人相同的优势,同时消除与将数据发送到第三方远程服务器进行处理相关的隐私和安全问题。
通过模型量化实现最佳准确性和显存占用率
随着开源模型在 Apache 2、MIT 和商业上可行的许可证下发布,任何人都可以下载和使用这些模型权重。但是,仅仅因为这是可能的,并不意味着它对绝大多数开发者来说是可行的。
模型量化提供了一种解决方案。模型量化通过将权重和激活表示为低精度数据类型(int8 和 int4),而不是更高精度的数据类型(FP16 和 FP32),从而降低运行推理的计算和内存成本。
然而,从模型中降低精度确实会影响模型的准确性。研究显示,在给定的内存预算下,使用尽可能大的模型可以实现最佳的 LLM 性能。当以 4 位精度存储参数时,模型能够适应内存限制。有关更多详细信息,请参阅4 位精度案例:k 位推理扩展定律。
因此,在 4 位量化中实施时,Lama 2 70B 模型可以实现准确性和显存占用率的最佳平衡,从而将所需的 RAM 仅减少到 35 GB 左右。小型开发团队甚至个人都可以实现这一显存需求。单个 NVIDIA RTX A6000 48 GB GPU (可选包含在 IGX Orin 中)可以轻松满足这一需求。
开源 LLM 开启了新的开发机遇
由于能够在商品硬件上运行先进的 LLM,开源社区迅猛发展,推出了支持本地运行的新库,并提供工具来扩展这些模型的功能,而不仅仅是预测句子的下一个词。
借助 Llama.cpp、ExLlama 和 AutoGPTQ 等库,您可以量化自己的模型,并在本地 GPU 上运行极速推理。不过,量化自己的模型是一个完全可选的步骤,因为 HuggingFace.co 模型库 提供了大量随时可用的量化模型。这在很大程度上得益于高级用户 /TheBloke 每天上传的新量化模型。
虽然这些模型本身已经提供了令人兴奋的开发机会,但通过添加来自大量新创建的库中的其他工具,可以进一步增强这些模型的功能。示例包括:
- LangChain 是一个拥有 58000 个 GitHub 星标的库,它提供了从支持文档问答的向量数据库集成到支持 LLM 浏览网页的多步骤代理框架等多种功能。
- 通过 Haystack 实现可扩展的语义搜索。
- 通过 Magentic,您可以轻松地将 LLM 集成到您的 Python 代码中。
- Oobabooga 是一个 Web UI,用于在本地运行量化的 LLM。
如果您有 LLM 用例,则可能会提供开源库,以满足您的大部分需求。
开始在边缘部署 LLM
使用 NVIDIA IGX Orin 开发者套件在边缘部署先进的 LLM 带来了前所未有的开发机遇。首先,您可以查看这个全面的教程,它详细介绍了如何在 IGX Orin 上创建一个简单的聊天机器人应用程序,在边缘部署 Lama 2 70B 模型。
本教程说明了 Lama 2 在 IGX Orin 上的无缝集成,并指导您使用 Gradio 开发 Python 应用程序。这是利用本文中提到的任何出色 LLM 库的第一步。IGX Orin 提供弹性、无与伦比的性能和端到端安全性,使开发者能够围绕在边缘运行的先进 LLM 打造创新的 Holoscan 优化应用程序。
11 月 17 日(星期五),加入 NVIDIA 深度学习培训中心(DLI)举办的 LLM 开发者日,这是一场免费的虚拟活动,专注于探讨 LLM 应用程序开发的前沿技术。欢迎注册参与直播或点播观看活动。