Deployment이전에는 모델의 성능에 보다 중점을 두게 되실 것이고 deployment이후에는 모니터링과 안정적 운영에 대한 Goal이 추가되지 않을까 생각됩니다. 일반적으로 실제 운영에 ML deployment를 적용하시고 나면 이를 운영하시면서 자연스럽게 해당 모델 개선에 대한 새로운 인사이트를 다시 얻으시곤 합니다.
모델의 형식은 사용하시는 프레임워크에 따라 다릅니다. 예를 들어 Tensorflow인 경우에는 pb파일 또는 checkpoint라고 불리는 형태로 만들어집니다. SK learn과 같은 프레임워크로 모델을 만드시는 경우에는 일반적으로 pickle 과 같은 형태로 만들어집니다. 프레임워크에 따라 모델의 형태가 달라지고 또 실행환경도 달라지게 됩니다.
빠른 실험과 많은 시도가 아닐까 생각됩니다. 작은 목표로부터 시작하여 문제를 해결하면서 기능들을 추가해나가면서 성능을 개선시켜 나가는 방식을 적용하시는 기업에서 가장 빠르게 혁신을 만들어 가시는 것을 보아왔습니다.
문제마다 달라질 것이기 때문에 정확한 비율로 얘기하기는 어렵겠지만 데이터파이프라인의 경우가 일반적으로 훨씬 많은 리소스가 소요됩니다. 데이터 파이프라인에서 관리해야 하는 데이터의 양이 더 많기도 하고 데이터의 소스가 추가되거나 운영중 프로그램 변경으로 인해 유입되는 데이터가 약속된 형태에서 바뀌는 등 많은 이슈들이 발생하게 되고 이를 모두 관리하는 데에 많은 툴과 시간을 투자하시게 됩니다.
MLOps는 ML워크로드의 관리문제를 해결하기 위한 '개념'으로 이해하시는 것이 맞을 것 같습니다. MLOps를 실무에 적용하기 위한 도구가 Kubeflow일 수도 있고 AWS의 SageMaker일 수도 있고 다른 커스텀 도구일 수도 있을 것입니다.
이부분도 장단점이 있을것 같습니다. 조금 비약적이긴 하지만 상이한 클라우드 환경을 안드로이드와 아이폰의 차이 정도로 이해하시면 조금 더 직관적이지 않을까 합니다. 안드로이드와 ios를 둘 다 사용하는 것이 장점일 수도 있고 단점일 수도 있을 것입니다. ^^
오픈소스이기 때문에 하나의 소스로부터 계속 기능들이 자연스럽게 추가되어 혁신이 지속되는 선순환 구조가 만들어지는 것이 또다른 강점일 것 같습니다. 각각의 오픈소스들은 고유의 장단점과 특징들을 가지고 있습니다. 오픈소스가 무료라는 장점은 있지만 그만큼 적용시 Self service로 도구들을 직접 판단하여 적용해야하는 점은 어려움일 수 있겠습니다.
네 말씀하셨듯 해당 부분이 가장 시간도 많이 소요되고 어려운부분입니다. 이 부분이 어려운 것이 도메인에 따라 달라지게 되기 때문입니다. 그리고 그 답은 결국 도메인의 전문지식을 가지고 계신분들이 가장 잘 해결하시는 것 같습니다.