AWS AI Practitioner

AWS AI Practitioner 시험 노트개념 정리18 MIN

ML 수명주기와 MLOps, 모델 평가 지표

AI/ML 파이프라인 여덟 단계와 단계마다 놓이는 AWS 서비스, MLOps가 더하는 것, 그리고 혼동 행렬에서 나오는 정확도·정밀도·재현율·F1을 직접 계산해 가며 정리합니다.

도메인 1의 마지막 태스크는 모델이 만들어져 서비스에 올라가고 유지되는 전 과정을 묻습니다. 시험이 구현을 요구하지 않는 등급이므로 코드는 나오지 않지만, 「이 회사가 빠뜨린 단계는 무엇인가」·「이 상황에서 봐야 할 지표는 무엇인가」처럼 단계와 지표의 이름을 정확히 골라야 하는 문항이 나옵니다. 특히 지표 문항은 숫자를 주고 계산을 시키므로 손으로 한 번 풀어 두어야 합니다.

파이프라인은 여덟 단계다

단계 하는 일
1. 비즈니스 목표 정의 무엇이 나아지면 성공인지 사업 언어로 적는다
2. ML 문제로 옮기기 그 목표를 회귀·분류·클러스터링 중 무엇으로 풀지 정한다
3. 데이터 수집 흩어진 원천에서 데이터를 모아 한곳에 둔다
4. 전처리와 특성 공학 결측·이상값을 다루고 모델이 쓸 특성을 만든다
5. 모델 학습과 튜닝 알고리즘을 골라 학습시키고 하이퍼파라미터를 조정한다
6. 모델 평가 학습에 쓰지 않은 데이터로 지표를 잰다
7. 배포 추론 방식을 골라 실제 요청을 받게 한다
8. 모니터링과 재학습 성능이 떨어지는지 지켜보고 필요하면 다시 학습시킨다

시험이 가장 자주 확인하는 것은 1번과 2번이 다른 단계라는 사실입니다. 「이탈률을 5% 낮춘다」가 비즈니스 목표이고 「이탈 확률을 예측하는 이진 분류」가 ML 문제입니다. 그리고 8번이 끝이 아니라 3번으로 되돌아가는 고리라는 점도 함께 나옵니다. 데이터가 변해 성능이 떨어지면 새 데이터를 모아 다시 학습시킵니다.

모델은 어디서 오는가

파운데이션 모델을 쓰기로 했을 때 갈림길이 둘이고, 시험은 그 넷의 조합을 구별하라고 합니다.

첫 번째 갈림길은 모델의 출처입니다. 공개된 사전학습 모델을 가져다 쓰는 쪽과 처음부터 직접 학습시키는 쪽이 있습니다. 직접 학습은 데이터·비용·전문 인력이 모두 큰 규모로 필요해 파운데이셔널 등급 문항에서는 거의 언제나 아닌 쪽으로 나옵니다. 「우리 도메인에 맞추고 싶다」는 요구는 처음부터 학습시키는 것이 아니라 이미 있는 모델을 파인튜닝하는 것으로 푸는 것이 기본값입니다.

두 번째 갈림길은 어떻게 부르는가입니다. 관리형 API 서비스는 모델이 남의 인프라에서 돌고 우리는 API만 부릅니다. 인프라 관리가 없고 쓴 만큼 내는 대신, 어떤 모델을 쓸지는 제공되는 목록 안에서 고릅니다. 자체 호스팅은 모델을 우리 계정의 엔드포인트에 올려 운영합니다. 모델 파일과 실행 환경을 우리가 쥐고 네트워크를 통제할 수 있는 대신, 인스턴스를 띄워 두는 값과 운영 부담을 집니다. 문항에 「가장 적은 운영 부담으로」가 붙으면 관리형이고, 「모델 가중치를 우리 VPC 밖으로 내보낼 수 없다」가 붙으면 자체 호스팅입니다.

