부스트캠프 AI Tech과정이 2주전 쯤에 완전히 종료되었다.

 

P Stage2 이후로 후기를 작성하지 않았는데, 과정이 종료되었으니 마지막으로 그동안 밀린 후기를 써보려고 한다.

 

이번 후기에는 P Stage3, 4와 기업 채용 연계(기업 네트워킹)에 관한 내용을 담아보려고 한다.

 

P Stage3

: P Stage3에서는 MRC Task를 선택했다. 프로젝트 이름은 MRC이지만 사실상 Open-Domain QA에 가까웠다.

먼저 문제 해결을 위해서는 두 가지 과정을 거쳐야 했는데, 주어진 질문(query)에 대해 유사한 문서를 찾고(retrieval), 문서 내에서 정답을 찾는 과정(extraction)으로 진행되었다.

문서 내에서 정답을 찾는 것도 중요했지만 유사한 문서를 잘못 찾으면 답도 잘못 나오기 때문에 유사한 문서를 찾는 것이 매우 중요했다.

강의 등에서 최근에는 DPR과 같이 dense embedding을 이용한 retrieval 방법이 sprase retrieval 방법보다 성능이 더 좋아지고 있다는 것을 듣고 시도해보았으나 성능이 너무 안 좋게 나왔다. 그래서 결국 sparse embedding을 사용을 했었다.

P Stage3부터 팀 단위로 프로젝트가 진행되다보니까 문제가 더욱 어려워진 느낌이 들었다.

개인적으로 어떻게 성능을 개선시켜할지 잘 떠오르지가 않았고, 막상 떠올라도 어떻게 구현을 해야되는지 어려운 점이 많았다.

 

P Stage4

: P Stage4에서는 수식인식 Task를 선택했다. 사실상 OCR 문제였는데,  사진 속 수식을 인식하고 이를 latex 문법으로 변환하는 문제였다.

수식인식 문제도 크게 수식 부분을 찾는 detection 부분과 수식을 인식하는 recognition 부분으로 나눌 수 있었다. 이번 스테이지에서는 detection이 수행된 부분을 데이터셋으로 주어져서 recognition부분만 다루면 됐었다.

하지만 P Stage4는 개인적인 사정이 있어서 제대로 참여하지 못했다ㅠㅠ

 

기업 네트워킹

: 아마 부스트캠프에 관심을 가지는 분들은 대부분 "기업 채용 연계"인 "기업 네트워킹"에 관심이 있기 때문이라고 생각한다.

나 역시도 지원을 하기 전에 어떤 기업들이 채용 연계에 참여하는지, 또 실제로 얼만큼 채용이 이루어질지 많이 궁금했다.

채용 연계에 참여한 기업 리스트는 알려드릴 수 없지만 20개 이상의 기업이 참여했고, 예상보다 많은 기업이 채용 연계에 참여한다고 생각했다. 그 중에는 우리가 아는 큰 기업들도 많았고, 인공지능 스타트업으로 유명한 기업들도 있었다. 

채용을 어떻게 진행하는지는 기업마다 달랐는데, 대부분은 부스트캠프 전형을 따로 만들거나 개별 컨택을 통해 채용 연계가 이루어졌다.

다만 채용 연계가 진행된다 해도 코테/과제 => 면접 과 같이 일반 채용과 비슷하게 전형이 진행되는 듯 했다.

나는 채용 연계에 참여를 하지 않았기 때문에 자세한 내용을 알지는 못하지만 생각보다 많은 채용 공고가 올라오고, 뽑는 인원도 꽤 많았던 것 같아서 부스트캠프에서 열심히 한다면 좋은 기업에 취업할 수 있지 않을까 생각한다.

 

지금 생각해봤을 때, 부스트캠프에 참여한 것이 매우 좋은 기회였다고 생각한다. 현재는 산업기능요원으로 군복무를 하고 있는데, 이 역시 부스트캠프 덕분이라고 생각한다.

