티스토리 뷰

728x90

텐서플로우 개발자 자격증 (TensorFlow Developer Certificate)을 취득하는 방법에 대해 소개해보려 한다.

 

구글 머신러닝 부트캠프 과정 중 하나로 TensorFlow Developer Certificate, GCP Data Engineer, ML Engineer 이 세 가지 중 하나를 취득해야 하는 미션이 있었다. 처음에는 이 중에서 ML 엔지니어를 목표로 하였지만, ML 엔지니어 자격증의 방대한 양과 빠듯한 일정 탓에 부담을 느꼈고, 결국 TensorFlow 자격증으로 전향하였다.

 

 영어로 이름 적을걸...

 

TensorFlow 자격증 시험 특징

결론부터 말하자면, 텐서플로우 개발자 자격증은 너무나도 쉽다. 딥러닝에 대해 해박한 지식을 필요로 하는 것도 아니며, 그렇다고 파이썬에 대해 엄청난 숙련도를 요구하지도 않는다. 이 자격증 시험이 쉬운 이유를 간략히 요약하자면 다음과 같다.

 

1. 텐서플로우 개발자 자격증은 오픈북 시험이다.

2. Coursera 강의에서 TensorFlow Developer Certificate 시험 문제를 다룬다.

3. 위 강의에서 나온 문제가 시험에 그대로 나온다.

 

오픈북이라고..? 문제를 다 알려준다고..?

 

감이 오는가? 공식 강의에서 시험 문제를 다루는데, 심지어 오픈북 시험이다. 그러니 합격은 그냥 따놓은 당상이다. 솔직히 변별력이 부족한 시험이라 취업시장에서 그다지 유용할 것이라 보지는 않는다. 애초에 자격증이 취업에 그렇게 유리한 스펙인 것도 아니고,,,,

 

TensorFlow 자격증, 과연 필요한가?

그렇다면 TensorFlow 자격증을 취득할 이유가 있을까?

 

일단 딥러닝 경험이 있는 분들에게는 절대 비추다.

어느 정도 경험이 있는 분들이라면 TensorFlow, Pytorch 등은 닳도록 써봤을 테니 이 자격증을 통해 얻을 수 있는 게 그리 많지 않다. 이 자격증의 범위는 여러 데이터를 전처리하는 방법, 각각의 문제에 대해 어떤 레이어를 써야 하는지 정도이다.

 

뉴비에게도 절대 비추다.

이 자격증은 수많은 딥러닝 프레임워크 중에서 TensorFlow의 진입장벽을 낮추고, 활용률을 높이자는 의도에서 기획된 것이라고 생각한다. 따라서 TensorFlow를 한 번도 만져보지 않은 뉴비분들께서는 나름 도전해볼 만 한데, 문제는 악랄한 가격이다. 자격증 응시료만 해도 100달러로 원화 10만 원을 훌쩍 넘는 가격이다. 이 정도 돈이면 인프런 또는 Coursera에서 TensorFlow와 같은 프레임워크 사용법뿐만 아니라, 폭넓고 깊은 딥러닝 이론에 대해서도 배울 수 있다. 과연 10만 원을 바치면서까지 이 자격증을 취득할 가치가 있을지는 잘 모르겠다.

 

추가로, 딥러닝 엔지니어, 데이터 사이언티스트 등등 이쪽 업계는 상당히 상향 평준화되어있다.

그들 대부분은 캐글이나 데이콘에서 수상 경험이 있거나, 수상을 한 적이 없더라도 그러한 대회에서 데이터를 분석하고 모델을 설계한 경험이 있다. 또한 대부분이 석사 학위를 가지고 있어 사실 기업의 입장에서 TensorFlow 자격증이 크게 와 닿지는 않을 것이다. (이런 분도 탈락하는 곳이 딥러닝 업계다.. 이곳은 이제 고인물의 세계..)

 

그렇다면 왜 취득하였는가?

나는 순전히 구글 머신러닝 부트캠프를 졸업하기 위해 취득하였다. 만약 부트캠프에서 응시료 지원을 해주지 않았더라면 TensorFlow 자격증은 응시하지 않았을 것이다. 또 막상 따고 보니 무언가를 하나 해냈다는 자신감이 생겨, 내 학습 동기부여에도 좋은 영향을 주어서 나름 만족하고 있다.

 

