ML 앱 프로젝트의 시간, 비용 및 결과물 추정

게시 됨: 2019-11-20

상점에서 맞춤형 지갑을 구입한다고 상상해보십시오.

어떤 종류의 지갑이 필요한지 알고 있지만 사용자 정의 버전을 얻는 데 드는 비용이나 시간을 모릅니다.

머신 러닝 프로젝트의 경우도 마찬가지입니다. 이 딜레마를 해결하는 데 도움이 되도록 성공적인 프로젝트를 수행할 수 있도록 자세한 정보를 제공했습니다.

머신 러닝 은 양면이 있는 동전과 같습니다 .

한편으로는 프로세스의 불확실성을 제거하는 데 도움이 됩니다. 그러나 다른 한편 으로, 그 발전은 불확실성으로 가득 차 있습니다.

거의 모든 머신 러닝(ML) 프로젝트의 최종 결과는 비즈니스를 개선하고 프로세스를 간소화하는 솔루션입니다. 그것 개발 부분 에는 공유할 완전히 다른 이야기가 있습니다.

ML이 기존의 여러 모바일 앱 브랜드의 수익 스토리와 비즈니스 모델을 바꾸는 데 큰 역할을 했지만 여전히 초기 단계에서 작동합니다. 이러한 새로움으로 인해 모바일 애플리케이션 개발자 는 시간과 비용 제약을 염두에 두고 ML 프로젝트 계획을 처리하고 프로덕션 준비 상태로 만드는 것이 훨씬 더 어려워 집니다.

이 어려움에 대한 솔루션( 아마도 유일한 솔루션 )은 시간, 비용 및 결과물에 대한 흑백 머신 러닝 앱 프로젝트 추정치입니다.

그러나 그 섹션으로 넘어가기 전에 먼저 밤 촛불의 어려움과 타는 것이 그만한 가치가 있는 이유를 살펴보겠습니다.

앱에 기계 학습 프레임워크가 필요한 이유는 무엇인가요?

시간, 비용 및 산출물 추정의 중간에 왜 우리가 프레임워크에 대해 이야기하고 있는지 생각할 수 있습니다.

그러나 시간과 비용의 진짜 이유는 여기에 있습니다. 앱 개발의 동기를 알려줍니다. 머신 러닝이 필요한지 여부:

개인화된 경험을 제공하기 위해

고급 검색 통합용 m

사용자 행동 예측

더 나은 보안을 위해

깊은 사용자 참여를 위해

이러한 이유에 따라 시간, 비용 및 산출물이 그에 따라 달라집니다.

기계 학습 모델의 유형

시간과 비용을 조정하기 위해 어떤 유형의 모델을 고려하시겠습니까? 모르는 경우 요구 사항과 예산에 따라 모델을 이해하고 선택할 수 있도록 정보를 제공했습니다.

다양한 사용 사례에서 머신 러닝은 기본 앱을 지능형 모바일 앱 으로 전환하는 역할을 하는 세 가지 모델 유형( 지도, 비지도 및 강화)으로 분류할 수 있습니다. 이러한 기계 학습 모델이 의미하는 바에 대한 지식은 ML 지원 앱을 개발하는 방법을 정의하는 데 도움이 됩니다 .

지도 학습

알고리즘의 입력과 출력에 올바르게 레이블이 지정된 데이터 가 시스템에 제공되는 프로세스 입니다. 입력 및 출력 정보에 레이블이 지정되어 있으므로 시스템 은 알고리즘 내 데이터의 패턴을 식별하도록 훈련됩니다.

미래의 입력 데이터를 기반으로 결과를 예측하는 데 사용되기 때문에 더욱 유익합니다. 소셜 미디어가 사진에 태그가 지정된 사람의 얼굴을 인식할 때 이러한 예를 볼 수 있습니다.

비지도 학습

비지도 학습의 경우 데이터는 시스템 에 입력되지만 그 출력은 지도 모델 경우 처럼 레이블이 지정되지 않습니다 . 이를 통해 시스템 데이터를 식별하고 정보에서 패턴을 결정할 수 있습니다. 패턴이 저장되면 이후의 모든 입력은 출력을 생성하기 위해 패턴에 할당됩니다.

이 모델의 예는 소셜 미디어가 인구 통계, 교육 배경 등과 같은 몇 가지 알려진 데이터를 기반으로 친구에게 제안 을 제공하는 경우에 볼 수 있습니다.

강화 학습

비지도 학습의 경우와 마찬가지로 강화 학습에서 시스템에 제공되는 데이터에도 레이블이 지정되지 않습니다. 두 머신 러닝 유형은 올바른 출력이 생성될 때 시스템 에 출력이 옳다고 말하는 점에서 다릅니다 . 이 학습 유형을 통해 시스템은 환경과 경험에서 학습할 수 있습니다.

