오늘 구글 텐서플로우 자격증을 취득했다.
취득 목적 및 과정을 간단하게 기록해두고자 한다.


1. 목적

나는 구글 머신러닝 부트캠프의 수료 조건을 충족하기 위해 자격증을 취득했다.
Coursera의 Deep Learning Specialization 과정을 수강한 상태였고, tensorflow 및 keras는 능숙하게 다루는 수준은 아니더라도 꽤 익숙한 수준이었다.
(물론 개인적으로 pytorch가 더 좋긴 하다)

자신의 텐서플로우 개발 능력을 보여주기 위해 이 자격증을 준비하는 것은 그다지 추천하지는 않는다.
파이썬 및 딥러닝에 대한 지식이 있는 상태에서 (1) 텐서플로우가 어떻게 돌아가는지 간단하게 체험하고 싶은 사람, (2) 단기간에 텐서플로우 모델링을 해보고 싶은 사람, (3) 모종의 동기부여가 필요한 사람에게 이 자격증을 추천할 것이다.


2. 준비 과정

기간 : 5일 (이중 하루는 시험 치는 날)

자격증 준비 과정은 이 코세라 과정이 전부라고 볼 수 있다. 총 네 개 강좌로 이루어져 있고 각 강좌는 4주치로 구성되어 있다.
강의 영상의 길이가 1~3분 정도기 때문에 시간을 어느 정도 투자하면 하루에 한 강좌씩 끝낼 수 있다.
Structured data부터 이미지, 자연어, 시계열 데이터를 다루는데 Deep Learning Specialization의 보충 강의 같다는 생각도 든다.
(실제로 틈틈이 앤드류응 선생의 강의가 추천됨)
주제에 맞춰서 두 강의를 동시에 듣는 것도 좋은 시너지 효과를 볼 수 있을 것 같다. 나는 창의력이 부족해서 그렇게 못했다. ㅎㅎ

한편 시계열 데이터는 DLS에서 다루지 않는 데이터라 이 부분이 약간 생소하거나 어려울 수도 있다.
그러나 시계열은 시험에서 점수 비중이 가장 큰 마지막 문제에서 다루기 때문에 이 부분을 넘길 생각을 하면 안 된다. (!)
물론 시계열 분석에 대한 깊은 지식이나 이해를 요구하는 것은 아니고, 딱 강의에서 이야기하는 수준 정도만 소화할 수 있으면 된다.

나는 강의를 들으면서 블로그에 코드를 전부 받아적었다. 퀴즈는 귀찮아서 패쓰. 과제는 다 했다.
강의 선생님의 깃헙 레파지토리에 코드가 올라와 있기는 하나, 자신이 이해한 방식대로 필기해두는 게 나중에 시험 칠 때 더 편할 것이다.

강의 중간쯤 되면 같은 내용만 반복되는 것 같고 상당히 지겨운 타이밍이 온다.
끝까지 들으면 자격증이 따라온다는 마음가짐으로 다들 완주하길.


3. 시험
3.1. 시험 환경
나는 M1 맥북을 사용하기 때문에 시험 전부터 걱정이 많았다. Miniforge 환경으로 텐서플로우가 구동되게끔 구성은 해놨지만, 시험 안내서에 명시되었듯 conda 환경을 지원하지 않는다.
게다가 시험 안내서의 마지막 부분에 M1 관련해서 코멘트도 있다. M1 환경에서 시험을 구성해본 적이 없으니 안타깝지만 도움을 줄 수 없다고 ㅎㅎ

그래서 … 나는 결국 PC방에 가서 해결했다.
1) 피방 컴퓨터에 python 3.8 설치하고
2) pycharm 21.03 버전 설치하고
3) pycharm 내에서 tensorflow 설치, 구동이 되는 데까지 확인하고 시험을 진행했다.
(파이참 - 환경설정 - interpreter - 더하기 버튼 - tensorflow 검색)

