처음부터 시작하는 개발자

[KT 에이블스쿨] AI 개발자 과정 4기 1/3을 지나가며 본문

대외활동/KT 에이블스쿨

[KT 에이블스쿨] AI 개발자 과정 4기 1/3을 지나가며

hwcho0456 2023. 9. 26. 01:04

2023년 8월 8일부터 KT 에이블스쿨에서 AI 개발자 교육을 시작한 지 약 한 달 반이 지났다. 그동안 글쓰기에 소홀했던 부분들도 있어서, 이 기회를 통해 지금까지의 학습 과정을 요약하고자 한다.

 

1. 에이블스쿨 AI 개발자 교육과정

 

교육 과정은 대략 반년 정도로 구성되어 있으며, 내 개인적인 시각에서 이를 세 부분으로 나눠볼 수 있었다.

 

1/3 - AI 과정

이 시기에는 파이썬 기초부터 시작하여 데이터 분석, 머신러닝, 딥러닝 전반에 걸친 내용을 학습한다. 특히 CNN(합성곱 신경망), RNN(순환 신경망), 그리고 XAI(설명 가능한 인공지능)에 대한 이해를 다진다.

 

이는 AI 개발자 과정의 핵심 과정이지만, 짧은 교육과정인 만큼 이론을 깊게 배우기 보다는 실무적으로 유용한 라이브러리들을 중점으로 배웠다. 따라서 강사님들께서 추가로 제공해주신 참고 자료들도 함께 정리하며 별도의 학습 시간을 가질 계획이다.

2/3 - 웹 개발 과정

웹 개발 과정에서는 IT 인프라와 웹 프로그래밍, 가상화 기법(Docker 등), SQL 등을 배운다. 그 후 파이썬 기반의 풀스택 웹 프레임워크인 장고를 주요하게 다룬다. 이 단계는 앞서 배운 AI 지식을 실제 서비스로 구현하는 방법을 익히는 서브과정으로 보아야 할 것 같다. 그래서 빠르게 개발가능한 장고가 선택된 것이 아닐까?

3/3 - 빅 프로젝트

빅 프로젝트를 통해 그동안의 배운 지식들을 가지고 반별로 조(랜덤)를 이루어 AI 서비스를 직접 개발하게 된다. 사실 지금까지 배운 것들을 활용하여 내 역량을 한꺼번에 보여줄수 있는 기회라 가장 중요한거 같다. 잘 만들기만 한다면 kt에 어필하는 동시에 좋은 포트폴리오가 될 수 있으니 최선을 다해야겠다.

 

---

 

1/3 지금까지 배운 것들은 다음과 같다. 나중에 주차별로 정리해야지.

 

git은 웹 개발 과정에 있어야 할 거 같긴 한데, OT의 느낌으로 맨 처음 git을 배운다. (물론 지금의 미프까지는 사용해본 적 없다.)

 

그다음 파이썬 기초문법을 배우는데, 사실상 jypnb(주피터 노트북) 사용법을 배우기 위한 느낌이 강하다. 그래서 파이썬 문법 외에도 mdx 문법도 학습한다. 참고로 jypnb는 나중에 캐글, 코랩 등의 유명한 AI 개발환경의 주요 포맷이다. 학습 과정도  jypnb를 이용해 진행했고.

 

데이터 분석에서는 데이터 전처리, 변수 분석에 필요한 통계 지식과 파이썬 Numpy, Pandas, 시각화 도구(Matplolib, seaborn)를 배운다. 변수들을 가공하는 법과 변수들의 상관관계를 보고 이를 이쁘게 그래프로 그릴 줄 알면 사실 다 배운 것이다. 기획 보고서에 필요한 지식.

 

머신러닝에서는 파이썬 sklearn을 이용해 여러 모델을 배우고 학습시키는 법을 익혔다. 회귀, KNN, 트리, 가장 성능 잘 나오는 앙상블까지. 덤으로 정규화, 용도별 데이터 세트 분리, Grid Search, Random Search를 이용한 하이퍼파라미터 튜닝도 배웠다. 이미 잘 알려져서 그런지 이론보다 다양한 실습으로 빠르게 곁다리로 배우는 느낌이 강했다. (질보단 양)

 