이에 대한 예는 Spotify에서 볼 수 있습니다. Spotify 앱은 사용자가 추천 또는 추천하지 않는 노래를 추천 합니다 . Spotify 앱은 선택을 기반으로 사용자의 음악 취향을 학습합니다.

기계 학습 프로젝트의 수명 주기

ML-개발-수명 주기-1

Machine Learning 프로젝트 결과물 타임라인의 수명 주기는 일반적으로 다음과 같이 나타납니다.

ML 프로젝트 계획 설정

  • 작업 및 요구 사항 정의
  • 프로젝트 타당성 확인
  • 일반적인 모델 트레이드오프 논의
  • 프로젝트 코드베이스 생성

데이터 수집 및 레이블 지정

  • 라벨링 문서 만들기
  • 데이터 수집 파이프라인 구축
  • 데이터 품질 검증

모델 탐색

  • 모델 성능 기준 설정
  • 초기 데이터 파이프라인으로 간단한 모델 생성
  • 초기 단계에서 병렬 아이디어 시도
  • 문제 영역에 대한 SoTA 모델(있는 경우)을 찾고 결과를 재현합니다.

모델의 개선

  • 모델 중심 최적화 수행
  • 복잡성이 추가됨에 따라 모델 디버그
  • 오류 모드를 찾기 위해 오류 분석을 수행합니다.

테스트 및 평가

  • 테스트 분포에 대한 모델 평가
  • 모델 평가 측정항목을 다시 검토하여 바람직한 사용자 행동을 유도하는지 확인합니다.
  • 모델 추론 기능, 입력 데이터 파이프라인, 프로덕션에서 예상되는 명시적 시나리오에 대한 테스트를 작성합니다.

모델 배포

  • REST API를 통해 모델 노출
  • 최종 롤아웃 전에 모든 것이 원활하도록 새 모델을 일부 사용자에게 배포합니다.
  • 모델을 이전 버전으로 롤백할 수 있습니다.
  • 라이브 데이터를 모니터링합니다.

모델 유지 관리

  • 모델 부실 방지를 위한 모델 재학습
  • 모델 소유권 이전이 있는 경우 팀 교육

기계 학습 프로젝트의 범위를 추정하는 방법은 무엇입니까?

Appinventiv Machine Learning 팀은 기계 학습 유형과 개발 수명 주기 를 숙독한 후 다음 단계에 따라 프로젝트의 기계 학습 앱 프로젝트 추정치를 정의합니다.

1단계 – 발견(7~14일)

ML 프로젝트 계획 로드맵은 문제 정의로 시작됩니다. 해결해야 할 문제와 운영상의 비효율성을 살펴봅니다.

여기서 목표는 요구 사항을 식별하고 기계 학습이 비즈니스 목표를 충족하는지 확인하는 것 입니다. 이 단계에서는 엔지니어가 해결하려는 문제의 관점에서 비전을 이해하기 위해 클라이언트 측의 비즈니스 사람들과 만나야 합니다.

둘째, 개발 팀은 자신이 가지고 있는 데이터의 종류와 외부 서비스에서 가져와야 하는지 여부를 식별해야 합니다.

다음으로 개발자는 알고리즘을 감독할 수 있는지, 즉 예측이 이루어질 때마다 올바른 응답 을 반환하는지 측정해야 합니다.

산출물 – 프로젝트 사소하거나 복잡한지를 정의하는 문제 설명.

2단계 – 탐색(6~8주)

이 단계의 목표는 API로 설치할 수 있는 개념 증명을 기반으로 구축하는 것입니다. 기준 모델이 교육되면 ML 전문가 팀이 프로덕션 준비 솔루션의 성능을 추정합니다.

이 단계는 발견 단계에서 계획된 메트릭으로 예상되는 성능에 대한 명확성을 제공합니다.

결과물 – 개념 증명

3단계 – 개발(4개월 이상)

이것은 팀이 생산 준비 답변에 도달할 때까지 반복적으로 작업하는 단계입니다. 프로젝트가 이 단계에 도달할 때까지는 불확실성이 훨씬 적기 때문에 추정이 매우 정확해집니다.

그러나 결과가 개선되지 않으면 개발자는 다른 모델을 적용하거나 데이터를 재작업하거나 필요한 경우 방법을 변경해야 했습니다.

이 단계에서 개발자는 스프린트로 작업하고 모든 개별 반복 후에 수행할 작업을 결정합니다. 모든 스프린트의 결과를 효과적으로 예측할 수 있습니다.

스프린트 결과를 효과적으로 예측할 수 있지만 미리 스프린트를 계획하는 것은 미지의 바다에서 작업하게 되므로 머신 러닝의 경우 실수가 될 수 있습니다.

결과물 – 프로덕션 준비 ML 솔루션

