BERT

Bert는 Google이 개발한 자연어 처리(NLP) 모델로, 텍스트의 양방향 표현을 학습하므로 다양한 작업에서 레이블이 없는 텍스트의 맥락 이해가 크게 개선됩니다.

RoBERTa, ALBERT, DistilBERT 등 BERT와 비슷한 전체 모델군의 기초라 할 수 있습니다.

 

Bert를 차별화하는 요소는?

트랜스포머의 양방향 인코더 표현(Bert)은 모든 층에서 왼쪽과 오른쪽의 문맥으로 컨디셔닝하여 레이블이 없는 텍스트의 심층 양방향 표현을 사전 훈련시키는 방법으로, Google이 개발하였습니다. 2018년에 오픈 소스 라이선스로 출시되었습니다. Google은 Bert를 “일반 텍스트 코퍼스만을 사용하여 사전 훈련된 최초의 심층 양방향 비지도 언어 표현”으로 설명했습니다(Devlin 외. 2018).

자연어 처리(NLP)에서 양방향 모델은 새로운 것이 아닙니다. 여기에는 텍스트 시퀀스를 왼쪽에서 오른쪽 및 오른쪽에서 왼쪽으로 분석하는 기술이 사용됩니다. Bert가 혁신적인 점은 트랜스포머로 양방향 표현을 학습한다는 것입니다. 트랜스포머는 RNN의 순차 종속성과 반대로 전체 시퀀스를 병렬 처리하는 딥 러닝 구성 요소입니다. 따라서 훨씬 더 큰 데이터 세트를 분석하고 모델을 더 빠르게 훈련시킬 수 있습니다. 트랜스포머는 단어를 처리할 때 개별적으로 하지 않고 문장의 다른 모든 단어와 연관시켜 한 번에 처리합니다. 이때 어텐션 메커니즘을 사용하여 단어의 관련 맥락에 대한 정보를 수집하고 이 맥락을 해당 단어를 표현하는 풍부한 벡터에 인코딩합니다. 이 모델은 세그먼트의 다른 모든 단어를 바탕으로 특정 단어의 의미를 도출하는 방법을 학습합니다.

GloVeWord2vec와 같은 이전의 단어 임베딩은 시퀀스의 각 단어에 대한 표현을 생성할 때 문맥을 고려하지 않습니다. 예를 들어, 영어 단어 "bat"는 야구 방망이를 의미하든 박쥐를 뜻하든 동일한 방식으로 표현됩니다. ELMo는 양방향 장단기 메모리(LSTM)를 사용하여 문장의 다른 단어들을 토대로 각 단어의 심층 문맥 기반 표현을 소개했습니다. 그러나 Bert와 달리, ELMo는 전체 문맥을 하나의 통합된 관점으로 보지 않고 왼쪽에서 오른쪽으로의 경로 그리고 오른쪽에서 왼쪽으로의 경로를 독립적으로 분석했습니다.

Bert 매개변수의 대다수는 고품질의 문맥 기반 단어 임베딩을 생성하는 목적으로만 사용되므로 이 프레임워크는 전이 학습에 매우 적합한 것으로 평가됩니다. 언어 모델링과 같은 자기지도 작업(사람의 주석이 필요 없음)으로 Bert를 훈련시키면, 33억 개 이상의 단어가 포함된 WikiText와 BookCorpus와 같이 레이블이 없는 대규모 데이터 세트를 사용할 수 있습니다. 질의응답과 같은 다른 작업을 학습시키려면 마지막 층을 해당 작업에 적합한 것으로 대체하고 파인 튜닝할 수 있습니다.

아래 이미지에 나와 있는 세 가지 NLP 모델에서 화살표는 한 층에서 다음 층으로 이어지는 정보 흐름을 나타냅니다.

Diagram showing information flow from one layer to the next in three different NLP models.
이미지 출처: Google AI Blog

Bert 모델은 표현의 뉘앙스를 훨씬 더 정교한 수준으로 이해할 수 있습니다. 예를 들어, "Bob을 위해 약국에 가서 약을 사야 해요. 얘가 배탈이 났는데, 제산제를 구해줄 수 있어요?"라는 시퀀스를 처리할 때 Bert는 “Bob”과 “얘”가 모두 동일 인물임을 더 잘 이해할 수 있습니다. 이전에는 "Bob의 처방전을 조제하는 방법"이라고 질문하면 두 번째 문장에서 언급되는 사람이 Bob이라는 것을 이해하지 못하기도 했습니다. Bert 모델을 적용하면 이 모든 것이 어떻게 연결되는지 이해할 수 있습니다.