딥러닝에서는 주로 이론을 확실히 많이 배웠고, 실습은 TensorFlow를 이용했다. 추세는 Pytorch > Keras 잡아먹은 Tensorflow 이긴한데 (요즘은 Jax라는 것도 생겼다), 처음에 배우기에는 확실히 편하다. 마지막에는 만들어진 AI를 편하게 가져다 쓸 수 있는 HuggingFace와 이를 빠르게 웹 서비스화 해볼 수 있는 파이썬 Gradio 라이브러리를 배우는데, 진짜 신세계였다.

 

CNN에서는 주로 Convolutional Layer에 대한 이론적인 부분을 배우게 되었다. 나중에는 이를 활용한 객체 탐지 이론과 관련 모델인 Ultralytics의 YOLO(You Only Look Once)에 대해 학습하고 실습했다. 생각보다 성능이 좋아서, 실제 생활에서도 다양하게 응용될 수 있을 것 같다는 인상을 받았다. 또한 Roboflow라는 객체 탐지 관련 웹사이트도 알게 되었는데, 정말 편하다.

 

추가로 교육과정이 반년밖에 되지 않는 만큼, 지식적으로 깊게 들어가진 않는 대신 실용적인 부분을 중점으로 배운다. 그러나 중간중간 강사님들이 추가적으로 책이나 레퍼런스 등을 알려주시는데, 이를 이용해 더 깊게 공부해야 한다.

 

또한 빅프로젝트 이전에는 중간중간 미니프로젝트가 존재하는데, 특정 학습파트가 끝나면 배운 것을 활용해 직접 실습해보는 시간이다.

조를 이루어서 과제를 수행하고 마지막에는 희망하는 조만 짤막한 발표를 하게 된다. 확실히 잘하시는 분도 많았고 새로운 인사이트 얻는 데도 도움이 된다.

 

---

2. 반별 자발적 참여활동

KT 에이블스쿨에는 20~30명씩 반으로 묶어두고, 이 반 안에서 활동을 진행한다. 다른 반과의 만남은 아직은 줌을 통한 OT와 미니프로젝트 전체 발표뿐이었다. (+번외 해커톤) 그리고 반마다 한 명의 반장(처음에 뽑고 끝)과 여러 명의 기자단(언제든지 지원 가능)을 뽑는다.

반장은 반을 이끌고 기자단은 나처럼 블로그 등에 글을 쓰면 된다. 여유가 있다면 지원하는 게 좋겠다. 우수 에이블러가 되기 위해.

 

3. 코딩 마스터스

수료 후 취업을 목표로 설계된 교육과정인 만큼, 코딩테스트도 준비시켜준다. 총 두 번 진행하는데, 한 달 동안 100문제를 난이도별(기초, 초급, 중급, 고급)로 던져주고 각자 풀게 한다. 체감 난이도는 백준을 기준으로 기초는 브론즈 이하, 초급은 브론즈~실버 초, 중급은 실버 후 ~ 골드 초, 고급은 골드 후 ~ 플레 초 정도 되는 거 같다. 이 기간 동안 100문제를 다 풀면 그랜드 마스터, 70문제 이상을 풀면 마스터라는 상을 받을 수 있다고 한다.

 

 이 기간이 끝나면 남들이 푼 풀이를 참고할 수 있고, 이후 실제 코테처럼 프로그래머스로 코딩테스트를 본다. 아마 잘 보면 kt 지원 시 코딩테스트 면제 등의 혜택이 있지 않을까? 그랜드 마스터라는 타이틀에 걸맞게 코딩테스트도 열심히 준비해야겠다.

 

번외:  K-디지털 트레이닝 해커톤

KT 에이블스쿨이 KDT 과정 이니만큼 K-디지털 트레이닝 해커톤에 참가할 수 있는 자격이 있는데, 이게 참 좋은 게 딱 빅 프로젝트 전에 해커톤 일정이 전부 끝난다. 그래서 빅프로젝트 전에 빅프 예방주사 또는 프로젝트가 마려운 사람들에게는 꽤 괜찮은 선택지가 될 수 있다고 생각한다. 나 또한 반에서 팀을 꾸려 지원한 상태인데, 해커톤 사이트를 보니 이전 해커톤 대회에서도 KT 에이블스쿨에서 수상팀들이 여럿 나온 거 같기도 하고 여러모로 기대되는 부분이다.