단계마다 놓이는 AWS 서비스

Amazon SageMaker AI는 3번부터 8번까지를 통째로 받는 자리입니다. 데이터를 다듬고, 학습을 돌리고, 튜닝하고, 엔드포인트로 배포하고, 배포 뒤 품질을 감시하는 일이 모두 여기 안에 있습니다. 「모델을 우리 데이터로 만든다」가 들어간 문항은 대개 이쪽입니다.

Amazon Bedrock은 여러 제공사의 파운데이션 모델을 하나의 API로 부르는 관리형 서비스입니다. 학습 단계를 건너뛰고 곧바로 5·7번 자리에 서는 셈이라, 「생성형 AI 기능을 가장 빨리 붙이고 싶다」는 요구가 향하는 곳입니다.

Kiro는 개발 단계에서 쓰는 AWS의 에이전틱 개발 도구로, 사람이 요구사항을 적으면 그것을 코드로 옮기는 일을 돕습니다. Amazon Quick은 데이터를 분석하고 결과를 대시보드로 보는 쪽에 놓입니다 — 파이프라인의 앞뒤 끝, 즉 데이터를 살펴보는 자리와 성과를 사람이 확인하는 자리입니다.

MLOps가 더하는 것

MLOps는 모델을 한 번 만드는 일이 아니라 계속 만들고 계속 돌리는 일을 다루는 방식입니다. 시험 가이드가 이름을 적어 둔 항목이 일곱이고, 각각이 답하는 물음이 다릅니다.

항목 답하는 물음
실험(experimentation) 어떤 데이터와 설정으로 돌렸는지 나중에 찾을 수 있는가
반복 가능한 절차 같은 절차를 다시 돌리면 같은 결과가 나오는가
확장 가능한 시스템 데이터와 요청이 열 배가 되어도 견디는가
기술 부채 관리 손으로 때운 자리가 쌓여 나중에 못 고치게 되지 않는가
운영 준비(production readiness) 장애·롤백·권한이 준비되었는가
모델 모니터링 배포 뒤 성능이 떨어지고 있지 않은가
재학습 떨어졌을 때 무엇을 신호로 다시 학습시키는가

모니터링과 재학습이 필요한 이유가 드리프트(drift)입니다. 들어오는 데이터의 분포 자체가 변하는 것을 데이터 드리프트라 하고, 데이터는 그대로인데 맞혀야 할 정답의 성질이 변하는 것을 컨셉 드리프트라 합니다. 어느 쪽이든 배포할 때 좋았던 모델이 시간이 지나며 나빠지므로, 잘 만든 모델도 방치하면 나빠진다는 것이 이 절의 결론입니다.

지표는 혼동 행렬에서 나온다

분류 모델의 결과는 네 칸으로 정리됩니다. 실제로 그런 것을 맞힌 TP, 아닌 것을 그렇다고 한 FP, 그런 것을 아니라고 한 FN, 아닌 것을 아니라고 한 TN입니다.

거래 10,000건 중 실제 사기가 200건인 데이터에 모델을 돌려 이렇게 나왔다고 합시다. 사기 200건 중 150건을 잡았고(TP 150) 50건을 놓쳤으며(FN 50), 정상 9,800건 중 350건을 사기라고 잘못 표시했습니다(FP 350, TN 9,450).

정확도(accuracy)는 전체 중 맞힌 비율입니다.

정확도=TP+TN전체=150+9,45010,000=0.96\text{정확도} = \frac{TP + TN}{\text{전체}} = \frac{150 + 9{,}450}{10{,}000} = 0.96

정밀도(precision)는 그렇다고 한 것 중 실제로 그런 비율입니다.

정밀도=TPTP+FP=150150+350=0.30\text{정밀도} = \frac{TP}{TP + FP} = \frac{150}{150 + 350} = 0.30

재현율(recall)은 실제로 그런 것 중 잡아낸 비율입니다.

