본론으로 들어가기 전에, 군대 전역하고 최근에 열심히 사는 나 자신에게 심심한 격려의 말을 전해주고 싶다 ㅎㅎ
개인적으로 이루고 싶은 꿈이 크기에, '꾸준하고 재밌게 하자'라는 말을 항상 내 가슴속에 새겨두며 나의 나름 '첫' 해커톤, 2023 HACKUTHON 후기를 적어보려 합니다.
8월 20일 오후 1시 ~ 8월 21일 오후 5시까지 (총 28시간) 고려대학교 2023 HACKUTHON을 진행했다. 심사 및 결과 발표가 끝난 후 8시에 집에 들어왔는데, 씻고 저녁먹고 침대에 잠깐 누웠더니 눈떠보니 오전 4시.. 계속 자고 싶은데 해커톤의 그 생생한 느낌을 글로 빨리 적어보고 싶어서 이른 시간에 노트북을 켰다:)
여튼.. 결과는 !!
3등! (상금 50만원) ☺️☺️
진짜 기획하고 발표할 땐 심사위원분들의 코멘트가 너무 좋아서 '아 이건 무조건 1등하겠다' 속으로 생각하고 있었는데, 아마 기술 구현 측면에서 감점을 많이 먹은 듯하다. (너무 아쉽다는 말을 이렇게 길게 쓴다 ㅠㅠ)
지원
이번 해커톤에서는 '기획자' 포지션으로 지원했다. 사실 이번 해커톤이 '정말 첫 해커톤'은 아닌데, 정말 첫 해커톤 땐 뭣모르고 '백엔드'로 지원했다가 개발도 못하고 팀이 기권 선언을 해서(심지어 온라인으로 진행해서 대회에 대한 간절함이 적기도 했다) 어영부영 끝났던 경험이 있다. 그래서 이번을 기회로 해커톤에서 많이 배워보고 싶어서, 내가 그나마 서브 역할을 할 수 있는 '기획자'로 지원한 것이다.
이번 고려대학교 2023 HACKUTHON의 너무 큰 장점은,
1. 개인 참가 방식이다.(주최 측에서 자기소개를 할 수 있는 페이지를 작성해 팀 매칭을 도와주었다는 점)
2. 학교 내부 대회이다. (고려대학교 서울캠퍼스 학생들이 참가하는 대회라, 접근성이 매우 쉬웠다는 점)
때문에 큰 마음을 먹고 지원했다.
팀빌딩 행사
8/17 19:00에 고려대학교 크림슨라운지에서 해커톤 팀빌딩 행사를 진행했다. 군대 전역하고 뭣도 모르는채로 해커톤에 지원해서, 아는 사람이 아무도 없었다. 더군다나 가장 걱정이 컸던 점은, 6개의 팀으로 구성될 예정이었는데 참가자 중 디자이너가 4명밖에 없었고, 기획자의 수가 15~16명으로 매우 많았다. 그래서 '아, 이거 잘못하면 팀빌딩때부터 망할 수도 있겠다' 라는 생각이 문득 스쳐지나갔다.
아무렴..걱정은 현실이 되고,, 대부분의 팀에서는 팀장분들이 거의 기획자인지라 디자인, 프론트, 백엔드를 주로 구했고, 기획자 팀원은 많이 구하지 않았던 듯하다. (처음 지원한 팀에서는 나를 받아주지 않았다. 까였다.) 예상대로였지만, 그래도 팀을 들어가야 하지 않겠는가! 너무 다행히도 결국 뭔가 해커톤 참가에 남다른 의미를 두고 있는 팀장분을 만나게 되어 기획자 2, 백엔드 1, 프론트 1, 디자이너 1 의 구성으로 팀빌딩 행사는 마무리됐다. :)
대회 시작 & 아이데이션
8/20 13:00 문래역 올댓마인드라는 공간에서 해커톤을 진행했다. 오프라인 해커톤은 정말 처음인지라, 뭔가 이 자리에서 머리를 쥐어짜내고 기획하고 코딩하는 내가 신기했다.!!
대회 주제는 해커톤 대회 시작 13:00에 공개되었고, 주제는 "소확행(소소하고 확실한 행복)"이였다. 주제 자체는 포괄적인 의미를 포함한 단어인지라. 무엇을 개발해도 끼워맞출 수 있다는 느낌이 강하게 들었다.
대회 시작 13:00 부터 18:00까지 팀원분들과 브레인스토밍 회의를 거쳤고, 정말 정말 많은 아이디어들이 나왔다. (우리 팀에서만 거의 20개 넘게 나온듯.)
임팩트 있는 주제들도 정말 많이 나와서 주제 선정 과정이 가장 힘들었다. 우선 위에 제시된 주제 선정 기준들에 각각 가중치를 주어 아이디어들에 대한 점수를 매겼다. 마지막까지 주제 2개 중 하나 선택을 하느라 정말 오랜 시간동안 회의했다.(8시간의 회의 끝에, 오후 9시에 결정났다.) 그래도 멘토링 진행과정을 거치며 필요성, 수익성, 독창성, 구현가능성 등 여러 가지 측면을 고려하고, 팀장분의 굳센(?) 아이디어 제시 결과, 박효신 목소리로 듣는 이수 노래 플랫폼을 만들어보자(AI 커버 노래 플랫폼)라는 주제로 모였다.
주제 선정 & 기획
사실 주제 선정 이후에도 여러 가지 의견이 엇갈렸다. AI산업에서 가장 큰 이슈로 꼽히는 저작권법 위법의 문제에 대한 의문과, 기존에 나와있는 유튜브나 웹 상에서의 AI커버 노래 제작 사이트/영상과의 차별점에 의문을 두기도 했다. 기획자 포지션이 나로서는 이 점을 염두에 두면서 지속적으로 고민했다.
1. 저작권법에 대한 문제는 여러 기사를 검색한 결과, 구글-유니버셜뮤직의 라이선스 협상 중에 대한 보도자료를 참고했다. AI가 노래를 부르는 것에 대해 원곡자의 반주와 가수의 목소리에 대한 저작권을 로열티로 보상 대체한다는 점을 고려하여 이러한 문제점을 해결할 수 있을 것으로 보였다.
2. 아이디어에 대한 차별점은, 이렇게 산발적으로 유튜브에서 영상으로 올라온다는 점, 웹사이트에서 개인이 직접 데이터를 수동적으로 모아야 한다는 점에서 착안하여 '플랫폼'화하는 것이다. 방대한 양의 가수 목소리나 노래 데이터를 AI로 학습을 시켜서 다양한 조합의 노래 결과물이 나오도록 하는 것이 우리 플랫폼의 큰 구상점이었다.
기술 스택 : AI
우리 기획 상품에서의 핵심 기술은 단연코 AI다. 개발 진행을 하면서 한 팀원분이 '기술 쪽은 AI엔지니어를 대체하는 쪽으로 사업을 구상해 보았다'라는 느낌으로 발표를 진행해도 될 것 같다고 하셨지만, 내 생각은 완전히 달랐다. 명색이 '해커톤'인데, 우리 팀에서의 가장 핵심 기술을 누군가로 대체한다는 방식으로 발표하는 것은 옳지 못하다고 생각했다. 정말 우연스럽게도 내가 최근에 머신러닝과 딥러닝에 관한 공부를 하면서, 이 분야에 대한 관심이 매우 많은 상태였다는 것이다. 그래서 기획자 포지션으로 나왔기는 했지만, AI딥러닝 개발을 일부 병행하면서 진행했다.(이 점 때문에 개발 진행에서 내가 팀원분들께 미안하다는 마음도 동시에 들었다. 하라는 기획은 안하고 개발만 하는 느낌이였어서, 특히나 같이 하시던 기획자분께 가장 죄송하다는 마음이 들었다..ㅠㅠ)
나의 개발 방식은 이러하다. 우선 이 기획에서 AI가 적용된 주요 기술은 크게 두 가지이다.
1. 원곡의 음원을, 가수 음성과 MR로 이분화하는 작업
- 이는 음원 분리 라이브러리인 Tensorflow를 활용하여 보컬과 반주로 분리하였다. 생각보다 너무 쉽게 구현돼서 뿌듯했다.
2. 내가 듣고 싶은 가수의 목소리 데이터(.wav파일)를 학습(Training)하고, 학습된 데이터와 합성하고 싶은 노래를 합치는 작업
- TTS(Text-To-Speech, 음성합성기술)이 필요한 작업이다. 이것이 매우 힘들었다. 짧은 시간동안 구현하기에는 분명 한계점이 있었고, 그래서 기존에 Colab으로 나와 있는 소스를 기반으로 vscode에 간단화하는 작업을 진행했다.
이미지 생성 모델인 Diffusion Model을 활용해서, Diff-SVC라는 툴을 활용하여 구현 시도를 했다. 구현 결과는 처참했다. 코드는 돌아갔지만 목소리 데이터 학습을 하면 도출된 mp3파일에서 목소리가 아닌 잡음이 들렸고, 이를 합성하는 작업도 실패했다.
기술 스택 : 프론트(Front) 및 디자인(UX/UI)
이 부분은 디자이너분과 프론트 담당 개발자분이 맡아주셨다. Figma를 이용하여 UX/UI 디자인을 맡아 주셨는데, 정말 우리가 런칭해도 될 정도의 말끔한 디자인이라 대회를 하면서 계속 속으로 감탄했다. 내가 거의 1시간 걸려서 만든 앱 아이콘도 뚝딱뚝딱하셔서(플러그인 사용! 아래 그림 보면 실력 차이가 상당하다는 것을 한눈에 알아볼 수 있다 ㅋㅋ) 바로 만들어내시는 것을 보고, 디자인도 배울 점이 굉장히 많겠다는 점을 느꼈다. (손도 무척 빨라야 한다)
프론트엔드 개발자분도 작업 진행을 혼자 하셨는데, 외길인생을 걸어가시는 느낌이었다. 아이디어 기획 단계에서 아이디어가 충돌하고 있는 와중에도, 묵묵히 React 코드 구현 하시는 것을 보았다. 나중에 들어보니 예전 해커톤 때 이렇게 의견 충돌이 발생했던 경험이 있었는데, 그때는 온전히 자신의 포지션에 집중하고 잠시 브레인스토밍에서 빠져나오는 것도 팀의 진행도에 기여할 수 있는 방법이라고 말씀해 주셨다. 코드를 짜고, 특정 항목을 클릭하면 원하는 화면으로 넘어가도록 하는 과정을 직접 구현하는 모습을 난 처음 봐서, 정말 대단하다고 느꼈다. 기회가 된다면 꼭 이 작업도 배워보고 싶다.
기획
나와 같이 함께한 기획자 한 분의 기획 와이어프레이밍이 너무 좋았다고 생각한다. Notion을 통해 팀원들의 아이디어를 한 곳으로 모으고 정리하는 것을 보고 속으로 감탄했다. 정말 많은 아이디어가 나왔는데, 모두가 납득할 만한 "주제 선정 기준"을 세우셔서 이 점도 간편했다.
발표 자료를 정리하고, 발표의 구성을 짜실 때에도 개발 작품의 '기능'에만 집중하는 것이 아니라, 필요성, 구현, 기대효과 및 확장가능성을 논리있게 제시하는 것이 발표의 핵심이라는 점을 강하게 어필하셨다. 발표를 할 때에 이러한 큰 틀을 생각하고 발표해야 한다는 점은 스스로 계속 생각하고 있었는데, 이것을 말로 표현하기에 많은 어려움이 있었던 나에게도 '우연하고 간접적인 조언'으로 크게 다가왔다. (기획적인 측면에서 많이 배웠습니다 감사합니다!)
팀장분은 원래 백엔드 개발자 포지션이셨는데, 기획내용 자체가 백엔드의 필요성이 적다고 생각하셔서 기획에 전적으로 참여하셨다. 뭔가 사업가적인 마인드가 처음에는 익숙치 않았지만, 색다르게 발표하려는 점과 부족한 부분을 계속해서 조언해주시고 개선하게끔 말씀하시는 부분에서 배울 점이 많았다고 느꼈다. 이번 팀장님을 보고 나도 다음에는 꼭 팀장을 해봐야겠다는 생각이 들었고, 결단과 배려가 명확한 팀장이 되어야 한다고 느꼈다.
멘토링
2023 HacKUthon에서는 현업에 종사하시는 다양한 분야, 다양한 직군의 멘토분들이 3시간에 걸쳐 멘토링을 진행해 주셨다. 아이디어를 정할 때 고려해야 할 점들을 명확히 짚어주신 첫 번째 멘토분을 보고, 일단 말을 너무 잘하셔서 스타트업이나 기획을 할 때 '말의 능력'이 설득력을 좌우할 수 있다는 생각을 했다. 소통 능력, 꼭 키워야겠다.
두번째 멘토분께서는 개발 담당 쪽이신데, 역시 gamification이나 기술쪽에 관심이 많으셔서 그와 관련된 아이디어에 힘을 많이 쏟는 것을 추천하셨다. 나도 비슷한 생각이라 동의를 했고, 결과적으로 기술적인 능력을 선보일 수 있는 주제가 선정돼서 다행이라고 느꼈다.
가장 좋았던 점은 현업에 직접 종사하시는 분에게 IT산업의 방향이나 내가 고민하고 있는 것들을 직접적으로 물어볼 수 있는 기회가 있어서 너무 좋았다. AI와 보안에 대해서 고민하고 있는데, 실제 산업에서는 개발자 수가 굉장히 희소성이 있어서, 전공 특성을 살려 그쪽으로 나가면 좋겠다는 현실적인 조언도 들었다. 나름대로 전공에 자부심이 있어서, 이런 얘기를 들으면서 굉장히 의미 있는 시간이라고 느꼈다.
결과
6팀이 참가했으며, 한 팀당 3분의 발표와 최대 10분의 질의응답 시간을 가지며 발표를 진행했다. 우리 팀의 경우 기획이나 아이디어, 그리고 플랫폼 구상의 측면에서는 심사위원 분들의 좋은 점수를 받았지만, 구현의 완성도에 있어서 전반적인 아쉬움을 내보이신 것 같다. 그래서 결국 3등으로 이번 해커톤을 마무리했다.
개선점
1. 개발 실력 - 일단 내 개발실력이 처참하다는 것을 계속적으로 느꼈다. AI공부를 했지만 더 더 많이 공부하고, 연구하고, 직접 코드를 구현해보는 연습을 많이 해야겠다고 생각했다. 이번 해커톤에서 미처 구현하지 못했던 음성합성 Diff-SVC를 다시 한 번 더 시간을 내서 구현해보려 한다. 다음 학기 시작하기 전까지 꼭 해봐서, 추후 피드에 실행결과를 올릴 예정이다!!!!
2. 포지션에 따른 완벽한 분배 업무 - 해커톤에서 포지션에 따른 완벽한 분배가 너무나도 중요하다는 것을 깨달았다. 이번에 조금 아쉬웠던 점은, 우리 팀이 아이디어 브레인스토밍에 너무 많은 시간을 할애했다는 점이다. 특히나 개발 기간이 짧은 해커톤의 경우 기획자 분들이 제시하시는 객관적인 score화를 통해 결단적이고 신속한 아이디어 선정이 필요함을 느꼈다.
3. 해커톤과 같은 작업프레임/작업구조에 익숙해지는 것 - 해커톤 팀 활동 자체가 회사에서의 한 팀과 비슷하다고 느꼈다. (물론 회사 경험도 아직까지는 없지만..) 이러한 분업화된 구조에 익숙해지는 것이 나에게 있어서 가장 개선해야 할 점이라고 생각한다.
4. 영어실력, 세일즈능력, 소통능력 키우기 - 많은 사람들을 만나고, 어학 공부도 필수적임을 몸소 느꼈다. 이 부분은 더 열심히 하자.
마치며
사실상 내 생애 첫 제대로 된 해커톤이었다. 뭔가에 미쳐서 밤을 새는 경험도 의미 있었다. 첫 해커톤인 만큼 조금은 어수룩한 모습들을 많이 보여줬는데, 다음에 다른 대회에 참여한다면 뭔가 더 계획적으로 팀 업무에 임할 수 있을 것 같다. 이러한 대외활동 진짜 많이 해서 내 스펙도 쌓고 능력도 길러나갈 것이다. 고생했다~~~
'대외활동&프로젝트&대회' 카테고리의 다른 글
[프로젝트 후기] 닉네임 생성기 프로그램 프로젝트 후기 -[Prometheus] (0) | 2024.03.02 |
---|