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

2024-03-20 05:36

本文主要是介绍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 requestsendpoint = '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 之旅。 立即开始您的人工智能之旅。

这篇关于NVIDIA NIM 提供优化的推理微服务以大规模部署 AI 模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/828441

相关文章

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,