" Ops(옵스) 총정리 바로보기! "
1탄 + 2탄
" 3. MLOps(ML옵스) "
머신러닝의 개발·운영에 필요한 것을 최적화하자!
[출처] wikipedia
DevOps가 개발과 운영의 협업, 이에 따른 사고방식과 문화의 변화를 나타내는 개념이라고 하였습니다.
(DevOps에 대한 자세한 내용은 "Ops 총정리 1탄"을 참고해주세요!)
'MLOps'는 이 DevOps의 개념을 머신러닝(ML)에 적용한 것입니다. 즉 DevOps가 고객(최종 사용자)에게 보다 빠르고 안정적으로 서비스를 제공하는 것이 목표라면, 마찬가지로 MLOps는 머신러닝 시스템을 고객에게 빠르고 안정적으로 전달하는 것을 목표로 합니다.
머신러닝(기계학습, Machine Learning)이란 인공지능의 한 분야로 기계가 스스로 학습을 통해 의사결정을 지원하거나 결과를 도출하는 것을 뜻합니다. 주로 딥러닝(심층학습, Deep Learning)과 비교됩니다. 이해를 돕기 위해 자율주행 자동차를 예로 들어보겠습니다.
머신러닝은 사람의 형상은 구분하지만, 자전거·고양이·개는 구분하기 어렵습니다.
[출처] pixabay
"횡단보도를 지날 때에는 사람을 피해야 한다"라는 알고리즘을 만들어 무수히 많은 사람의 형상을 학습시킨 자율주행 자동차가 있다고 해보겠습니다.
머신러닝 관점에서 이 자동차는 횡단보도를 지날 때 사람(또는 사람처럼 인식되는 물체)를 피해서 주행을 할 것입니다. 그러나 딥러닝의 관점에서, 만약 횡단보도에 사람이 아닌 다른 물체가 지나간다면 어떨까요? 또 횡단보도가 아닌 다른 도로 어느 곳에서든 사람이 지나가지 않는다는 보장이 있을까요?
딥러닝 뿐 아니라 머신러닝 역시 만들고 관리하는 일이 쉽지 않습니다. 무수히 많은 사람의 형상에 대한 데이터를 수집해야 하고, 또 상황에 맞게 분석하고 분류해야 합니다.
따라서 MLOps는 머신러닝을 개발하고 운영하는 과정에서 일어나는 원활한 데이터 관리, ML모델의 성능 추적, 서비스 적용, 협업 등의 필요성으로 탄생하게 되었다고 할 수 있습니다.
" 4. DevSecOps(데브섹옵스) "
[출처] Dynatrace
'DevSecOps'는 DevOps의 접근방식에 보안을 뜻하는 "Security"의 'Sec'가 추가된 개념입니다.
DevSecOps는 개발-운영으로 이어지는 소프트웨어의 모든 사이클에서 '보안'을 강화하고 이를 담보하는 것입니다.
고객사 또는 기업의 입장에서 사이버 테러와 같은 가상 공격은 언제나 위협적인 요소로 자리하고 있기 마련입니다.
따라서 DevSecOps를 통해 보안 취약점에 빠르게 패치를 적용해 신속히 대응할 수 있습니다.