본문 바로가기

공부17

MLOps - 4 리서치 코드 품질 관리 자동화 본 강의에서는 코드 문제 및 CI(+실습)에 대해서 말씀을 해주셨다. 리서치 코드 품질 문제 일반적으로 리서치 조직에서 생기는 코드 품질의 문제에 대해 이해 한다. 복사 붙여 넣기 - 괜찮은 오픈소스를 일단 복사 붙여놓고, 돌아가는지 확인하고 자신의 task에 맞게 바꾸는 경우가 되게 많다고한다. 그러다보니 실제 코드를 만들 때, 관리 및 정리가 부족하고 새로운 것을 적용하려고 할때 어려움이 잦다고 한다. (꼭 다 그렇다는 것은 아니다.) 깨진 유리창의 법칙 품질이 낮은 코드를 쌓아올리기 시작하면, 곧 다른 협업자들의 코드 품질도 떨어지기 시작한다는 것이다. 문제 코드 중복 코드 재사용성 너무 많은 전역 변수 - 당장 쓰기에는 편할 수 있지만, 항상 사이드이펙트를 가져온다... 2022. 1. 6.
Zero Shot, One Shot, Few Shot Learning 1. Zero shot learning 예를 들어, 아이에게 소와 말을 가르쳐주고, 얼룩말은 가르쳐준 동물들의 특징을 합쳐둔 것이라고 설명을 해준다. 그러면 아이는 얼룩말을 본적은 없지만 얼룩말이라고 맞출 수가 있는 것이다. Zero shot learning에서는 Image, Class Label, Side-Information 3가지를 가지고 학습을 해야한다. 2. One shot learning One shot learning은 원숭이의 사진을 가르쳐주면 다른 모양의 원숭이사진을 보여주어도 원숭이라고 맞출수가 있다. 3. Few shot learning Few Shot learning은 여러 종류의 개를 보여주면서 가르쳐주고, 새로운 종의 개를 보여주면 개라는 것을 맞출 수 있는 것이다. 이는 인간에.. 2022. 1. 4.
MLOps - 3 이번에는 MLOps에서 'Weights and Biases'에 대해서 정리를 해보겠다. 실험관리 문제에 대해서 이해를 해야하는데, 이 부분은 나도 공감을 많이 했다. 어떤 모델을 학습시켜서 Test를 하고 그에 따른 결과를 볼 때, 딱 1가지만 학습을 해보진 않는다. 여러 하이퍼파라미터를 가지고 이것 저것 시도를 해본 후, 가장 성능이 좋은 모델을 찾는다. 하이퍼파라미터 뿐만 아니라, 여러 데이터 셋으로 시도를 해볼 수 도 있기 때문에, 아무리 로그를 저장해두더라도 헷갈리기 마련이다. 그래서 'Weights and Biases'를 사용하는 것이다. 위의 2개의 사진을 보면 어떤 느낌인지 확 올 것이라고 생각한다. 1번째 사진의 경우, 학습한 모델을 시각화로 나타낼 수 도 있고 2번째 사진의 경우, 언제,.. 2022. 1. 3.
Python3 vs Pypy3 코테 문제를 접하다가 시간초과에 걸리는 문제가 발생하였다. 계속해서 시도해도 되지않길래 검색을 통해서 해보니 같은 코드여도 python3로는 시간초과가 발생하고, pypy3로는 통과를 하게 되는 것을 알게되었다. https://ralp0217.tistory.com/entry/Python3-%EC%99%80-PyPy3-%EC%B0%A8%EC%9D%B4 https://choisblog.tistory.com/26 두 가지의 차이점을 찾아보니, 쉽게 말해서 Python3 는 CPython으로부터 구현 된 것이기 때문에, CPython은 인터프리터이면서 컴파일러다. 반면에 pypy3는 즉석으로 컴파일하는 방식이고, 인터프리트하면서 자주 쓰이는 코드를 캐싱하기 때문에 느린 실행 속도를 개선할 수 있다. 즉, PyP.. 2021. 12. 19.