자격증 취득은 비추하지만, 자격증에 대한 내용을 다룬 강의를 수강하는 것은 추천한다. 특히 TensorFlow를 한 번도 다뤄본 적이 없는 뉴비분들에게 적극 추천한다. 그렇다면 어떤 강의를 듣는 것이 좋을까?

반응형

 

학습 방법

딱 두 가지만 보면 된다.

 

1. DeepLearning.AI TensorFlow Developer 전문 자격증 강의

2. Laurence Moroney 깃허브

 

먼저 DeepLearning.AI TensorFlow Developer 전문 자격증 강의는 Coursera에서 수강할 수 있다.

가격은 한 달에 49달러인데 등록 시, 5일 동안 무료로 체험할 수 있다. 4주 코스임에도 불구하고 강의의 양이 그렇게 많지 않기에 무료 기간인 5일 동안 다 끝내는 것을 추천한다. 강의는 다음과 같이 구성된다.

 

1. Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning

2. Convolutional Neural Networks in TensorFlow

3. Natural Language Processing in TensorFlow

4. Sequences, Time Series and Prediction

 

시험 문제는 총 5문제인데 전부 위 강의에서 다룬 예제에서 나온다. 따라서 이 강의를 수강하는 것을 적극 추천한다. 아니 그냥 자격증 취득하려면 필수다. 또한 각각의 강의가 이미지, NLP, 시퀀스 데이터 등 대표적인 문제들을 TensorFlow로 해결하는 방법에 대해 다루기에 자격증이 목적이 아니더라도 TensorFlow에 입문하는 사람이라면 수강하는 것을 추천한다.

 

일바 머신러닝/딥러닝, CNN, NLP, 시퀀스 데이터 등 총 4개의 강좌로 구성된다.

 

다음으로 Laurence Moroney의 깃허브에서 위 강의에서 다룬 모든 예제의 답과 문제를 확인할 수 있다.

강의를 다 수강하고 나서 복습을 하기 위해 일일이 Coursera에 들어가는 것이 귀찮을 수 있는데, 위 강의의 강사이자 Google의 Advocate인 Laurence의 깃허브에서 쉽게 문제와 답을 확인하면 된다. 시험 3일 전부터는 깃허브에 있는 예제만 꾸준히 풀면 무조건 합격할 수 있다. 이때 TensorFlow Deployment 디렉토리는 Laurence의 다른 강의에 대한 예제가 들어있으므로 볼 필요 없다.

 

Laurence가 진행한 모든 강의에 대한 예제들이 업로드되어 있다.

 

참고로 강의에서 다루는 예제들은 빈칸 채우기 형식인데, 시험도 이와 마찬가지로 빈칸 채우기 형식으로 문제가 출제된다!

 

 

시험 환경 준비 및 응시

TensorFlow Developer Certificate를 취득하는 것은 그리 어렵지 않다. 그냥 강의 잘 수강하고, 강의에 있는 예제만 다 풀 수 있으면 된다.

하지만 문제는 시험 환경이다. 이게 제일 귀찮고, 힘겹고, 악랄하다.

 

시험 환경에 대한 공식 문서는 여기서 확인할 수 있다.

일단 내용을 쭉 읽어보면 알겠지만, TensorFlow Developer Certificate를 응시하기 위해서는 Pycharm IDE에 TensorFlow Developer Certificate 플러그인을 설치해야 한다. 이때 플러그인을 사용할 수 있는 Pycharm IDE 버전이 따로 지정되어 있으므로 문서를 참고하여 알맞은 버전으로 설치해줘야 한다. 만약 버전이 높거나 낮을 경우, Pycharm 공식 홈페이지에서 알맞은 버전을 설치해주자.

 

다음으로 플러그인을 설치하고 나면, 우측 상단에 Start Exam이 표시된다. 이 버튼을 누르면 구글 계정을 입력하는 창이 뜨고 여기에 정보를 입력하고 Next 버튼을 누르면 시험 응시에 필요한 라이브러리를 설치하는 단계로 넘어가는데 여기서부터 지옥이 펼쳐진다.

 

