◈ 이 책에서 다루는 내용 ◈
◆ 적절한 학습 데이터와 평가 데이터 식별
◆ 적절한 데이터 어노테이터 탐색과 관리
◆ 어노테이션 품질 관리 전략 선정
◆ 정확도와 효율성을 개선하기 위한 인터페이스 설계
◈ 이 책의 대상 독자 ◈
데이터 과학자, 소프트웨어 개발자와 머신러닝을 이제 막 시작한 (또는 최근 데이터 분야에서 자신의 커리어를 시작한) 학생을 위한 책이다. 지도학습과 비지도학습 머신러닝, 머신러닝 모델의 학습과 검증, PyTorch, TensorFlow 같은 라이브러리에 어느 정도 익숙한 사람이면 더 좋겠지만, 이 분야의 전문가일 필요는 없다.
여러분이 더 많은 경험을 하게 됐을 때 이 책이 여러 기법에 관한 유용한 참고서가 되길 희망한다. 또한 어노테이션, 능동학습과 어노테이션을 위한 인터페이스 설계와 같은 가장 보편적인 전략을 담은 첫 번째 책이기도 하다.
◈ 이 책의 구성 ◈
크게 4부로 나눠져 있다. 도입부, 능동학습에 관한 심층 분석, 어노테이션에 관한 심층 분석 그리고 최종 부분으로 구성됐다. 최종 부분에서는 인터페이스 설계 전략과 3개의 구현 예제를 포함해 책의 전반적인 내용을 종합했다.
1부에서는 어노테이션, 능동학습 그리고 사람과 기계가 지능을 가장 효과적으로 결합할 수 있도록 도움을 주는 인간-컴퓨터 상호 작용과 같은 개념을 포함해 학습 데이터와 평가 데이터 생성을 위한 구성 요소를 소개한다. 2장의 마지막에는 뉴스 헤드라인을 레이블링하는 인간 참여 머신러닝 애플리케이션을 구축해 새로운 데이터의 어노테이션부터 모델을 재학습하는 주기를 완료한 후, 어떤 데이터가 다음에 어노테이션돼야 하는지 결정하는 데 도움을 주는 모델을 이용할 수 있게 될 것이다.
2부에서는 능동학습, 즉 사람이 검토해야 하는 가장 중요한 데이터를 샘플링하는 기법을 다룬다. 3장에서는 모델의 불확실성을 이해하기 위해 가장 널리 사용되는 기법을 다루며, 4장에서는 과소 샘플링됐거나 대표성이 부족한 데이터로 인해 신뢰도와 무관하게 모델의 잘못된 지점을 식별하는 다소 복잡한 문제를 다룬다. 5장에서는 다양한 전략을 종합적 능동학습 시스템으로 결합하는 방법을 소개하고, 6장에서는 능동학습 기법을 다양한 유형의 머신러닝 과제에 적용하는 법을 안내한다.
3부에서는 학습 및 평가 데이터에 대한 정확하고 대표성 있는 레이블을 얻는 중요한 주제임에도 때때로 과소평가받는 어노테이션에 대해 다룬다. 7장에서는 데이터에 어노테이션을 달 수 있는 적합한 사람을 찾고 관리하는 방법을 다룬다. 8장에서는 어노테이션에 대한 품질 관리의 기본 사항을 다루고, 정확도와 일치도를 계산하는 가장 일반적인 방법을 소개한다. 9장에서는 주관적인 작업에 대한 어노테이션과 규칙 기반 시스템, 검색 기반 시스템, 전이학습, 준지도학습, 자가지도학습을 비롯해 합성 데이터 생성을 포함한 광범위한 방법을 포함한 어노테이션 품질 관리에 대한 고급 기법을 다룬다. 10장에서는 다양한 종류의 머신러닝 작업에 대해 어노테이션을 관리하는 방법을 배운다.
4부의 11장에서는 효과적인 어노테이션을 위한 인터페이스를 심층 분석하고, 12장에서 인간 참여 머신러닝 애플리케이션의 3개의 예제를 소개한다.
이 책 전반에 걸쳐 이미지와 문서 수준 레이블링, 연속 데이터, 객체 검출, 의미 분할, 시퀀스 레이블링, 언어 생성, 정보 검색과 같은 다양한 종류의 머신러닝 작업 예제와 함께한다.
◈ 옮긴이의 말 ◈
지난해 개최됐던 NVIDIA의 GTC 2022에서 연사로 초청됐던 앤드류 응(Andrew Ng) 박사는 지속적으로 주장해온 바와 같이 알고리듬보다 데이터가 더 중요한 시대로 접어들었다고 천명했습니다(〈AI타임스〉 기사). 이는 이 책의 중심 사상을 가로지르는 철학이며, 저희가 이 책을 번역하기로 마음먹은 이유이기도 합니다.
알파고의 등장과 함께 수면 아래에 잠들어 있던 머신러닝의 잠재력을 깨달은 수많은 기업이 앞다퉈 투자를 시작했습니다. 이제는 머신러닝과 인공지능을 업으로 삼거나 이들의 활용해 비즈니스 기회를 창출하는 기업이 늘고 있습니다. 지금까지는 알고리듬의 발전이 그 중심에 있음을 부인하기 어렵습니다. DNN, CNN에서부터 최근의 Transformer와 GAN까지, 혁신적인 알고리듬과 아키텍처의 발전이 없었다면 지금과 같은 머신러닝의 활황기는 감히 꿈꾸기 어려웠을 것입니다.
최근에는 Google Keras와 TensorFlow, Meta(구 Facebook)의 PyTorch 등 기업 중심의 머신러닝 프레임워크는 물론 Hugging Face와 같은 머신러닝 커뮤니티를 중심으로 누구나 머신러닝 모델의 개발이 가능해졌습니다. 뿐만 아니라 Kaggle이나 Dacon과 같은 머신러닝 경진대회 플랫폼을 통해 자신의 데이터 분석이나 모델 개발 노하우를 담은 코드와 데이터를 세상에 알리고 공유하는 것이 당연한 세상이 됐고, ChatGPT나 Stable Diffusion처럼 바로 활용할 수 있는 플랫폼과 서비스들이 속속 출현하고 있습니다. 앤드류 응 박사가 인터뷰에서 설명한 바와 같이 머신러닝 알고리듬은 이제 상당한 수준에 올랐다고 볼 수 있습니다.
그러나 최신 알고리듬을 기업과 조직이 당면한 문제에 바로 적용하는 일은 여전히 만만치 않은 작업입니다. 그 이유 중 하나는 바로 도메인 데이터 확보에 있습니다. 많은 기업과 조직이 자신들의 머신러닝 알고리듬과 프레임워크는 당당히 공개함에도 데이터만큼은 좀처럼 세상에 공개하지 않습니다. 세상에 큰 충격을 준 Google Brain의 BERT나 Open AI의 GPT 등에 대한 알고리듬은 오픈돼 손쉽게 접근 가능하지만, 데이터 자체를 비롯해 데이터 수집과 정제 과정, 확보 전략은 공개하고 있지 않습니다. 이는 그야말로 자신들의 진정한 비기이자 적들의 침입을 막을 해자(중세 성을 적의 침입으로부터 보호하기 위해 성 주위에 만든 못)이기 때문일 것입니다.
“시장에 알고리듬은 많지만, 쓸 만한 데이터는 귀하다.”라고 할 수 있겠습니다.
그렇다고 아무 데이터나 마구잡이로 가져다 쓸 수는 없습니다. Kaggle, Dacon을 비롯해 국내에서도 AIHUB를 통해 일부 기업의 데이터나 공공 데이터를 공개하고 있습니다. 그러나 머신러닝 모델을 개발해본 실무자라면 잘 알겠지만, 공개된 데이터를 활용하는 것은 한계가 따르기 마련입니다. 이 책에서도 강조하듯이 머신러닝을 적용하려는 도메인과 동떨어진 데이터는 실전에서의 성능 향상에 큰 도움이 되지 않을 것이기 때문입니다. 또한 이러한 데이터로 아무리 최신 알고리듬에 적용한다 하더라도 성능 향상에는 한계가 있을 수밖에 없습니다. 결국 머신러닝을 활용하려는 기업 입장에서는 적절한 알고리듬의 도입과 더불어 양질의 도메인 데이터 확보가 더욱 중요해진 시점입니다.
머신러닝 알고리듬을 충실하고 깊이 있게 소개하는 책과 강의는 시중에 이미 충분히 많습니다. 지은이의 말에서도 말하는 것처럼 Coursera나 Udacity의 머신러닝 강의 중 대부분은 알고리듬에 대한 소개와 설명 및 실습으로 이뤄져 있으나, 양질의 학습 데이터를 확보하기 위한 방법이나 이를 확인하는 방법에 대한 강의는 극히 일부에 불과합니다. 현업에서 느끼는 것도 크게 다르지 않습니다. 많은 사람이 머신러닝 알고리듬에 대해서 말하고 논의하지만, 실무자들은 양질의 도메인 데이터를 확보하는 데 어려움을 겪고 있으며, 이에 대한 중요성을 인식하고 있습니다. 주위의 머신러닝 개발자에게 물어보면 아마 전체 개발 시간 중 80%는 데이터를 확보하고 정제하는데 쓰고 있다고 해도 과언이 아니라고 할 것입니다.
사실상 대부분의 기업에서 비즈니스에 활용하고 있는 머신러닝 알고리듬은 지도학습 방식으로, 이들은 양질의 데이터뿐만 아니라 어노테이션이나 레이블을 필요로 하며 이는 곧 수많은 인력과 전략이 데이터와 어노테이션을 만들어내는 데 필요하다는 의미입니다. 알고리듬과 데이터 사이의 간극을 메우기 위해서는 결국 적절한 도메인 데이터를 확보하기 위한 전략이 필요할 것입니다. 이 책은 양질의 데이터와 어노테이션을 확보하기 위한 다양한 전략과 기법을 광범위하고 깊이 있게 다루고 있습니다. 다른 머신러닝 도서와 달리 알고리듬에 대한 구체적인 소개와 설명은 포함하지 않습니다. 대신 데이터를 통해 머신러닝의 성능을 향상시키기 위한 다양한 기법을 소개합니다. 효율적인 어노테이션을 위한 다양한 샘플링 기법과 프로세스를 다루고 있으며, 사용자 인터페이스의 관점과 어노테이터에 관한 심리 및 조직 관점에서 적용할 만한 다양한 아이디어와 저자의 경험을 망라하고 있습니다. 이 책의 기법과 아이디어를 단숨에 적용하기란 만만하지 않을 것이지만, 기초적이고 단순한 전략에서부터 시작해 기업과 조직의 머신러닝 문제를 데이터 중심으로 풀어가는 데 더 없이 좋은 길잡이가 되리라 생각합니다.