아마 2기부터는 1기에서의 진행을 바탕으로 교육 과정을 수정해서 더욱 완성도 있는 교육이 이루어질 것 같고, 아마 취업 연계 등도 더 활발히 이루어지지 않을까 생각을 한다.

요즘 부스트캠프 AI Tech 2기를 모집한다는 소식이 있어가지고 합격후기 조회수가 많이 늘어난 것 같다.

 

2기는 1기에 비해 커리큘럼이 바뀐 부분이 많아 보였는데 간단하게 살펴본 것들을 써보고자 한다.

 

먼저 U Stage가 8주에서 5주로 줄어들었다.

 

그래프, 특강 주차가 사라지고 최적화 강의는 프로젝트 부분으로 이동한 것 같았다.

 

따라서 강의는 기초개념과 CV, NLP에 대해서만 이루어지는 것으로 보였다.

 

그리고 P stage도 많이 바뀐 것 같은데 정형데이터, DKT와 같은 프로젝트가 없어지고

 

CV와 NLP 프로젝트 중 하나를 선택하고, 데이터 구축과 배포 프로젝트가 의무적으로 추가되었다.

 

1기에 비해 CV, NLP에 중점을 두고 전체적인 pipeline을 경험까지 할 수 있도록 구성을 변경한 것 같다.

 

나중에 엔지니어로서 채용연계를 노리시는 분이 있다면 서비스 배포까지 경험할 수 있는 거 같아서 상당히 좋은 기회일 것 같다.

 

 

그 다음으로 P Stage2가 끝난지 3주정도 됐는데 많이 늦었지만 P Stage2 후기를 작성하고자 한다.

 

P Stage2에서는 NLP task를 경험해보고 싶어서 KLUE를 선택했다.

 

트랜스포머 기반 언어모델들을 모아서 라이브러리로 만든 huggingface를 처음 써봐서 프로젝트 초반에는 이것에 익숙해지느라 시간을 좀 많이 쏟았던 것 같다.

 

그리고 baseline 코드에서는 학습부분이 huggingface의 trainer를 기반으로 작성되어 있는데, trainer를 쓰면 직접 코드를 수정하기가 어려워서 학습 부분 코드를 작성했는데, 여기서도 시간이 좀 걸렸다.

 

그리고 일단 먼저 entity를 감싸는 special token을 추가해보기로 했는데, 문제를 어떤 식으로 접근해야되나 많이 막막했다. 그러던 중에 다른 캠퍼분이 공유해주신 R-BERT 내용을 보고 entity vector들의 평균을 이용하는 식으로 접근을 하기로 하였다.

 

모델이나 하이퍼파라미터 등은 피어세션이나 토론게시판 등 다른 캠퍼분들을 많은 도움을 받았고 성능도 많이 올릴 수 있었다.

 

예상보다 다양한 시도는 못 해봐서 아쉬움은 있었는데 그래도 P Stage1보다는 등수가 올라서 만족스러웠다. 

어제부로 U스테이지의 모든 교육이 종료되었다.

다음주부터는 본격적으로 프로젝트를 진행하는 P스테이지에 들어가게 된다. 현재 P스테이지 프로젝트 주제를 고르고 있는데, 무엇을 골라야할지 계속 고민중이다.

 

U스테이지를 진행하면서 많은 분야에 대해 얇게 학습한 것 같은데, 학습하면서 내가 많이 부족하다는 것을 느꼈다. 특히 딥러닝 구현이 일반적인 개발과는 결이 좀 다른 것 같아 나한테 맞는 것인가 고민을 하기도 했다. 그래도 아직 많이 해보지 않아서 이런 생각이 든 것 같기도해서 앞으로 구현도 열심히 해봐야겠다.

그리고 낮에 졸린 적이 한두 번이 아니었는데, 규칙적인 수면이 굉장히 중요하다는 것을 많이 느꼈다. 

 

