온프레미스에서 작업하든 클라우드에서 작업하든 NVIDIA NIM 추론 마이크로서비스는 엔터프라이즈 개발자에게 커뮤니티, 파트너 및 NVIDIA에서 제공하는 최적화된 AI 모델을 쉽게 배포할 수 있도록 지원합니다. NVIDIA AI Enterprise의 일부인 NIM은 안전하고 간소화된 경로를 제공하여 빠르게 반복하고 세계 최고 수준의 생성형 AI 솔루션을 위한 혁신을 구축할 수 있도록 지원합니다.
최적화된 단일 컨테이너를 사용하여 클라우드 또는 데이터센터의 가속화된 NVIDIA GPU 시스템이나 워크스테이션 및 PC에 5분 이내에 NIM을 쉽게 배포할 수 있습니다. 또는 컨테이너를 배포하지 않으려는 경우 NVIDIA API 카탈로그에서 NIM API를 사용하여 애플리케이션 프로토타이핑을 시작할 수 있습니다.
- 어디서나 NVIDIA 가속 인프라에 명령 한 번으로 배포할 수 있는 사전 구축된 컨테이너를 사용하세요.
- 가장 중요한 엔터프라이즈 리소스인 데이터의 보안과 제어를 유지하세요.
- LoRA와 같은 기술을 사용하여 미세 조정된 모델을 지원하여 최고의 정확도를 달성할 수 있습니다.
- 일관된 업계 표준 API를 활용하여 가속화된 AI 추론 엔드포인트를 통합하세요.
- LangChain, LlamaIndex, Haystack 등 가장 인기 있는 생성형 AI 애플리케이션 프레임워크와 함께 작업하세요.
이 게시물에서는 NVIDIA NIM으로 쉽고 빠르게 Docker 배포 방법을 공유할 예정입니다. Haystack, LangChain, LlamaIndex와 같은 가장 인기 있는 생성형 AI 애플리케이션 프레임워크에서 NIM 마이크로서비스 API를 사용할 수 있습니다. NIM 배포에 대한 전체 가이드는 NIM 설명서를 참조하세요.
5분 안에 NIM을 배포하는 방법
시작하기 전에 모든 전제 조건이 충족되었는지 확인하고 NIM 설명서의 요구 사항을 살펴보세요. NIM을 다운로드하여 사용하려면 NVIDIA AI 엔터프라이즈 라이선스가 필요합니다.
모든 설정이 완료되면 다음 스크립트를 실행합니다:
# Choose a container name for bookkeeping
export CONTAINER_NAME=meta-llama3-8b-instruct
# Choose a LLM NIM Image from NGC
export IMG_NAME="nvcr.io/nim/meta/llama3-8b-instruct:24.05"
# Choose a path on your system to cache the downloaded models
export LOCAL_NIM_CACHE="~/.cache/nim"
mkdir -p "$LOCAL_NIM_CACHE"
# Start the LLM NIM
docker run -it --rm --name=$CONTAINER_NAME \
--runtime=nvidia \
--gpus all \
-e NGC_API_KEY \
-v "$LOCAL_NIM_CACHE:/opt/nim/.cache" \
-u $(id -u) \
-p 8000:8000 \
$IMG_NAME
다음으로 추론 요청을 테스트합니다:
curl -X 'POST' \
'http://0.0.0.0:8000/v1/completions' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "meta-llama3-8b-instruct",
"prompt": "Once upon a time",
"max_tokens": 64
}'
이제 제어되고 최적화된 프로덕션 배포를 통해 생성형 AI 애플리케이션을 안전하게 구축할 수 있습니다.
NVIDIA에서 호스팅하는 NIM의 샘플 배포는 NVIDIA API 카탈로그에서도 확인할 수 있습니다.
NIM을 애플리케이션과 통합하는 방법
이전 설정을 먼저 수행해야 하지만, 직접 배포하지 않고 NIM을 테스트하고 싶은 경우 NVIDIA API 카탈로그의 NVIDIA 호스팅 API 엔드포인트를 사용하여 테스트할 수 있습니다. 아래 단계를 따르세요.
NIM 엔드포인트 통합하기
OpenAI 사양을 따르는 완료 컬 요청으로 시작할 수 있습니다. 출력을 스트리밍하려면 stream
을 True
로 설정해야 합니다.
OpenAI 라이브러리와 함께 Python 코드에서 NIM을 사용하려면 다음과 같이 하세요:
- NIM을 사용하는 경우 API 키를 제공할 필요가 없습니다.
base_url을 NIM
이 실행 중인 위치로 업데이트해야 합니다.
from openai import OpenAI
client = OpenAI(
base_url = "http://nim-address:8000/v1,
)
completion = client.chat.completions.create(
model="meta/llama3-70b-instruct",
messages=[{"role":"user","content":""}],
temperature=0.5,
top_p=1,
max_tokens=1024,
stream=True
)
for chunk in completion:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
NIM은 또한 Haystack, LangChain, LlamaIndex와 같은 애플리케이션 프레임워크에도 통합되어, 이미 이러한 인기 있는 도구로 놀라운 생성형 AI 애플리케이션을 구축하고 있는 개발자들에게 안전하고 신뢰할 수 있으며 가속화된 모델 추론을 제공합니다.
각 프레임워크의 노트북을 확인하여 NIM 사용법을 알아보세요:
- 자체 배포 AI 모델과 NVIDIA NIM이 포함된 Haystack RAG 파이프라인
- NVIDIA NIM이 포함된 LangChain RAG 에이전트
- NVIDIA NIM이 포함된 LlamaIndex RAG 파이프라인
NIM 활용하기
빠르고 안정적이며 간편한 모델 배포를 위해 NVIDIA NIM을 사용하면 성능과 혁신적인 생성형 AI 워크플로우 및 애플리케이션을 구축하는 데 집중할 수 있습니다. NIM을 더 많이 활용하려면 LoRA 어댑터로 커스터마이징된 LLM과 함께 마이크로서비스를 사용하는 방법을 알아보세요.
NIM은 정기적으로 출시되고 개선됩니다. API 카탈로그를 수시로 방문하여 비전, 검색, 3D, 디지털 생물학 등을 위한 최신 NVIDIA NIM 마이크로서비스를 확인하세요.
관련 리소스
GTC 세션: 생성형 AI 과제 탐색 및 잠재력 활용: NVIDIA의 엔터프라이즈 배포에서 얻은 인사이트
GTC 세션: GenAI 워크플로우를 위한 NVIDIA AI 워크벤치 최대한 활용하기
NGC 컨테이너: GenAI SD NIM
NGC 컨테이너 DiffDock용 NVIDIA NIM
NGC 컨테이너 ESMFold용 NVIDIA NIM
웨비나 NVIDIA와 함께 생성형 AI로 빠르게 전환하기