양방향 훈련은 구현하기가 까다롭습니다. 기본적으로 각 단어를 이전 단어와 다음 단어로 컨디셔닝하는 작업에는 다층 모델에서 예측 중인 단어가 포함되기 때문입니다. BERT의 개발자들은 예측 대상인 단어는 물론 코퍼스의 다른 무작위 단어도 마스킹하여 이 문제를 해결했습니다. Bert는 또한 간단한 훈련 기법을 사용하여, A와 B 두 개의 문장이 주어졌을 때 B가 A 앞에 오는 문장인지 또는 임의의 문장인지를 예측합니다.

Bert를 사용하는 이유는?

오늘날 진행되고 있는 상당수 상업적 인공 지능 연구의 중심에는 자연어 처리가 있습니다. NLP는 검색 엔진 외에도 디지털 비서, 전화 자동 응답, 차량 내비게이션 등 많은 분야에 적용됩니다. Bert는 판도를 바꾼 기술로 불렸는데, 대규모 데이터 세트로 훈련된 단일 모델을 제공하여 광범위한 NLP 작업에서 획기적인 결과를 달성하였기 때문입니다.

Bert의 개발자들은 “상당한 작업별 아키텍처 수정 없이도 질의응답, 언어 추론을 비롯한 다양한 사용 사례에 맞춰 모델을 개조할 수 있다"고 말합니다. Bert는 레이블이 지정된 데이터로 사전 훈련을 받을 필요가 없으므로 어떠한 일반 텍스트로도 학습할 수 있습니다.

주요 이점(사용 사례)

Bert는 다양한 NLP 작업에 맞춰 파인 튜닝할 수 있습니다. 번역, Q&A, 감성 분석(Sentiment Analysis), 문장 분류와 같은 언어 이해 작업에 이상적입니다.

표적화된 검색

오늘날의 검색 엔진은 사람들이 올바른 형식으로 질문하면 어떠한 정보를 찾고 있는지를 상당히 잘 이해하지만, 검색 서비스를 향상할 방법은 여전히 많습니다. 문법에 약하거나 검색 엔진 공급업체의 언어를 구사하지 못하는 사람들에게는 검색하는 것이 힘든 경험일 수 있습니다. 또한 최상의 결과를 제공하는 쿼리를 찾기 위해 검색 엔진에서 사용자가 동일한 쿼리를 여러 가지로 변형해서 시도해야 할 때도 많습니다.

검색 서비스가 향상되어 사람들이 매일 Google에서 수행하는 35억 회 검색이 10%만 줄이더라도 시간, 대역폭 및 서버 리소스가 상당히 절약될 것입니다. 비즈니스 관점에서 보면, 이를 통해 검색 엔진 공급업체는 사용자 행동을 더 잘 이해하고 더 나은 표적 광고를 제공할 수 있습니다.

자연어를 더 잘 이해하게 되면, 정보를 더 정확하게 검색할 수 있도록 비전문가 사용자를 지원하고 잘못된 쿼리와 관련된 오류를 줄여 데이터 분석 및 비즈니스 인텔리전스 도구의 효율성이 향상되는 장점도 있습니다.

탐색 지원

미국 인구 8명 중 1명 이상이 장애를 갖고 있으며, 많은 사람이 물리적 공간 및 사이버 공간에서 이동하고 탐색하는 데 한계를 경험하고 있습니다. 음성으로 휠체어를 제어하고 웹사이트와 상호 작용하고 주변의 디바이스를 작동해야 하는 사람들에게 자연어 처리는 생활필수품과 같습니다. Bert와 같은 기술은 음성 명령에 대한 응답을 개선함으로써 삶의 질을 높일 수 있을 뿐만 아니라 신속한 대응이 필요한 상황에서 개인의 안전을 더욱 잘 지킬 수 있습니다.

다음 직군에 Bert가 중요한 이유

머신 러닝 연구자

컴퓨터 비전의 AlexNet에 버금가는 변화를 자연어 처리에서 일으키고 있는 Bert는 이 분야의 혁신에 한 획을 긋는 업적입니다. 네트워크의 마지막 층만 교체하면 새로운 작업에 맞춤화할 수 있으므로 관심 있는 어떤 연구 분야에든 쉽게 적용할 수 있습니다. 목표로 하는 것이 번역이든, 감성 분석이든, 또는 아직 제안되지 않은 어떤 새로운 작업이든, 해당 네트워크를 신속하게 구성하여 시험해 볼 수 있습니다. 지금까지의 인용 횟수가 8,000회 이상인 이 모델은 꾸준히 파생 모델이 등장하여 언어 작업에서의 성능을 향상하고 있습니다.

소프트웨어 개발자

