>기술 주변기기 >일체 포함 >MLOps와 DevOps: 차이점은 무엇인가요?

MLOps와 DevOps: 차이점은 무엇인가요?

WBOY
WBOY앞으로
2023-04-11 20:37:192941검색

기계 학습 운영(줄여서 MLOps)은 ML 모델을 프로덕션에 제공하고 유지 관리 및 모니터링하는 프로세스를 단순화 및 가속화하는 데 초점을 맞춘 기계 학습(ML) 엔지니어링의 핵심 측면입니다. MLOps에는 데이터 과학자, DevOps 엔지니어, IT 전문가 등을 포함한 다양한 팀 간의 협업이 포함됩니다.

MLOps는 조직이 AI 및 기계 학습 솔루션의 품질을 만들고 개선하는 데 도움이 됩니다. MLOps를 채택하면 기계 학습 엔지니어와 데이터 과학자가 CI/CD(지속적 통합 및 지속적 배포) 방식을 구현하여 모델 성능을 개선하기 위해 협력할 수 있습니다. ML 모델의 적절한 모니터링, 거버넌스, 검증을 통합하여 ML 모델 개발 프로세스를 가속화합니다.

MLOps와 DevOps: 차이점은 무엇인가요?

DevOps란 무엇인가요?

DevOps는 개발과 운영의 개념을 결합하여 일반적으로 별도의 애플리케이션 개발 및 IT 운영 팀과 관련된 작업을 수행하는 공동 접근 방식을 설명합니다. 가장 넓은 의미에서 DevOps는 조직 내의 이러한 팀(및 다른 팀) 간의 향상된 의사소통과 협업을 장려하는 철학입니다.

가장 좁은 의미에서 DevOps는 반복적인 애플리케이션 개발, 자동화 및 프로그래밍 가능 인프라의 배포 및 유지 관리를 가능하게 하는 방식의 채택을 의미합니다. 또한 개발자, 시스템 관리자 및 기타 팀 구성원 간의 신뢰 구축 및 연결과 같은 직장 문화의 변화도 포함됩니다. DevOps는 기술을 비즈니스 목표에 맞춰 조정하고 소프트웨어 제공 체인, 업무 기능, 서비스, 도구 및 모범 사례를 변화시킬 수 있습니다.

MLOps와 DevOps: 주요 차이점

다음은 MLOps와 기존 DevOps 간의 주요 차이점 중 일부입니다.

Development

개발의 개념은 각 모델마다 다른 것을 의미하며 CI/CD 파이프라인은 약간 다릅니다.

DevOps:

  • 일반적으로 코드는 인터페이스나 애플리케이션을 만듭니다.
  • 배포하고 일련의 검사를 통해 테스트하기 전에 코드를 실행 파일이나 아티팩트로 래핑합니다.
  • 이상적으로는 최종 제품이 준비될 때까지 이 자동화 주기가 계속됩니다.

MLOps:

  • 이 코드를 사용하면 팀은 기계 학습 모델을 구축하거나 교육할 수 있습니다.
  • 출력 아티팩트에는 데이터 입력을 수신하여 추론을 생성할 수 있는 직렬화된 파일이 포함되어 있습니다.
  • 검증에는 테스트 데이터에 대해 훈련된 모델의 성능을 확인하는 작업이 포함됩니다.
  • 이 주기는 모델이 지정된 성능 임계값에 도달할 때까지 계속되어야 합니다.

Version Control

DevOps:

  • 버전 제어는 일반적으로 코드 및 아티팩트의 변경 사항만 추적합니다.
  • 추적할 측정항목이 거의 없습니다.

MLOps:

  • MLOps 파이프라인에는 일반적으로 추적할 요소가 더 많습니다. ML 모델을 구축하고 훈련하려면 각 실험에 대한 다양한 지표와 구성 요소를 추적해야 하는 반복적인 실험 주기가 필요합니다(나중 감사에 중요).
  • 추적할 기타 구성 요소에는 교육 데이터 세트, 모델 구축 코드 및 모델 아티팩트가 포함됩니다.
  • 메트릭에는 오류율과 같은 모델 성능 메트릭과 하이퍼파라미터가 포함됩니다.

Reusability

DevOps:

  • DevOps 파이프라인은 반복 가능한 프로세스에 중점을 둡니다.
  • 팀은 특정 워크플로를 따르지 않고도 프로세스를 혼합하고 일치시킬 수 있습니다.

