NVIDIA NIM 提供优化的推理微服务以大规模部署 AI 模型

news2024/11/25 5:45:43

NVIDIA NIM 提供优化的推理微服务以大规模部署 AI 模型

生成式人工智能的采用率显着上升。 在 2022 年 OpenAI ChatGPT 推出的推动下,这项新技术在几个月内就积累了超过 1 亿用户,并推动了几乎所有行业的开发活动激增。

到 2023 年,开发人员开始使用来自 Meta、Mistral、Stability 等的 API 和开源社区模型进行 POC。

进入 2024 年,组织将重点转向全面生产部署,其中涉及将 AI 模型连接到现有企业基础设施、优化系统延迟和吞吐量、日志记录、监控和安全性等。 这条生产之路既复杂又耗时——它需要专门的技能、平台和流程,尤其是大规模生产。

NVIDIA NIM 是 NVIDIA AI Enterprise 的一部分,为开发 AI 驱动的企业应用程序和在生产中部署 AI 模型提供了简化的路径。

NIM 是一组优化的云原生微服务,旨在缩短上市时间并简化生成式 AI 模型在云、数据中心和 GPU 加速工作站上的部署。 它通过使用行业标准 API 抽象化 AI 模型开发和生产打包的复杂性来扩展开发人员库。

用于优化 AI 推理的 NVIDIA NIM

NVIDIA NIM 旨在弥合复杂的 AI 开发世界与企业环境运营需求之间的差距,使企业应用程序开发人员能够为公司的 AI 转型做出 10-100 倍的贡献。

部署在任何地方

NIM 专为可移植性和控制而构建,支持跨各种基础设施(从本地工作站到云再到本地数据中心)进行模型部署。 其中包括 NVIDIA DGX、NVIDIA DGX Cloud、NVIDIA 认证系统、NVIDIA RTX 工作站和 PC。

预构建的容器和 Helm 图表与优化模型打包在一起,在不同的 NVIDIA 硬件平台、云服务提供商和 Kubernetes 发行版上进行了严格的验证和基准测试。 这可以为所有 NVIDIA 支持的环境提供支持,并确保组织可以在任何地方部署其生成式 AI 应用程序,从而保持对其应用程序及其处理的数据的完全控制。

使用行业标准 API 进行开发

开发者可以通过符合各领域行业标准的API访问AI模型,简化AI应用的开发。 这些 API 与生态系统内的标准部署流程兼容,使开发人员能够快速更新他们的人工智能应用程序——通常只需三行代码。 这种无缝集成和易用性有助于在企业环境中快速部署和扩展人工智能解决方案。

利用特定领域的模型

NIM 还通过几个关键功能满足对特定领域解决方案和优化性能的需求。 它打包了特定于领域的 NVIDIA CUDA 库以及针对语言、语音、视频处理、医疗保健等各个领域量身定制的专用代码。 这种方法可确保应用程序准确且与其特定用例相关。

在优化的推理引擎上运行

NIM 针对每个模型和硬件设置利用优化的推理引擎,在加速基础设施上提供最佳的延迟和吞吐量。 这降低了推理工作负载扩展时运行的成本,并改善了最终用户体验。 除了支持优化的社区模型之外,开发人员还可以通过将模型与永不离开数据中心边界的专有数据源进行对齐和微调,从而获得更高的准确性和性能。

支持企业级人工智能

NIM 是 NVIDIA AI Enterprise 的一部分,采用企业级基础容器构建,通过功能分支、严格验证、服务级别协议的企业支持以及 CVE 的定期安全更新,为企业 AI 软件提供坚实的基础。 全面的支持结构和优化能力强调了 NIM 作为在生产中部署高效、可扩展和定制的 AI 应用程序的关键工具的作用。

加速的 AI 模型已准备好部署

NIM 支持多种 AI 模型,例如社区模型、NVIDIA AI Foundation 模型以及 NVIDIA 合作伙伴提供的自定义 AI 模型,支持跨多个领域的 AI 用例。 这包括大型语言模型 (LLM)、视觉语言模型 (VLM) 以及语音、图像、视频、3D、药物发现、医学成像等模型。

开发人员可以使用 NVIDIA API 目录中的 NVIDIA 托管云 API 来测试最新的生成式 AI 模型。 或者,他们可以通过下载 NIM 自行托管模型,并使用 Kubernetes 在主要云提供商或本地进行快速部署以进行生产,从而缩短开发时间、复杂性和成本。

