티스토리 뷰
요즘 인공지능/딥러닝 연구 중 가장 뜨거운 분야는 자연어처리(NLP)입니다. 그래서 이번 글에서는 자연어 처리가 왜 주목받고 있으며 자연어 처리의 연구 및 서비스 제공은 누가 주도하고 있는지에 대해 알아봅니다.
자연어 처리(NLP)란?
자연어 처리(natural language processing)란 인간이 사용하는 언어에 대한 이해 및 이를 바탕으로 한 다양한 인공 지능의 활동을 가리킵니다. 우선 "자연어"라는 말이 어색할 수 있는데 "기계어"에 반대되는 말로 해석하면 이해가 쉽습니다. 지금까지 컴퓨터는 사람이 작성한 Code를 컴파일러를 통해 기계어로 변환한 다음 이를 바탕으로 연산을 수행했습니다. 하지만 사람이 자연어를 Code로 바꾸고 다시 이것을 기계어로 변환해온 기존 프로세스와 달리 이제부터는 바로 사람들이 일상 생활에서 사용하는 "자연어"를 Input으로 해서 연산을 한다는 의미입니다.
자연어 처리는 인간 지능 중 가장 기본이 되는 능력이기 때문에 인공지능 연구자들 사이에서 인간 수준의 지능을 달성하기 위해 필요한 가장 중요한 핵심 요소로 생각되었습니다. 우리의 일상을 생각해보더라도 키보드를 통해 작성한 문서/문장 혹은 대화의 형태로 커뮤니케이션하고 여러 가지 일을 합니다. 또한 학교/학원에서 무엇인가를 배웠던 기억을 떠올린다면 Text(교과서)를 바탕으로 했음을 떠올릴 수 있습니다. 따라서 컴퓨터가 자연어에 대한 이해 및 반응을 인간 수준으로 할 수 있게 된다면 활용 가능한 분야가 매우 많기 때문에 많은 기업/연구 기관이 자연어 처리의 연구 및 적용에 힘을 쏟고 있죠.
자연어 처리는 어떤 기능을 수행할 수 있나?
이렇게 말하면 자연어 처리가 추상적으로 느껴질 수 있는데 현재 아마존과 구글이 제공하는 자연어 처리 서비스는 다음과 같습니다.
- 키워드 추출: 문장 내에서 핵심 단어를 파악하고 빈도를 제시
- 감정 분석: 문장/문단 별로 글쓴이의 감정을 파악 -> 제품 리뷰 등에 활용시 긍정/부정 리뷰 판단 가능
- 주제 모델링: 다양한 문서들이 각 어느 주제에 해당하는지 분류
- 번역: 한 언어에서 다른 언어로 내용 번역
아직 자연어 처리 연구가 성숙 단계로 접어들지 않았기 때문에 현재 제공되는 서비스는 위 수준이며 앞으로 자연어 처리 서비스가 계속적으로 발전시 다음의 서비스가 가능할 것으로 예상됩니다.
- 일상적인 대화 수행: 콜센터, 챗봇과 같은 Customer service 수행 가능
-> Google이 2021년 발표한 LaMDA는 명왕성에 대해 자연스러운 대화 수행 - 기술/학술 문서의 요약: 전문 지식이 필요한 분야의 문서에 대해 핵심 내용 요약 가능
- 문서 작성: 기존의 문장 패턴에 대한 학습을 바탕으로 주어진 정보에 기반한 문서 작성
-> GPT-3는 상당 수준의 기사 작성 수준 보여줌
자연어처리의 연구 및 구현은 누가 주도하는가?
이렇게 시장 잠재성이 높은 자연어 처리에 대한 연구 및 구현은 4대 DC업체(구글, 아마존, 페이스북, 마이크로소프트)와 엔비디아 및 연구 기관인 Open AI가 주도하고 있습니다. 자연어처리의 연구를 4대 DC와 엔비디아가 주도하는 상황은 자연어 처리 학습 부담과 관련 있습니다. 지난글(자기지도 학습이란?)에서 설명했듯이 딥러닝 모델의 정확도는 대체로 모델 사이즈에 비례하며 큰 모델 사이즈의 학습을 위해서는 대용량의 데이터가 필요합니다. 자기지도 학습 방식의 도입을 통해 학습 데이터 확보가 쉬워졌고 이를 통해 모델 사이즈 증가가 가능했지만 여기서 한 가지 문제가 남습니다. 큰 규모의 딥러닝 모델을 많은 양의 데이터로 학습하기 위해서는 대규모의 하드웨어가 필요하죠. 여기서 말하는 하드웨어는 엔비디아의 GPU와 여기 탑재된 HBM이며 이 둘의 조합은 매우 비쌉니다. 따라서 이러한 하드웨어 비용을 감당할만한 능력이 있는 4대 DC 업체 및 엔비디아 정도가 자연어 처리 연구를 주도적으로 할 수 있는 것이지요.
그렇다면 자연어처리 모델을 개발 하는데 어느 정도 비용이 들까요? 블로그(towardsdatascience.com)에 따르면 Open AI가 발표한 자연어처리 모델인 GPT-3의 학습을 위해서는 아마존(AWS)의 GPU 사용 비용 기준으로 1,200만 달러가 필요하다고 합니다. 이 것은 GPT-3 최종 모델 1개만을 고려한 비용이며, 그 전에 거쳤을 다양한 trial-and-error를 고려한다면 실제 사용된 하드웨어 비용은 훨씬 높겠죠. 딥러닝 연구원들의 연봉도 상당히 높은 수준이지만 이에 못지 않게 학습을 위한 하드웨어 비용도 엄청난 부담이 됩니다. 일반적으로 영상인식과 관련된 모델의 Parameter 수가 수십~수백만개 수준인데 반해 대표적인 NLP 모델인 GPT-3의 경우 Parameter 수가 1,750억개로 약 천 배 차이가 나는 상황입니다. 따라서 학습 부담도 큰 차이가 있겠죠.
Open AI는 누구지?
제가 위해 언급한 자연어 처리 연구 주체 중 생소한 이름이 있을 겁니다. Open AI죠. Open AI는 2015년 일론 머스크 및 실리콘벨리 사업가들의 주도로 인간 안전에 해를 끼치지 않는 AI 기술의 개발을 위해 비영리 기관으로 설립되었습니다. 그 후 2019년 제한적 형태지만 영리 기관으로 전환했는데 대부분의 사람들은 자연어처리로 대표되는 대규모 딥러닝 모델 연구를 위한 하드웨어 비용 충당 목적으로 해석합니다. Open AI가 개발한 3세대 자연어 처리 모델인 GPT-3는 정확도가 높으면서도 Fine-tuning이 적게 필요해 쉽게 적용할 수 있다는 장점 덕분에 많은 주목을 받았습니다. 이중 눈여겨볼 사항은 마이크로소프트와의 협력 관계입니다. OpenAI와 마이크로소프트는 GPT-3의 마이크로소프트 적용을 목적으로 Exclusive license를 맺었으며 협력 결과도 조금씩 나오고 있습니다. 그 중 하나는 마이크로소프트 앱 개발 도구인 '파워앱스'에 적용된 기능인데 GPT-3의 자연어처리 기능을 활용해 인간이 자연어 형태로 원하는 프로그램을 입력하면 파워앱스가 코드를 짜주는 기능입니다. 파워앱스를 시작으로 마이크로소프트 클라우드인 Azure에서 GPT-3 기반의 많은 서비스가 나올 것으로 예상됩니다. Open AI는 마이크로스프트 외에도 API 형태로 다양한 개발자들에게 GPT-3를 제공하고 있으며 이를 기반으로 한 서비스가 나오고 있습니다.
국내 자연어 처리 모델은?
한국어 자연어 처리 모델도 많이 나오고 있습니다. 자연어처리 모델이 모든 언어에 사용할 수 있는 범용적 성격을 갖고 있지만 아무래도 영어와 한국어의 문법, 어휘 등의 차이로 인해 한국어를 기반으로 학습한 자연어처리 모델의 성능이 높겠죠. 현재 일반인에게 공개된 대표적인 한국어 자연어처리 모델로는 koBERT, koGTP2, KorBERT가 있습니다. koBERT는 2019년 SKT가 구글이 공개한 BERT를 기반으로 한 자연어처리 모델이며 Github(https://github.com/SKTBrain/KoBERT)에 소스코드가 공개되어 있습니다. SKT는 koBERT에 이어 2021년에 다시 한 번 자연어처리 모델인 koGPT2를 공개했는데 이름에서 알 수 있듯이 Open AI의 GPT-2를 한국어에 맞게 학습한 모델입니다. 이 모델 또한 Gitbub(https://github.com/SKT-AI/KoGPT2)에서 다운로드 받을 수 있습니다. 마지막으로 국내 연구기관인 ETRI에서 개발한 KorBERT가 있으며 ETRI 사이트(https://aiopen.etri.re.kr/service_dataset.php)에서 신청 후 사용할 수 있습니다. 네이버는 자연어처리 서비스를 제공하지만 모델을 오픈소스의 형태로 제공하고 있지는 않습니다.
자연어처리는 인간지능 중 중요성 및 이를 바탕으로 한 시장 잠재력을 볼 때 향후 인공지능(딥러닝)의 주요 분야가 될 것으로 예상됩니다. 이러한 중요성을 알고 있는 4대 데이터센터 업체 및 학습/서비스에 필요한 하드웨어를 제공하는 엔비디아의 협력과 경쟁이 어떻게 진행될지 지켜봐야겠습니다.
'IT' 카테고리의 다른 글
딥러닝 모델의 분산학습이란? (Data parallelism과 Model parallelism) (0) | 2021.07.24 |
---|---|
자연어처리 모델 학습을 위한 하드웨어 구성은? (NVIDIA Grace) (0) | 2021.07.21 |
Processing in memory(PIM)이란? (2) - Concept 및 사례 (1) | 2021.05.29 |
Embedding table이란? (딥러닝 추천모델에서의) (1) | 2021.05.29 |
Self-supervised learning (자기지도 학습) 이란? (0) | 2021.04.17 |