728x90
Boostcamp AI Tech
141

[Boostcamp Day-87] 머신러닝 프로젝트 라이프 사이클

문제 정의 특정 현상을 파악하고 그 현상에 있는 문제를 정의하는 과정 프로젝트 Flow 현상 파악 -> 목적, 문제 정의 -> 프로젝트 설계 -> Action -> 추가 원인 분석 현상 파악 어떤 일이 발생하고 있는가? 해당 일에서 어려움은 무엇인가? 해당 일에서 해결하면 좋은 것은 무엇인가? 추가적으로 무엇을 해볼 수 있을까? 어떤 가설을 만들어 볼 수 있을까? 어떤 데이터가 있을까? 구체적인 문제 정의 무엇을 해결하고 싶은가? 무엇을 알고 싶은가? 프로젝트 설계 해결하려고 하는 문제 구체화 머신러닝 문제 타당성 확인 목표 설정, 지표 결정 제약 조건 베이스라인, 프로토타입 평가 방법 설계 프로젝트 목표 Goal : 프로젝트의 일반적인 목적, 큰 목적 Objectives : 목적을 달성하기위한 세부 단..

Boostcamp AI Tech 2021.12.08

[Boostcamp Day-86] Model Serving

웹 서버 HTTP를 통해 웹 브라우저에서 요청하는 HTML 문서나 오브젝트를 전송해주는 서비스 프로그램 요청(request)을 받으면 요청한 내용을 보내주는(Response) 프로그램 머신러닝 모델 서버 어떤 데이터(Input)를 제공하며 예측해달라고 요청(Request)하면 모델을 사용해 예측 값을 반환(Response)하는 서버 API(Application Programming Interface) 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 Online Serving 요청(Request)이 올 때마다 실시간으로 예측 클라이언트(application)에서 ML 모델 서버에 HTTP 요청(Request)하고 머신러닝 모델 서버에서 예측한 후 예측 값을 반환(Response..

Boostcamp AI Tech 2021.12.07

[Boostcamp Day-85] MLOps 개론

MLOps란? MLOps = ML(Machine Learning) + Ops(Operations) 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정 머신러닝 엔지니어링 + 데이터 엔지니어링 + 클라우드 + 인프라 머신러닝 모델 개발과 머신러닝 모델 운영에서 사용되는 문제, 반복을 최소화하고 비지니스 가치를 창출하는 것이 목표 모델링에 집중할 수 있도록 관련된 인프라를 만들고 자동으로 운영되도록 만드는 일 최근엔 비지니스 문제에 머신러닝/딥러닝을 적용하는 Case가 많아짐 Production 환경에 배포하는 과정엔 Research의 모델이 재현 가능해야함 MLOps의 목표는 빠른 시간 내에 가장 적은 위험을 부담하여 아이디어 단계부터 Production 단계까지 ML 프로젝트를 진행할 ..

Boostcamp AI Tech 2021.12.07

[실험 일지 Day-82] P Stage - 모델 최적화(경량화)

mobilenetv2를 사용하고 img size는 160 or 192로 설정, width_mult=0.5로 설정하여 학습 -> inference 시간은 이전보다 줄어들었지만 f1 score도 떨어짐 mnasnet으로 다시 돌아와서 width_mult를 0.5, img size 192로 지정하여 학습 -> 학습이 잘 안되어 lr_scheduler를 cosineannealingwarmuprestarts로 사용하여 학습 -> warmup이 안되는 문제가 발생하여 -> cosineannealingwarmrestarts로 변경하여 학습

Boostcamp AI Tech 2021.12.06

[주말 실험 일지 - 일] P Stage - 모델 최적화(경량화)

첫 번째 레이어에서만 hard swish를 적용하고 다시 학습 -> 0.74 후반까지 f1 score가 올라감 -> inference 했을때 이상하게 57초, 1분 1초가 걸림 -> torchscript로 모델을 불러오니 28초가 걸림 -> 성능이 만족스럽지 못하여 dropout(p=0.7)로 설정하여 학습 후반에 overfitting을 방지할 수 있을 것이라는 생각을 가지고 다시 학습 -> 별 차이가 없는 것 같아 중지하고 optimizer는 adam, 마지막 레이어 이전에 dropout(0.5)를 추가하고 다시 학습 -> vla f1 score 0.75~0.76 정도 나옴 -> Average CUDA time 0.022 정도 나옴 -> 0.01 중반까지는 줄여야할 것 같음 MnasNet 코드를 보니 ..

Boostcamp AI Tech 2021.12.06

[주말 실험 일지 - 토] P Stage - 모델 최적화(경량화)

num_class를 6으로 수정 -> 기존에 1000으로 해놓고 있었음 -> Average CUDA time 0.022, inference 54초 img size 224 에서 112변경 후 inference 51초 -> img size 112로 변경 후 학습 -> onecyclelr에서 maxlr과 초기 lr을 같게 설정해주고 있었음 -> maxlr = lr * 10으로 설정해주고 학습 -> warmup 방식보다 maxlr에서 lr을 감소하는 방식이 좀 더 좋은 성능을 보여줌 이미지 사이즈를 112로 변경했을때 test f1 score 0.71~0.72에서 정체됨 이미지 사이즈 224의 0.75인 168로 변경하여 학습 -> 50epoch 학습했을때 좀 더 수렴할 것 같은 여지가 보임 -> 100epoc..

Boostcamp AI Tech 2021.12.06

[실험 일지 Day-79] P Stage - 모델 최적화(경량화)

optuna를 사용하여 AutoML으로 새로운 모델을 탐색 -> 시간이 상당히 오래걸림 mobilenet v3를 automl로 성능향상을 가져왔다고 하는 MoGA 모델을 깃헙에서 불러옴 -> 뭔가 잘 안되고 있음 -> 1epoch에 80 ~ 82초 (train+val) 가 걸림 -> rand augmentation을 적용 -> 성능이 약 2%정도 향상 inference 시간 : Average CUDA time: 0.029426145510253906, CPU time: 0.02918666520000016 제출 결과 f1 score는 0.76 -> 0.771, time은 84.843 -> 83.781으로 성능이 약간 좋아짐 파라미터가 훨씬 작은 MnasNet을 학습 -> inferenece 시간을 확인했을때..

Boostcamp AI Tech 2021.12.06

[실험 일지 Day-78] P Stage - 모델 최적화(경량화)

https://github.com/jacobgil/pytorch-tensor-decompositions/blob/master 에서 tensor decomposition 코드를 확인할 수 있었음 network compiling 관련 라이브러리로 [Glow](https://github.com/pytorch/glow)가 있고 설치법 관련 [블로그](https://goodtogreate.tistory.com/entry/Glow-%EC%84%A4%EC%B9%98%EB%B2%95)가 있음 pre-trained 모델을 load하여 학습 -> f1 score가 약 0.73 정도 나옴 -> 20epoch 쯤부터 overfitting이 일어나는 것 같음 Tensor Decomposition 적용 -> 1초 정도 학습 시간..

Boostcamp AI Tech 2021.12.06
728x90