주요 컨텐츠로 이동
Platform blog

(번역: Youngkyong Ko) Original Blog Post

검색 증강 생성(Retrieval-Augmented-Generation, 이하 RAG)는 내부 데이터와 실시간 데이터를 대규모 언어 모델(Large Language Model, 이하 LLM) 애플리케이션에 통합할 수 있는 강력한 방법으로 빠르게 부상하고 있습니다. 이제 데이터브릭스 사용자가 엔터프라이즈 데이터를 사용해 고품질의 프로덕션 LLM 앱을 구축할 수 있도록 지원하는 RAG 도구 모음을 출시하게 되어 기쁜 마음으로 소식을 전합니다. 

LLM은 새로운 애플리케이션을 신속하게 프로토타입으로 제작할 수 있는 획기적인 기능을 제공했습니다. 하지만 수천 개의 기업과 협력하여 RAG 애플리케이션을 구축한 결과, 이러한 애플리케이션을 프로덕션 레벨의 품질로 만드는 것이 가장 큰 과제라는 사실을 알게 되었습니다. 고객 대면 애플리케이션에 필요한 품질 표준을 충족하려면 AI의 응답이 정확하고, 최신 상태여야 하며, 기업 컨텍스트를 인식하고, 안전해야 합니다.

RAG 애플리케이션으로 높은 품질을 달성하려면 개발자는 데이터 및 모델 출력의 품질을 이해할 수 있는 풍부한 도구와 함께 RAG 프로세스의 모든 측면을 결합하고 최적화할 수 있는 기본 플랫폼이 필요합니다. RAG에는 데이터 준비, 검색 모델, 언어 모델(SaaS 또는 오픈 소스), 랭킹 및 후처리 파이프라인, 프롬프트 엔지니어링, 맞춤형 엔터프라이즈 데이터에 대한 모델 학습 등 많은 구성 요소가 포함됩니다. 데이터브릭스는 항상 고객이 데이터를 최첨단 머신러닝 기술과 결합할 수 있도록 주력해 왔습니다. 오늘 출시하는 도구들은 이러한 철학을 확장하여 고객이 고품질의 AI 애플리케이션을 만드는 데 데이터를 활용할 수 있도록 지원합니다.

이번 릴리스에는 다음과 같은 공개 프리뷰가 포함되어 있습니다:

이러한 기능들은 프로덕션 RAG 애플리케이션을 구축할 때 발생하는 세 가지 주요 문제를 해결하기 위해 설계되었습니다:

도전과제 #1 -  RAG 앱을 위한 실시간 데이터 제공

RAG 애플리케이션은 최신 정형 및 비정형 데이터를 결합하여 최고 품질의 개인화된 응답을 생성합니다. 하지만 온라인 데이터 서비스 인프라를 유지하는 것은 매우 어려운 작업이며, 기업들은 중앙 데이터 레이크에서 맞춤형 서비스 계층으로 데이터를 로드하기 위해 여러 시스템을 연결하고 복잡한 데이터 파이프라인을 유지해야 했습니다. 여러 인프라 스택에 데이터 사본이 분산되어 있으면 중요한 데이터를 보호하는 것도 매우 어렵습니다.

이번 릴리스에서 데이터브릭스는 온라인 검색을 위한 데이터 서빙과 인덱싱을 기본적으로 지원합니다. 비정형 데이터(텍스트, 이미지, 비디오)의 경우, 벡터 검색은 델타 테이블의 데이터를 자동으로 색인하고 서빙하여, RAG 애플리케이션이 의미 유사도 검색(semantic similarity search)을 통해 액세스할 수 있도록 합니다. 내부적으로 벡터 검색은 장애를 관리하고, 재시도를 처리하며, 배치 크기를 최적화하여 최상의 성능, 처리량, 비용을 제공합니다. 구조화된 데이터의 경우, 피처 및 펑션 서빙(Feature and Function Serving)을 통해 사용자 또는 계정 데이터와 같은 컨텍스트 데이터를  밀리초 단위로 쿼리하여, 사용자 정보에 따라 커스터마이즈하기 위해 프롬프트에 삽입할 수 있도록 합니다. 

