비즈니스 문제를 해결하고 예측하는 데이터 사이언티스트가 되고 싶다면?
#아이펠 

아이펠 리서치 과정 궁금해? 퍼실리테이터가 직접 알려드립니다!

아이펠 리서치 과정은 인공지능 기초부터 AI를 대학원 수준으로 심도 있게 다룹니다. 또한 Multi Modal/MLOps 등 트렌드 기술스택도 학습합니다. Python, 수학 학습 경험 혹은 개발 프로젝트 경험이 있는 분들께 추천드립니다.

2024-04-08 | 허남철

들어가며

안녕하세요. 모두의연구소 인공지능학교 아이펠에서 교육운영을 담당하고 있는 퍼실리테이터 허남철이라고 합니다. 갑분(갑자기 분위기) 자기소개를 한 이유는 오늘은 독자분들께서 많이 궁금해 하시는 아이펠의 커리큘럼을 친절하고 자세하게 소개드릴 것이기 때문입니다!

아이펠(AIFFEL)은 모두의연구소에서 배우고 싶은 누구나 배울 수 있도록 [Share Value Grow Together] 철학을 담아 정성스럽게 만든 인공지능학교입니다. 현재 인공지능 과정은 코어 과정과 리서치 과정으로 두개 과정으로 운영되고 있으며, 데이터분석을 더욱 깊게 학습하는 데이터사이언티스트 과정도 운영중입니다!

간단히 코어 과정은 Python 기초부터 탄탄하게 시작하여 Flutter로 나만의 AI 앱 개발하는 과정입니다. 비전공자이거나 AI가 처음이지만 내 전공/직무에 AI 기술을 더하고 싶은 분들께 추천드립니다. 그리고 리서치 과정은 인공지능 기초부터 AI를 대학원 수준으로 심도 있게 다룹니다. 또한 Multi Modal/MLOps 등 트렌드 기술스택도 학습합니다. Python, 수학 학습 경험 혹은 개발 프로젝트 경험이 있는 분들께 추천드립니다.

이번 글에서는 아이펠의 커리큘럼이 궁금하신 여러분을 위해, 특히 리서치 과정에 대하여 자세히 설명드리겠습니다. (또한 글의 말미에는 리서치 졸업생들의 멋진 프로젝트도 몇 가지 소개하겠습니다.) 새로운 도전을 희망하는 여러분께 조금이나마 도움이 되시면 좋겠습니다!

아이펠 리서치 과정은 총 24주로 구성되어있습니다.

1. 온보딩 [1주차]

1주차는 온보딩 과정으로 한마디로 적응준비기간입니다. 모두의연구소와 아이펠의 교육철학을 간단히 소개하고, 향후 6개월의 교육과정을 성공적으로 참여하기 위한 커뮤니티 기반 성장형 교육을 이해합니다. 그뿐만 아니라, 개발자의 기초 소양GitHub 사용과 터미널을 학습하고 개발자의 필수 소양인 글쓰기 진행합니다. 실습을 통해 학습하고, 학습한 내용을 게임형 퀘스트로 풀어가며, 앞으로 진행될 아이펠의 교육에 미리 적응합니다. 이로써 성장하는 개발자의 첫걸음을 내딛는 것이죠.

Git(깃) : 깃은 분산 버전 관리 시스템(Distributed Version Control System) 으로 여러 명의 개발자가 팀으로 프로젝트를 진행할 때, 소스코드의 버전을 관리하는데 주로 사용됩니다. GitHub(깃헙) : 오픈소스 플랫폼으로, Git(깃)을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스입니다. 많은 개발자들이 팀 프로젝트 or 오픈소스 관리에 사용하며, 개인 프로젝트를 공유하고 피드백 받은 용도로도 사용합니다. 잘 관리된 깃헙을 통해 개발자의 포트폴리오를 갈음하기도 합니다. 터미널과 리눅스 : 터미널은 컴퓨터와 사용자를 소통시켜주는 텍스트 기반 인터페이스입니다. 그리고 리눅스는 윈도우 macOS 와 같이 운영체제(Operating System) 중 하나입니다. 즉 터미널을 통해 리눅스 운영체제를 사용할 수 있는 것이죠. 현재, 많은 개발도구들이 GUI 형태의 인터페이스를 지원하지만, 그렇지 않은 경우도 많습니다. 리눅스와 터미널 명령어들을 익혀둔다면, GUI를 지원하지 않는 개발 환경에서도 당황하지 않을 겁니다.

