스터디 (정리)/AI

[AI] Databricks 정리

LucasRan 2024. 5. 13. 11:13
반응형

1. 정리 목적

  • Databricks에 대한 기본 개념을 간단히 살펴본다.
  • Databricks를 활용하여 생성형 AI 솔루션 구축 방법을 살펴본다.
  • Databricks에서 맞춤형 AI 서비스를 구축할 때의 대략적인 비용을 확인해 본다.

 

2. Databricks란?

https://en.wikipedia.org/wiki/Databricks

  • 오픈 소스 데이터 처리 프레임워크인 Apache Spark의 개발자들에 의해 2013년에 설립된 소프트웨어 회사
  • 데이터 엔지니어링, ML 및 분석을 위한 클라우드 기반 프랫폼 제공
  • 데이터 중심 솔루션을 구축할 수 있는 통합된 작업 공간을 제공
  • 대규모 데이터 처리, ML, AI 응용 프로그램을 위한 통합 분석 워크스페이스를 제공
  • Apache Spark 프레임워크 위에 구축되어 데이터 처리 및 분석 작업을 효율적으로 확장할 수 있도록 지원

 

2.1 주요 기능

  • 통합 분석 플랫폼
    • 데이터 엔지니어링, 데이터 과학 및 AI 기능을 하나의 플랫폼에서 제공하여 다른 팀과 역할 간의 협업 가능
  • Apache Spark
    • Spark 기반 플랫폼인 databricks는 대용량 데이터 처리 및 ML 작업을 위한 고성능 및 확장성을 제공
  • 대화형 워크스페이스
    • Databricks는 Python, R, Scala 및 SQL을 포함한 다양한 언어를 지원하는 대화형 워크스페이스를 제공
    • 내장된 Jupyter Notebook 활용
  • MLflow
    • 오픈 소스 기반의 기계 학습 라이프사이클 관리 플랫폼으로 모델 개발과 배포를 간소화
  • Delta Lake
    • Delta Lake는 ACID 트랜잭션 및 기타 데이터 신뢰성 기능을 데이터 레이크에 제공하여 데이터 품질과 일관성을 개선하는 오픈 소스 저장소
※ ACID 트랜잭션
https://www.databricks.com/kr/glossary/acid-transactions

 

- ACID는 트랜잭션을 정의하는 4가지 중대한 속성을 가리키는 약어
- 즉, 원자성(Atomicity), 일관성(Consistency), 신뢰성(Reliability), 격리(Isolation) 그리고 영속성(Durability)을 의미
- ACID 트랜잭션은 가능한 최대한의 데이터 안정성과 무결성을 보장
- 작업 하나가 일부분만 완료되어 데이터가 일관적이지 않은 상태가 되는 불상사 방지
(예: 데이터베이스 테이블에 데이터를 쓰던 중 예기치 못하게 정전이 되면 데이터 중 일부는 저장이 되고 일부는 저장되지 않는 사태 방지)

 

2.2 성능, 확장성 및 비용

  • 성능
    • Apache Spark 기반으로 고성능 데이터 처리 및 머신 러닝 작업에 최적화
  • 확장성
    • 데이터 요구 사항에 따라 확장할 수 있는 방식으로 설계
    • Spark의 기능을 활용하여 대용량 데이터 처리
  • 비용
    • 사용한 리소스에 대해서만 비용을 지불하는 선불 요금제를 제공
    • 가상 머신 인스턴스, 데이터 저장소 및 데이터 전송에 기반하여 요금을 청구

 

2.3 통합 및 생태계

  • Hadoop과 같은 대규모 데이터 처리 도구, Amazon S3, Azure Blob Storage, Google Cloud Storage와 같은 데이터 저장소 서비스와 원활하게 통합
  • Tableau 및 Power BI와 같은 인기 있는 데이터 시각화 도구를 지원
  • 전반적인 생태계 Apache Spark 커뮤니티에 중점
💡결론
1. 데이터 처리와 분석의 다른 측면을 해결하기 위해 설계된 강력한 플랫폼
2. 대용량 데이터 처리, ML 및 AI 작업에 특화

 

