주요 컨텐츠로 이동
플랫폼

데이터 웨어하우스에서 AI_Functions 활용하기: 주요 사용 사례

현재 사용하는 노트북, API, 파이프라인을 대체하여 순수 SQL만으로 실행할 수 있는 6가지 AI 유스케이스를 소개합니다.

작성자: Srikant Das , Ismail Makhlouf

대부분의 조직에서 데이터 웨어하우스는 정형 데이터를 보관하는 반면, 비정형 데이터는 데이터 레이크에 보관됩니다. 이는 대규모 정형 데이터를 소비하여 매일 정해진 보고서를 제공하는 분석 워크로드에 잘 맞습니다.

하지만 AI 워크로드는 다른 입력값을 필요로 합니다. AI 모델은 모델을 학습, 구축 및 서빙하기 위해 리뷰, 지원 티켓, PDF와 같은 비정형 데이터를 파싱하고 이를 정형 데이터와 결합해야 하는 경우가 많습니다. 따라서 지원 티켓에 대한 감성 분석을 원하는 분석가는 행 데이터를 외부 서비스로 전송하고, 예측 결과를 기다린 다음, 이를 다시 테이블에 수동으로 결합해야 합니다. 이 과정은 느리고, 스키마가 변경되면 오류가 발생하며, 불필요한 보안 및 거버넌스 리스크를 초래합니다.

AI Functions는 데이터를 별도의 AI 환경으로 이동하는 대신 AI를 데이터로 직접 가져와 이 문제를 해결합니다. 표준 SQL 쿼리 내에서 모델을 호출하므로 전체 추론 프로세스를 기존 파이프라인 및 Unity Catalog 거버넌스 내에 유지할 수 있습니다. 이러한 아키텍처는 데이터 웨어하우스에서 AI를 활용하는 방식을 근본적으로 변화시킵니다.

  • 기본 제공되는 거버넌스: AI FunctionsUnity Catalog 권한을 준수하므로 데이터의 보안과 개인정보가 안전하게 유지됩니다. 모델은 사용자가 명시적으로 허용한 데이터에만 액세스합니다.
  • SQL 네이티브의 간편함: SELECT 문을 작성할 수 있다면 AI를 활용해 빌드할 수 있습니다. Databricks가 계획, 병렬 처리, 재시도 등 복잡한 작업을 관리하므로 클러스터 관리나 외부 오케스트레이션에 대해 걱정할 필요가 없습니다. 단 한 행에서 추론을 실행하는 것만큼 수백만 행에서도 쉽게 실행할 수 있으며, 동일한 쿼리가 코드 재작성 없이 확장됩니다.
  • 통합 빌링: 서로 다른 대시보드를 대조해야 하는 복잡함을 없애줍니다. AI 사용량은 표준 Databricks SQL 웨어하우스 비용과 함께 system.billing.usage에 바로 표시됩니다.
  • 특화된 함수: 더 적은 비용으로 더 나은 결과를 얻으세요. ai_classify, ai_extract, ai_translate, ai_parse_document와 같은 작업별 함수를 사용하면 범용 추론에 과도한 비용을 지불하는 대신 특정 작업에 맞춤화된 모델을 활용할 수 있습니다.

image3.png

노트북, Lakeflow Spark Declarative Pipelines, Workflow를 포함하여 Databricks의 어디서나 이러한 AI 함수를 사용할 수 있습니다. 하지만 이 게시물에서는 특히 Databricks Lakehouse에서 이러한 함수를 호출하는 데 초점을 맞출 것입니다. 아래의 사용 사례는 데이터 웨어하우스 외부에서 가져오거나 GenAI 지원 함수를 통해 직접 생성한 비정형 데이터와 데이터 웨어하우스의 정형 데이터를 결합해야 하는 워크로드에 이러한 AI 함수를 통합하는 방법을 보여줍니다.

사용 사례 1: 문서 인텔리전스, 원시 파일에서 정형 행 데이터까지