2. 기초 다지기 [2-3주차]

2~3주차는 기초 다지기 과정입니다. 머신러닝딥러닝의 특징과 기본 개념, 머신러닝에 활용되는 통계 지식을 학습합니다. 또한, 모델 학습 프로세스를 전체적으로 이해함으로써, 문제를 정의하고, 해결 방법을 도출하는 훈련을 시작합니다. 학습한 모델을 바탕으로 적절한 평가지표를 선택하고 분석하는 법을 이해합니다.

머신러닝(ML) : “기계가 학습한다”라는 의미로, 알고리즘을 이용하여 데이터를 분석하고, 패턴을 학습하여 이를 기반으로 판단이나 예측을 하는 것을 말합니다. 딥러닝 (DL) : 머신러닝의 부분집합으로, 머신러닝의 여러 방법 중 인공신경망 기반의 아키텍처와 모델을 사용합니다. 평가지표(Metrics) : 모델의 성능을 대표하는 수치입니다. 단순히 전체 테스트 데이터 중에서 정답을 맞힌 개수 정확도(Accuracy) 뿐만 아니라, Recall, Presion, F1score, IOU, mAP 등등 다양합니다. 해결하고자 하는 문제의 특성에 따라 적절한 평가지표를 사용할때, 모델의 성능을 정확히 진단하고 그 결과 신뢰받을 수 있습니다.

3. 딥러닝 톺아보기 [4-6주차]

4-6주차는 딥러닝 톺아보기 입니다. 말그대로 ‘딥러닝 분야를 샅샅이 톺아 나가면서 살피다’ 입니다! CNN, RNN 계열의 모델들을 개별 Task에 적용하는 과정을 진행합니다. 각 개별 Task에서는 그에 맞는 데이터셋 준비와 전처리 방법을 학습합니다. 또한 적절한 방법론을 적용하여 성능 향상을 만들어냅니다. 이때 정말 중요한 점은 단순한 성능지표의 향상보다도, 선택한 방법론의 근거와 결과를 데이터를 기반으로 설명하는 것과 적용하는 과정에서 발견한 어려움을 어떻게 해결했는가입니다. 일련의 과정을 통해, 딥러닝의 데이터부터 모델, 개선까지 End to End로 학습합니다.

데이터 전처리 : 데이터를 분석 및 처리에 적합한 형태로 만드는 과정을 총칭합니다. 데이터분석, 데이터마이닝, 머신러닝 프로젝트에 적용합니다. 아무리 좋은 도구나 분석 기법도 품질이 낮은 데이터로는 좋은 결과를 얻기가 힘듭니다. CNN(Convolutional Neural Network) : 컨볼루션이라고 하는 합성곱층과 풀링층으로 구성되는 네트워크입니다. 합성곱층은 완전연결층(FC, Fully Conneted layer)와 다르게 필터를 통해 입력 데이터의 공간상 가까운 입력 데이터들 사이의 특징추출에 강력합니다. 그래서 주로 이미지데이터를 다루는 CV (Computer vision) 분야에 많이 활용합니다. RNN(Recurrent Neural Network) : 순환 신경망이라고 하는 인공신경망의 한 유형입니다. 입출력을 시퀀스 단위로 처리하기 때문에. 시계열이나 순차데이터에 사용됩니다. 시퀀스를 순환 구조로 처리하며 이전 정보에 현재 정보가 쌓이면서 갱신되는 정보를 바탕으로 예측하는 구조입니다. 자연어, 음성 데이터 등 순서, 시간이 있는 데이터에 사용합니다.

