top of page

NVIDIA AI Enterprise와 Anyscale Platform을 활용한 생성형 AI 기반 사내 챗봇 서비스 개발

이전 포스팅에서 소개하였는데요, 이번에는 생성형 AI 기반 기업용 챗봇을 개발하는 내용을 간단히 살펴보겠습니다. 참고로 이 챗봇의 이름은 '코파일럿(co-pilot)'이라고 부르겠습니다. 이 개발 시나리오는 오픈 소스로 공개된 초거대 언어 모델(LLM)을 이용해 프로덕션 환경에서 운영할 챗봇을 만드는 것입니다.


요즘 허깅페이스나 NGC 같이 오픈 소스 LLM 및 sLLMs(Small LLMs)을 모아 놓은 리포지토리에서 사전 훈련을 마친 모델을 가져와 미세 조정 또는 파인 튜닝 하는 것에 대한 이야기가 많습니다. 하지만 실제 오픈 소스 모델을 사내 데이터로 최적화하여 프로덕션까지 간 사례는 아직 많이 보고되고 있지는 않습니다. 방법론 측면에서는 익숙하지만 아직은 낯선 일이라 할 수 있습니다. NVIDIA의 AI 소프트웨어어와 Ray 기반 애니스케일 플랫폼을 활용하면 오픈 소스 모델을 가져와 최적화를 한 다음 프로덕션 서비스에 적용하는 과정을 간소화할 수 있습니다. 머지않아 오픈 소스 모델을 활용한 프로덕션 서비스 사례가 많아지지 않을까 싶네요.




코파일럿은 LLM을 사용하는 대화형 인터페이스를 제공하는 챗봇입니다. 이를 활용하면 기업 내 누구나 새 콘텐츠를 작성하고, 아이디어를 생성하고, 작업을 자동화할 수 있습니다. 참고로 코파일럿은 사내 데이터를 통해 최적화를 한 다음 프로덕션 환경에 올립니다. 이 전체 과정이 NVIDIA의 AI 소프트웨어와 애니스케일 플랫폼에서 어떻게 물 흐르듯이 이어지는 지 알아보겠습니다. 전체 워크플로우는 다음과 같습니다.



GPU가 장착된 노트북 또는 로컬 워크스테이션에서 작업하는 개발자는 NVIDIA NGC 리포지토리에서 코파일럿 개발에 필요한 NVIDIA AI 소프트웨어를 가져와 애니스케일의 Ring와 호환되도록 구축합니다. 그러고 나서 NVIDIA AI Workbench를 사용하여 Jupyter를 시작하고 허깅페이스에서 LLaMA2 언어 모델을 가져옵니다.



개발자는 테스트를 위해 모델에 NVIDIA와 애니스케일의 파트너십에 대해 질문합니다. 모델이 확장되지 않았기 때문에 NVIDIA AI 소프트웨어에 대한 언급이 없는 일반적인 응답을 제공합니다. 이 문제를 해결하기 위해 개발자는 Retrieval Augmented Generation(RAG)을 사용하여 LLaMA2 모델을 벡터 데이터베이스 및 언어 체인으로 확장합니다. NVIDIA 및 애니스케일과 관련된 문서는 로컬 리소스를 사용하여 업로드하거나 클라우드를 사용하여 확장할 수 있습니다. 수천 개의 문서가 있으므로 더 많은 컴퓨팅 리소스가 필요합니다. 이미 애니스케일 호환 환경을 설정했으므로 쉽게 임베딩을 생성하고 클라우드에서 프로덕션 배포를 준비할 수 있습니다.



애니스케일의 명령줄 인터페이스(CLI) 및 NVIDIA AI Workbench를 활용하여 전체 프로젝트가 애니스케일 워크스페이스에 업로드됩니다. 모델을 배포하기 전에 개발자는 RAPIDS에서 이제 지원되는 NVIDIA TRT LLM을 사용하여 LLaMA2 모델을 최적화해야 합니다. 이를 통해 지연 시간 문제를 개선할 수 있습니다.



RAG 개선 모델을 애니스케일 서비스로 다중 노드에 배포하는 것은 하나의 명령어로 수행됩니다. 다음으로 개발자는 엔드포인트 정보를 가져와 Python 또는 curl을 통해 엔터프라이즈 애플리케이션에 쉽게 통합합니다. 모델에 최신 정보가 확장되어 있으므로 앞선 테스트와 달리 프롬프트를 통해 VIDIA와 애니스케일의 파트너십에 대한 질문을 하면 더 정확한 응답을 제공합니다.



코파일럿 개발 시나리오에서 보듯이 NVIDIA의 소프트웨어와 애니스케일 플랫폼 조합은 개발자가 언어 기반 생성 AI 애플리케이션을 빠르고 효율적으로 생성할 수 있도록 돕습니다. 일단 실제로 한번 테스트 해보세요. NVIDIA AI Enterprise 90일 평가받을 신청한 다음 테스트해 보는 것을 추천합니다.


조회수 23회댓글 0개
bottom of page