ai_parse_document는 PDF나 이미지와 같은 원시 바이너리 파일 콘텐츠를 읽을 수 있는 텍스트로 변환하는 수집 브리지 역할을 합니다. 파싱이 완료되면 ai_extract가 특정 키와 값의 세부 추출을 처리합니다. 이러한 결합된 접근 방식은 스키마 변경 시 자주 손상되는 취약한 맞춤형 OCR 파이프라인이나 서드파티 파싱 서비스의 필요성을 없애줍니다.

이 사용 사례에서는 인보이스가 포함된 Databricks 볼륨을 ai_parse_document로 지정합니다. 인보이스가 파싱되면 AI parse document 함수가 결과를 JSON으로 생성하고, 이 결과는 ai_extract 함수로 전달되어 인보이스에서 추출하고자 하는 엔티티를 정의합니다. 그 결과 인보이스에서 추출하고자 하는 필드가 포함된 정형 테이블이 생성됩니다.

이제 단일 쿼리 계획 내에서 원시 PDF부터 추출된 행까지 리니지가 이어집니다. 이를 위해 수동으로 구축하던 브리지(Python OCR 서비스, LLM 호출, JSON 플래트닝 단계)가 모두 쿼리 하나로 통합됩니다.

데모 노트북: 문서 인텔리전스

사용 사례 2: 고객 피드백에 대한 감성 분석

ai_classify 함수는 제로샷 분류를 수행하여 모델 학습 없이 자유 형식의 텍스트 피드백을 사용자가 정의한 특정 레이블 세트에 매핑합니다. 이 프로세스는 정리되지 않은 비정형 텍스트를 거버넌스가 적용되고 쿼리 가능한 열로 변환하여, 감성 및 주제 데이터를 BI 대시보드 및 경영진 보고에 즉시 사용할 수 있도록 합니다.

이 예시에서는 bronze.nps_responses 테이블의 고객 리뷰를 긍정, 부정, 중립, 혼합으로 분류하고자 합니다.

데모 노트북: 감성 분석

사용 사례 3: 다국어 데이터를 위한 인라인 번역

ai_translate를 사용하면 쿼리 레이어 내에서 직접 다국어 데이터를 단일 대상 언어로 표준화할 수 있습니다. 이를 통해 데이터 사일로와 파편화를 방지하고, 영어로만 구성된 일부 데이터만 처리하는 대신 모든 다운스트림 분석(분류 및 추출 포함)이 전체 글로벌 데이터 세트에서 동시에 작동하도록 할 수 있습니다.

이 예시에서는 다양한 고객 리뷰에서 감성을 추출한 다음 이를 영어로 번역합니다.

데모 노트북: 번역 및 표준화

사용 사례 4: 대규모 분류 및 라우팅

운영 효율성에 초점을 맞춘 ai_classify는 지원 티켓이나 통화 녹취록과 같은 자유 형식의 입력을 실행 가능한 카테고리로 변환합니다. 수집 시점에 유입되는 피드백의 의도와 긴급성을 식별함으로써 적절한 팀이나 자동 응답 시스템으로의 자동화되고 지능적인 라우팅을 가능하게 합니다.

아래 사용 사례에서는 테이블에서 다양한 지원 티켓을 수집한 다음 ai_classify를 사용하여 사용자의 의도와 티켓의 긴급성을 판단합니다.

데모 노트북: 분류 및 라우팅

사용 사례 5: ai_extract를 사용한 영업 통화 구조화 추출

ai_extract 함수는 영업 통화 녹취록과 같은 긴 분량의 콘텐츠에서 반구조화된 정보를 추출하고, 서술형 텍스트를 개별적인 구조화된 필드로 변환하도록 설계되었습니다. 이를 통해 정성적 정보를 BI 도구에 직접 입력할 수 있어, 음성 대화를 거래 단계나 리스크 플래그와 같이 쿼리 가능한 지표로 효과적으로 전환함으로써 상당한 가치를 제공합니다.

이 사용 사례에서는 긴 녹취록을 분석하여 다음 단계, 거래 단계, 리스크 플래그, 리스크 사유가 무엇인지 파악함으로써 영업 담당자가 녹취록을 생성한 회의 결과를 바탕으로 후속 조치를 취할 수 있도록 합니다.