4. DLthon [7주차]

7주차는 DLthon (디엘톤) 입니다. Deep learning + thon 으로 주어진 task를 팀 프로젝트로 수행합니다. 딥러닝 프로젝트의 전체 과정을 직접 경험하고 해결합니다. 문제정의, EDA와 전처리, 모델선정 및 모델학습, 평가지표 설정과 분석, 문제해결을 위한 적절한 방법론 적용을 통한 개선 그리고 마지막 발표를 통해 피드백을 받습니다. 제 개인적인 생각으로 짧은 기간에 집중도 있는 프로젝트 진행을 통해 정말 얻어 가는 것이 많은 과정입니다. 딥러닝을 적용, 응용하는 하드스킬 뿐만아니라 한걸음 더 나아가서, 프로젝트 관리능력, 의사소통능력, 결과물 발표능력과 같은 소프트스킬도 함께 가져갈 수 있습니다. 또, 밤낮없이 프로젝트 수행하는 교육생분을 보면 저도 많은 동기부여를 받곤 합니다.

5. Deep Dive [8-11주차]

8-11주차는 Deep Dive! 입니다! 한층 더 깊게 딥러닝을 학습하기 위해, CV (computer vision, 컴퓨터 비전) 분야와 NLP (Natural Language Processing, 자연어 처리) 분야 중에서 전공을 선택하여 진행합니다. 각 전공과정은 핵심 내용부터 최신 트렌트 내용까지 다루고 있습니다.

CV 과정에서는 ResNet 모델을 시작으로 데이터 증강 Detection, Segmentation task의 이론과 기술을 실습합니다. 또한 XAI (explainable AI) tool, OCR(Optical Character Recognition, 광학문자인식)을 구현하고 실습합니다. 특히 최신 트렌드 모델인 ViT 와 Stabel diffusion 모델을 학습하고 구현합니다. 이미지 생성 모델에 관심이 많은 분들이라면 꼭 들어보셨을 Diffusion은 GAN, VAE와 함께 이미지 생성 모델의 한 축을 담당하고 있습니다. 단순히 Stable Diffusion (SD) 모델을 학습하는 것뿐만 아니라, Latent space 수준에서 조정되는 요소들이, 실제로 SD 모델의 내부에 어떤 영향을 미치는지 살펴보고, Dreambooth 또는 LoRA를 통해 fine-tuning 합니다.

NLP 과정에서는 다양한 임베딩과 토크나이저의 원리를 이해하고 실습합니다. Bert, GPT 등 LLM의 핵심 아키텍처인 Attention을 학습합니다. 어텐션과 함께 Transfomer 이해하고 직접 구현해 봅니다. 또한 후반부에는 Huggingface 를 통해 모델을 사용하는 방법, 학습구현 방법을 실습합니다. 트렌드 과정에서는 LLaMA, Vicuna 등 최신 모델들을 이해해 보고, 특히 RLHF(Reinforcement Learning with Human Feedback) 방법을 적용하여 KoChatGPT를 구현하는 실습을 진행합니다.

깊게 들어가는 만큼 난이도는 조금 올라가지만, 든든한 퍼실리테이터 분들이 포기하지 않도록 함께할 겁니다.

Object Detection : 이미지에서 객체를 탐지하고, 객체의 위치와 크기, 종류를 구분합니다. Segmentation : Object Detection과 함께 CV task 중 하나로, 이미지에서 개체의 종류를 픽셀 단위로 구분합니다. 자연어 임베딩(embedding) : 사람이 사용하는 자연어를 기계가 처리할 수 있도록 일련의 숫자 형태인 vecture로 변형하는 과정입니다. 대표적으로 word2vec 이 있습니다. 토크나이저 (Tokenizer) : 문장을 일정한 단위로 분할하는 방식입니다. 공백 기반 토크나이져, BPE(Byte Pair Encoding), WordPiece, SentencePiece 등이 있습니다. RLHF (Reinforcement Learning with Human Feedback) : ‘인간 피드백을 통한 강화 학습’으로 인간의 피드백을 활용하여 모델을 최적화 하는 방법입니다.

