2024 AI & ML Blog Highlights - Amazon Bedrock & SageMaker

Jonas Kim·2024년 9월 3일
0

이 글은 Amazon Bedrock 및 SageMaker에 대한 주요 블로그 포스트 내용을 지속적으로 정리하여 제공합니다.


Build a Multi-Tenant Generative AI Environment for Your Enterprise on AWS (2024.11.07)

Track, Allocate, and Manage Your Generative AI Cost and Usage with Amazon Bedrock (2024.11.01)

Amazon Bedrock Custom Model Import Now Generally Available (2024.10.21)

  • 서비스 개요
    • 커스텀 모델을 Amazon Bedrock에 통합
    • 단일 API를 통한 파운데이션 모델과 커스텀 모델 사용
    • 서버리스 방식 운영
  • 주요 기능 및 이점
    • 지원 모델
      • Meta Llama (v2, 3, 3.1, 3.2)
      • Mistral 7B, Mixtral 8x7B
      • IBM Granite 시리즈 (3B, 8B, 20B, 34B)
  • 기술적 특징
    • Safetensors 포맷 필수
    • 필수 파일
      • .safetensors
      • config.json
      • tokenizer_config.json
      • tokenizer.json
      • tokenizer.model
    • 지원 정밀도: FP32, FP16, BF16
  • Bedrock 임포트 프로세스
  • 임포트 작업 생성 → 추론 생성
  • 기술적 제한사항
    • 리소스 제한
      • 계정당 최대 동시성: 16
      • 기본 모델 임포트 할당량: 3
      • 초당 요청 제한: 100회
    • 지역 가용성
      • US-EAST-1 (N. Virginia)
      • US-WEST-2 (Oregon)
  • 모범 사례
    • 구현 권장사항
      • 테스트 스위트와 평가 지표 사전 정의
      • 작업 이름에 버전 관리 포함
      • CloudWatch를 통한 모니터링
      • 어댑터 가중치 통합 필요
      • 성능 테스트 자동화
    • 운영 고려사항
      • 정밀도 선택 시 유스케이스 검증
      • 할당량 관리 계획
      • 확장성 고려한 설계
      • 엔드투엔드 테스팅 실행

Introducing SageMaker Core: A New Object-Oriented Python SDK for Amazon SageMaker (2024.10.20)

  • 핵심 특징

    • SageMaker Python SDK v2.231.0 이상에 기본 포함됨
    • Python 3.8 이상 필요
    • 설치 방법
      • 단독 설치: pip install sagemaker-core
      • SageMaker SDK 업그레이드: pip install --upgrade sagemaker>=2.231.0
    • 압축 해제 시 약 8MB의 경량 SDK
  • 주요 기술적 개선사항

    1. 객체 지향적 인터페이스
      • 기존 boto3의 JSON 딕셔너리 기반 인터페이스를 객체 지향적 방식으로 전환
      • 강력한 타입 체크 지원
      • 코드 재사용성 향상
      • IDE의 자동 완성 기능 지원
    2. 리소스 체이닝
      • SageMaker 리소스들을 객체로 연결 가능
      • 예시: Model 객체를 Endpoint 설정의 인자로 직접 전달 가능
      • 기존에는 ModelName 문자열만 전달 가능했던 것과 대비됨
    3. 지능형 기본값 지원
      • AWS IAM 역할
      • VPC 설정
      • 입/출력 데이터 위치
      • 환경 설정에서 자동으로 기본값 감지
  • 주요 컴포넌트 및 사용법

    1. ProcessingJob
    ProcessingJob.create(
        processing_job_name="job-name",
        script_path="s3://path",
        instance_type="ml.m5.xlarge",
        instance_count=1
    )
    1. TrainingJob
    TrainingJob.create(
        training_job_name="job-name",
        estimator_entry_point="train.py",
        source_dir="s3://path",
        instance_type="ml.g5.12xlarge",
        hyperparameters=HyperParameters(
            learning_rate=0.00001,
            batch_size=8
        )
    )
    1. Model 배포 관련 컴포넌트
      • Model: 모델 객체 생성
      • EndpointConfig: 엔드포인트 설정
      • Endpoint: 실제 엔드포인트 생성
      • ProductionVariant: 배포 변형 설정
  • 기술적 이점

    1. 코드 품질 향상
      • 타입 힌트 제공
      • 문서화 기능 강화
      • 코드 자동완성 지원
    2. 에러 감소
      • 컴파일 시점 타입 체크
      • JSON 딕셔너리 오타 방지
      • 누락된 키 값 방지
    3. AWS Lambda 통합
      • 경량화된 크기로 Lambda 레이어 생성 용이
      • ML 라이프사이클 자동화에 활용 가능
    4. 리소스 상태 관리
      • 자동 상태 전이 처리
      • 폴링 로직 자동화
      • 리소스 정리 메서드 제공 (예: delete())

