문제 이해하기

문제를 파악하려면 다음 작업을 수행하세요.

  • 개발 중인 제품 또는 리팩터링 중인 제품의 목표를 명시합니다.
  • 예측 ML, 생성형 AI 또는 ML 이외의 솔루션을 사용하여 목표를 가장 잘 해결할 수 있는지 판단합니다.
  • 예측 ML 접근 방식을 사용하는 경우 모델을 학습하는 데 필요한 데이터가 있는지 확인합니다.

목표 명시

ML 이외의 용어로 목표를 설명합니다. 목표는 '무엇을 성취하려고 하나요?'라는 질문에 대한 답변입니다.

다음 표에는 가상의 앱의 목표가 명확하게 명시되어 있습니다.

애플리케이션 목표
날씨 앱 지리적 지역의 강수량을 6시간 단위로 계산합니다.
패션 앱 다양한 셔츠 디자인을 생성합니다.
동영상 앱 유용한 동영상을 추천합니다.
메일 앱 스팸 감지
금융 앱 여러 뉴스 매체의 재무 정보를 요약합니다.
지도 앱 이동 시간을 계산합니다.
뱅킹 앱 허위 거래를 식별합니다.
음식점 앱 레스토랑의 메뉴를 통해 음식 종류를 식별합니다.
전자상거래 앱 유용한 답변으로 리뷰에 답글을 달아주세요.

명확한 ML 사용 사례

일부에서는 ML을 모든 문제에 적용할 수 있는 범용 도구로 간주합니다. 실제로 ML은 특정 문제에만 적합한 특수 도구입니다. 더 간단한 비-ML 솔루션으로 충분한데 복잡한 ML 솔루션을 구현하고 싶지 않습니다.

ML 시스템은 크게 예측형 ML생성형 AI의 두 가지 카테고리로 나눌 수 있습니다. 다음 표에는 각 옵션의 특징이 나와 있습니다.

입력 출력 학습 기법
예측 ML 텍스트
이미지
오디오
동영상
숫자
예를 들어 이메일을 스팸 또는 스팸이 아닌 것으로 분류하거나, 내일의 강우량을 추측하거나, 주식 가격을 예측하는 등의 예측을 실행합니다. 일반적으로 출력은 실제와 대조하여 확인할 수 있습니다. 일반적으로 많은 데이터를 사용하여 지도, 비지도 또는 강화 학습 모델을 학습하여 특정 작업을 실행합니다.
생성형 AI 텍스트
이미지
오디오
동영상
숫자
사용자의 의도에 따라 출력을 생성합니다(예: 기사 요약, 오디오 클립 또는 짧은 동영상 제작). 일반적으로 라벨이 지정되지 않은 대량의 데이터를 사용하여 대규모 언어 모델 또는 이미지 생성기를 학습시켜 누락된 데이터를 채웁니다. 그런 다음 이 모델은 '빈칸 채우기' 태스크로 구성할 수 있는 태스크에 사용하거나 분류와 같은 특정 태스크의 라벨이 지정된 데이터로 학습하여 미세 조정할 수 있습니다.

ML이 적절한 접근 방식인지 확인하려면 먼저 현재 비 ML 솔루션이 최적화되어 있는지 확인합니다. ML 이외의 솔루션이 구현되어 있지 않다면 휴리스틱을 사용하여 문제를 수동으로 해결해 보세요.

ML 이외의 솔루션은 ML이 문제에 적합한 사용 사례인지 판단하는 데 사용할 벤치마크입니다. ML 이외의 접근 방식과 ML 접근 방식을 비교할 때 다음 질문을 고려하세요.

  • 품질 ML 솔루션이 얼마나 더 나을까요? ML 솔루션이 약간의 개선만을 제공할 수 있다고 생각되면 현재 솔루션이 가장 적합한 솔루션일 수 있습니다.

  • 비용 및 유지보수. ML 솔루션의 단기 및 장기 비용은 얼마인가요? 경우에 따라 ML을 구현하는 데 컴퓨팅 리소스와 시간이 훨씬 더 많이 소요될 수 있습니다. 다음 질문을 고려하세요.

    • ML 솔루션으로 비용 증가를 정당화할 수 있나요? 대규모 시스템에서 작은 개선사항만으로도 ML 솔루션 구현의 비용과 유지보수 비용을 쉽게 충당할 수 있습니다.
    • 솔루션에 얼마나 많은 유지보수가 필요하나요? 대부분의 경우 ML 구현에는 전담 장기 유지보수가 필요합니다.
    • 제품에 ML 전문 지식을 갖춘 인력의 교육 또는 채용을 지원할 수 있는 리소스가 있나요?

이해도 확인

ML 솔루션을 분석하기 전에 ML 이외의 솔루션이나 휴리스틱을 마련하는 것이 중요한 이유는 무엇인가요?
ML 이외의 솔루션은 ML 솔루션을 측정하는 벤치마크입니다.
비 ML 솔루션을 사용하면 ML 솔루션의 비용을 결정할 수 있습니다.

예측 ML 및 데이터

