GCP ML Engineer

GCP ML Engineer 시험 노트개념 정리16 MIN

모델 유형과 제품 고르기

ARIMA·DNN·LLM 중 무엇을 쓸지, AutoML·BigQuery ML·커스텀 학습 중 어디서 만들지를 비용·복잡도·지연·확장성으로 저울질하고, 배포 방식과 해석 가능성 요구가 학습 전에 모델을 바꾸는 자리를 봅니다.

셋째 섹션 「프로토타입을 모델로 확장」은 이 시험에서 비중이 가장 큰 섹션 중 하나이고, 그 첫머리가 이 노트의 질문입니다 — 무엇을 만들고, 어디서 만들 것인가. 노트북에서 돌아간 프로토타입을 운영 모델로 키우기 전에 이 두 결정을 잘못하면 나머지 작업이 전부 되돌아옵니다. 시험 문항은 시나리오 한 단락을 주고 보기 넷에 모델 유형과 제품을 섞어 내므로, 조건 문장에서 무엇이 결정을 가르는지 읽어 내는 연습이 필요합니다.

모델 유형

ARIMA

ARIMA는 시계열의 과거 값과 과거 오차로 다음 값을 예측하는 통계 모델입니다. 계절성과 추세를 분해하고, 학습이 빠르며, 예측 구간까지 함께 냅니다. 「매장별 일 매출을 다음 30일 예측하라」처럼 값 하나가 시간에 따라 흐르는 문제라면 먼저 떠올릴 후보입니다. BigQuery ML의 ARIMA_PLUS가 이것을 SQL 한 문장으로 만들고, 시계열 id 열을 주면 매장 수천 개의 모델을 한 번에 학습합니다.

CREATE OR REPLACE MODEL `proj.sales.forecast`
OPTIONS (model_type = 'ARIMA_PLUS', time_series_timestamp_col = 'day',
         time_series_data_col = 'revenue', time_series_id_col = 'store_id',
         holiday_region = 'KR') AS
SELECT day, revenue, store_id FROM `proj.sales.daily`;

SELECT * FROM ML.FORECAST(MODEL `proj.sales.forecast`, STRUCT(30 AS horizon));

DNN

DNN(심층 신경망)은 입력과 출력 사이에 여러 층을 쌓아 복잡한 관계를 배우는 모델입니다. 피처가 많고 서로 얽혀 있거나, 입력이 이미지·텍스트처럼 사람이 피처를 손으로 뽑기 어려운 경우에 힘을 씁니다. 대신 데이터가 많이 필요하고, 학습에 가속기가 들며, 예측의 이유를 설명하기 어렵습니다. 정형 데이터 몇 만 행이면 부스팅 트리가 대개 더 싸고 비슷하게 맞습니다.

LLM

LLM은 이미 방대한 텍스트로 학습된 모델이라 새로 학습하지 않고 프롬프트로 일을 시킵니다. 요약·분류·추출·대화처럼 언어가 입력이자 출력인 일, 그리고 라벨 데이터가 거의 없는 일에 맞습니다. 반대로 「다음 분기 매출」처럼 숫자를 예측하는 일에 LLM을 부르는 보기는 비싸고 느리며 정확도도 보장되지 않습니다.

문제 첫 후보 피할 것
시계열 수요 예측 ARIMA LLM에게 숫자 예측 시키기
이미지·음성 인식 사전학습 DNN 파인튜닝 손으로 뽑은 피처 + 선형 모델
문서 요약·분류, 라벨 적음 LLM DNN을 처음부터 학습
정형 데이터 이탈 예측 부스팅 트리·로지스틱 회귀 큰 DNN부터 시작

학습 제품

AutoML

AutoML은 데이터와 목표 열만 주면 모델 구조와 하이퍼파라미터를 플랫폼이 찾아 주는 제품입니다. 코드가 필요 없고 정형·이미지·텍스트·영상을 다룹니다. ML 전문 인력이 없거나 빨리 기준선을 세워야 할 때 맞고, 대신 학습 시간 단위로 요금이 나가며 모델 내부를 손대기 어렵습니다.

BigQuery ML

BigQuery ML은 데이터가 이미 BigQuery에 있을 때 SQL로 모델을 만드는 제품입니다. 데이터를 밖으로 옮기지 않으므로 이동 비용과 보안 검토가 줄고, SQL을 아는 분석가가 직접 만듭니다. 03편에서 본 대로 선형·로지스틱 회귀, 부스팅 트리, ARIMA_PLUS, 일부 DNN까지 지원합니다.

커스텀 학습