재현율=TPTP+FN=150150+50=0.75\text{재현율} = \frac{TP}{TP + FN} = \frac{150}{150 + 50} = 0.75

F1 점수는 정밀도와 재현율의 조화평균입니다.

F1=2×0.30×0.750.30+0.75=0.451.05≈0.43F_1 = \frac{2 \times 0.30 \times 0.75}{0.30 + 0.75} = \frac{0.45}{1.05} \approx 0.43

정확도가 0.96인데 F1은 0.43입니다. 이 간극이 시험이 노리는 자리입니다. 한쪽 갈래가 드문 데이터에서는 전부 「정상」이라고 답만 해도 정확도가 0.98이 나오므로, 정확도만 보면 아무 일도 안 하는 모델을 좋다고 판정하게 됩니다. 사기 탐지·불량 검출·질병 판정처럼 찾으려는 것이 드문 문제에서 정확도를 근거로 든 보기는 대개 오답입니다.

정밀도와 재현율 중 무엇을 볼지는 틀렸을 때 무엇이 더 아픈가로 정합니다. 잘못 잡아 사람을 괴롭히는 비용이 크면(정상 거래를 막아 고객이 이탈) 정밀도를 보고, 놓쳐서 생기는 손해가 크면(암을 놓침, 사기를 놓침) 재현율을 봅니다. 둘 다 중요하면 F1을 봅니다.

비즈니스 지표는 따로 센다

모델 지표가 좋다고 사업이 좋아지는 것은 아니므로 시험은 둘을 갈라 묻습니다. 사용자당 비용은 서비스가 커질수록 추론 비용이 감당 가능한지를, 개발 비용은 만드는 데 들인 값을, 고객 피드백은 실제로 쓸 만해졌는지를, ROI는 들인 값 대비 돌아온 값을 봅니다.

문항의 신호는 단순합니다. F1이 올랐다는 문장은 모델 지표이고, 문의 처리 시간이 줄었다·재구매율이 올랐다는 문장은 비즈니스 지표입니다. 「모델 성능은 좋아졌는데 사업 효과가 없다」는 시나리오가 나오면 대개 2번 단계, 즉 비즈니스 목표를 ML 문제로 옮길 때 엉뚱한 것을 맞히게 한 자리가 원인입니다.

연습 문제

  1. 검사 10,000건 중 실제 불량이 100건인 데이터에 모델을 돌려 TP 60, FP 140, FN 40, TN 9,760이 나왔습니다. 이 모델의 F1 점수는?
    ① 0.30
    ② 0.40
    ③ 0.60
    ④ 0.98
    ②. 정밀도는 60/(60+140)=0.3060/(60+140)=0.30, 재현율은 60/(60+40)=0.6060/(60+40)=0.60 이므로 F1=(2×0.30×0.60)/(0.30+0.60)=0.36/0.90=0.40F_1 = (2 \times 0.30 \times 0.60)/(0.30+0.60) = 0.36/0.90 = 0.40 입니다. ④는 정확도 9,820/10,0009{,}820/10{,}000 으로, 드문 갈래를 다룰 때 정확도가 얼마나 후하게 나오는지 보여 주는 값입니다.
  2. 암 선별 검사 모델을 만듭니다. 놓친 환자가 생기는 것이 가장 큰 위험이고, 의심 판정이 나오면 추가 검사를 하면 됩니다. 우선해야 할 지표는?
    ① 정확도
    ② 정밀도
    ③ 재현율
    ④ 학습 시간
    ③. 실제 양성 중 얼마나 잡아냈는가를 보는 것이 재현율입니다. 잘못 잡은 건은 추가 검사로 걸러지므로 정밀도의 손해는 감당할 수 있습니다.
  3. 다음 중 MLOps가 다루는 항목을 둘 고르시오.
    ① 배포 뒤 성능이 떨어지는지 지켜보고 재학습 시점을 정하는 일
    ② 학습에 쓸 알고리즘의 수학적 증명
    ③ 같은 절차를 다시 돌렸을 때 같은 결과가 나오게 만드는 일
    ④ 시험 응시료 정산
    ⑤ 모델이 만들어 낸 문장의 문법 교정
    ①과 ③. 각각 모델 모니터링·재학습과 반복 가능한 절차입니다. MLOps는 모델을 계속 만들고 계속 돌리는 일의 방식을 다룹니다.
  4. 파이프라인 단계를 순서대로 배열하시오.
    (가) 학습에 쓰지 않은 데이터로 지표를 잰다
    (나) 이탈률을 낮춘다는 목표를 이진 분류 문제로 옮긴다
    (다) 결측값을 다루고 특성을 만든다
    (라) 엔드포인트에 올려 실제 요청을 받는다
    (나) → (다) → (가) → (라). 문제 정의가 먼저이고, 전처리를 거쳐 학습·평가한 뒤 배포합니다. 평가를 배포 뒤로 미루면 나쁜 모델이 먼저 나갑니다.
  5. 어떤 팀이 「가장 적은 운영 부담으로 생성형 AI 기능을 붙이되 모델을 직접 학습시키지는 않겠다」고 합니다. 알맞은 구성은?
    ① 모델을 처음부터 직접 학습시킨다
    ② 관리형 API로 파운데이션 모델을 부른다
    ③ 오픈소스 모델을 우리 계정 인스턴스에 올려 자체 호스팅한다
    ④ 클러스터링 모델을 학습시킨다
    ②. 운영 부담을 최소화하는 쪽이 관리형 API입니다. ③은 모델 가중치를 우리 쪽에 두어야 할 때 고르는 구성이라 이 요구와 반대 방향입니다.
  6. 배포 6개월 뒤 모델 성능이 눈에 띄게 떨어졌습니다. 데이터를 보니 들어오는 입력의 분포 자체가 예전과 달라져 있었습니다. 이 현상의 이름과 대응으로 알맞은 것은?
    ① 과대적합 — 규제를 건다
    ② 데이터 드리프트 — 새 데이터로 다시 학습시킨다
    ③ 과소적합 — 특성을 줄인다
    ④ 레이블 누수 — 지표를 다시 계산한다
    ②. 입력 분포가 변하는 것이 데이터 드리프트이고, 모니터링으로 발견해 재학습으로 대응합니다.
  7. 다음 중 비즈니스 지표에 해당하는 것을 둘 고르시오.
    ① F1 점수가 0.71에서 0.78로 올랐다
    ② 문의 한 건당 처리 비용이 1,200원에서 700원으로 줄었다
    ③ 재현율이 0.62다
    ④ 도입 3개월 만에 투자한 금액을 회수했다
    ⑤ 혼동 행렬의 FP가 340건이다
    ②와 ④. 각각 사용자·건당 비용과 ROI입니다. 나머지 셋은 모두 모델 성능 지표입니다.
  8. 사기 탐지 모델의 정확도가 0.98이라는 보고를 받았습니다. 가장 먼저 확인해야 할 것은?
    ① 학습에 쓴 인스턴스 종류
    ② 전체에서 실제 사기가 차지하는 비율
    ③ 모델 파일의 크기
    ④ 배포 리전
    ②. 사기가 드물면 전부 정상이라고만 답해도 정확도가 그 수준으로 나옵니다. 갈래가 치우친 데이터에서는 정확도 대신 정밀도·재현율·F1을 봐야 합니다.

여덟 문항이 겨누는 것은 둘입니다. 단계의 이름을 정확히 부르는 것과, 지표를 숫자로 계산해 정확도의 함정을 알아보는 것입니다. 이 도메인의 계산 문항은 값이 크지 않으므로 혼동 행렬 네 칸을 종이에 그려 놓고 분모를 무엇으로 두는지만 헷갈리지 않으면 됩니다.

AWS AI Practitioner 시험 노트 전체 보기