데모 노트북: 영업 통화 추출

사용 사례 6: ai_query를 사용한 생성형 초안 작성

ai_query 함수는 가장 범용적인 함수이자 다른 기능들의 기반입니다. 액세스 권한이 있는 모든 Databricks 호스팅 파운데이션 모델 서빙 엔드포인트로 프롬프트를 보낼 수 있으며, 각 행에 대한 모델의 답변을 반환합니다.

이 사용 사례에서는 ai_query를 사용하여 갱신 준비가 된 계정을 보여주는 가상의 gold.renewal_signals 테이블의 모든 고객 계정에 대한 갱신 안내 이메일 초안을 작성할 수 있습니다.

사용자가 직접 프롬프트를 작성하기 때문에 모델이 할 수 있는 모든 작업을 수행할 수 있으며, 이것이 바로 더 구체적인 전용 함수들이 처리하지 못하는 사례들을 이 함수가 해결하는 이유입니다.

데모 노트북: 생성형 초안 작성

프로덕션을 위한 유용한 팁

  • 첫날부터 작업(job)에 태그 지정하기: 이렇게 하면 AI Functions 비용을 올바른 작업에 할당할 수 있습니다.
  • 특정 작업용 전용 함수를 먼저 시도해 보세요: ai_classify, ai_extract, ai_parse_document, ai_translate 중 어느 것도 적합하지 않은 경우에만 ai_query를 사용하세요.
  • 구조화된 출력 요청하기: ai_query의 경우 구조화된 출력을 위해 responseFormat을 사용하세요. DDL STRUCT 스키마를 전달하면 원시 문자열 대신 타입이 지정된 필드를 얻을 수 있으며, JSON-schema/json_object 형식은 여전히 JSON 문자열을 반환합니다.
  • 모델 선택에 신중을 기하세요: 모든 파운데이션 모델은 비용, 성능, 지원되는 입력 형식 등에서 장단점이 있습니다. 어떤 사용 사례에 어떤 모델을 선택할지 신중하게 결정해야 합니다.
  • 규모를 확장하기 전에 샘플링해 보세요: 최소 10,000개의 행을 실행하여 출력을 확인한 후 나머지를 실행하세요. 비용 대비 정확도의 절충안은 각 사용 사례마다 다릅니다.
  • 프롬프트를 코드처럼 취급하세요: 버전을 관리하고, 풀 리퀘스트(PR)에서 검토하고, 주석을 작성하세요. 이 워크플로에서 프롬프트는 비즈니스 로직이 포함된 변환 작업입니다.

이것이 데이터 웨어하우스 전략에 의미하는 바

여섯 가지 사례 모두를 관통하는 핵심은 동일합니다. AI는 웨어하우스의 다른 부분과 동일한 위치에서 실행됩니다. 즉, 하나의 플랫폼, 하나의 거버넌스 모델, 하나의 청구서, 하나의 파이프라인 세트에서 작동합니다. 기존 SQL ETL의 모든 라인에 호스팅 시스템을 별도로 구축할 필요 없이 AI 단계를 바로 추가할 수 있으며, 기존에 데이터를 번역, 점수화 또는 분류하기 위해 별도로 사용하던 각 Python 스크립트는 단 한 줄의 코드로 대체할 수 있는 대상이 됩니다.

그러니 하나의 열부터 시작해 보세요. 현재 서비스가 가장 취약한 워크로드를 선택하여 SELECT 문으로 다시 작성하고, 10,000개의 행에서 실행한 다음 반환되는 결과를 확인해 보세요. 간단한 테스트를 거치면 적합 여부를 바로 알 수 있으며, 단지 데이터를 사용하기 위해 외부로 전송하는 데 드는 추가 오버헤드 비용을 더 이상 지불하지 않아도 됩니다.

데모 노트북

각 노트북에는 인라인 샘플 데이터, 단계별 SQL, 예상되는 출력 결과가 함께 제공됩니다.

다음 읽을거리

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.