MLOps:

  • MLOps 파이프라인은 동일한 워크플로를 반복적으로 적용합니다. 프로젝트 전반에 걸친 공통 프레임워크는 일관성을 향상시키는 데 도움이 되며 팀이 익숙한 프로세스로 시작하기 때문에 더 빠르게 진행할 수 있습니다.
  • 프로젝트 템플릿은 구조를 제공하고 각 사용 사례의 고유한 요구 사항을 충족하는 사용자 정의를 가능하게 합니다.
  • 중앙 집중식 데이터 관리를 사용하여 조직의 데이터를 통합하여 검색 및 교육 프로세스를 가속화하세요. 중앙 집중화에 대한 일반적인 접근 방식에는 단일 진실 소스와 데이터 웨어하우스가 포함됩니다.

지속적인 모니터링

모니터링은 DevOps와 MLOps 모두에 필수적이지만 약간 다른 이유가 있습니다.

DevOps:

  • 사이트 안정성 엔지니어링(SRE)은 지난 몇 년간 트렌드였으며, 개발에서 생산까지 모니터링 소프트웨어를 배포해야 할 필요성이 강조되었습니다.
  • 소프트웨어는 ML 모델처럼 성능이 저하되지 않습니다.

MLOps:

  • 기계 학습 모델은 빠르게 성능이 저하되므로 지속적인 모니터링과 업데이트가 필요합니다.
  • 생산 환경의 조건은 모델의 정확도에 영향을 미칠 수 있습니다. 프로덕션에 배포된 후 모델은 실제 세계의 새로운 데이터를 기반으로 예측을 생성하기 시작합니다. 이 데이터는 끊임없이 변화하고 적응하므로 모델 성능이 저하됩니다.
  • MLOps는 지속적인 모니터링과 모델 재교육을 촉진하는 절차를 통합하여 알고리즘이 프로덕션 준비 상태를 유지하도록 보장합니다.

인프라구조

DevOps와 MLOps는 모두 클라우드 기술에 크게 의존하지만 운영 요구 사항이 다릅니다.

DevOps는 다음과 같은 인프라에 의존합니다.

  • 코드형 인프라(IaC)
  • 서버 구축
  • CI/CD 자동화 도구

MLOps는 다음과 같은 인프라에 의존합니다.

  • 딥 러닝 및 머신 러닝 프레임워크
  • 대규모 데이터 세트를 위한 클라우드 스토리지
  • 딥 러닝 및 컴퓨팅 집약적인 ML 모델을 위한 GPU

DevOps 및 MLOps 동향

다음은 DevOps 및 MLOps를 주도하는 몇 가지 주요 동향입니다.

GitOps

DevOps 워크플로의 새로운 진화인 GitOps는 인프라 제어 및 자동화를 위한 새로운 패러다임입니다. Kubernetes용 패러다임을 사용하면 개발자와 운영팀이 Git을 사용하여 Kubernetes 클러스터를 관리하고 컨테이너화된 애플리케이션을 제공할 수 있습니다. 운영 및 개발 팀을 위한 Git 워크플로를 구현하면 개발자가 Git 끌어오기 요청을 활용하여 소프트웨어 배포 및 인프라를 관리할 수 있습니다.

GitOps는 기존 개발 도구를 통합하여 CI/CD를 통해 클라우드 네이티브 및 클러스터 기반 애플리케이션을 관리합니다. Git 리포지토리를 단일 정보 소스로 사용하여 클라우드 네이티브 애플리케이션을 자동으로 배포, 모니터링 및 유지 관리합니다.

GitOps는 Kubernetes에서 클러스터를 구현하고 유지 관리하는 방법입니다. 지속적인 제공 및 배포를 통해 개발자는 증분 릴리스를 통해 소프트웨어를 더 빠르게 구축, 테스트 및 배포할 수 있습니다. Kubernetes 지속적 통합 및 런타임 파이프라인은 파일을 읽고 쓰고, 컨테이너 저장소를 업데이트하고, Git에서 컨테이너를 로드할 수 있어야 합니다. GitOps는 기업이 버전 제어, 실시간 모니터링, 구성 변경 알림을 통해 인프라를 관리하는 데 도움을 줍니다.

합성 데이터

합성 데이터는 실제 사건에서 수집된 정보가 아닌 인위적으로 생성된 모든 정보입니다. 알고리즘은 운영 및 생산 테스트 데이터 세트의 대용으로 사용되는 합성 데이터를 생성합니다. 합성 데이터 세트는 수학적 모델을 검증하고 기계 학습 모델을 교육하는 데에도 사용할 수 있습니다.