Unity Catalog는 제공된 데이터셋의 오프라인 사본과 온라인 사본 간의 계보를 자동으로 추적하여 데이터 품질 문제를 훨씬 쉽게 디버깅할 수 있게 해줍니다. 또한 온라인과 오프라인 데이터 셋 간에 액세스 제어 설정을 일관되게 적용하므로 기업은 민감한 독점 정보를 누가 볼 수 있는지 더 잘 감사(audit)하고 제어할 수 있습니다. 

Vector Search

도전 과제 #2 - 파운데이션 모델에 대한 비교, 튜닝, 서빙

RAG 애플리케이션에서 품질을 결정하는 주요 요인은 기본 LLM 모델을 선택하는 것입니다. 모델들은 추론 능력, 환각(hallucination) 성향, 컨텍스트 윈도우 크기, 서빙 비용 등 여러 차원에 걸쳐 다양한 속성을 가지므로, 모델을 비교하는 것은 쉽지 않은 일입니다. 일부 모델은 특정 애플리케이션에 맞게 미세 조정할 수 있어 성능을 더욱 향상시키고 잠재적으로 비용을 절감할 수 있습니다. 거의 매주 새로운 모델이 출시되므로, 특정 애플리케이션에 가장 적합한 모델을 찾기 위해 많은 기본 모델들에 적용하여 비교하는 것은 매우 부담스러울 수 있습니다. 더욱 복잡한 문제는 모델 제공업체가 서로 다른 API를 사용하는 경우가 많기 때문에 RAG 애플리케이션의 신속한 비교나 미래 대비가 매우 어렵다는 점입니다. 

이번 릴리스를 통해 데이터브릭스는 이제 멀티 클라우드 플랫폼에서 다양한 모델 제품군(family)에 일관된 도구들을 사용할 수 있도록 LLM 개발과 평가를 위한 통합 환경을 제공합니다. 데이터브릭스 사용자는 Azure OpenAI 서비스, AWS Bedrock, Anthropic, 오픈 소스 모델인 Llama 2와 MPT 등의 주요 모델들과 고객이 튜닝한 커스텀 모델에 액세스할 수 있습니다. 새로운 대화형 AI Playground를 통해 이러한 모델과 쉽게 채팅할 수 있으며, MLflow와 통합된 toolchain을 통해 유해성(toxicity), 지연 시간, 토큰 수와 같은 주요 메트릭을 추적하여 다양한 비교를 할 수 있습니다. Playground 또는 MLflow에서 모델 측면 비교(side-by-side model comparison)을 사용하면 각 사용 사례에 가장 적합한 모델 후보를 파악할 수 있으며, retriever component의 평가까지 지원할 수 있습니다.   

AI Playground

또한 데이터브릭스에서는 인기 있는 Llama 와 MPT 모델 제품군을 포함한 완전 관리형 LLM 모델 세트인 파운데이션 모델 API를 출시합니다. 파운데이션 모델 API는 토큰당 지불 방식으로 사용할 수 있어 비용을 대폭 절감하고 유연성을 높일 수 있습니다. 파운데이션 모델 API는 데이터브릭스 인프라 내에서 제공되므로 민감한 데이터를 타사 서비스로 전송할 필요가 없습니다.

실무에서는 높은 품질을 달성하기 위해 각 애플리케이션의 특정 요구사항에 따라 기본 모델을 혼합하여 mix-and-match로 사용해야 하는 경우가 많습니다. 이제 데이터브릭스 모델 서빙 아키텍처는 완전 커스텀 모델, 데이터브릭스 관리형 모델, 써드파티 파운데이션 모델 등 모든 유형의 LLM을 배포, 관리, 쿼리할 수 있는 통합 인터페이스를 제공합니다. 이러한 유연성 덕분에 고객은 업무에 적합한 모델을 선택할 수 있으며, 미래에 더 발전된 모델들이 나올 경우에도 유연하게 대응할 수 있습니다.