3. 생성형 AI 솔루션 구축

3.1 Databricks에서 생성형 AI 솔루션 구축해야 하는 이유 

Databricks Data Intelligence Day 2024 발표 자료

  • 완전한 제어
    • 자체 데이터로 모델을 안전하게 보강, 미세 조정, 사전 학습 가능
    • 데이터와 사용자 지정 모델을 모두 소유
    • 데이터에서 모델에 이르는 통합 권한 및 거버넌스 가능
  •  프로덕션 품질
    • 정확, 안전한 모델 결과 보장
    • 모니터링 기능 내장
    • 단일 플랫폼에서 전체 LLM 라이프사이클 관리
      1. 데이터 수집
      2. 모델 구축
      3. 배포
      4. 재학습
  • 낮은 비용
    • 사전 학습에 최적화된 스택으로 자체 LLM을 구축 가능
    • 단 기간 GPU 사용을 위한 Hero Reservation 제공
    • 배포 비용 절감을 위한 최적화 된 LLM 제공
※ Hero Reservation
긴 텀 예약 없이 수백 개의 GPU로 빠르게 확장하여 단 기간에 GPU 사용을 할 수 있게 해주어 모델 학습을 진행함

 

 

3.2 Databricks 데이터 인텔리전스 플랫폼

Databricks Data Intelligence Day 2024 발표 자료

※ RAG (Retrieval Augmented Generation)
대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스
즉, LLM의 단점 중 "사실 관계 오류 가능성" 과 "맥락 이해의 한계"를 개선하는데 초점을 맞춘 방법
※ RAG가 LLM의 한계를 보완하는 방식
1. 외부 지식 활용
- 대규모의 구조화된 지식 베이스 (예: 위키피디아)를 모델에 연결
- 주어진 질의에 대한 관련 정보를 지식 베이스에서 검색 및 추출

2. 증거 기반 생성
- 검색된 지식 정보를 증거로 활용하여 보다 사실에 기반한 답변 생성
- 생성된 답변의 출처를 명시함으로써 신뢰성 향상

3. 맥락 이해력 향상
- 외부 지식을 통해 질의에 대한 배경 지식과 맥락 정보를 파악
- 단순한 패턴 매칭이 아닌 추론 능력을 바탕으로 한 답변 생성
※ 사실 관계 오류 가능성
- 방대한 데이터를 학습하지만 항상 정확한 정보를 제공하지 못함
- 잘못된 정보나 하위 정보를 진실로 간주하고 전파할 수 있음

※ 맥락 이해의 한계
- 문장 단위의 이해는 가능하지만 장문의 글이나 복잡한 맥락 파악은 어려움
- 세계 지식과 상식 추론 능력이 부족하여 심층적인 이해에 한계 존재

 

 

3.3 Databricks 생성형 AI 솔루션 구축