합성 데이터의 이점은 다음과 같습니다.

  • 민감하고 규제된 데이터 사용과 관련된 제한을 최소화합니다.
  • 실제 데이터에서는 사용할 수 없는 특정 요구 사항 및 조건을 기반으로 데이터를 맞춤설정하세요.
  • DevOps 팀이 소프트웨어 품질과 성능을 테스트할 수 있는 데이터를 생성합니다.

코드 없는 기계 학습 및 인공 지능

기계 학습에는 모델 훈련을 설정하고 처리하기 위한 컴퓨터 코드가 포함되는 경우가 많지만 항상 그런 것은 아닙니다. 코드 없는 기계 학습은 ML 애플리케이션이 시간이 많이 걸리는 프로세스를 거칠 필요가 없도록 하는 프로그래밍 접근 방식입니다.

CodelessML을 사용하면 전문가가 시스템 소프트웨어를 개발할 필요가 없습니다. 또한 배포 및 구현이 더 간단하고 저렴합니다. 기계 학습 중에 드래그 앤 드롭 입력을 사용하면 다음과 같은 방법으로 교육 노력이 단순화됩니다.

  • 결과 평가.
  • 훈련 데이터를 드래그 앤 드롭하세요.
  • 예보 보고서를 작성하세요.
  • 일반 텍스트 쿼리를 사용하세요.

Codeless ML을 사용하면 개발자가 기계 학습 애플리케이션에 쉽게 액세스할 수 있지만 미묘한 고급 프로젝트를 대체할 수는 없습니다. 이 접근 방식은 내부 데이터 과학 팀을 유지 관리할 자금이 부족한 소규모 기업에 적합합니다.

TinyML

TinyML은 기계 학습 및 인공 지능 모델 개발에 대한 새로운 접근 방식입니다. 여기에는 스마트 자동차, 냉장고, 전기 계량기에 전원을 공급하는 마이크로 컨트롤러와 같이 하드웨어 제약이 있는 장치에서 모델을 실행하는 것이 포함됩니다. 이 전략은 알고리즘 속도를 높이기 때문에 이러한 사용 사례에 가장 적합합니다. 데이터를 서버에서 앞뒤로 전송할 필요가 없습니다. 이는 대규모 서버에서 특히 중요하며 전체 ML 개발 프로세스 속도를 높일 수 있습니다.

IoT 에지 장치에서 TinyML 프로그램을 실행하면 다음과 같은 많은 이점이 있습니다.

  • 낮은 에너지 소비.
  • 대기 시간을 줄입니다.
  • 사용자 개인정보 보호가 보장됩니다.
  • 대역폭 요구 사항을 줄입니다.

TinyML을 사용하면 계산 프로세스가 완전히 로컬이므로 개인정보 보호가 강화됩니다. 전력과 대역폭을 덜 소비하므로 처리를 위해 데이터를 중앙 위치로 보낼 필요가 없으므로 대기 시간이 줄어듭니다. 이러한 혁신을 활용하는 산업에는 농업과 의료가 포함됩니다. 일반적으로 TinyML 알고리즘이 내장된 IoT 장치를 사용하여 수집된 데이터를 사용하여 실제 이벤트를 모니터링하고 예측합니다.

결론

이 문서에서는 MLOps와 DevOps의 주요 차이점을 설명합니다.

  • 개발 – ​​DevOps 파이프라인은 새로운 버전의 소프트웨어 제품 개발에 중점을 두는 반면 MLOps는 효과적인 기계 학습 모델 제공에 중점을 둡니다.
  • 버전 제어 – DevOps는 주로 바이너리 및 소프트웨어 아티팩트 추적에 중점을 두는 반면, MLOps는 하이퍼파라미터 및 모델 성능과 같은 기타 요소를 추적합니다.
  • 재사용성 – DevOps와 MLOps는 모두 재사용 가능한 프로세스와 파이프라인을 만들기 위해 노력하지만 반복성을 달성하기 위해 서로 다른 전략을 사용합니다.
  • 지속적인 모니터링 - 모니터링은 DevOps에서 중요하지만 모델 및 데이터 드리프트로 인해 모델 성능이 저하될 수 있으므로 MLOps에서는 더욱 중요합니다.

마지막으로 가까운 미래에 DevOps와 MLOps를 변화시킬 몇 가지 주요 트렌드를 다룹니다. 이것이 새롭고 흥미로운 개발 생태계에서 귀하의 위치를 ​​찾는 데 도움이 되기를 바랍니다.

위 내용은 MLOps와 DevOps: 차이점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제