티스토리 뷰
(해당 포스트에서 소개하고 있는 "구글 BERT의 정석" 책은 한빛 미디어로부터 제공받았음을 알려드립니다.)
인공지능이 적용되고 있는 생활 분야는 다양하게 있지만, 가장 큰 체감이 느껴지는 분야는 역시 자연어처리(Natural Language Processing, NLP)가 아닐까 싶다. 어느 순간부터 상점 웹페이지에 들어가면 챗봇이 상담을 대신해주기도 하고, 집에도 이제는 어느새 스마트 스피커가 하나쯤은 존재한다. 나같은 경우에는 구글 어시스턴트에 루틴을 만들어서 출근할 때와 퇴근할때 스마트 플러그 제어를 하게끔한다. 참으로 편리한 세상이다.
다양한 NLP 기술들을 회사에서 제공하고 있지만, 이 기술의 원천을 개발하는 양대 산맥은 역시 구글과 아마존이다. 우스개소리로 우리 회사 사람들도 10년을 파고 연구해도 구글이나 아마존이 지배하고 있는 기술은 이길 수 없다고 하는데, 실로 구글과 아마존이 NLP 분야에 미치고 있는 영향력은 관련 학회에 발표되는 논문만 봐도 알 수 있다. 사실 내가 제일 신기했던 것은 2018년 Google Summit에서 발표된 Duplex였다.
기존의 기계음이라고 딱 인지되는 예약대응 시스템이 사람의 음성을 모사한 시스템이 자연스럽게 답변하고, 예약을 해주는 것을 확인할 수 있다. 이 기술의 내면에도 구글에서 발표한 WaveNet이라는 기법이 있었기에 가능했다. (참고로 KT도 작년에 이런 능동대응형 솔루션을 상용화했다. 아마 AICC라고 하는 것 같은데..)
아무튼 구글이 발표한 기술 중 몇가지 대표적인 것이 있는데, 그 중 하나가 BERT라는 것이고, 이번에 다룰 책도 이 BERT의 내부 구조에 대해서 소개한 책이다.
모르는 사람을 위해서 잠깐 소개하자면 BERT는 Bidirectional Encoder Representations from Transformers 의 약자로 역시 구글에서 제안한 Transformer 기반의 환경에서 양방향 인코더를 적용시켜 표현하는 방식을 나타낸다. 사실 아는 사람은 알겠지만, 자연어처리는 다른 분야보다도 훨씬 복잡한 전처리 방식과 시계열 데이터를 처리하기 위한 RNN 구조의 복잡한 신경망이 필요하다. 간단히 생각해봐도, 전세계에는 다양한 언어들이 존재하고, 언어별로도 문장의 배치나 형태가 제각각이다. 또한 각 언어로 표현되는 기술적인 부분도 제각각이다. 분명 이런 기술들을 포괄하고자 하는 언어 표현 모델을 만드려는 시도가 있었고, 이 시도 중에 만들어진 것이 BERT이다.
책의 내용이 전개되는 방향은 BERT를 처음 접한 사람이 구조와 동작원리를 이해할 수 있도록 처음에는 기반 기술인 Transformer를 설명하는 것을 시작으로, BERT의 다양한 응용 기술들, 실제로 NLP에서 BERT를 사용해 처리하는 기법까지 말그대로 수학의 정석을 보는 것처럼 커리큘럼화되어 있다. 물론 배경 내용이 NLP를 조금 다뤄봤던가, 그래도 뭔지는 안다는 사람에게 익숙한 내용을 다루지만. 처음 다루는 사람이라도, 구현하면서 이해할 수 있는 방식으로 내용 전개가 이뤄진다. 책에서 다뤄지고 있는 상세한 내용은 다음과 같다.
- Transformer 모델
- BERT의 동작원리
- Masked Language Model(MLM)과 Next Sentence Prediction (NSP)를 활용한 사전학습
- 상황에 맞는 단어 및 문장 임베딩
- BERT Fine Tuning
- ALBERT, RoBERTa 등 BERT의 파생 모델
- Knowledge Distillation BERT
- XLM, XLM-R
- KoBERT, KoGPT-2, KoBART 모델
사실 이 책이 등장하기 전까지는 BERT가 무엇인지 파악하기 위해서는 논문을 살펴보던가, 공개된 최근 NLP 강의에서 살짝 언급된 내용만 가지고 대충 동작이 이렇구나를 유추하는 정도였는데, 나름 예시와 도식화를 통해서 BERT의 동작원리가 잘 설명되어 있어서, 살짝 맛만 보았던 기술에 약간 간을 맞추는 형식이 될 수 있었다. 특히 BERT의 파생형을 소개하는 부분에서는 다양한 분야에 걸쳐서 적용한 방식들이 소개되고, 이를 실습해볼 수 있는 환경이 구성되어 있어서, 실무적으로 접근해보고자 하는 사람도 선호 분야에 맞춰서 읽을 수 있는 부분이 좋지 않았나 생각한다.
무엇보다도 짧긴 하지만 원서에는 없는 KoBERT나 KoGPT2같은 한국어 언어 모델에 대한 내용도 살짝 다뤄지고 있기에, 관련 연구를 하는 사람에게는 뭔가 시작해볼 수 있는 이정표가 딱 생겼다고 할 수 있겠다. 사실 나는 이 원저자가 쓴 책 중 하나(Hands-on Deep Reinforcement Learning)를 옛날에 읽은 적이 있었는데, 너무 수박 겉핥기 식으로만 기술이 설명이 되어 있어서, "이 사람이 진짜 알고리즘을 이해하고 책을 쓴건가..." 하는 의구심을 가지고 있었고, 더불어 원 저서의 출판사(Packt)에 대한 선호도가 떨어져있었던 상태에서, 기대감 반 호기심 반 심정으로 이 책을 선택했었다. 하지만 역자분들의 배경지식이나 원서의 내용이 BERT의 기본 동작을 충실하게 설명해놓아서 읽기 좋았다. 아무래도 BERT를 심층적으로 다룬 책으로 거의 유일하기에 아마 많이 찾아보지 않을까 하는 생각이 든다.
참고1: 책 표지가 나름 이쁘다!
참고2: 책에 대한 github이 있으니 참고하면 좋을 것 같다.
'Hobby > Book' 카테고리의 다른 글
[Book] 알고리즘 구현으로 배우는 선형대수 (0) | 2022.02.01 |
---|---|
[Book] 파이썬으로 완성하는 비지도 학습 알고리즘 (0) | 2022.01.28 |
[Book] 데이터 과학자 되는 법 (0) | 2021.12.26 |
[Book] 파이썬으로 배우는 자료구조 핵심 원리 (0) | 2021.10.31 |
[Book] 제대로 배우는 수학적 최적화 (0) | 2021.10.24 |
[Book] 만들면서 배우는 파이토치 딥러닝 (0) | 2021.09.19 |
[Book] 패키지 없이 R로 구현하는 심층 강화학습 (0) | 2021.07.18 |
- Total
- Today
- Yesterday
- TensorFlow Lite
- 딥러닝
- 파이썬
- RL
- DepthStream
- reward
- bias
- 강화학습
- End-To-End
- 한빛미디어
- PowerPoint
- Kinect
- arduino
- windows 8
- Kinect for windows
- Distribution
- Off-policy
- dynamic programming
- Offline RL
- SketchFlow
- Windows Phone 7
- Gan
- ColorStream
- Pipeline
- Kinect SDK
- processing
- Variance
- Expression Blend 4
- ai
- Policy Gradient
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |