디카탈리스(DKatalis)에서 데이터 과학 부문의 수석 엔지니어 겸 프로덕트 매니저로, 우수한 머신러닝 엔지니어, 데이터 과학자, 데이터 엔지니어로 구성된 팀을 이끌고 있다. 이 역할에서 데이터 과학과 ML옵스 기법을 적용하여 뱅크 자고(Bank Jago) 애플리케이션을
개선 및 최적화하고, 수백만 인도네시아인의 디지털 경험을 향상하고 있다.
우리는 기술 분야에서 가장 흥미로운 시기에 머신러닝 분야에 종사할 수 있는 행운을 누렸습니다. 머신러닝 분야는 획기적인 연구에서 수십억 명의 삶에 영향을 미치는 실용적인 응용에 이르기까지 숨가쁜 속도로 발전하고 있습니다. 머신러닝 시스템이 연구 논문에서 실제 비즈니스를 구동하는 프로덕션 서비스로 전환되는 과정에 참여한 것은 정말 놀라운 경험이었습니다.
우리 셋(벤저민, 샤눕, 바룬)은 모두 소프트웨어 엔지니어로 경력을 시작했습니다. 머신러닝 엔지니어가 되겠다고 계획한 것이 아니라 우연히 이 분야에 발을 들였고, 각자의 조직에서 머신러닝 모델을 노트북에서 프로덕션으로 옮기는 임무를 맡게 되었습니다. 소프트웨어 엔지니어링 배경이 매우 유용했지만, 프로덕션 머신러닝에는 완전히 새로운 기술과 실무 역량이 필요하다는 사실을 금방 깨달았습니다.
첫 프로덕션 배포는 겸허해지는 경험이었습니다. 훈련 중에 뛰어난 성능을 보였던 모델이 프로덕션에서는 제대로 작동하지 않았습니다. 시스템은 예상치 못한 방식으로 예상치 못한 방식으로 동작하지 않았습니다. 파편화된 도구 생태계를 탐색하며 실제 문제에 효과적인 도구가 무엇인지 알아내야 했습니다. 우리는 수많은 시행착오, 밤늦은 디버깅 세션, 실수로부터의 학습을 통해 신뢰할 수 있는 머신러닝 시스템을 구축하는 데 필요한 것이 무엇인지 점차 이해하게 되었습니다.
이 여정이 이 책을 집필하게 된 계기가 되었습니다. 우리가 배운 것을 정리하여 더 넓은 커뮤니티와 공유하고 싶었습니다. 머신러닝 도구 생태계는 방대하고 파편화되어 있으며, 머신러닝 플랫폼의 모든 컴포넌트에 대해 수십 가지 선택지가 존재합니다. 각자의 조직에서
실험을 통해 프로덕션 시스템에 잘 맞는 도구와 패턴을 찾아냈습니다. 따라서 우리가 경험한 바를 이 책에 담고자 했습니다.
머신러닝 엔지니어링은 아직 초기 단계의 분야라는 점을 유의해야 합니다. 모범 사례는 확립된 것이 아니라 아직 형성 중입니다. 머신러닝 분야는 너무 빠르게 발전하고 있으므로 이 책의 내용을 절대적인 진리로 받아들이지 않기를 바랍니다. 우리에게 효과적이었던 것이 여러분에게는 맞지 않을 수 있으며, 조만간 나은 도구가 분명히 등장할 것입니다.
우리의 목표는 특정 도구에 얽매이지 않는 보편적인 패턴과 원칙을 제공하는 것입니다. 이 책을 처음 구상했을 때, 불과 몇 달 후 챗GPT가 출시되어 판도를 다시 한번 바꾸어놓았습니다. LLM 운영(LLM옵스) 실무는 아직 커뮤니티에서 정립 중이지만, LLM 애플리케이션 구축 경험을 다루는 2개의 장을 포함했습니다. 광학 문자 인식(OCR) 및 영화 추천 프로젝트를 통해, 우리에게 효과가 있었던 것을 기반으로 실용적인 가이드와 오픈소스 도구를 제안합니다.
여러분은 이 책 전반에 걸쳐 실제 프로젝트를 통해 개념을 익힙니다. 또한 OCR 시스템, 영화 추천기를 구축하고 LLM 애플리케이션을 탐구하게 됩니다. 이 책에 포함된 예제들은 그저 단순한 예제가 아니라, 실제 머신러닝 엔지니어링에 수반되는 복잡한 세부 사항을 모두 포함한 프로덕션 시스템의 간소화된 버전입니다. 머신러닝에 관심이 있는 소프트웨어 엔지니어든, 모델을 배포하고자 하는 데이터 과학자든, 이 책은 흥미롭고 도전적인 프로덕션 머신러닝 시스템의 세계를 탐색하는 데 도움이 될 것입니다. 우리는 정말 놀라운 시대에 살고 있습니다!