시험을 시작하면 자동으로 pycharm 내에서 시험을 위한 가상환경 venv가 세팅되고 이어 필요한 라이브러리가 알아서 설치된다.
꼭 따로 tensorflow를 설치해둔다든가 하지는 않아도 된다. 돌아가는지만 미리 확인하면 좋다는 말씀.

마지막으로 파이참 - 환경설정 - 플러그인에서 tensorflow developer certificate을 설치한다.

밑에서 더 자세히 이야기하겠지만 코랩에서 문제를 풀고 모델 파일만 제출하는 것도 충분히 가능하다.
대신 필요한 라이브러리가 제대로 설치되지 않았을 때에도 시험이 그대로 진행되는지는 잘 모르겠다.


3.2. 시험 지원
- 텐서플로우 안내서를 면밀하게 읽고 파이참을 셋팅해둔다
- 텐서플로우 자격증 사이트에서 로그인한다
- 운전면허증, 여권을 활용해 신분을 확인한다
- 시험을 구매한다
- 시험 플러그인 내에서 로그인한다
- 시험을 시작한다

이런 플로우다.
신분 확인에 두 시간까지 걸릴 수 있다고 했으나, 나는 바로 통과가 되었다.
시험을 구매할 때 쿠폰을 사용한다고 해도 카드 정보는 입력해야 한다.


3.3. 시험 형식
시험은 강의를 충실하게 들었다면 충분히 풀 수 있을 정도로 나온다. 다섯 개 문제가 주어지고, 각 문제에 속하는 폴더가 하나씩 생성된다. 그리고 그 폴더 안에 저장되는 h5 모델 파일로 채점을 진행하게 된다.
오른쪽에 assistant라는 버튼이 보이는데, 그 버튼을 누르면 저장된 모델을 테스트하고 점수를 확인할 수 있다.
모델을 최소한 한번은 테스트 해야지 제대로 채점된다고 안내되었던 것 같다. 테스트 횟수는 딱히 제한이 없어보였음.

모델링을 위주로 시험이 진행된다고 생각하면 된다. 그 외 자잘한 것들도 물론 나오지만 수업 내용과 완전히 동일.
수업 과제를 풀어본 사람은 알겠지만 레이어는 마음대로 쌓을 수 있게 하되 일정 수준 정확도가 나와야 통과할 수 있는 문제들이 후반에 있었다.
그거랑 느낌이 비슷하다고 생각하면 된다.

문제는 뒤로 갈수록 까다롭고 난이도에 따라 점수 비중도 다르다고 한다.
특히 나는 마지막 시계열 문제에서 상당히 당황했는데, 처음에는 모델 형식이 아예 안 맞는다고 뜨더니 (아마도 output shape 문제였던 것 같다)
어찌저찌 shape 맞췄을 때는 점수가 0점으로 떴다. 나 진짜 여기서 시험 포기할 뻔.
필요하다면 model.summary() 찍어가며 model.compile, fit까지 꼼꼼하게 확인하고 진행하면 된다.

순전히 모델 파일로만 채점이 되기 때문에, 코랩에서 코딩을 하고 모델 파일만 그대로 가져오는 것도 방법이다.
나는 코랩에서 예제 옮겨가고 또 다시 모델 파일 저장해오는 게 귀찮아서 파이참에서 그대로 했다.

각 문제는 5점 만점인데, 통과하기 위해서는 전부 다 5점이거나 하나만 4점인 게 안전하다고 들었다. 실제로 나도 5/5/5/4/5 로 제출해서 통과했다.

시험 시간은 총 5시간이고 나는 그 중에서 두 시간 반 정도를 썼다. 다른 사람에 비해 많이 걸려서 이 정도인 것 같다. 마지막 두 문제에 시간을 많이 들였다.

시험 결과는 거의 제출하자마자 바로 이메일로 받아볼 수 있었다.


혹시 더 궁금한 게 있다면 덧글 주세요.

복사했습니다!