6. MLOps [12주차]

12주차는 MLOps 입니다. ML(머신러닝)+ Ops(운영)으로 머신러닝 모델의 안정적이고 효율적인 배포와 운영을 말합니다. MLOps 기초 개념과 데이터 중심의 개선 방식은 Data Centric AI를 학습니다. 그리고, FastAPI를 통해 RESTful 개념을 이해해보고, HTTP 통신으로 모델을 서빙하는 방법을 실제 구현해 봅니다. 단순히 모델 수준의 학습과 성능 향상뿐만 아니라 데이터부터 모델, 서빙과 인터페이스를 제작하는 End to End 과정을 경험할 수 있는것은 아이펠과 여러분의 큰 강점입니다.

7. Mini AIFFELthon [13주차]

13주차는 Mini AIFFELthon 입니다. 마지막 프로젝트 과정인 AIFFELthon의 준비 혹은 실험 단계라고 할 수 있습니다. 프로젝트 주제를 선정하고 데이터 수집 및 기획을 진행합니다. EDA, 전처리 등 기본적인 과정도 빼놓지 않습니다. 프로젝트에 사용할 base 모델과 평가지표를 선정하고 빠르게 실험하여 향후 AIFFELthon에서 보완하고 개선할 점들을 미리 탐색할 수 있습니다. 이러한 과정은 프로젝트 초반의 방향성을 잡고 진행의 속도감을 가져다주기에 매우 중요합니다.

8. 논문과 친해지기 [14- 16주차]

14-16주차 입니다. 논문과 친해지기 단계입니다! 제 경험적으로 볼 때 가장 만족도가 높은 과정중 하나입니다. 그래서 이번에는 8편의 논문을 보는 것으로 증편되었습니다. 논문을 빠르게 읽고 이해해 봅니다. CV, NLP의 핵심 논문부터, 최신 트렌드 논문 MultiModal 논문까지 다양하고 깊게 다룹니다. 논문 읽기를 해보지 않은 분이나, 조금 두려운 분께 더욱 추천드립니다.

9. AI 연구 프로젝트 [17-24주차]

17-24주차, 대망의 아이펠 프로젝트 AIFFELthon(아이펠톤) 과정입니다. 팀을 이루어 프로젝트를 수행합니다. 아이디어 기획부터 프로젝트 계획, 관리, 고도화를 수행합니다. 그간 학습한 내용과 기본기를 바탕으로 실제 문제 해결 역량을 십분 발휘합니다. 새로운 문제를 해결하는 과정에서 여러분은 한층 더 성장할 것입니다. 또한 팀장, 팀원의 역할로 프로젝트를 관리하고 수행하며, 시간관리, 역할분담, 원활한 소통 등 소프트스킬도 한층 더 향상될 것입니다!

마무리

여기까지 아이펠 리서치 과정의 커리큘럼을 함께 살펴보았습니다. 이 글이 리서치 과정 도전을 고민하고 있는 많은 분들께 도움이 되었으면 좋겠습니다. 아래에 다른 아이펠 프로젝트 영상을 공유합니다. 그리고 더욱 많은 궁금증을 해결해 줄 블로그도 추가합니다. 더 궁금한 점이 생긴다면 주저하지 마시고 아이펠에 문의 주세요! 이상, 여러분의 멋진 도전을 응원하는 퍼실리테이터 허남철이었습니다 🙂

함께 보면 좋은 블로그

커리큘럼에서 소개한 개념들이 궁금하다면?

글이 도움이 되셨다면 아이펠 신청해볼까요?