머신러닝과 기술적 분석

[머신러닝] 새로운 모델을 실무에 쉽게 적용하는 방법 본문

Machine Learning

[머신러닝] 새로운 모델을 실무에 쉽게 적용하는 방법

BetterToday 2022. 11. 5. 11:27
728x90

최근에 회사에서 새로운 모델을 구현해보고 있다. 내가 새로운 모델을 구현할 때 또는 새로운 코딩을 할 때 사용하는 방법을 정리해봄.

 

1. 이론 공부는 빠르고 간단하게! : 입, 출력 구조 정도만 파악해도 된다.

 

이론이 안 중요하다는 것은 아니다. 하지만 처음부터 서베이 논문본다고 몇 주의 시간을 사용하는건 별로인듯 하다. 이러고 있드면 회사에서도 안 좋아한다. ㅋㅋ

 

나같은 경우 1번 단계에서는 서베이논문에서 대강의 개요만 살펴보거나 블로그를 참고해서 모델에 어떤 입력이 들어가서 어떤 출력이 나오는지에 대한 대략적인 구조만 파악하고 끝낸다.

 

2. End-to-End 오픈소스 코드를 찾아서 돌려본다 : 단 아주 작은 샘플로! 

예를 들어 object dectiontion 모델을 구현한다면 깃허브에서 오픈소스를 찾아본다. 구현하고자 하는 모델이 정해져 있다면 그 모델의 구현체를 찾아서 돌려본다.

 

대부분의 딥러닝 모델은 학습 시간이 오래걸리는데, 최대한 작은 샘플로 돌릴 수 있게 코드를 정리해가면서 실행한다.

이러면 특정 데이터셋에 대해서 학습 -> 추론 플로우까지는 내가 돌려 볼 수 있는 상태가 된다.

 

3. 오픈소스 코드를 심플하게 정리한다.

보통 오픈소스로 공개된 모델 구현체는 복잡하다... ㅋㅋ 

이걸 간단하게 정리해본다. 정리하는 과정에서 구현체에 대한 이해도를 높일 수 있다.

지금 내가 하는 일에 필요한 코드만 뽑아서 정리함으로써 그 다음단계로 쉽게 넘어갈 수 있다.

그리고 2번 과정에서 학습 -> 추론 플로우의 입, 출력 결과를 돌려 볼 수 있는 상태가 되었으므로 중간에 결과를 확인 해볼수도 있다.

 

4. 이제 데이터셋을 바꿔서 적용한다.

회사에서 쓰는 데이터셋을 구현체의 포맷에 맞게 적용한다. 이 때도 처음에는 아주 작은 데이터셋으로 빠르게 학습 -> 추론 결과까지 확인 할 수 있어야 한다.

 

이러면 사내데이터로 새로운 모델을 태워볼 수 있음.

 

5. 이제부터 고도화! : 논문 리뷰, 파라메터 최적화, 리팩토링 등등

4번 단계에서 프로젝트가 끝나는 경우는 거의없고 이제부터 고도화를 시작한다.

이제 논문도 꼼꼼히 읽고 다른 논문에서 괜찮은 아이디어를 적용해 보기도 한다.

 

큰 데이터셋에 적용할 때 나오는 문제가 생기긱도 하고 그걸 해결하는 과정도 필요하다.

 

 

나 같은 경우엔 모델 구현이 아니라 새로운 언어를 배울때나 뭔가를 구현할 때도 이와같은 과정을 거친다. 누구나 자신에게 맞는 방법이 있는데 나의 경우는 이런 식의 방법이 좋았음..!

 

728x90
반응형
Comments