1 of 41

최적의 GenAIOps 환경을 제공하는 Platform

24-1 다학제간캡스톤디자인

Team 12 SSKAI

송무현, 김규민, 김유림, 문지훈, 박정명, 정승우

2 of 41

기존 머신러닝 플랫폼 서비스의 불편함

01 배경지식

  • 완전 관리형 머신러닝 플랫폼 서비스의 등장
    • 예시 : Amazon Bedrock, Azure Machine Learning 등
  • 인프라에 배포하여 머신러닝 환경을 구성할 수 있는 프레임워크 존재
    • 예시 : Kubeflow, Ray 등

  • 그러나, 이런 기존 솔루션에도 불편함이 존재함.
    • 특정 클라우드 제공업체에 종속되는 문제 (컴퓨팅, 스토리지 …)
    • 일반적인 서비스에 비해 높은 가격 및 제한점의 문제 (조금 더 비싸고, 자원이 제한됨)
    • 사용자가 직접 인프라를 구현해야 하는 문제 (안정성, 비용, 성능 등의 고려사항)

2

3 of 41

비용 효율적인 컴퓨팅 과금 정책

01 배경지식

  • 서버리스 (Serveless)
    • 사용자는 코드를 실행한 시간만큼만 비용을 지불하며, 인프라 유지 비용이 없음
    • 제한적인 성능과 실행 시간, 콜드 스타트와 같은 문제를 가짐
  • 스팟 (Spot)
    • 데이터센터에 남는 잉여 자원을 온디맨드 대비 최대 90% 저렴한 가격으로 사용자에게 제공하는 과금 정책
    • 만약 잉여 자원이 부족할 경우 자원이 회수될 수 있음. �이는 Stateful한 작업에 치명적임

3

각각의 단점을 극복하여 비용 효율적인 머신러닝 서비스를 제공할 순 없을까?

4 of 41

프로젝트 목표

01 배경지식

4

GenAIOps Pipeline

Cost

&

Performance

Monitoring

&

CI/CD

5 of 41

웹 콘솔 소개

6 of 41

웹 콘솔 페이지 - 대시보드

02 시연

6

Savings

  • 절약한 시간
  • 절약한 비용
  • 월 별 평균 절약 비율
  • 그래프를 통한 월별 절약 추이 파악

Cost Summary

  • 월 별 총 사용 금액
  • 그래프를 통한 월별 사용 금액 추이 파악

Progress

  • 사용자의 최근 작업 로그

7 of 41

웹 콘솔 페이지 - 데이터

02 시연

7

Data

  • 사용자가 업로드한 학습 데이터 조회
  • 생성 시간 조회

8 of 41

웹 콘솔 페이지 - 데이터 업로드

02 시연

8

Data Name

  • 데이터 이름 정의�(영문 20자 및 ‘-’, ‘_’)

Upload Data

  • 데이터 업로드

(하나의 .zip 형식)

  • 드래그 앤 드롭 또는 파일 선택

9 of 41

웹 콘솔 페이지 - 모델

02 시연

9

Model

  • 사용자가 업로드한 모델 또는 파운데이션 모델 조회
  • 모델 형식, 생성 시간 조회

10 of 41

웹 콘솔 페이지 - 모델 추가

02 시연

10

Model Name

  • 모델 이름 정의�(영문 20자 및 ‘-’, ‘_’)

Model Type

  • 모델 유형 선택
    • 사용자 정의 (업로드)
    • 파운데이션

11 of 41

웹 콘솔 페이지 - 사용자 정의 모델 업로드

02 시연

11

Input Format

  • 모델 측정을 위한 입력 차원 결정
  • 모델이 처리하는 입력 데이터 값 유형 선택
  • 추가 옵션으로 입력 데이터 값 범위 지정

Upload Model

  • 모델 업로드

(하나의 .zip 형식)

  • 드래그 앤 드롭 또는 파일 선택

12 of 41

웹 콘솔 페이지 - 파운데이션 모델 생성

02 시연

12

Foundation Model

  • 생성할 파운데이션 모델 선택

13 of 41

웹 콘솔 페이지 - 학습

02 시연

13

Train

  • 학습 중 또는 완료된 모델 학습 조회
  • 현 학습 진행상황, 학습 시간, 비용 확인

온디맨드 대비 절약 비율

14 of 41

웹 콘솔 페이지 - 학습 생성

02 시연

14

Train Name

  • 학습 이름 정의�(영문 20자 및 ‘-’, ‘_’)
  • 학습 완료 후, 생성되는 모델 이름으로 사용

Train Model

  • 학습시킬 모델 선택
  • 모델 형식에 따라 하단 입력 양식 변경�(사용자 정의 모델 또는 파운데이션 모델)

15 of 41

웹 콘솔 페이지 - 사용자 정의 모델 학습

02 시연

15

Train Data

  • 학습시킬 데이터 선택

Hyper Parameters

  • 하이퍼 파라미터 결정
    • Epoch
    • Batch size
    • Learning rate
    • Data split rate

Number of Workers

  • 입력한 수 만큼 작업노드 생성

(노드가 많을수록 학습 시간은 줄지만 비용증가)

16 of 41

웹 콘솔 페이지 - 사용자 정의 모델 학습

02 시연

16

Upload Data Loader

  • 업로드 한 데이터를 전처리하는 코드 업로드.
  • 코드는 입력 데이터와 정답 데이터가 각각 담긴 torch.tensor를 반환