Use Amazon SageMaker Studio with a Custom File System in Amazon EFS (2024.10.17)

  • 세 가지 주요 시나리오
    • 단일 사용자 프로필용 EFS 디렉토리
      • 아키텍처 특징
        • 각 사용자별 독립된 프라이빗 공간 제공
        • CloudTrail, EventBridge, Lambda를 활용한 자동화
        • 새로운 사용자 프로필 생성 시 자동으로 EFS 디렉토리 생성
        • POSIX 권한 관리 (UID: 200001, GID: 1001)
    • 도메인 전체 공유 EFS 디렉토리
      • 아키텍처 특징
        • 단일 도메인 내 모든 사용자가 공유하는 디렉토리
        • 모든 프로젝트 파일과 리소스를 중앙 집중식으로 관리
        • VPC 내 각 서브넷에 마운트 포인트 필요
        • NFS 트래픽용 포트 2049 보안그룹 설정
    • 멀티 도메인 공유 EFS 디렉토리
      • 아키텍처 특징
        • 동일한 VPC 내 여러 SageMaker Studio 도메인 간 공유
        • 중앙 집중식 스토리지 솔루션
        • 도메인 간 협업 지원
        • 엔터프라이즈급 확장성 제공
  • 기술적 구현 요구사항
    • 사전 요구사항
      • SageMaker Studio 도메인 설정
      • CloudTrail 로그 설정 (CreateUserProfile API 로깅)
      • VPC 구성
        • NAT 게이트웨이를 통한 아웃바운드 트래픽
        • S3 엔드포인트 접근
        • 필요한 VPC 엔드포인트
          • SageMaker (API)
          • Amazon EFS
          • Amazon EC2
    • EFS 구성 요소
      • 파일 시스템 생성
      • 액세스 포인트 설정
      • 마운트 타겟 구성
      • 보안 그룹 설정
        • 형식: security-group-for-inbound-nfs-domain-id
        • 포트 2049 (NFS) 허용
    • Lambda 함수 구현
    • CloudFormation 템플릿 파라미터
  • 기술적 이점
    • 스토리지 관리
      • 확장 가능한 NFS 파일시스템
      • 자동 용량 관리
      • 영구적 스토리지 제공
    • 보안
      • POSIX 레벨 권한 관리
      • VPC 내부 격리
      • IAM 기반 접근 제어
    • 성능
      • 낮은 지연시간
      • 동시 접근 지원
      • 자동 확장/축소
    • 운영 효율성
      • 자동화된 프로비저닝
      • 중앙화된 관리
      • 비용 최적화 가능

Build Ultra-Low Latency Multimodal Generative AI Applications Using Sticky Session Routing in Amazon SageMaker (2024.09.13)

Introducing Amazon EKS Support in Amazon SageMaker HyperPod (2024.09.11)