그리고 강의와 관련된 일부 내용이 포함되어 있더라도 외부로 작성해서는 안 된다는 내용이 있어서 그동안 블로그에 올렸던 학습정리는 모두 지우는게 맞다고 생각해서 모두 지웠다.

솔직히 잡을 것 같지는 않은데 지우는게 마음은 편한 것 같다. 그래도 회고 형식의 글은 올려도 된다고 해서 어떻게 작성해서 블로그에 올릴지 고민중이다.

 

 

오늘은 학습 정리를 대신해서 4주차 후기를 짧게 작성해보고자 한다.

 

어느덧 과정이 시작한지는 5주가 되었는데, 설 연휴가 있었던 지난주를 통째로 쉬어서 이번 주가 4주차가 되었다.

 

4주차 강의는 NLP에 대해서 진행되었는데

자연어처리의 굵직한 모델들에 대해서 한정된 강의 시간이지만 정말 많은 내용을 배울 수 있었다.

설명해주시는 내용이 정말 많아서 강의를 듣고, 정리하기까지 제일 많은 시간이 걸렸던 것 같다.

물론 강의에서 모든 내용을 다뤄주지는 않기 때문에 더 자세하게 알고 싶다면 개인적인 학습이 필요한 것 같다.

 

하지만 이번주는 너무 피곤했다....

해커톤과 교육을 같이 병행해서 잠도 별로 못 자서 강의에 집중도 잘 안 되고 너무 졸렸다

앞으로는 교육만 듣기로 결정.........

 

내일부터는 강의와 학습정리도 안 밀리고 과제로 미리미리 해서 저녁에 좀 자유 시간을 보내보고 싶다.

어제 저녁 부스트캠프 AI Tech 최종 결과 발표가 났다.

 

결과는 정말 운이 좋게 합격 했다!!

부스트캠프같은 코딩 부트캠프는 처음 지원해보는 것이고, 코딩테스트도 그동안 해본 적이 없기 때문에 합격할 것이라고는 예상하지 못했다.

 

이번 포스팅에서는 부족하지만 부스트캠프 AI Tech를 지원한 과정들에 대해서 간단하게 작성하고자 한다. 후기를 처음 작성하는거라 필력이 안 좋아도 이해 부탁드립니다ㅋㅋㅋ

 

① 서류 작성

먼저 지원을 위해서는 간단한 프로필 작성과 자기소개서 작성을 해야한다.

자소서 작성이 가장 중요한 것 같은데 나는 부스트캠프 지원을 늦게 했기 때문에 지원 마감날 아침까지 밤을 새며 자소서를 작성했다.

시간이 부족하다보니까 내용을 많이 다듬기는 힘들었고, 그냥 최대한 솔직하게 작성했다. AI엔지니어와 관련된 내용, 딥러닝 학습을 많이 하지는 않았지만 혼자서 하면서 느꼈던 점, 내가 자연어처리를 하고 싶다는 내용 등등의 내용을 작성했다.

② BAT

모든 부스트캠프 지원자들은 BAT(부스트캠프 AI 테스트)를 응시해야 한다.

BAT문제를 풀 때 부정행위 방지를 위해 핸드폰을 통해 문제풀이 하는 모습과 노트북(컴퓨터) 화면을 실시간 녹화 해야했다. 휴대폰 거치대를 사용하지 않아서 최적의 각도를 찾느라 약간 애를 먹었는데 지금 생각해보면 그냥 휴대폰 거치대를 하나 사는게 마음 편할 것 같다.

부스트캠프 지원할 때 "자가진단테스트"라고 BAT관련해서 지원 전에 자신의 수준이 어느 정도인지 판단할 수 있도록 게시해 놓은 문제들이 있었는데, 내 생각에 BAT난이도는 자가진단테스트 문제들보다는 약간 더 어려운 것 같았다.

총 22문제 정도 나온 것 같았고, 문제 유형은 잘 기억이 나지는 않지만 계산 문제가 좀 있었고 파이썬과 관련된 문제도 있었다.