커스텀 학습은 내 코드와 컨테이너로 학습 작업을 돌리는 방식입니다. 모델 구조·손실 함수·분산 학습 방식을 마음대로 정할 수 있는 대신, 그 전부를 내가 짜고 유지해야 합니다. 「특수한 손실 함수가 필요하다」·「연구팀이 만든 PyTorch 모델을 그대로 키운다」는 조건이 이쪽을 가리킵니다.

AutoML BigQuery ML 커스텀 학습
필요한 기술 거의 없음 SQL ML 코드와 컨테이너
데이터 위치 관리형 데이터셋 BigQuery 그대로 어디든
통제 범위 좁음 지원 모델 안 전부
맞는 자리 빠른 기준선, 인력 부족 데이터가 BigQuery에 있음 특수 요구, 대규모

저울질의 네 축

비용과 복잡도

같은 요구를 셋 다 풀 수 있으면 가장 단순한 쪽이 답입니다. 이 시험은 관리형 제품을 선호하는 시험이라, 커스텀 코드가 요구 조건에 적힌 무언가를 해내지 않는 한 AutoML이나 BigQuery ML보다 앞서지 않습니다. 복잡도는 처음 만드는 비용보다 유지하는 비용으로 더 크게 돌아옵니다 — 직접 짠 학습 코드는 라이브러리가 바뀔 때마다 누군가 고쳐야 합니다.

지연과 확장성

예측 한 건에 허용되는 시간이 짧으면 모델이 작아야 합니다. 「100ms 안에 응답」이 적혀 있으면 큰 DNN이나 LLM 호출은 후보에서 빠지고, 작은 트리 모델이나 증류된 모델이 남습니다. 확장성은 반대 방향의 압력입니다. 학습 데이터가 수 TB로 커지면 노트북 하나로는 못 돌리고 분산 학습이나 BigQuery ML처럼 데이터 곁에서 도는 제품이 필요합니다. 시나리오에 숫자가 나오면 그 숫자가 어느 축의 조건인지부터 표시해 두면 보기가 빠르게 줄어듭니다.

시나리오 읽기

한 문항을 축 넷으로 풀어 보겠습니다. 「보험사가 청구 서류 사진에서 사기 의심 건을 골라내려 한다. 데이터 과학자는 둘이고, 결과는 다음 날 아침까지 심사팀에 넘기면 된다. 모델 유지 인력을 늘릴 계획은 없다.」

  • 입력이 사진이므로 모델 유형은 이미지 DNN 쪽입니다. ARIMA와 BigQuery ML 선형 모델이 먼저 빠집니다.
  • 다음 날 아침까지면 지연 조건이 느슨하므로 배치 예측으로 충분하고, 실시간 엔드포인트를 상시 띄우는 보기는 비용만 늘립니다.
  • 인력이 둘이고 유지 인력을 늘리지 않는다는 문장이 복잡도 축의 조건이라, 직접 짠 분산 학습보다 AutoML 이미지 모델이 앞섭니다.

남는 답은 「AutoML로 이미지 분류 모델을 만들고 배치 예측을 돌린다」입니다. 문제 문장의 단어 하나하나가 어느 축에 걸리는지 표시하는 습관이 이 섹션 전체에서 값을 합니다.

배포 전략

학습 전에 정하기

어디서 어떻게 예측할지는 학습이 끝난 뒤가 아니라 학습 전에 정합니다. 배포 방식이 모델이 쓸 수 있는 피처와 크기를 제한하기 때문입니다.

  • 온라인 예측은 요청 순간에 받을 수 있는 피처만 씁니다. 하루 뒤에 집계되는 피처로 학습하면 서빙 때 그 값이 없습니다.
  • 배치 예측은 지연 제약이 느슨해 큰 모델도 되지만, 결과가 다음 배치까지 묵습니다.
  • 기기 안 예측은 모델 크기와 메모리가 기기에 묶여 양자화나 작은 구조가 전제입니다.

학습·서빙 왜곡

학습 때와 서빙 때 피처를 다른 코드로 계산하면 같은 고객이 두 값을 갖게 됩니다. 이것이 학습·서빙 왜곡이고, 오프라인 평가에서는 좋던 모델이 운영에서 무너지는 흔한 원인입니다. 배포 방식을 미리 정하면 피처를 어디서 한 번 계산해 양쪽이 나눠 쓸지도 함께 정해지므로 07편의 Feature Store가 이 자리에서 다시 나옵니다.

해석 가능성

요구가 바꾸는 선택

