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

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.mfbz.cn/a/489452.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

聊一聊常见的网络安全模型

目录 一、概述 二、基于时间的PDR模型 2.1 模型概念提出者 2.2 模型图 2.3 模型内容 2.3.1 Protection(保护) 2.3.2 Detection(检测) 2.3.3 Response(响应) 2.4 PDR模型思想 2.4.1 PDR模型假设 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…

【openGL4.x手册10】基元程序集和面部剔除

https://www.khronos.org/opengl/wiki/Face_Culling 一、说明 基元汇编是 OpenGL 渲染管道中的阶段,在该阶段,基元被划分为一系列单独的基本基元。经过一些小的处理后,如下所述,它们被传递到光栅器进行渲染。 二 早期原始组装 基…

Spring实例化Bean的三种方式

参考资料: Core Technologies 核心技术 spring实例化bean的三种方式 构造器来实例化bean 静态工厂方法实例化bean 非静态工厂方法实例化bean_spring中有参构造器实例化-CSDN博客 1. 构造函数 1.1. 空参构造函数 下面这样表示调用空参构造函数,使用p…

npm ERR! cb() never called!(已解决)

从仓库拉下来的代码,用npm install时报错 试了很多种方法,结果发现有一种可能是你的node版本过低导致的,可以升级node版本试一下。 node版本升级后,把上一次npm install错误的node_modules删除,重新npm install。

压力测试面试题及答案!

压力测试是软件测试中的一种测试方式,用于评估软件系统在各种压力条件下的性能表现。以下是常见的压力测试面试题及答案: 什么是压力测试? 压力测试是一种测试方式,用于模拟实际用户在正常和峰值负载条件下对软件系统施加的压力&…

java线程池原理浅析

问题与解决: 问题: 查询大数据量的时候,例如一次返回50w数据量的包,循环去查询发现读取会超时。 解决方案: 经过思考采用多线程去分页查询。使用线程池创建多个线程去查询分页后的数据最后汇总一下,解决…

双指针算法_盛水最多的容器

题目: 题目解析: 如图所示,一个数组内部存储的是高度,求数组中,能够组成最大容量的两个元素,需要注意的是容量是 高度*宽度,这里的宽度指的是两个数字之间的距离,且需要注意高度中&…

现代c++内存管理的方式有哪些?

在现代C编程实践中,内存管理是软件开发中的核心议题之一,直接影响着程序的性能、稳定性以及资源的有效利用。C提供了一系列丰富且灵活的内存管理机制,以适应不同场景的需求和应对潜在的内存问题,如内存泄漏、野指针和堆栈溢出等。…

VUE之首次加载项目缓慢

最近公司有个大型的项目,使用vue2开发的,但是最终开发完成之后,项目发布到线上,首次加载项目特别缓慢,有时候至少三十秒才能加载完成,加载太慢了,太影响用户体验了,最近研究了一下优…

java spirng和 mybatis 常用的注解有哪些

当在Java Spring和MyBatis中进行开发时,常用的注解对于简化配置和提高开发效率非常重要。以下是更多常用的注解以及它们的详细说明和用途: 在Spring中常用的注解: Component: 用途:表明一个类会作为组件被Spring容器管…

AJAX(一):初识AJAX、http协议、配置环境、发送AJAX请求、请求时的问题

一、什么是AJAX 1.AJAX 就是异步的JS和XML。通过AJAX 可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。AJAX 不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。 2.XML 可扩展标记语言。XML被设计用来传输和…

C++(13) STL 库初识

文章目录 STL 库初识1. STL 库1.1 STL 库的案例1.2 C 标准模板库的三个组件1.3 案例展示 2. 迭代器1.1 概述和分类2.2 代码案例 STL 库初识 1. STL 库 1.1 STL 库的案例 类似学习了模板的概念。CSTL (标准模板库) 是一套功能强大的 C 模板类,提供了通用的模板类和…

【Linux详解】——进程信号

📖 前言:本期介绍进程信号。 目录 🕒 1. 生活角度的信号🕒 2. 技术角度的信号🕘 2.1 Linux中的信号🕘 2.2 进程对信号的处理 🕒 3. 信号的产生方式🕘 3.1 键盘产生🕘 3.2…

svn如何合并代码以及解决合并冲突的问题(把分支代码合并到主版本)

1.选择主版本的文件夹。 ​​​​​​​ 2.选择合并一个不同的分支 3.选择主分支的路径和要合并的代码范围 4.点解next 选择这两个选项 5.然后点击Test merge,查看能否和并成功 有红色的提示,说明是有冲突的, 都是黑色说明能够合并成功 …

【无标题】如何使用 MuLogin 设置代理

如何使用 MuLogin 设置代理 使用 MuLogin 浏览器设置我们的代理,轻松管理多个社交媒体或电子商务帐户。 什么是MuLogin? MuLogin 是一款虚拟反检测浏览器,使用户能够管理多个电子商务、社交媒体和广告帐户,而无需验证码或 IP 禁…

星巴克终止Odyssey Beta NFT计划

日前,咖啡品牌星巴克宣布将于3月31日终止其NFT产品Odyssey Beta客户忠诚度计划。这意味着,曾经旨在改进会员忠诚度的Web3 产品Starbucks Odyssey将终止,构筑多年的Web2会员系统“星享俱乐部”脱去了Web3外衣,回到了本来的面貌。 至…

体验分低导致闭店!抖音小店体验分是什么?教你如何提高体验分!

哈喽~我是电商月月 相信开抖音小店的伙伴们对体验分这个东西都不陌生,但如何有效的提高体验分你们知道吗? 今天,我就来讲讲抖音小店体验分低有什么后果,同时在后面说一下体验分降低如何提高! 大家可根据情况不同自行…

羊大师羊奶靠谱么?品质保障深度解析

羊大师羊奶靠谱么?品质保障深度解析 羊大师羊奶,作为市场上的知名品牌,其靠谱性一直备受消费者关注。那么,羊大师羊奶究竟靠谱不靠谱呢?这就需要从品质保障和消费者信赖两个方面进行深入解析。 从品质保障的角度来看&…

【JAVA】数据类型与变量(主要学习与c语言不同之处)

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目标: 1. 字面常量 2. 数据类型 3. 变量 1.字面常量 在上节课 Hello…
最新文章