[reinvent 2024] AWS analytics를 활용한 ML과 AI용 데이터 엔지니어링

Summary

AI 및 ML 시스템의 성능과 정확성은 모델 학습이나 RAG(Retrieval Augmented Generation)에 사용되는 데이터의 품질, 관련성, 무결성이 큰 영향을 미칩니다. 데이터 엔지니어링은 AI 및 ML 구현의 성공을 위해 높은 품질의 데이터를 사용할 수 있고, 접근 및 활용 가능하게 하는데 중요한 역할을 합니다. 이를 통해 AI 모델이 효과적으로 학습, 추론, 행동할 수 있도록 합니다. 이번 세션에서는 AWS에서 어떻게 데이터를 수집, 저장, 처리, 통합하고 이것을 Gen AI 채팅 어시스턴트나 이 외의 AI/ML 어플리케이션에서 사용할 수 있도록 하는지에 대한 세션 입니다.


리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?

Tech Blog

AWS re:Invent 2024 Tech Blog written by MegazoneCloud

Overview

  • Title: Data engineering for ML and AI with AWS analytics
  • Date: 2024년 12월 4일(수)
  • Venue: Mandalay Bay | Level 2 South | Oceanside B
  • Speaker:
  • Tim Kraska(Director of Applied Science / Professor, AWS)
  • Uday Narayanan(Principal Solutions Architect, Amazon Web Services)
  • Moe Haidar(Office of CTO, Nexthink)
  • Industry: Cross-Industry Solutions

들어가며

 이번 세션에서는 AI/ML 어플리케이션을 위한 데이터 전략 구축 방법 소개 및 AWS에서 어떻게 데이터를 수집, 저장, 처리, 통합하고 이것을 Gen AI 채팅 어시스턴트나 이 외의 AI/ML 어플리케이션에서 사용할 수 있도록 하는지에 대한 내용을 소개하고자 합니다. 또, 이를 적용한 NextThink의 Gen AI 기반 티켓팅 시스템 구축 사례를 소개드립니다.

1. 데이터 엔지니어링의 중요성 및 데이터 파이프라인 구축을 위한 AWS 서비스

AI/ML 어플리케이션을 구축할 때 데이터 전략은 매우 중요합니다. 데이터 전략을 수립하여 모든 데이터가 어플리케이션 학습에 사용될 수 있도록 해야합니다. 다양한 구조적, 비구조적 데이터를 배치 수집과 스트리밍 수집을 통해 데이터 레이크로 데이터를 이동시킵니다. 수집된 데이터는 ETL 툴을 통해 어플리케이션에서 사용할 수 있는 구조로 변환됩니다.

AI 모델을 위한 트레이닝/테스트 데이터셋이 준비되면 이를 기반으로 모델 학습이 진행됩니다. 이를 위한 AI 어플리케이션 아키텍처는 다음과 같습니다.

아키텍처는 크게 데이터 소스로부터 데이터를 ingest 하고, 데이터 전처리를 거쳐 데이터 거버넌스와 데이터 레이크를 구성하고, 그것을 기반으로 AI 모델을 학습시키고, 그 모델을 통해 얻은 데이터를 다시 데이터 레이크에 적용해 피드백 루프를 구성하는 과정을 표현하고 있습니다.

AWS Glue를 사용해 70개 이상의 데이터 소스를 데이터 레이크에 통합할 수 있으며, 데이터 처리 파이프라인을 통해 데이터 유효성 검사, 품질 검사 등이 가능합니다. Amazon Kinesis Data Stream은 초당 기가바이트의 데이터를 스트리밍할 수 있는 서버리스 솔루션입니다.

최종적으로 사용자 피드백 루프를 통해 어플리케이션을 사용하면서 수집된 데이터를 모델 개선에 활용할 수 있습니다.

2. 생성형 AI 어플리케이션 구축을 위한 플로우

일반적인 Gen AI 어시스턴트 플로우는 다음 이미지와 같습니다. 사용자가 질문을 입력하면 이를 Gen AI 어플리케이션으로 전송하고, 이 요청은 Amazon Bedrock에서 호스팅 되는 임베딩 모델로 라우트 됩니다. 임베딩된 요청은 벡터 스토어에 저장된 관련 문서와 데이터를 검색하는데에 사용됩니다. 이렇게 검색된 데이터는 후속 프롬프트에 포함돼 최종 답변을 생성합니다.

벡터스토어의 저장된 문서와 데이터는 Amazon Bedrock Knowledge Bases를 활용하여 벡터화 시켜 저장됩니다.

3. NextThink의 Gen AI 어플리케이션 사례 : Autopilot

NextThink는 직원들의 기술 경험을 개선하기 위해 데이터 플랫폼을 활용해 Autopilot이라는 Gen AI 제품을 개발했습니다. Autopilot은 서비스 데스크 운영자와 최종 사용자간의 상호작용을 지원하는 솔루션입니다. 이 서비스는 IT 문제를 해결하는 프로세스를 간소화하고, 사용자가 서비스 데스크에 요청을 제출했을 때 시스템이 자동으로 문제에 대한 원인과 해결책을 제시해줍니다. 이 과정에서 정형 데이터를 쿼리하기 위해 NL2SQL을 통해 쿼리를 생성합니다.

NL2SQL은 자연어 요청을 SQL 쿼리로 변환하는 것으로 정형 데이터인 데이터베이스 내의 정보를 추출하기 위해 사용하는 기술입니다. 

시스템은 자연어 요청을 SQL 쿼리로 변환하기 위해 자연어 처리 (NLP) 기술을 활용합니다. 이 과정에서 사용자의 질문이 스키마와 관련이 있는지를 확인하고, 쿼리를 논리적으로 변환할 수 있어야 합니다. 

NL2SQL의 아키텍처는 다음과 같습니다. 사용자의 입력이 임베딩 모델을 통해 벡터화 되면, 시멘틱 서치를 통해 이미 구성되어있는 벡터 스토어에서 가장 관련 있는 테이블과 가장 관련 있는 쿼리를 불러옵니다. 불러온 값들을 시스템 프롬프트와 함께 LLM을 활용해 최종적으로 쿼리를 출력해냅니다.

결론

이번 세션을 통해 데이터 엔지니어링은 고품질의, 관련성이 높고 무결한 데이터 확보를 통해 AI 모델의 효율적 구현을 가능하게 하고, 이것이 비즈니스 운영에 큰 영향을 미치는 요소라는 것을 다시 한 번 확인할 수 있었습니다. AI 모델이 효과적으로 학습, 추론, 행동을 하기 위해서는 어떻게 데이터를 수집, 저장, 처리해야할지에 대해 알 수 있었고, 그 과정의 중요성 또한 확인하였습니다. RAG와 Gen AI 기술이 발전하는 가운데, 이런 데이터 관리 및 처리 방법이 다양한 곳에서 현재보다도 더욱 다양한 방법으로 적용될 수 있을 것 같습니다.

글 │메가존클라우드, AI & Data Analytics Center(ADC), Data Application Support Team, 엄유진 매니저
게시물 주소가 복사되었습니다.