4단계 – 개선(지속적)

일단 배치되면 의사 결정권자는 비용을 절감하기 위해 거의 항상 프로젝트를 서둘러 종료합니다. 공식은 프로젝트의 80%에서 작동하지만 기계 학습 앱에는 동일하게 적용되지 않습니다.

머신 러닝 프로젝트 타임라인 전반에 걸쳐 데이터가 변경됩니다. 이것이 AI 모델이 저하되지 않도록 하고 모바일 앱 개발을 가능하게 하는 안전한 AI를 제공하기 위해 지속적으로 모니터링하고 검토해야 하는 이유 입니다.

머신러닝 중심의 프로젝트는 만족스러운 결과를 얻기까지 시간이 필요합니다. 알고리즘이 처음부터 벤치마크를 능가하는 것을 발견하더라도 한 번의 공격으로 다른 데이터 세트에서 사용될 때 프로그램이 손실될 가능성이 있습니다.

전체 비용에 영향을 미치는 요소

머신 러닝 시스템을 개발하는 방법에는 데이터 관련 문제 및 최종 비용을 결정하는 성능 관련 요소와 같은 몇 가지 구별되는 기능이 있습니다.

데이터 관련 문제

신뢰할 수 있는 머신 러닝의 개발은 경이로운 코딩뿐만 아니라 교육 정보의 질과 양 또한 중요한 부분을 차지합니다.

  1. 적절한 데이터 부족
  2. 복잡한 추출, 변환, 로드 절차
  3. 비정형 데이터 처리

성능 관련 문제

고품질 알고리즘에는 여러 차례의 조정 세션이 필요하기 때문에 적절한 알고리즘 성능은 또 다른 중요한 비용 요소입니다.

  1. 정확도 비율은 다양합니다.
  2. 처리 알고리즘의 성능

기계 학습 프로젝트의 비용을 어떻게 추정합니까?

기계 학습 프로젝트의 비용 추정에 대해 이야기할 때 먼저 어떤 프로젝트 유형에 대해 이야기하는지 식별하는 것이 중요합니다.

기계 학습 비용은 얼마인지 답변하는 역할을 하는 기계 학습 프로젝트 에는 크게 세 가지 유형이 있습니다.

첫째 – 이 유형에는 이미 솔루션이 있습니다. 모델 아키텍처와 데이터 세트가 이미 존재합니다. 이러한 유형의 프로젝트는 거의 무료이므로 이에 대해 이야기하지 않겠습니다.

두 번째 – 이러한 프로젝트는 근본적인 연구가 필요합니다. 즉, 완전히 새로운 영역에서 또는 주류 모델과 비교하여 다른 데이터 구조에서 ML을 적용하는 것입니다. 이러한 프로젝트 유형 의 비용 은 일반적으로 대다수 의 스타트업이 감당할 수 없는 비용입니다.

세 번째 – 이것들은 우리가 비용 추정에 중점을 둘 것입니다. 여기에서 이미 존재하는 모델 아키텍처와 알고리즘을 가져온 다음 작업 중인 데이터에 맞게 변경합니다.

이제 ML 프로젝트의 비용을 추정하는 부분을 살펴보겠습니다.

데이터 비용

데이터는 기계 학습 프로젝트의 기본 통화입니다. 최대 솔루션 및 연구는 지도 학습 모델의 변형에 중점을 둡니다. 지도 학습이 깊어 질수록 주석이 달린 데이터 필요성이 커지고 기계 학습 앱 개발 비용 이 높아진다는 것은 알려진 사실입니다 .

이제 Scale 및 Amazon의 Mechanical Turk와 같은 서비스가 데이터 수집 및 주석에 도움이 될 수 있지만 품질은 어떻습니까?

데이터 샘플을 확인하고 수정하는 데 시간이 많이 소요될 수 있습니다. 이 문제에 대한 솔루션은 데이터 수집을 아웃소싱하거나 사내에서 수정하는 두 가지 문제에 직면해 있습니다.

데이터 검증 및 정제 작업의 대부분을 아웃소싱한 다음 데이터 샘플을 정리하고 레이블을 지정하기 위해 사내에 한두 명을 지정해야 합니다.

연구비

위에서 공유한 대로 프로젝트의 연구 부분은 엔트리 레벨 타당성 연구, 알고리즘 검색 및 실험 단계를 다룹니다. 일반적으로 제품 제공 워크샵 에서 제공되는 정보입니다 . 기본적으로 탐색 단계는 모든 프로젝트가 생산되기 전에 거쳐야 하는 단계입니다.

가장 완벽하게 무대를 완성하는 것은 ML 토론을 구현하는 비용에 번호가 붙는 과정입니다.

생산 비용

