카테고리 없음

MLOPS 실전 가이드 chapter 1 질문에 답하기

Young_Metal 2024. 1. 7. 23:58
  • What problems does a continuous integration (CI) system solve?
  • Why is a CI system an essential part of both a SaaS software product and an ML system?
  • Why are cloud platforms the ideal target for analytics applications? How do data engineering and DataOps assist in building cloud-based analytics applications?
  • How does deep learning benefit from the cloud? Is deep learning feasible without cloud computing?
  • Explain what MLOps is and how it can enhance a machine learning engineering project.

 

1. 지속적 통합(CI)가 풀 수 있는 문제는 무엇인가?

CI(Continuous Integration) 시스템은 특히 여러 개발자가 관련된 프로젝트에서 소프트웨어 개발의 몇 가지 주요 문제를 해결합니다. CI 시스템이 해결하고자 하는 주요 문제는 다음과 같습니다:

1. CI는 코드 변경 병합의 복잡성을 줄여줍니다. 코드를 자주 통합하여 충돌을 조기에 감지하여 해결하기 쉽습니다.

2. 품질관리 : CI에서 자동화된 테스트를 통해 새로운 코드가 기존 기능을 손상시키지 않습니다. 이러한 지속적인 경계는 소프트웨어의 전반적인 품질을 향상시킵니다.

3. 피드백 루프: CI는 코드 변경의 영향에 대한 신속한 피드백을 제공하여 개발자가 문제를 신속하게 수정할 수 있도록 지원합니다.

4.일관성: 코드 통합, 테스트, 전달을 위한 일관된 프로세스를 시행하여 인적 오류 발생 가능성을 줄여줍니다.

5. 문서 및 추적성: CI 시스템에는 변경 사항을 추적하는 도구가 포함되거나 통합되어 변경 사항, 시기 및 사용자에 대한 명확한 감사 기록을 제공하는 경우가 많습니다.

6. 개발의 효율성: CI는 반복적인 작업을 자동화함으로써 개발자들이 코드 작성에 집중할 수 있도록 하여 생산성을 향상시킵니다.

2. SaaS 소프트웨어 제품과 ML 시스템에서 CI 시스템이 중요한 이유는 무엇인가?

SaaS 제품은 자주 업데이트를 자주 업데이트해야 합니다. CI는 이러한 업데이트를 빠르고 신뢰할 수 있도록 새로운 기능 수정 및 지속적인 전달이 가능하도록 합니다. 


ML 시스템의 코드 베이스에서 변경 사항을 저하시키지 않아 모델 품질을 보장합니다. 데이터 파이프라인 무결성을 보장합니다. ML 시스템 정확성에 중요한 변화를 검증할 수 있습니다. CI는 반복 ML 모델 개발에 필요한 빠른 실험 및 버전 제어를 지원합니다.

두 경우 CI 시스템은 높은 품질, 신뢰할 수 있는 소프트웨어 전송 및 일관된 소프트웨어 전송 기능을 지원합니다.이는 특히 실패의 비용이 높고 민첩성과 속도를 위한 필요하며 민첩성이 가장 중요합니다. 

 

3-1. 왜 분석 활용 분야에서 클라우드 플랫폼이 이상적인 타겟인가? 

1. 확장성: 클라우드 플랫폼은 데이터 볼륨과 계산 요구 사항에 따라 리소스를 확장하거나 축소할 수 있습니다.
2. 비용 효율성: 사용한 만큼 지불하는 클라우드의 가격 모델은 특히 변동 작업량이 있는 애플리케이션에 비용 절감을 가능하게 합니다.
3. 데이터 저장 및 통합: 클라우드 플랫폼은 방대한 저장 옵션을 제공하고 다양한 데이터 소스와 통합을 용이하게 합니다.
4. 고급 분석 및 AI 서비스: 많은 클라우드 플랫폼들은 내장된 분석 및 AI 도구를 제공하여, 기업이 큰 초기 투자 없이 고급 기술을 활용할 수 있게 합니다. -> 플랫폼 자동화로 얻는 이득
5. 보안 및 규정 준수: 클라우드 제공업체들은 보안에 많은 투자를 하며, 개별 기관이 구현하기 어려운 강력한 조치를 제공합니다.
6. 접근성 및 협업: 클라우드 기반 분석 도구는 어디서나 접근할 수 있으며, 지리적으로 분산된 팀 간의 협업을 촉진합니다.

 

3-2. 데이터 엔지니어링과 데이터옵스가 클라우드 기반의 분석 활용에서 도움을 줄 수 있는가?

 

4. 클라우드에서 딥러닝은 어떤 이득이 있는가? 클라우드 컴퓨팅 없이 딥러닝이 활용성이 있는가?

 

데이터 준비: 데이터 엔지니어링은 분석을 위해 데이터를 정리, 변환, 구조화하는 작업을 포함하여, 클라우드에서 고품질 데이터를 사용할 수 있게 합니다.
파이프라인 개발: 데이터 엔지니어들은 실시간 분석에 필수적인 데이터를 클라우드로 효율적으로 이동시키는 견고한 데이터 파이프라인을 개발합니다.
자동화: 데이터옵스 원칙은 데이터 파이프라인 워크플로의 자동화에 중점을 두어 데이터 이동 및 처리의 효율성과 신뢰성을 향상시킵니다.
모니터링 및 최적화: 데이터 프로세스의 지속적인 모니터링과 최적화는 분석 애플리케이션의 성능과 가용성을 보장합니다.

 

데이터옵스는 데이터 팀 간의 협업 문화를 촉진하여 분석 파이프라인에 대한 빠르고 반복적인 개선을 보장합니다.

5. MLOps가 무엇인지 설명하고 어떻게 ml 엔지니어링 프로젝트를 향상시킬 수 있는지 설명하라. 

MLOps는 기계 학습 시스템 개발(Dev)와 기계 학습 시스템 운영(Ops)를 합친 말로, MLOps의 목표는 ML 라이프사이클을 자동화하고 운영의 간소화입니다. 

 

ML 엔지니어링 프로젝트 향상은 1. 데이터 과학자, ML엔지니어, 운영 팀간의 협업을 촉진하고 2. 모델을 개발에서 배포하는 과정을 간소화하고 3. 자동으로 테스트 및 배포합니다. 4. DevOps처럼 모델의 지속적인 모니터링과 유지 보수를 보장하고, 5.데이터, 모델, 코드 버전 관리등의 재현성 을 보장합니다.