AI 개발자가 전하는 초보 머신러닝(ML) 학생들을 위한 솔직한 조언
들어가며
안녕하세요! 저는 AI 개발자로서 다양한 프로젝트를 수행해왔습니다. 그 과정에서 머신러닝을 배우는 방법과 ML 엔지니어 또는 데이터 사이언티스트가 되는 길에 대한 수많은 질문을 받았습니다.
온라인에는 수많은 조언이 존재하지만, 깊이 고민되지 않은 내용도 많습니다. 그래서 이번 글에서는 실제로 머신러닝을 배우는 데 도움이 되는 솔직한 조언을 공유하려 합니다.
어디서부터 시작해야 할까?
이 부분은 정말 강조하고 싶은 내용입니다. 요즘 많은 사람이 기본기를 건너뛰고 생성 AI부터 배우려고 합니다. ChatGPT, Midjourney, DALL·E 같은 생성 AI 도구는 매력적이지만, 진짜 ML 엔지니어나 연구원이 되고 싶다면 기본부터 배워야 합니다.
기본을 탄탄하게!
다음과 같은 기초적인 머신러닝 개념을 먼저 익혀야 합니다.
- 고전적인 ML 모델: 선형 회귀, 서포트 벡터 머신(SVM), 랜덤 포레스트 등
- 평가 지표: 정밀도(Precision), 재현율(Recall), F1 스코어, 혼동 행렬(Confusion Matrix), ROC 곡선 등
이런 지식은 면접에서도 중요하고, 실무에서 ML 전문가들과 대화할 때도 필요한 기본 소양입니다. 단순히 "트렌디한 기술"에 집중하기보다는 핵심 개념을 확실히 이해하는 것이 훨씬 더 중요합니다.
강의만 듣는 것은 이제 그만!
많은 학생이 ML을 배우기 위해 강의를 듣고 또 듣습니다. 하지만 강의만 듣는 것으로는 부족합니다.
- ML을 이해하려면 수학과 프로그래밍이 필요합니다.
- 기초 강의를 통해 기본 개념을 익혀야 합니다.
- 그러나 그다음 단계에서는 실제 프로젝트를 시작해야 합니다.
머신러닝은 경험을 통해 배우는 학문입니다. 처음엔 길을 잃은 듯한 기분이 들 수도 있지만, 다양한 프로젝트를 진행하다 보면 점점 퍼즐이 맞춰지는 것을 경험하게 됩니다. 따라서 강의를 듣는 데 시간을 낭비하지 말고, 실습을 통해 배우는 것이 중요합니다.
여러분은 소프트웨어 엔지니어입니다
초보 ML 학생들은 "ML 엔지니어가 된다"는 것이 무엇을 의미하는지 모를 때가 많습니다. 심지어 연구원조차도 강력한 소프트웨어 엔지니어링 역량이 필요합니다.
OpenAI 공동 창립자인 Greg Brockman은 이렇게 말했습니다:
"사람들에게 ML 기술을 가르치는 건 소프트웨어 엔지니어링보다 쉽다."
실제로 Google이 발표한 자료를 보면, ML 코드가 전체 프로젝트에서 차지하는 비중은 매우 적습니다. 대부분의 시간은 데이터 처리, 디버깅, 모델 배포 등과 같은 작업에 쓰입니다.
그러므로 ML 공부를 할 때 코딩 경험을 충분히 쌓고, 프로젝트를 통해 실력을 키우는 것이 중요합니다.
최신 기술을 따라잡아야 할까?
매달 수천 개의 머신러닝 논문이 발표되고, 새로운 라이브러리가 등장합니다. 하지만 모든 것을 배울 필요는 없습니다.
예를 들어, Polars는 멋진 라이브러리지만, pandas를 아는 것이 더 유용할 때가 많습니다. 최신 기술을 배우는 것보다 핵심적인 라이브러리를 확실히 익히는 것이 더 중요합니다.
대신, 머신러닝 트렌드를 파악하는 것이 중요합니다.
- FlashAttention, KV-caching, Grouped Query Attention과 같은 효율성 관련 기술
- Retrieval-Augmented Generation(RAG)과 같은 최근 떠오르는 기술
이런 기술들은 최신 연구 분야지만, 적응하는 것이 어렵지 않습니다. 기초가 탄탄하다면, 새로운 기술도 빠르게 배울 수 있습니다.
머신러닝은 시간이 걸리는 과정이다
요즘 "1개월 만에 ML 전문가 되기" 같은 광고를 많이 볼 수 있습니다. 하지만 단기간에 전문가가 되는 것은 불가능합니다.
- 머신러닝을 배우는 데는 시간이 걸립니다.
- 실무에서 유용한 수준이 되려면, 여러 프로젝트를 수행하며 실력을 키워야 합니다.
- Andrej Karpathy도 "어떤 기술이든 10,000시간을 투자하면 전문가가 된다"고 했습니다.
따라서 너무 조급해하지 말고, 꾸준히 학습하고 실습하는 것이 가장 중요합니다.
마무리하며
저는 대학과 연구 경험, 그리고 수많은 프로젝트를 통해 AI 개발자가 되었습니다. 이 과정은 쉽지 않았지만, 배우는 과정 자체가 굉장히 가치 있는 경험이었습니다.
여러분도 꾸준히 학습하고 프로젝트를 진행하다 보면, 어느새 실력이 쌓이고 진정한 ML 엔지니어가 되어 있을 것입니다.
그러니 강의만 듣는 데 그치지 말고, 직접 만들어보고, 실패도 경험하며 성장하세요!
여러분의 머신러닝 여정을 응원합니다! 🚀