③ 1차 코딩테스트

가장 걱정되었던 부분이 바로 코딩테스트였다. solved.ac등급은 실버5정도로 낮은 편으로 알고리즘 문제를 잘 못 풀기도 하고, 문제를 푸는데 시간도 꽤 많이 걸렸기 때문이다. 알고리즘 문제 잘 푸시는 분들을 보면 문제를 보고 그리디, DP와 같이 어떤 유형의 문제인지 파악할 수 있다고 하는데, 나는 문제를 보면 간단한 그리디 정도만 파악할 수 있고 나머지들은 어떤 유형의 문제인지 파악하지 못하고 그냥 단순히 문제를 풀었다.

코딩테스트 준비를 하기 전에 다른 분들이 올려주신 이전 부스트캠프 코딩테스트 후기들을 살펴보았다. 후기들을 보니 1차 코딩테스트는 그렇게 어려운 문제가 나오지는 않은 것 같아서 백준에 있는 "단계별로 풀어보기"에서 실버 난이도, 프로그래머스에 있는 Level2 난이도를 가지는 문제들을 중점적으로 풀었다.

 

1차 코딩테스트는 총 6문제였고, 테스트 시간은 기억이 나지 않는다. 그리고 BAT처럼 화면을 녹화하지는 않았고, 구글검색과 같은 외부 자료 검색도 허용하였다. 언어는 C, C++, Java, JavaScript, Python정도 허용한 것 같았다.

6문제 중 앞에 3문제는 풀어왔던 백준 실버, 프로그래머스 Level 2정도의 난이도의 문제 같았다. 그래서 먼저 앞에 있는 3문제를 먼저 풀고 다음에 뒤에 3문제는 풀려고 시도하였는데 어려워서 못 풀었다.....

따라서 총 6문제 중 3문제를 풀었다.

④ 2차 코딩테스트

1차 코딩테스트를 반타작 했는데 운좋게 합격하고 2차 코딩테스트를 볼 수 있었다.

후기를 보니 2차 코딩테스트는 1차 코딩테스트보다 어렵다는 의견이 많았다. 하지만 그렇다고 백준 골드 문제를 풀기는 좀 힘들어서 더 다양한 유형의 문제들을 풀면서 대비하기로 하였다.

 

2차 코딩테스트는 총 8문제였고, 테스트 시간은 120분였다. 또한 BAT처럼 시험 보는 모습과 노트북 화면을 실시간 녹화해야했고, 외부 자료 검색은 전부 허용하지 않았다.

시험을 시작하는데 익숙한 문제들이 몇 개 보였다. 아마 1차 코딩 테스트와 같은 문제들이 몇 개 있었던 것 같다. 그래도 문제 수가 많았기 때문이 더욱 어려웠고, 전체적인 문제 난이도도 1차 코딩 테스트보다 더욱 올라간 것 같았다.

나는 먼저 초반 4문제를 풀었고, 5번 문제와 6번 문제를 풀려고 했는데 잘 풀리지 않았다. 5번 문제와 6번 문제 중 한 문제는 3개의 테스트 케이스가 자꾸 틀렸다고 나와서 해결하려고 노력하다가 그냥 제출했고, 나머지 한 문제는 5개의 테스트케이스 정도만 맞은 상태로 그냥 제출했다.

따라서 총 8문제 중 4문제를 풀었고, 부분점수도 있다면 아마 5문제 정도 푼 것 같다.

 

 

이렇게 선발 전형 과정들이 마무리 되었다. 코딩테스트를 준비하면서 부족한 점을 많이 느꼈다. 알고리즘 문제들에 대해서 앞으로 어떤 식으로 학습을 해야할지도 고민을 해야될 것 같다.

그래도 좋은 기회를 받을 수 있어서 감사드리고 부스트캠프가 빡세다고 해서 기대 반 걱정 반 하는 마음으로 기다리고 교육에 열심히 참여해야겠다.

+ Recent posts