Model Serving

도전 과제 #3 - 프로덕션 환경에서 품질과 안전성 보장

LLM 애플리케이션을 배포한 후에는 애플리케이션이 얼마나 잘 작동하고 있는지 파악하기 쉽지 않습니다. 기존의 전통적 소프트웨어와 달리 언어 기반 애플리케이션에는 하나의 정답이나 명백한 "오류(error)" 조건이 존재하지 않습니다. 즉, 품질(얼마나 잘 작동하는가?) 을 파악하거나 또는 비정상적이거나 안전하지 않거나 유해한 결과물인지(이것이 안전한가?) 파악하는 것이 쉽지 않다는 뜻입니다. 소규모 내부 프로토타입에서 관찰한 품질이 대규모 사용자 기반에서 그대로 적용될지 확신할 수 없어서 RAG 애플리케이션 출시를 주저하는 고객 사례들이 많았습니다.

이번 릴리스에 포함된 Lakehouse Monitoring은 RAG 애플리케이션을 위한 완전 관리형 품질 모니터링 솔루션을 제공합니다. Lakehouse Monitoring은 애플리케이션의 출력물에서 유해하거나 부정확하거나 또는 기타 안전하지 않은 콘텐츠를 자동으로 스캔할 수 있습니다. 이 데이터는 대시보드, 알림 또는 기타 다운스트림 데이터 파이프라인에 제공되어 후속 조치를 취할 수 있습니다. 모니터링이 데이터셋과 모델의 계보(lineage)와 통합되어 있으므로 개발자는 낡은 데이터 파이프라인 또는 예기치 않게 동작하는 모델과 관련된 오류를 신속하게 진단할 수 있습니다. 

모니터링은 안전뿐만 아니라 품질에도 관련됩니다. 레이크하우스 모니터링은 '좋아요/싫어요' 스타일의 사용자 피드백과 같은 애플리케이션 수준 개념이나 '사용자 수락률'(최종 사용자가 AI가 생성한 추천을 수락하는 빈도)과 같은 파생된 지표를 통합할 수 있습니다. 경험상, 엔드투엔드 사용자 지표를 측정하면 RAG 애플리케이션이 실제로 현장에서 잘 작동하고 있다는 신뢰도를 크게 높일 수 있습니다. 모니터링 파이프라인도 데이터브릭스에서 완벽하게 관리하므로 개발자들은 가시성을 위한 인프라 운영 대신 애플리케이션에 더 많은 시간을 할애할 수 있습니다.

Lakehouse Monitoring

이번 릴리스의 모니터링 기능은 시작에 불과합니다. 더 많은 기능을 기대해 주세요!

다음 단계

이번 주와 다음 주에 걸쳐 구현 모범 사례에 대해 자세히 설명하는 심층적인 블로그가 준비되어 있습니다. 매일 데이터브릭스 블로그를 방문하여 새로운 RAG 데모를 통해 제품을 살펴보고, 데이터브릭스 생성형 AI 웨비나를 온디맨드로 시청하고, RAG 도구들이 실제로 작동하는 모습을 담은 동영상 데모를 확인해 보세요:

Databricks 무료로 시작하기

관련 포스트

Engineering blog

Big Book of MLOps Updated for Generative AI

Last year, we published the Big Book of MLOps, outlining guiding principles, design considerations, and reference architectures for Machine Learning Operations (MLOps). Since...
Engineering blog

Announcing MLflow 2.8 LLM-as-a-judge metrics and Best Practices for LLM Evaluation of RAG Applications, Part 2

Today we're excited to announce MLflow 2.8 supports our LLM-as-a-judge metrics which can help save time and costs while providing an approximation of...
Engineering blog

Llama 2 Foundation Models Available in Databricks Lakehouse AI

We’re excited to announce that Meta AI’s Llama 2 foundation chat models are available in the Databricks Marketplace for you to fine-tune and...
모든 공지사항 포스트 보기