Optimizer

  • 학습시 사용할 옵티마이저 선택
    • SGD
    • Adam

Loss Function

  • 사용할 손실 함수 선택
    • MAE
    • Cross Entropy

17 of 41

웹 콘솔 페이지 - 파운데이션 모델 학습

02 시연

17

Foundation Model

  • 파운데이션 모델의 경우, Epoch과 Class (Diffusion인 경우 해당) 등의 파라미터 입력

Train Data

  • 학습시킬 데이터 선택

18 of 41

웹 콘솔 페이지 - 배포

02 시연

18

Inference

  • 모델에 대해 생성된 추론 엔드포인트 조회
  • 추론 유형, 비용, 절약 비율 확인

온디맨드 대비 절약 비율

19 of 41

웹 콘솔 페이지 - 배포

02 시연

19

Endpoint Name

  • 엔드포인트 이름 정의�(영문 20자 및 ‘-’, ‘_’)

Select Model

  • 추론에 사용될 모델 선택

Select Inference Type

  • 모델에 따라 추천되는 추론 배포 플랫폼 선택�(서버리스 / 스팟)
  • 모델 측정 결과에 따라 추천 변경
  • CPU 자원 사용이 어려운 파운데이션 모델의 경우, 스팟만 선택 가능

20 of 41

웹 콘솔 페이지 - 배포 결과

02 시연

20

배포된 엔드포인트 URL

추론 결과

21 of 41

웹 콘솔 페이지 - 테스트베드

02 시연

21

22 of 41

웹 콘솔 페이지 - 테스트베드

02 시연

22

추론 결과

입력 프롬프트 (Rabbit)

23 of 41

아키텍처 소개

24 of 41

플랫폼 아키텍처

03 아키텍처

24

25 of 41

스팟 환경에서의 신뢰성 확보 방안

04 핵심 기술 소개

25

26 of 41

스팟 환경에서의 신뢰성 확보 방안

04 핵심 기술 소개

26

강제 종료로 스팟 자원회수 재현

갑작스러운 학습 중지

49 에포크 완료 후 중단

Instance Kill

27 of 41

스팟 환경에서의 신뢰성 확보 방안

04 핵심 기술 소개

27

새로 시작된 노드

재 생성된 학습 컨테이너

체크포인트로부터 복구

50 에포크 부터 다시 시작

28 of 41

기존 솔루션과의 비교

05 기대 효과 및 평가

28

* Meta Llama-2-13B Model 기준, 시간당 873만 개의 입력 토큰 및 116만개의 출력 토큰을 처리하는 시나리오에서의 비용

기존 서비스 대비 최대 77% 비용 절감

29 of 41

AWS Korea 산학 협력

06 산학 협력

29

최신 IT 정보 공유

지속적 피드백

온/오프라인 미팅

30 of 41

한국정보과학회 KCC2024 논문 제출

07 기타 성과 및 활용 방안

30

* 일반논문 - 오픈소스소프트웨어 분야

* 현재 Review 중

31 of 41

결론 및 추후 계획

07 기타 성과 및 활용 방안

  • 본 플랫폼은 기존 클라우드 제공 업체의 서비스 대비 최대 77% 까지의 비용을 절감하며 작업 복구 기능을 통해 높은 신뢰성을 제공할 수 있었음
  • 또한 지속적인 비용 모니터링을 통해 인프라 배포 수준을 재검토하여 비용을 최적화 해 나갈 수 있음
  • 본 플랫폼은 현재 단일 클라우드 제공업체 및 단일 지역에서만 활용하지만, 추후 여러 클라우드 제공업체 및 여러 지역을 통합하여 더욱 넓은 컴퓨팅 자원 풀 사용 가능
  • 산학 협력을 수행한 업체인 아마존 웹 서비스와 지속적으로 소통하여 본 플랫폼을 발전시켜 실제 프로덕트까지 발전

31

32 of 41

감사합니다

33 of 41

부록

34 of 41

기여

00 부록

34

송무현

팀장 및 진행총괄

추론 아키텍처 설계

비용효율성&확장성 있는 클러스터 설계

김규민

분산 학습 아키텍처 설계

사용자 지정 모델 학습 구현

모델 타입 별 학습 서비스 배포 구현

김유림

스팟 환경에서 안정성있는 분산학습 구현

파운데이션 모델 학습 및 추론 구현

문지훈

추론 서비스 배포 구현

기능 배포 자동화 구현

박정명

풀스택 디자인 및 개발

서비스 기능 연결

데이터베이스 설계

정승우

최적 비용 아키텍처 선출 알고리즘 제작

클러스터 생성 자동화

35 of 41

협업

Notion

Github

Trello

Slack

00 부록

35

기록 및 의견공유

페이지 100+개

형상관리 및 코드리뷰

커밋 600+개

PR 100+개

프로젝트 진행 관리

카드 100+개

팀 협업

…끝없는 메시지

36 of 41

서버리스 환경에서의 추론 아키텍처

00 부록

36

37 of 41

스팟 환경에서의 추론 아키텍처

00 부록

37

38 of 41

스팟 환경에서의 분산 학습 아키텍처

00 부록

38

39 of 41

컴퓨팅 자원 선출 알고리즘

00 부록

39

40 of 41

모델 측정 아키텍처

00 부록

40

41 of 41

챗봇 형태의 테스트베드

00 부록

41