Databricks Data Intelligence Day 2024 발표 자료

  1. 프롬프트 엔지니어링 및 LLM 활용
    • AI Playground 
      • 프롬프트 엔지니어링은 기본 모델을 변경하지 않고 모델 상호 작용을 개선
      • 보다 정확하고 컨텍스트에 맞는 결과물 제공
      • MLflow와 함께 평가 UI를 사용하여 여러 모델에서 테스트 프롬프트와 컨텍스트를 간소화
      • 애플리케이션에 가장 적합한 모델 찾기 가능
      • Databricks Data Intelligence Day 2024 발표 자료
    • Foundation Model API
      • Pay-per-token
        > DBRX, Llama2, MPT 7B / 30B, Mixtral8 X 7B 등 최신 오픈소스 모델에 대한 엔드포인트 바로 제공 
           (Curl, Python, SQL 예제 포함)
        > AI Playground를 통해 모델 성능 평가 및 비교
        > 최신 GPU 기반의 모델 호스팅 (뼐도 설정 필요 없이 바로 사용 가능한 환경 제공)

      • Provisioned Throughput
        > Fine-tuning 모델 또는 custom 모델 등 직접 Model Serving에 호스팅
        > Production workload에 맞는 최적화된 추론 성능 보장
      • Databricks Data Intelligence Day 2024 발표 자료
    • DBRX
      • 모든 표준 벤치마크에서 오픈 소스 모델에 걸쳐 최고의 품질 제공
      • 오픈 소스 모델 활용을 통한 완전한 소유권 점유
      • fine-tuning 등을 통해 각자에 데이터에 맞게 커스터마이징 가능
      • Llama2 대비 2배 더 효율적, GPT-4-Turbo 대비 4.4배 저렴
      • 다양한 성능 평가 비교 시 타 오픈소스 대비 동등하거나 더 높은 점수 기록
      • 유저당 초당 토큰 처리 수 비교 시 Llama2 및 Dense 모델 대비 월등히 빠른 추론 속도 제공
      • 폐쇄형 대형 언어 모델 대비 저렴한 비용
      • Pay-per-token 방식을 이용할 경우 GPU의 종류 등 상관 없이 바로 추론에 활용
      • Provisioned Throughput 방식을 이용할 경우 최소 초당 600 토큰 부터 최대 6,000 토큰까지 가속화된 GPU 사용하여 추론 가능
      • Databricks Data Intelligence Day 2024 발표 자료


      • Databricks Data Intelligence Day 2024 발표 자료
      • Databricks Data Intelligence Day 2024 발표 자료
  2. Vector Search & RAG
    • Vector Search
      • 손 쉬운 API를 통해 임베딩 모델을 소스 테이블, 임베딩 모델을 선택하고 검색 인덱스를 자동으로 생성
      • 실시간 벡터 검색 시에도 임베딩에 활용된 모델을 자동으로 불러와서 빠르게 벡터 검색
      • Databricks Data Intelligence Day 2024 발표 자료
    • RAG (Retrieval Augmented Generation)
      • 내부 문서를 검색하여 이를 기반으로 답변을 제공하기 위해서는 LLM 이상의 기술 필요
      • 기존 Databricks의 데이터 파이프라인과 벡터 검색을 통해 손 쉽게 Q&A 챗봇 구축 가능
      • Databricks Data Intelligence Day 2024 발표 자료
  3. Fine-tuning
    • API
      • 전문가용 Python SDK, 초보자용 UI 기반의 Fine-tuning 기능 제공
      • 자동 프로비전 되는 서버리스 기반의 GPU
      • 최적화된 기본 하이퍼파라미터 사용과 사용하기 쉬운 API
      • 직접 커스텀화한 LLM과 지적 재산권을 소유
      • 토큰 기반의 과금 제공
      • Databricks Data Intelligence Day 2024 발표 자료
      • Databricks Data Intelligence Day 2024 발표 자료
  4. Pre-training
    • Mosaic AI Model Training
      • 분산학습
        > 효율성 향상 극대화
        > 멀티노드 학습의 복잡성 제거
        > 원활한 데이터 병렬 처리
        > 추가 코드 없이 손쉽게 GPU 확장

      • 내결함성 (Fault Tolerance)
        > 실행 실패 완화
        > GPU 오류 감지
        > 간단하고 빠른 재시작
        > 클러스터 전반에서 재개

      • 오케스트레이션
        > 학습 작업 즉시 배포
        > 인프라 설정이나 지속적인 관리 필요 없음
        > 작업 스케줄링으로 유휴 GPU 시간 제한
        > 관리자 및 거버넌스 제어

 

4. Databricks 비용

  • Databricks 가격 책정 방법
    1. 사용하는 만큼 지불
      • 사용 제품에 대해 초 단위로 지불
    2. 약정 사용 할인
      • 사용자가 특정 사용량을 확정할 때 더 큰 할인 혜택
      • 확정 사용량이 많을 때 이용하는 것으로 보임
      • 자세한 내용은 문의 통하여 확인 필요
  • Mosaic AI model training
    • https://www.databricks.com/kr/product/pricing/mosaic-training
    • https://www.databricks.com/kr/product/pricing/mosaic-training
    • DBU: 측정 및 가격 책정 목적으로 사용되는 Databricks Lakehouse 플랫폼의 처리 능력을 표준화한 단위
    • https://www.databricks.com/kr/product/pricing/mosaic-training

 

 

 

 

반응형