Getting Started with Cross-Region Inference in Amazon Bedrock (2024.08.27)

  • 주요 기능
    • 여러 AWS 리전의 용량을 활용하여 수요에 따른 확장 가능
    • 기존 Bedrock API와 호환
    • 추가 라우팅 또는 데이터 전송 비용 없음
    • 트래픽 급증에 대한 복원력 향상
    • 사전 구성된 AWS 리전 세트 (미국, EU) 선택 가능
  • 작동 방식
    • 실시간 요청 별 용량 확인 및 의사 결정
    • 주 리전 용량 부족 시 보조 리전으로 자동 재라우팅
    • AWS 네트워크 백본을 통한 안전한 리전 간 데이터 전송
  • 구현 세부사항
    • 추론 프로파일을 통해 구성
    • InvokeModel 및 Converse API와 호환
    • 온디맨드 추론에만 적용 (프로비저닝된 처리량은 미지원)
    • 주 리전의 할당된 할당량 대비 최대 2배 처리량 가능
  • 보안 및 로깅
    • AWS 백본 네트워크를 통한 암호화된 데이터 전송
    • 주 리전에서만 CloudWatch 및 CloudTrail 로그 생성
    • 재라우팅 발생 시 CloudTrail에 추가 데이터 포함
  • 사용 방법
    • 추론 프로파일 생성 및 구성
    • 애플리케이션에서 추론 프로파일 ID / ARN 사용
    • CloudWatch를 통한 트래픽 및 지연 시간 모니터링
  • 고려사항
    • 데이터 상주 요구사항 및 규정 준수 평가 필요
    • 현재 워크로드 및 트래픽 패턴 분석
    • 잠재적 이점 평가 (버스트 용량 증가, 가용성 향상 등)
  • 지원 모델: Claude 3 모델 제품군, Claude 3.5 Sonnet
  • 코드 샘플

Fine-Tune a Generative AI Application for Amazon Bedrock Using Amazon SageMaker Pipeline Decorators (2024.08.22)

  • 솔루션 개요
    • Python 코드로 Amazon Bedrock API를 사용해 LLM을 전처리, 미세 조정, 테스트
    • @step 데코레이터를 사용해 Python 코드를 SageMaker 파이프라인으로 변환
    • SageMaker 파이프라인 생성 및 실행
  • 주요 단계
    • 데이터 로드: CNN/DailyMail 데이터셋 사용
    • 데이터 분할: 훈련, 검증, 테스트 세트로 분할
    • Amazon S3에 데이터 업로드
    • 모델 훈련: Amazon Titan Text Lite 모델 미세 조정
    • Provisioned Throughput 생성
    • 모델 테스트
  • @step 데코레이터 사용
    • Python 함수를 SageMaker 파이프라인 단계로 변환
    • 각 함수에 @step 데코레이터 추가
  • SageMaker 파이프라인 생성 및 실행
    • 정의된 단계들을 연결하여 다단계 파이프라인 생성
    • 파이프라인 실행 및 결과 확인
  • 파이프라인 모니터링 및 관리
    • SageMaker Studio에서 파이프라인 실행 추적
    • CloudWatch Logs에서 각 단계의 상세 로그 확인
  • 결론
    • SageMaker Pipelines의 이점: 자동화된 워크플로우, 리니지 추적, 시각화 등

LLM Experimentation at Scale Using Amazon SageMaker Pipelines and MLflow (2024.07.24)

  • MLflow: 오픈소스 MLOps 플랫폼, 실험 추적, 모델 관리, 모델 서빙 기능 제공, 세이지메이커와 통합하여 실험 결과 기록 및 비교
  • (실습) 솔루션 아키텍처
    • 데이터 준비: S3에서 데이터 가져오기 및 전처리 → 모델 훈련: 세이지메이커 훈련 작업 사용 → 모델 평가: 훈련된 모델 성능 평가 → 결과 기록: MLflow로 실험 결과 기록 → 모델 등록: 우수 모델을 세이지메이커 모델 레지스트리에 등록
  • 구현 단계
    • MLflow 추적 서버 설정 → 세이지메이커 파이프라인 정의 → 데이터 준비, 모델 훈련, 평가 단계 구현 → MLflow를 사용한 실험 추적 구현 → 조건부 모델 등록 단계 구현
  • 코드 샘플
profile
Sr. Data Scientist at AWS

0개의 댓글