Machine Learning 프로젝트 비용의 생산 부분은 인프라 비용, 통합 비용 및 유지 관리 비용으로 구성됩니다. 이 비용 중 클라우드 계산으로 최소한의 비용을 지출해야 합니다. 그러나 그 역시 알고리즘의 복잡성에 따라 다릅니다.

통합 비용은 사용 사례에 따라 다릅니다. 일반적으로 API 엔드포인트 를 클라우드에 배치 하고 이를 문서화 하여 나머지 시스템에서 사용하는 것으로 충분합니다 .

사람들이 기계 학습 프로젝트를 개발할 때 간과하는 경향이 있는 한 가지 핵심 요소는 프로젝트의 전체 수명 주기 동안 지속적인 지원을 통과해야 한다는 것입니다. API에서 들어오는 데이터를 정리하고 적절하게 주석을 달아야 합니다. 그런 다음, 모델은 새로운 데이터에 대해 훈련되고 테스트되고 배포되어야 합니다.

위에서 언급한 사항 외에도 AI 앱/ML 앱 개발 비용 추정에 중요한 두 가지 요소가 더 있습니다 .

기계 학습 앱 개발의 과제

ML-project-challenges

일반적으로 머신 러닝 앱 프로젝트 견적이 도출될 때 이와 관련된 개발 과제 도 고려됩니다. 그러나 ML 기반 앱 개발 프로세스의 중간에 문제가 발견되는 경우가 있을 수 있습니다. 이러한 경우 전체 시간 및 비용 추정이 자동으로 증가합니다.

기계 학습 프로젝트의 과제는 다음과 같습니다.

  • 기계 학습 기능이 될 기능 세트 결정
  • AI 및 기계 학습 영역의 인재 부족
  • 데이터 세트를 획득하는 데 비용이 많이 듭니다.
  • 만족스러운 결과를 얻으려면 시간이 걸립니다

결론

소프트웨어 프로젝트를 완료하는 데 필요한 인력과 시간을 추정하는 것은 모듈식 설계를 기반으로 개발되고 애자일 접근 방식 에 따라 숙련된 팀이 처리할 때 비교적 쉽습니다 . 그러나 시간과 노력으로 현명한 머신 러닝 앱 프로젝트 추정치를 생성하는 작업을 할 때 동일한 작업이 훨씬 더 어려워집니다.

목표가 잘 정의되어 있어도 모델이 원하는 결과를 얻을 수 있는지 여부에 대한 보장은 없습니다. 일반적으로 범위를 낮추고 미리 정의된 납품 날짜를 통해 정해진 시간 안에 프로젝트를 실행하는 것은 불가능합니다.

불확실성이 있음을 식별하는 것이 가장 중요합니다. 지연을 완화하는 데 도움이 될 수 있는 접근 방식은 입력 데이터가 기계 학습에 적합한 형식인지 확인하는 것입니다.

그러나 궁극적으로 어떤 접근 방식을 따르려고 계획하든 가장 단순한 형태로 복잡성을 개발하고 배포하는 방법을 알고 있는 기계 학습 앱 개발 에이전시와 파트너 관계를 맺을 때만 성공적인 것으로 간주됩니다.

Machine Learning 앱 프로젝트 견적에 대한 FAQ

Q. 앱 개발에 기계 학습을 사용하는 이유는 무엇입니까?

기업이 모바일 앱에 머신 러닝을 통합함으로써 얻을 수 있는 많은 이점이 있습니다. 가장 널리 퍼진 것들 중 일부는 앱 마케팅 전선에 있습니다.

  • 개인화된 경험 제공
  • 고급 검색
  • 사용자 행동 예측
  • 더 깊은 사용자 참여

Q. 머신 러닝이 비즈니스에 어떤 도움이 됩니까?

기업을 위한 기계 학습 이점은 기업을 파괴적인 브랜드로 표시하는 것 이상입니다. 더 개인화되고 실시간으로 제공되는 제품으로 파급됩니다.

머신 러닝은 기업을 고객이 원하는 방식으로 고객에게 더 가까이 다가가게 하는 비밀 공식이 될 수 있습니다.

Q. 머신 러닝 프로젝트 개발 시 ROI를 어떻게 추정합니까?

이 기사는 기계 학습 앱 프로젝트 추정치를 설정하는 데 도움이 되었지만 ROI를 계산하는 것은 다른 게임입니다. 혼합에서 기회 비용도 고려해야 합니다. 또한, 귀하의 비즈니스가 프로젝트에서 기대하는 바를 조사해야 합니다.

Q. ML 프로젝트에는 어떤 플랫폼이 더 적합합니까?

Android 앱 개발 회사 와 연결할 것인지 iOS 개발자와 연결할 것인지에 대한 선택은 전적으로 사용자 기반과 의도(수익 창출 또는 가치 중심)에 따라 달라집니다.