대출 심사·보험료 산정처럼 결정의 이유를 고객이나 규제 기관에 설명해야 하는 업무가 있습니다. 이런 요구가 붙으면 정확도가 조금 높은 복잡한 모델보다, 계수를 그대로 읽을 수 있는 로지스틱 회귀나 얕은 트리가 이길 수 있습니다. 해석 가능성은 모델이 왜 그 예측을 냈는지 사람이 이해할 수 있는 정도이고, 시험에서 「설명해야 한다」는 문장은 모델 선택을 바꾸는 조건으로 읽습니다.

피처 기여도

복잡한 모델을 써야 하는 경우에는 예측마다 각 피처가 얼마나 밀고 당겼는지를 계산하는 피처 기여도를 붙입니다. 플랫폼의 Explainable AI가 모델을 배포할 때 설명 설정을 받아 예측과 함께 기여도를 돌려줍니다. 다만 기여도는 사후에 근사한 값이라, 규제가 「모델 자체가 투명해야 한다」를 요구하면 기여도로는 부족하고 단순한 모델이 답입니다. 「설명을 덧붙이면 되는가, 모델 자체가 단순해야 하는가」를 가르는 단어가 문제 문장에 있는지 봅니다.

연습 문제

  1. 지역 매장 2,000곳의 주간 판매량을 다음 12주 예측해야 합니다. 데이터는 BigQuery에 있고 팀은 SQL에 익숙합니다. 가장 알맞은 것은?
    ① 커스텀 학습으로 매장마다 LSTM을 만든다
    ② BigQuery ML의 ARIMA_PLUS에 매장 id를 시계열 id로 준다
    ③ LLM에게 과거 판매표를 주고 예측을 묻는다
    ④ AutoML 이미지 분류
    ②. 시계열 문제이고 데이터가 BigQuery에 있으며 SQL로 매장 2,000개 모델을 한 번에 만듭니다.
  2. ML 전문 인력이 없는 팀이 이미지 2만 장으로 불량품 분류 기준선을 빨리 세우려 합니다. 알맞은 제품은?
    ① AutoML
    ② BigQuery ML 선형 회귀
    ③ 직접 짠 분산 학습 코드
    ④ ARIMA_PLUS
    ①. 코드 없이 이미지 모델을 만듭니다. ②·④는 이미지 입력을 다루는 자리가 아닙니다.
  3. 은행이 대출 거절 사유를 고객에게 설명해야 하고, 규제 기관은 모델 자체가 투명할 것을 요구합니다. 정확도는 DNN이 로지스틱 회귀보다 0.5%p 높습니다. 알맞은 판단은?
    ① DNN을 쓰고 피처 기여도를 붙인다
    ② 로지스틱 회귀를 쓴다
    ③ LLM에게 거절 사유를 쓰게 한다
    ④ 정확도가 높은 쪽을 고른다
    ②. 모델 자체의 투명성이 요구되면 사후 근사인 기여도로는 부족합니다.
  4. 추천 모델이 사용자 요청마다 50ms 안에 응답해야 합니다. 학습팀은 하루치 행동을 다음 날 집계한 피처를 쓰고 있습니다. 가장 먼저 문제가 될 것은?
    ① 요청 시점에 그 집계 피처가 없다
    ② 모델이 너무 단순하다
    ③ 학습 데이터가 너무 적다
    ④ AutoML을 쓰지 않았다
    ①. 온라인 예측은 요청 순간에 받을 수 있는 피처만 씁니다. 배포 방식을 학습 전에 정해야 하는 이유입니다.
  5. 연구팀이 특수한 손실 함수를 쓰는 PyTorch 모델을 만들었고 이를 수십 개 GPU로 키우려 합니다. 알맞은 길은?
    ① BigQuery ML
    ② AutoML
    ③ 커스텀 학습 작업
    ④ 노트북 GPU를 늘린다
    ③. 손실 함수와 분산 방식을 직접 정해야 하는 요구는 관리형 제품의 범위 밖입니다.
  6. 학습과 서빙에서 같은 피처를 서로 다른 코드로 계산했더니 오프라인 AUC는 0.91인데 운영 성능이 크게 떨어졌습니다. 이 현상의 이름은?
    ① 과소적합
    ② 학습·서빙 왜곡
    ③ 개념 드리프트
    ④ 클래스 불균형
    ②. 같은 입력이 두 경로에서 다른 값이 되어 학습 때 본 분포와 서빙 때 받는 분포가 어긋납니다. ③은 시간이 지나며 세상이 바뀌는 것이라 처음부터 떨어지는 이 경우와 다릅니다.
GCP ML Engineer 시험 노트 전체 보기