Bert를 사용하면 대규모 데이터 세트로 사전 훈련된 모델을 광범위하게 사용할 수 있기 때문에 최첨단 모델을 프로덕션에 적용하는 데 필요한 연산으로 인해 제한에 직면할 가능성이 크게 줄어듭니다. 또한 Hugging Face와 같이 잘 알려진 라이브러리에 Bert와 그 파생 모델들이 포함됨에 따라 머신 러닝 전문가가 아니어도 기본 모델을 실행할 수 있게 되었습니다.

Bert는 보다 복잡한 인간의 말을 이해하고 다른 모델보다 더 정확하게 질문에 대답할 수 있음을 입증하며 자연어 해석 분야에서 새로운 이정표를 세웠습니다.

Bert가 GPU에서 더 효과적인 이유

대화형 AI는 사람이 로봇, 자동차, 홈 어시스턴트, 모바일 앱과 같은 지능형 머신 및 애플리케이션과 상호 작용하는 데 없어서는 안 될 필수 요소입니다. 컴퓨터가 인간의 언어를 모든 뉘앙스까지 이해하고 적절히 반응하도록 하는 것은 AI 연구자들에게 오랫동안 "성배"와 같은 것이었습니다. 그러나 가속화된 컴퓨팅을 기반으로 하는 최신 AI 기술이 생겨나기 전에는 진정한 자연어 처리(NLP) 기능을 갖춘 시스템을 구축하는 것이 불가능했습니다.

Bert를 NVIDIA GPU 기반 슈퍼컴퓨터에서 실행하면 거대한 신경망을 훈련시키고 전례 없는 NLP 정확도를 달성하여 인간 언어 이해로 알려진 분야에 영향을 미칠 수 있습니다. 그동안 많은 자연어 처리 방식이 시도되었지만, 사람처럼 언어를 구사하는 능력은 AI가 달성하기 어려운 목표로 남아 있었습니다. Bert와 같은 거대한 트랜스포머 기반 언어 모델이 등장하고 GPU를 이러한 최첨단 모델의 인프라 플랫폼으로 사용할 수 있게 됨에 따라 어려운 언어 이해 작업에서 빠르게 진전이 이루어지고 있습니다. 인류가 수십 년간 기대해 온 수준의 AI를 Bert 덕분에 마침내 만나게 되었습니다.

모델이 복잡해지면 NLP가 정확해지고 언어 모델의 규모가 커지면 질의응답, 대화 시스템, 요약, 기사 작성과 같은 자연어 처리(NLP) 사례에서 획기적인 기술 혁신이 발생합니다. Bert-Base 모델을 만드는 데는 1억 1천만 개의 매개변수가 사용되었고, 확장형인 Bert-Large 모델에는 3억 4천만 개의 매개변수가 사용되었습니다. 훈련은 병렬성이 높아 GPU의 분산 처리에 안성맞춤인 사용 사례입니다. Bert 모델은 39억 개 매개변수의 Megatron-BERT와 같은 거대한 크기로도 문제없이 확장되는 것으로 입증되었습니다.

Bert는 복잡할 뿐만 아니라 엄청난 규모의 데이터 세트로 훈련되기 때문에 막강한 성능을 필요로 합니다. 이 조합으로 인해 필요한 모든 연산을 처리하여 실행 속도와 정확도를 모두 높일 수 있는 강력한 컴퓨팅 플랫폼이 필수적입니다. 이 모델들은 레이블이 없는 대규모 데이터 세트로 학습할 수 있다는 사실 때문에 오늘날의 NLP 분야에서 혁신의 중심이 되었고, 더 나아가 여러 형태로 급증하고 있는 대화형 AI 기반 지능형 비서를 위한 탁월한 선택지가 되었습니다.

NVIDIA 플랫폼은 트랜스포머 기반 모델을 비롯하여 광범위한 최신 AI를 가속화할 수 있도록 프로그래밍 가능성을 제공합니다. 또한 소프트웨어 라이브러리, 주요 AI 프레임워크에 대한 직접적인 지원, 데이터센터급 설계의 조합은 개발자에게 가장 까다로운 NLP 작업을 수행할 수 있는 원활한 엔드투엔드 플랫폼을 제공합니다.

HDR InfiniBand로 연결된 대규모 DGX A100 GPU 서버 클러스터를 기반으로 하는 NVIDIA의 DGX SuperPOD 시스템을 사용한 테스트에서 NVIDIA는 MLPerf Training v0.7 벤치마크 기준으로 0.81분이라는 기록적인 Bert 훈련 시간을 달성했습니다. 이에 비해 Google의 TPUv3는 동일한 테스트에서 56분 이상을 기록했습니다.