본문 바로가기

~2023/데이터 엔지니어로 성장하기

ML 모델 개발시 고려할 점

반응형

 

머신러닝 모델을 만드는 가정 하에 데이터 과학자들이 어떤 생각을 하는지 한번 살펴보자.

 

 

 

모델을 만드는 것은 시작일 뿐이다.

그것이 현업에서 어떻게 배포되고 사용되는지에 관심을 가져야지

실제로 내가 만든 머신러닝 모델에 의미가 있는 것이다.

 

 

 

 

데이터 모델 배포 잘 됬어?

 

실제 서비스 엔지니어: "뭐 잘 됬겠지?"

 

이런 마찰이 생기는 원인은 어디서 발생하는 것일까?

 

 

현재도 많은 수의 데이터 과학자들은 R로 데이터 모델을 만든다.

그러나 이것은 실제 서비스에 접붙이기가 쉽지 않다.

 

MLOpes 팀이 생기게된 개념.

(머신러닝 모델의 배포와 운영을 해주고, 그것을 자동화하는 것까지 책임지는 팀)

 

배포를 담당하는 백엔드 엔지니어는 R로 개발된 언어를 받아서

서비스의 java나 python으로 포팅을 하게 되는데, 이것은 2번 일을 하는 것과 다름이 없다.

 

백엔드 엔지니어 론치하다가 현타옴..

 

현재는 이런 모델을 만들 때, 만드는 것에서 끝나는 것이 아니라, 이것을 론치시키는 과정까지

조금 더 길게 스코프를 보는 MLOps 팀이 생기게 된다.

 

MLOps 팀은 개발된 머신러닝 모델을 받아서 이것을 배포하고 운영하는 것까지 책임지게 된다.

예전에는 이 작업을 백엔드 팀이 하고 있었다.

 

 

이런 과정을 담당해주는 프레임워크들도 생겨났다.

AWS의 sagemaker 같은 것들이 대표적이다.

 

 

트위터 같은 경우에는 데이터 과학자들에게 R 사용을 지양하게끔 했다.

파이썬의 특정 라이브러리만 사용해라. - 배포와 운영 과정을 단순화 시킴.

 

AWS - SageMaker와 같이 머신러닝 모델 개발, 검증, 배포를 하나의 프레임워크에서 수행.

 

 

 

모델 개발은 시작일 뿐이다.

운영을 통해 점진적 개선을 이루어야 하는 것이다.

운영하다보면, 예전에 개발된 모델의 성능을 개선해야 한다.(성능이 자연적으로 떨어지기 때문이다.)

반응형