NIM 微服务通过打包算法、系统和运行时优化以及添加行业标准 API 来简化 AI 模型部署过程。 这使得开发人员能够将 NIM 集成到他们现有的应用程序和基础设施中,而无需进行大量的定制或专业知识。

使用 NIM,企业可以优化其 AI 基础设施,以实现最大效率和成本效益,而无需担心 AI 模型开发复杂性和容器化。 除了加速的 AI 基础设施之外,NIM 还有助于提高性能和可扩展性,同时降低硬件和运营成本。

对于希望为企业应用程序定制模型的企业,NVIDIA 提供了跨不同领域的模型定制微服务。 NVIDIA NeMo 使用法学硕士、语音 AI 和多模式模型的专有数据提供微调功能。 NVIDIA BioNeMo 通过不断增加的生成生物化学和分子预测模型来加速药物发现。 NVIDIA Picasso 通过 Edify 模型实现更快的创意工作流程。 这些模型在视觉内容提供商的许可库上进行训练,从而能够部署用于视觉内容创建的定制生成人工智能模型。

NVIDIA NIM 入门

NVIDIA NIM 的入门非常简单明了。 在 NVIDIA API 目录中,开发人员可以访问各种 AI 模型,这些模型可用于构建和部署自己的 AI 应用程序。

使用图形用户界面直接在目录中开始原型设计,或直接与免费的 API 交互。 要在您的基础设施上部署微服务,只需注册 NVIDIA AI Enterprise 90 天评估许可证并按照以下步骤操作即可。

  1. 从 NVIDIA NGC 下载您要部署的模型。 在此示例中,我们将下载为单个 A100 GPU 构建的 Llama-2 7B 模型版本。
ngc registry model download-version "ohlfw0olaadg/ea-participants/llama-2-7b:LLAMA-2-7B-4K-FP16-1-A100.24.01"

如果您有不同的 GPU,您可以使用 ngc 注册表模型列表“ohlfw0olaadg/ea-participants/llama-2-7b:*”列出模型的可用版本

  1. 将下载的工件解压到模型存储库中:
tar -xzf llama-2-7b_vLLAMA-2-7B-4K-FP16-1-A100.24.01/LLAMA-2-7B-4K-FP16-1-A100.24.01.tar.gz
  1. 使用您所需的模型启动 NIM 容器:
docker run --gpus all --shm-size 1G -v $(pwd)/model-store:/model-store --net=host nvcr.io/ohlfw0olaadg/ea-participants/nemollm-inference-ms:24.01 nemollm_inference_ms --model llama-2-7b --num_gpus=1
  1. 部署 NIM 后,您可以开始使用标准 REST API 发出请求:
import requests
 
endpoint = 'http://localhost:9999/v1/completions'
 
headers = {
    'accept': 'application/json',
    'Content-Type': 'application/json'
}
 
data = {
    'model': 'llama-2-7b',
    'prompt': "The capital of France is called",
    'max_tokens': 100,
    'temperature': 0.7,
    'n': 1,
    'stream': False,
    'stop': 'string',
    'frequency_penalty': 0.0
}
 
response = requests.post(endpoint, headers=headers, json=data)
print(response.json())

NVIDIA NIM 是一款强大的工具,可帮助组织加速生产 AI 之旅。 立即开始您的人工智能之旅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1545741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像抠图DIS——自然图像中高精度二分图像抠图的方法(C++/python模型推理)

概述 DIS(Dichotomous Image Segmentation)是一种新的图像分割任务,旨在从自然图像中分割出高精度的物体。与传统的图像分割任务相比,DIS更侧重于具有单个或几个目标的图像,因此可以提供更丰富准确的细节。 为了研究…

cuda安装和下载for windows

cuda下载 英伟达cuda官方下载地址 https://developer.nvidia.com/cuda-downloads?target_osWindows&target_archx86_64&target_version11&target_typeexe_local 安装 直接一直点下一步即可,注意要注册账号,用微信扫码直接登录即可 win…

一篇文章给你讲清楚正常卷积与深度可分离卷积

文章目录 正常卷积深度可分离卷积深度卷积逐点卷积 对比代码实现查看(torch实现)结果 正常卷积 也就是我们平常用的比较普遍的卷积: 它的参数量是:112,即: ( 卷积核大小) ∗ 输入通道 ∗ 输出…

【随笔】Git -- 常用命令(四)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

【python】flask模板渲染引擎Jinja2,使得前后端交互更加便捷

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