윈도우 유저의 경우, 가장 큰 문제는 anaconda 없이 TensorFlow를 설치할 때 문제가 발생한다는 점이다. 하지만 시험 응시 공식 문서를 읽어보면 anaconda 환경을 사용하지 말고, virtual env를 사용하라고 한다. 여기서부터 꼬이기 시작한다. 아니, 프레임워크 공식 문서에서는 anaconda를 이용해 TensorFlow를 설치하라고 하고, 시험 공식 문서에서는 virtual env를 사용하라고 하고 대체 뭘 어쩌라는 건지 혼란이 오기 시작한다.

 

따라서 시험 공식 문서에서 하라는 대로 virtual env를 선택한다면 라이브러리 설치 단계에서 TensorFlow를 설치하지 못했다며 오류가 발생한다. 하지만 오류가 발생해도 다음 단계로 넘어갈 수 있으니 일단 그냥 넘어가 주자. 다행인 것은 시험 채점 도구는 플러그인으로서 h5 파일을 검사하는 방식으로 채점을 하기에, 설정에서 Project -> Python Interpreter를 anaconda로 바꾸더라도 문제가 발생하지 않는다. 따라서 설정에서 Interpreter를 anaconda로 바꿔주면, TensorFlow를 설치하여 정상적으로 빌드를 수행할 수 있다.

 

시험이 시작되고 나서 설정에서 인터프리터를 바꿔줄 수 있다.

 

다음으로 GPU이다.

아무래도 GPU가 없다 보면 모델을 학습하는 데 있어 많은 시간이 걸릴 것이다. 총 5시간의 응시 시간이 주어지기에 시간이 부족하지는 않겠지만, 열심히 학습하고 제출했는데 점수가 3/5가 나오면 모델을 수정하고 또다시 긴 시간을 기다려야 하므로 잘못하면 부족할 수도 있다. 그러나 다행히도 시험 채점 도구는 h5 파일을 검사하는 방식이라 굳이 파이참에서 빌드, 학습, 평가를 진행할 필요가 없다! 대신에 갓 코랩에서 모델을 학습하는 것을 추천한다. 여러분의 컴퓨터보다 수십 배는 빠를 것이다.

 

그렇다면 코랩에서 만든 모델을 h5파일로 어떻게 저장하고, 이를 어떻게 제출하냐고?

앞서 5개의 시험 문제가 주어진다고 하였는데, 이 각각의 문제마다 모델을 h5 파일로 저장하는 코드가 포함되어 있다. 따라서 그냥 각각의 코드를 복사하여 코랩에 붙여놓고 코랩에서 이를 실행시키면 알아서 h5 파일을 디렉토리에 저장한다.

 

좌측 탭에서 디렉터리 폴더를 누르면 저장된 h5 파일을 확인할 수 있다.

 

그리고 이 파일을 복사하여 Pycharm 디렉토리에 있는 문제 디렉토리 안에 붙여넣기 해준다. 마지막으로 Pycharm IDE 오른쪽 탭을 보면 Assistant라는 탭이 있는데 이를 클릭하면 Submit & Test 버튼이 나오는데, 이 버튼을 클릭하여 내가 제출한 h5 파일에 대해 중간중간 평가를 진행할 수 있다.

 

우측의 Assistant 탭을 누르면 Submit & Test를 통해 내 모델에 대해 평가를 수행할 수 있다.

 

5/5를 받는 것이 그렇게 어렵지는 않으므로 웬만하면 5/5가 나올 때까지 수정하는 것을 추천한다. 이 스코어를 향상할 수 있는 방법에 대해서는 아래에서 다루겠다. 마지막으로 5개 문제를 다 풀었을 경우, 우측 상단의 Exam 버튼을 누르면 최종적으로 모든 h5 파일을 제출하고, 시험이 종료된다.

 

스코어 향상 팁

0/5, 1/5, 2/5 일 경우에는 문제의 접근 방식 자체가 틀린 것이므로 문제를 꼼꼼히 읽고 처음부터 다시 진행하면 되는데 애매하게 3/5, 4/5일 때에는 감히 안 잡히는 경우가 있다. 이럴 때에는 다음 방법들을 이용해보자.

 

1. 데이터 셋을 정확한 비율로 올바르게 분할했는지 확인

 

2. 단순히 epoch을 더 늘려보기

 

3. 레이어 더 쌓아주기

 

4. 레이어 종류 바꿔주기

 

5. Conv 레이어 필터 수를 줄여보기

 

6. Dropout 레이어 사용

 

7. 얼리 스탑 콜백 사용

 

다른 궁금한 점이 있으시다면 댓글 남겨주세요!

728x90