데이터는 예측 ML의 원동력입니다. 좋은 예측을 하려면 예측력이 있는 특성이 포함된 데이터가 필요합니다. 데이터는 다음과 같은 특성을 가져야 합니다.

  • 풍부함 데이터 세트에 관련성 있고 유용한 예가 많을수록 모델이 더 향상됩니다.

  • 일관되고 안정적입니다. 일관되고 안정적으로 수집된 데이터를 사용하면 더 나은 모델을 만들 수 있습니다. 예를 들어 ML 기반 날씨 모델은 수년 동안 동일한 신뢰할 수 있는 기기에서 수집된 데이터를 활용할 수 있습니다.

  • 신뢰할 수 있습니다. 데이터의 출처를 파악합니다. 데이터가 제품의 로그와 같이 내가 제어하는 신뢰할 수 있는 소스에서 가져오는 것인가요, 아니면 다른 ML 시스템의 출력과 같이 내가 잘 알지 못하는 소스에서 가져오는 것인가요?

  • 사용 가능 예측 시점에 모든 입력을 올바른 형식으로 사용할 수 있는지 확인합니다. 예측 시 특정 특성 값을 얻기 어렵다면 데이터 세트에서 해당 특성을 생략합니다.

  • 정답입니다. 대규모 데이터 세트에서는 일부 라벨에 잘못된 값이 있을 수밖에 없지만, 라벨의 소수 비율 이상이 잘못된 경우 모델의 예측이 좋지 않습니다.

  • 담당자. 데이터 세트는 실제 세계를 최대한 대표해야 합니다. 즉, 데이터 세트는 모델링되는 실제 세계의 이벤트, 사용자 행동 또는 현상을 정확하게 반영해야 합니다. 대표성이 없는 데이터 세트로 학습하면 모델에 실제 예측을 요청할 때 성능이 저하될 수 있습니다.

필요한 형식으로 필요한 데이터를 가져올 수 없는 경우 모델의 예측 정확도가 떨어집니다.

예측력

모델이 정확하게 예측하려면 데이터 세트의 특성에 예측력이 있어야 합니다. 특성이 라벨과 상관관계가 높을수록 라벨을 예측할 가능성이 높습니다.

일부 기능은 다른 기능보다 예측력이 더 높습니다. 예를 들어 날씨 데이터 세트에서 cloud_coverage, temperature, dew_point와 같은 특성은 moon_phase 또는 day_of_week보다 비를 더 잘 예측할 수 있습니다. 동영상 앱 예시에서 video_description, length, views과 같은 기능이 사용자가 시청하려는 동영상을 잘 예측할 수 있다고 가정할 수 있습니다.

예측력이 있는 특성을 파악하는 데는 시간이 걸릴 수 있습니다. 모델을 학습하는 동안 특성을 삭제했다가 추가하여 특성의 예측력을 수동으로 살펴볼 수 있습니다. 피어슨 상관관계, 조정된 상호 정보 (AMI), Shapley 값과 같은 알고리즘을 사용하여 특성의 예측력을 찾는 작업을 자동화할 수 있습니다. 이러한 알고리즘은 특성의 예측력을 분석하기 위한 수치 평가를 제공합니다.

이해도 확인

데이터 세트를 분석할 때 확인해야 하는 세 가지 주요 속성은 무엇인가요?
실제를 대표합니다.
올바른 값을 포함합니다.
특성은 라벨에 대한 예측력을 갖습니다.
로컬 머신에 로드할 만큼 작습니다.
예측할 수 없는 다양한 소스에서 수집됩니다.

데이터 세트 분석 및 준비에 관한 자세한 안내는 머신러닝을 위한 데이터 준비 및 특성 설계를 참고하세요.

예측과 액션 비교

예측을 사용자에게 도움이 되는 작업으로 전환할 수 없다면 예측하는 데 아무런 가치가 없습니다. 즉, 제품은 모델의 출력에서 작업을 실행해야 합니다.

예를 들어 사용자가 동영상을 유용하게 생각할지 예측하는 모델은 유용한 동영상을 추천하는 앱에 제공해야 합니다. 비가 올지 예측하는 모델은 날씨 앱에 제공해야 합니다.

이해도 확인

다음 시나리오를 바탕으로 ML을 사용하는 것이 문제에 가장 적합한 접근 방식인지 판단합니다.

대규모 조직의 엔지니어링팀이 수신 전화를 관리합니다.

목표: 현재 통화량을 고려하여 발신자에게 대기 시간 정보를 제공합니다.

현재 해결 방법은 없지만 대기 중인 현재 고객 수를 전화에 응답하는 직원 수로 나눈 다음 10분으로 곱하는 것이 휴식 시간에 대한 휴리스틱이라고 생각합니다. 하지만 일부 고객의 문제는 2분 내에 해결되는 반면 다른 고객의 문제는 최대 45분 이상 걸릴 수 있다는 것을 알고 있습니다.

휴리스틱을 사용해도 충분히 정확한 숫자를 얻지 못할 수 있습니다. number_of_callcenter_phones, user_issue, time_to_resolve, call_time, time_on_hold 열이 있는 데이터 세트를 만들 수 있습니다.

ML 사용 엔지니어링팀에 명확하게 정의된 목표가 있습니다. 휴리스틱이 사용 사례에 적합하지 않습니다. 데이터 세트에 라벨 time_on_hold에 관한 예측 기능이 있는 것으로 보입니다.
ML을 사용하지 마세요. 명확하게 정의된 목표가 있지만 먼저 ML 이외의 솔루션을 구현하고 최적화해야 합니다. 또한 데이터 세트에 예측력이 있는 기능이 충분히 포함되어 있지 않은 것으로 보입니다.