2010年之前电脑ubuntu安装nvidia驱动黑屏处理

装好驱动 仿真fps直接到60Hz 陈旧设备 都是非常老旧的电脑,没钱换新电脑,就这么穷…… 电脑详细配置: 冲动 想装显卡驱动提升一下性能,结果……黑了 黑习惯了也无所谓,几分钟就能解决,关键还是太穷&…

【C】盛最多水的容器(双指针)

盛最多水的容器 原题目链接:点击跳转 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和(i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说…

数据结构-树-006

1二叉树 1.1目标二叉树 前序遍历:ABDHIEJCFKG 中序遍历:HDIBEJAFKCG 后序遍历:HIDJEBKFGCA 层序遍历:ABCDEFGHIJK运行结果: 运行结果符合目标二叉树的深度优先(前序遍历,中序遍历,…

【c++】【STL】stack类、queue类、deque类详解及模拟

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 今日主菜:stack和queue,deque类 主厨:邪王真眼 所属专栏:c专栏 主厨的主页:Chef‘s blog 这可是…

Endnote(作者,年份)文中引用显示‘and etal‘与‘和 等‘

软件版本:Endnote X9.1,样式:Harvard,其余使用(作者,年份)的样式均可,GBT7714就有作者年份类型 本教程适用于X系列~ Endnote20及以上版本请移步另一条博文,指路:(我还没…

“双碳”目标下资源环境中的可计算一般均衡(CGE)模型教程

原文链接:“双碳”目标下资源环境中的可计算一般均衡(CGE)模型https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247599079&idx4&sn82ea6c6f506cd20d1e0cd590faaa0611&chksmfa820200cdf58b16dc5b79746901cc9a4048b46db5…

《自动机理论、语言和计算导论》阅读笔记:p5-p27

《自动机理论、语言和计算导论》学习第2天,p5-p27总结,总计23页。 一、技术总结 1.集合 (1)commutative law of union. (2)distribute law of union. 2.归纳法(induction) & 演绎法(deduction) (1)归纳法:从许多个别的事实或原理中…

【zlm】问题记录:chrome更新引起的拉不出webrtc; 证书校验引起的放几秒中断

目录 chrome更新引起的拉不出webrtc 证书校验引起的放几秒中断 chrome更新引起的拉不出webrtc 【zlm】最新的chrome版本中的报错: 我有个问题event.js:8 [RTCPusherPlayer] DOMException: Failed to execute setRemoteDescription on RTCPeerConnection: Failed …

LabVIEW焓差试验室流量计现场自动校准系统

LabVIEW焓差试验室流量计现场自动校准系统 在现代工业和科研领域,流量计的准确性对于保证生产过程的质量和效率非常重要。开发了一种基于LabVIEW的焓差试验室流量计现场自动校准系统,通过提高流量计校准的准确性和效率。 在空调器空气焓值法能效测量装…

hololens 2 投屏 报错

使用Microsoft HoloLens投屏时,ip地址填对了,但是仍然报错,说hololens 2没有打开, 首先检查 开发人员选项 都打开,设备门户也打开 然后检查系统–体验共享,把共享都打开就可以了

【k8s】kubeasz 3.6.3 + virtualbox 搭建本地虚拟机openeuler 22.03 三节点集群 离线方案

kubeasz项目源码地址 GitHub - easzlab/kubeasz: 使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响 拉取代码,并切换到最近发布的分支 git clone https://github.com/easzlab/kubeasz cd kubeasz gi…

C++细节

背景知识: 面向对象的编程中,类(Class)是创建对象的蓝图或模板,它包含了数据(通常称为属性或变量)和行为(通常称为方法或函数)。将数据封装为私有(private&am…

【Java】:类和对象

1.面向对象的初步认知 1.1 什么是面向对象 Java是一门面向对象的语言,在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知…

CDNS PCIe VIP debug info

1. TLP payload的顺序是反向的,即大小端反的,比如下面的denalirc打印的信息看,pl是我们发TLP时的配置,Cfg才是真正的data顺序。 而seq写的时候如下:可以看到payload[2]时第三个8bit payload,但是我们是想配…

JS加密解密之应用如何保存到桌面书签

前言 事情起因是这样的,有个客户解密了一个js,然后又看不懂里边的一些逻辑,想知道它是如何自动拉起谷歌浏览器和如何保存应用到书签的,以及如何下载应用的。继而诞生了这篇文章,讲解一下他的基本原理。 渐进式Web应用…