맨위로가기

BERT (언어 모델)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

BERT(Bidirectional Encoder Representations from Transformers)는 2018년 구글 연구진에 의해 개발된 자연어 처리 모델로, 양방향 트랜스포머 아키텍처를 기반으로 한다. 단방향 언어 모델의 한계를 극복하기 위해, 텍스트의 양쪽 문맥을 모두 고려하여 문맥적 단어 임베딩을 학습한다. BERT는 토크나이저, 임베딩, 인코더, 태스크 헤드로 구성되며, 마스크된 언어 모델링(MLM)과 다음 문장 예측(NSP)을 통해 사전 훈련된다. 사전 훈련된 BERT는 다양한 자연어 이해 및 생성 작업에 미세 조정되어 높은 성능을 보이며, RoBERTa, DistilBERT, ALBERT, ELECTRA, DeBERTa 등 다양한 변형 모델을 파생시켰다.

더 읽어볼만한 페이지

  • 대형 언어 모델 - 챗GPT
    챗GPT는 오픈AI가 개발한 GPT-3.5 기반의 대화형 인공지능 서비스로, 인간과 유사한 텍스트 생성, 코드 생성, 보고서 작성, 번역 등의 다양한 기능을 제공하지만, 편향된 정보 생성, 데이터 유출, 윤리 및 저작권 문제 등의 논란도 있으며, 유료 서비스를 포함한 다양한 형태로 제공되고, 지속적인 모델 개발을 통해 성능을 향상시키고 있다.
  • 대형 언어 모델 - GPT-3
    GPT-3는 OpenAI가 개발한 1,750억 개의 매개변수를 가진 대규모 언어 모델로, 텍스트 생성, 코드 작성, 질문 응답 등 다양한 작업을 수행할 수 있지만, 윤리적 문제점과 사회적 비판도 존재한다.
  • 구글 - 구글 두들
    구글 두들은 구글 검색 엔진의 로고를 특별한 날이나 인물, 사건 등을 기념하기 위해 제작되는, 정적인 이미지부터 대화형 게임, 애니메이션 비디오 등 다양한 형식의 창의적인 콘텐츠이다.
  • 구글 - 구글 어시스턴트
    구글 어시스턴트는 2016년 구글에서 개발한 인공지능 음성 비서 서비스로, 양방향 대화 지원, 다양한 기기 및 플랫폼 확장성, 인터넷 검색, 일정 관리, 홈 오토메이션 제어 등의 기능을 제공하지만 개인정보 보호 문제에 대한 비판도 존재한다.
  • 컴퓨터 기업 - 구글 두들
    구글 두들은 구글 검색 엔진의 로고를 특별한 날이나 인물, 사건 등을 기념하기 위해 제작되는, 정적인 이미지부터 대화형 게임, 애니메이션 비디오 등 다양한 형식의 창의적인 콘텐츠이다.
  • 컴퓨터 기업 - 구글
    구글은 래리 페이지와 세르게이 브린이 개발한 웹 검색 엔진에서 출발하여 검색 기술 혁신을 통해 유튜브, 안드로이드 등 다양한 서비스를 제공하는 세계적인 기술 기업으로 성장했지만, 개인정보보호 및 독점 논란에도 직면하고 있다.
BERT (언어 모델) - [IT 관련 정보]에 관한 문서
기본 정보
BERT 로고
BERT 로고
이름Bidirectional Encoder Representations from Transformers
개발자Google AI
출시일2018년 10월 31일
최신 버전 출시일2020년 3월 11일
저장소BERT GitHub 저장소
종류대형 언어 모델
트랜스포머 (딥러닝 아키텍처)
파운데이션 모델
라이선스아파치 2.0 라이선스
웹사이트BERT GitHub 저장소
상세 정보
개발 배경2018년 구글에서 개발한 자연어 처리 모델
특징양방향 인코더 구조를 기반으로 사전 학습된 트랜스포머 모델
주요 활용 분야텍스트 분류
개체명 인식
질의 응답
기계 번역
학습 방법마스크 언어 모델링과 다음 문장 예측이라는 두 가지 목표를 사용해 학습
성능다양한 자연어 처리 작업에서 기존 모델을 능가하는 성능을 보여줌
후속 모델RoBERTa
ALBERT
ELECTRA
DeBERTa
추가 정보
참고자료BERT 논문 (arXiv)
개발 블로그구글 AI 블로그 - BERT 오픈 소스화
BERTologyBERT의 작동 방식에 대한 연구
문맥화된 단어 표현 연구BERT, ELMo, GPT-2 임베딩의 기하학적 비교 연구
BERT 심층 분석BERT가 자연어 이해에 미친 영향에 대한 심층 분석
관련 연구
스토리 시각적 설명책과 영화 정렬 연구

2. 역사적 배경

BERT는 구글(Google) 연구원인 제이콥 데블린, 밍-웨이 창, 켄톤 리, 크리스티나 투토나노바에 의해 처음 발표되었다. 이 설계는 반지도 시퀀스 학습[23], 생성적 사전 훈련, ELMo[24], 그리고 ULMFit[25]를 포함하는 문맥 표현 사전 훈련에서 기원한다. 이전 모델과 달리 BERT는 심층 양방향 비지도 학습 언어 표현으로, 일반적인 텍스트 말뭉치만을 사용하여 사전 훈련되었다. word2vec 또는 GloVe와 같은 문맥 없는 모델은 어휘에 있는 각 단어에 대해 단일 단어 임베딩 표현을 생성하는 반면, BERT는 주어진 단어의 각 출현에 대한 문맥을 고려한다. 예를 들어, "running"이라는 단어는 "He is running a company"와 "He is running a marathon" 두 문장에서 모두 동일한 word2vec 벡터 표현을 갖는 반면, BERT는 문장에 따라 다른 문맥화된 임베딩을 제공한다.[4]

2019년 10월 25일, 구글(Google)은 미국영어 검색 쿼리에 BERT 모델을 적용하기 시작했다고 발표했다.[26] 2019년 12월 9일, BERT가 70개 이상의 언어에 대해 구글 검색에 채택되었다는 보고가 있었다.[27][28] 2020년 10월에는 거의 모든 영어 기반 쿼리가 BERT 모델로 처리되었다.[29]

2. 1. 방향 제약

BERT 이전의 많은 언어 모델은 사전 학습에 단방향(unidirectional) 태스크를 채택했으며[40], 학습된 표현 또한 단방향의 문맥만 고려하는 것이었다. 이러한 제약은 문맥 수준의 표현이 필요한 태스크의 성능에 큰 페널티를 줄 수 있다.

3. 아키텍처

BERT는 트랜스포머 아키텍처, 그중에서도 인코더 전용 구조를 기반으로 한다. 이는 양방향 학습을 통해 문맥을 깊이 이해하도록 설계되었다.[42] BERT는 셀프 어텐션(self-attention) 메커니즘으로 입력 텍스트의 전후 문맥을 파악하고, 위치 제한 완전 연결을 통해 변환을 반복하는 네트워크를 사용한다.

BERT는 토큰화에 WordPiece를 사용하며, 영단어를 정수 코드로 변환한다. 어휘 수는 30,000개이고, 어휘에 없는 단어는 "[UNK]" 토큰으로 대체된다.

3. 1. 구성 요소

BERT의 상위 레벨 개략도. 텍스트를 입력받아 토큰 시퀀스로 토큰화하고, 선택적 특수 토큰을 추가한 후, Transformer 인코더를 적용합니다. 그런 다음 마지막 레이어의 은닉 상태를 문맥적 단어 임베딩으로 사용할 수 있습니다.


인코더 전용 어텐션은 모두 연결되어 있습니다.


BERT는 "인코더 전용" 트랜스포머 아키텍처이다. 상위 레벨에서 BERT는 4개의 모듈로 구성된다.[1][8]

  • 토크나이저(Tokenizer): 영어 텍스트를 정수 시퀀스("토큰")로 변환한다.
  • 임베딩: 토큰 시퀀스를 토큰을 나타내는 실수 벡터 배열로 변환한다. 이는 이산 토큰 유형을 저차원 유클리드 공간으로 변환하는 것을 나타낸다.
  • 인코더(Encoder): 셀프 어텐션을 사용하는 트랜스포머 블록의 스택이지만, 인과 마스킹(causal masking)은 사용하지 않는다.
  • 태스크 헤드(Task head): 최종 표현 벡터를 토큰 유형에 대한 예측 확률 분포를 생성하여 다시 원-핫 인코딩된 토큰으로 변환한다. 이는 잠재 표현을 토큰 유형으로 디코딩하는 간단한 디코더 또는 "임베딩 해제 레이어"로 볼 수 있다.


태스크 헤드는 사전 훈련에 필요하지만, 질의응답이나 감정 분류와 같은 "다운스트림 태스크"에는 종종 불필요하다. 대신 태스크 헤드를 제거하고 태스크에 적합한 새로 초기화된 모듈로 교체한 다음 새 모듈을 미세 조정한다. 모델의 잠재 벡터 표현은 이 새로운 모듈에 직접 입력되어 샘플 효율적인 전이 학습을 가능하게 한다.

MLM(Masked Language Model)을 통해 양방향으로 의존하는 모델을 채택할 수 있게 되었으므로, BERT는 네트워크로서 양방향 트랜스포머 아키텍처(Bidirectional Encoder of Transformer)를 채택했다.[42] 즉, self-attention을 통한 전후 문맥 파악과 위치 제한 완전 연결을 통한 변환을 반복하는 네트워크를 사용하고 있다.

BERT는 토큰화에 WordPiece를 사용하여 각 영단어를 정수 코드로 변환한다. 그 어휘 수는 30,000이다. 어휘에 포함되지 않는 토큰은 “알 수 없음”(unknown)을 의미하는 [UNK]로 대체된다.

BERT는 동시에 두 가지 과제로 사전 훈련되었다.[43]

3. 2. 임베딩 (Embedding)

BERT는 토큰 유형 임베딩, 위치 임베딩, 구분 유형 임베딩의 세 가지 임베딩을 결합하여 사용한다.[1]

  • 토큰 유형 임베딩: 각 토큰의 의미를 나타낸다. 일반적인 임베딩 계층과 같이 원-핫 벡터를 해당 토큰 유형에 따라 고밀도 벡터로 변환한다.
  • 위치 임베딩: 문장 내 토큰의 위치 정보를 나타낸다. BERT는 절대 위치 임베딩을 사용하며, 시퀀스의 각 위치는 실수 값 벡터에 매핑된다. 벡터의 각 차원은 시퀀스의 위치를 입력으로 받는 사인 함수로 구성된다.
  • 구분 유형 임베딩: 두 개의 입력 문장(sequence)을 구분하는 정보를 나타낸다. 0 또는 1의 어휘를 사용하여 토큰이 입력의 첫 번째 또는 두 번째 텍스트 구분에 속하는지 여부에 따라 고밀도 벡터를 생성한다. 즉, 유형 1 토큰은 `[SEP]` 특수 토큰 뒤에 나오는 모든 토큰이고, 이전의 모든 토큰은 유형 0이다.


BERT가 사용하는 세 가지 임베딩 유형: 토큰 유형, 위치, 구분 유형


세 개의 임베딩 벡터가 더해져 이 세 가지 정보의 함수로 초기 토큰 표현을 나타낸다. 임베딩 후, 벡터 표현은 계층 정규화 연산을 사용하여 정규화되며, 각 입력 토큰에 대해 768차원 벡터를 출력한다.[1]

3. 3. Architectural family

BERT 인코더 스택은 레이어 수(L)와 히든 사이즈(H)라는 두 개의 자유 매개변수를 갖는다.[9] 셀프 어텐션 헤드는 항상 H/64개이며, 피드포워드/필터 크기는 항상 4H이다.

BERT에서 피드포워드 크기와 필터 크기는 동의어이며, 둘 다 피드포워드 네트워크의 중간 레이어의 차원 수를 나타낸다. 히든 사이즈와 임베딩 크기 역시 동의어이며, 둘 다 토큰을 나타내는 데 사용되는 실수의 수를 나타낸다.

인코더 스택은 L/H로 표기한다. 예를 들어, BERTBASE는 12L/768H, BERTLARGE는 24L/1024H, BERTTINY는 2L/128H로 표기한다.

4. Training

BERT는 대규모 텍스트 데이터(BookCorpus, 영어 위키피디아)를 사용하여 사전 훈련(pre-training)된 후, 특정 작업에 맞게 미세 조정(fine-tuning)된다. BERTBASE 학습에는 4개의 클라우드 TPU(총 16개 TPU 칩)가 사용되었고, 4일이 소요되었으며, 추정 비용은 500USD였다.[7] BERTLARGE 학습에는 16개의 클라우드 TPU(총 64개 TPU 칩)가 사용되었고, 4일이 소요되었다.[1]

4. 1. 사전 훈련 (Pre-training)

BERT는 마스크드 언어 모델링 (Masked Language Modeling, MLM)과 다음 문장 예측 (Next Sentence Prediction, NSP) 두 가지 작업을 통해 사전 훈련된다.[10]

BERT 이전의 많은 언어 모델은 사전 학습에 단방향(unidirectional) 태스크를 채택했으며,[40] 학습된 표현 또한 단방향 문맥만 고려했다. 이는 문맥 수준 표현이 필요한 작업에서 성능 저하를 야기했다.

BERT는 양방향(Bidirectional) 언어 모델을 구축하여 단방향 제약을 극복하고, 사전 학습 태스크로 MLM과 NSP를 채택했다.[44] MLM은 입력 토큰의 일부를 무작위로 마스킹하여 모델이 주변 문맥을 통해 마스킹된 토큰을 예측하도록 학습시킨다.[46] NSP는 두 문장이 주어졌을 때 이들이 연속적인 문장인지 판별하는 작업을 통해 문장 간의 관계를 학습한다.

이러한 학습 과정을 통해 BERT는 문맥상의 단어와 문장의 Latent space|잠재적 표현영어을 학습한다. 사전 훈련 후, BERT는 더 작은 데이터 세트에서 더 적은 리소스로 파인튜닝하여, 언어 이해, 문서 분류 및 Sequence transformation|시퀀스 변환영어 기반 언어 생성 작업(질의응답, 대화 응답 생성) 등에서 성능을 최적화할 수 있다.[47][48] 사전 훈련 단계는 파인튜닝보다 훨씬 더 Computational complexity|계산 비용영어이 높다.

4. 1. 1. 마스크드 언어 모델링 (Masked Language Modeling, MLM)

마스크 언어 모델링 작업


마스크 언어 모델링(MLM)은 입력 토큰의 15%를 무작위로 선택하여 마스크 예측 작업에 사용하며, 학습 목표는 주어진 문맥을 바탕으로 마스크된 토큰을 예측하는 것이다.[11]

선택된 토큰은 다음과 같이 처리된다.

  • 80%의 확률로 `[MASK]` 토큰으로 대체된다.
  • 10%의 확률로 무작위 단어 토큰으로 대체된다.
  • 10%의 확률로 대체되지 않는다.


이러한 방식은 데이터셋 이동 문제를 피하기 위함이다. 데이터셋 이동 문제는 학습 중 관찰된 입력 분포와 추론 중 발생하는 분포가 크게 다를 때 발생한다. BERT 모델은 `[MASK]` 토큰이 없는 문장에 적용되는 단어 표현(Word2Vec)에 적용될 수 있다.[11]

"my dog is cute"라는 문장을 예로 들어보자. 이 문장은 "my1 dog2 is3 cute4"와 같이 토큰으로 나뉜다. 이후 무작위로 토큰을 선택하는데, 4번째 토큰 "cute4"가 선택되었다고 가정하면, 다음과 같은 세 가지 경우가 발생한다.

  • 80%의 확률로 "my1 dog2 is3 `[MASK]`4"가 된다.
  • 10%의 확률로 "my1 dog2 is3 happy4" (무작위 토큰)가 된다.
  • 10%의 확률로 "my1 dog2 is3 cute4" (원래 문장)가 된다.


모델은 입력 텍스트 처리 후, 4번째 출력 벡터를 디코더 계층에 전달하고, 이 계층은 30,000차원 어휘 공간에 대한 확률 분포를 출력한다.

BERT 이전의 많은 언어 모델은 사전 학습에 단방향(unidirectional) 태스크를 채택했으며,[40] 학습된 표현 또한 단방향 문맥만 고려했다. 이는 문맥 수준 표현이 필요한 작업에서 성능 저하를 야기했다.

BERT는 이러한 단방향 제약을 극복하고자 양방향(Bidirectional) 언어 모델을 구축하며, 사전 학습 태스크/손실 함수로 마스크된 언어 모델(MLM)을 채택했다.[44] MLM은 부분적으로 마스크된 시퀀스를 입력받아 마스크되지 않은 시퀀스를 예측하고, 마스크된 부분에 해당하는 출력과 일치도를 계산하여 학습한다.[46] 즉, 모델은 주변 문맥(context) 정보만으로 마스크된 부분을 예측하는 사전 학습 태스크를 수행한다.[46]

4. 1. 2. 다음 문장 예측 (Next Sentence Prediction, NSP)

다음 문장 예측 작업


다음 문장 예측(Next Sentence Prediction, NSP)은 두 개의 문장이 주어졌을 때, 이 두 문장이 연속된 문장인지 아닌지를 예측하도록 학습하는 방식이다. 두 개의 텍스트 구간이 주어지면, 모델은 이 두 구간이 학습 데이터에서 순차적으로 나타났는지 예측하여 [IsNext] 또는 [NotNext]를 출력한다. 첫 번째 구간은 특수 토큰 [CLS](분류를 위해)로 시작하고, 두 구간은 특수 토큰 [SEP](구분을 위해)으로 구분된다. 두 구간을 처리한 후, 첫 번째 출력 벡터([CLS]에 대한 벡터 코딩)가 [IsNext][NotNext]로의 이진 분류를 위해 별도의 신경망에 전달된다.[40]

  • 예를 들어, "[CLS] 내 강아지는 귀엽다 [SEP] 그는 놀기를 좋아한다"가 주어지면 모델은 토큰 [IsNext]를 출력해야 한다.
  • "[CLS] 내 강아지는 귀엽다 [SEP] 자석은 어떻게 작동할까"가 주어지면 모델은 토큰 [NotNext]를 출력해야 한다.


BERT 이전의 많은 언어 모델은 사전 학습에 단방향(unidirectional) 태스크를 채택했으며, 학습된 표현 또한 단방향의 문맥만 고려하는 것이었다. 이러한 제약은 문맥 수준의 표현이 필요한 태스크의 성능에 큰 페널티를 줄 수 있다.

이 학습 과정의 결과로 BERT는 문맥상의 단어와 문장의 Latent space|잠재적 표현영어을 학습한다. 사전 훈련 후, BERT를 더 작은 데이터 세트에서 더 적은 리소스로 파인튜닝하여, 언어 이해, 문서 분류 및 Sequence transformation|시퀀스 변환영어을 기반으로 하는 언어 생성 작업(질의응답, 대화 응답 생성) 등의 특정 작업에서 성능을 최적화할 수 있다.[47][48] 사전 훈련 단계는 파인튜닝보다 훨씬 더 Computational complexity|계산 비용영어이 높다.

4. 2. 미세 조정 (Fine-tuning)

BERT는 자연어 처리의 다양한 응용 프로그램을 위해 고안된 일반적인 사전 훈련 모델이다. 사전 훈련 후 BERT는 미세 조정을 통해 더 적은 자원으로 더 작은 데이터 세트에서 자연어 추론, 텍스트 분류와 같은 특정 작업과 질문 답변 및 대화형 응답 생성과 같은 시퀀스-투-시퀀스 기반 언어 생성 작업의 성능을 최적화할 수 있다.[12]

원래 BERT 논문에서는 소량의 미세 조정(BERTLARGE의 경우 클라우드 TPU에서 1시간)으로 여러 자연어 이해 작업에서 최첨단 성능을 달성했다는 결과를 보여주었다.[1]

  • GLUE(일반 언어 이해 평가) 작업 세트(9가지 작업으로 구성)
  • SQuAD(스탠퍼드 질문 답변 데이터 세트[13]) v1.1 및 v2.0
  • SWAG(적대적 생성을 포함한 상황[14])


원 논문에서는 BERT의 모든 매개변수를 미세 조정하고, 텍스트 분류인 하위 응용 프로그램의 경우 `[CLS]` 입력 토큰의 출력 토큰을 선형-소프트맥스 계층에 입력하여 레이블 출력을 생성하는 것이 좋다고 제안했다.[1]

원래 코드베이스는 컴퓨터 비전에서 전역 풀링과 유사하게 최종 선형 계층을 "풀러 계층"으로 정의했지만, `[CLS]`에 해당하는 토큰을 제외한 모든 출력 토큰은 단순히 버린다.[15]

4. 3. Cost

BERTBASE 학습에는 4개의 클라우드 TPU(총 16개 TPU 칩)가 사용되었고, 4일이 소요되었으며, 추정 비용은 500USD였다.[7] BERTLARGE 학습에는 16개의 클라우드 TPU(총 64개 TPU 칩)가 사용되었고, 4일이 소요되었다.[1]

5. 성능

BERT는 출시 당시 다양한 자연어 이해 작업에서 최첨단 성능을 달성했다.[51] 초기 BERT는 영어 모델로, 다음과 같이 두 가지 크기로 구현되었다.[49]

모델인코더 수양방향 자기 어텐션 헤드 수매개변수
BERTBASE12개12개1억 1천만 개
BERTLARGE24개16개3억 4천만 개



두 모델 모두 토론토 북코퍼스(BookCorpus)[50](8억 단어)와 영어 위키피디아(25억 단어)로 사전 훈련되었다.

5. 1. 평가 지표

BERT는 출시 당시 다양한 자연어 이해 작업에서 최첨단 성능을 달성했다. BERT는 다음의 벤치마크 데이터셋에서 평가되었다.

  • GLUE (General Language Understanding Evaluation|일반 자연어 이해영어) 태스크 세트 (9개 태스크로 구성)
  • SQuAD (스탠퍼드 질의응답 데이터 세트[73]) v1.1 및 v2.0
  • SWAG (Situations With Adversarial Generations[74])

6. 해석 (Interpretation)

BERT 모델의 높은 성능은 트랜스포머 모델 아키텍처를 기반으로 하는 양방향 학습 방식 덕분이다. BERT는 자체 어텐션 메커니즘을 적용하여 훈련 중에 텍스트의 좌측과 우측에서 정보를 학습하므로, 문맥에 대한 깊이 있는 이해를 얻는다. 예를 들어, "fine"이라는 단어는 문맥에 따라 "'''나는''' fine '''하게 느낀다'''"와 "'''그녀는''' fine '''한 금발 머리를 가지고 있다'''"와 같이 두 가지 다른 의미를 가질 수 있는데, BERT는 목표 단어 "fine"을 둘러싼 좌우 단어들을 모두 고려한다.

하지만 이러한 양방향 학습 방식에는 비용이 따른다. 인코더 전용 아키텍처는 디코더가 없기 때문에 BERT는 프롬프트를 받을 수 없고, 텍스트를 생성할 수 없다. 일반적으로 양방향 모델은 우측 정보 없이는 효과적으로 작동하지 않으므로 프롬프트를 사용하기 어렵다. 예를 들어, BERT를 사용하여 "오늘, 나는 ~에 갔다"라는 문장 조각을 계속하려면, 모든 토큰을 "오늘, 나는 ~에 갔다 [MASK] [MASK] [MASK] ... [MASK]"와 같이 마스킹해야 하는데, 이는 훈련 중에 BERT가 그렇게 많은 토큰이 마스킹된 문장을 본 적이 없기 때문에 데이터셋 이동을 구성하여 성능 저하를 야기한다. 더 정교한 기법을 사용하면 텍스트 생성이 가능하지만, 높은 계산 비용이 발생한다.[22]

딥 러닝 신경망은 방대한 양의 데이터를 필요로 하지만, BERT는 이미 사전 훈련되어 있다. 즉, 단어와 문장의 표현, 그리고 이들을 연결하는 기본적인 의미 관계를 학습했다는 것을 의미한다. BERT는 이후 감정 분류와 같은 특정 작업에 맞춰 더 작은 데이터셋을 사용하여 파인튜닝할 수 있다. 따라서 사전 훈련된 모델 선택에서는 사용하는 데이터셋의 내용뿐만 아니라 작업의 목적도 고려된다. 예를 들어, 재무 데이터에 대한 감정 분류 작업에는 재무 텍스트 감정 분석을 위한 사전 훈련된 모델을 선택해야 한다. 원본 훈련된 모델의 가중치는 GitHub에서 공개되어 있다.[61]

6. 1. BERTology

ELMo, GPT-2, BERT와 같은 언어 모델의 등장으로 "BERTology"라는 연구 분야가 생겨났는데, 이는 이러한 모델들이 학습한 내용을 해석하려는 시도이다.[3][16][17] 이러한 모델들이 자연어 이해 작업에서 보이는 성능은 아직까지 잘 이해되지 않고 있다.[3][16][17] 2018년과 2019년에 발표된 여러 연구 논문들은 신중하게 선택된 입력 시퀀스에 따른 BERT의 출력 간의 관계를 조사하는 데 초점을 맞추었고,[18][19] 탐색 분류기를 통한 내부 벡터 표현 분석,[20][21] 그리고 어텐션 가중치로 표현되는 관계를 연구했다.[16][17]

7. 沿革 (연혁)

BERT는 구글(Google) 연구원인 제이콥 데블린, 밍-웨이 창, 켄톤 리, 크리스티나 투토나노바에 의해 처음 발표되었다.[23] 이 설계는 반지도 시퀀스 학습, 생성적 사전 훈련, ELMo, ULMFit를 포함하는 사전 훈련된 문맥 표현에서 기원한다.[24][25] 이전 모델과 달리 BERT는 심층 양방향 비지도 학습 언어 표현으로, 일반적인 텍스트 말뭉치만을 사용하여 사전 훈련되었다. word2vec 또는 GloVe와 같은 문맥 없는 모델은 어휘에 있는 각 단어에 대해 단일 단어 임베딩 표현을 생성하는 반면, BERT는 주어진 단어의 각 출현에 대한 문맥을 고려한다. 예를 들어, "running"이라는 단어의 벡터는 "He is running a company"와 "He is running a marathon" 두 문장에서 모두 동일한 word2vec 벡터 표현을 갖는 반면, BERT는 문장에 따라 다른 문맥화된 임베딩을 제공한다.[4]

2019년 10월 25일, 구글(Google)은 미국영어 검색 쿼리에 BERT 모델을 적용하기 시작했다고 발표했다.[26] 2019년 12월 9일, BERT가 70개 이상의 언어에 대해 구글 검색에 채택되었다는 보고가 있었다.[27][28] 2020년 10월에는 거의 모든 영어 기반 쿼리가 BERT 모델로 처리되었다.[29]

8. Variants

BERT 모델은 큰 영향을 미쳐, 많은 변형 모델이 등장했다.

RoBERTa[30]는 BERT의 아키텍처를 유지하면서 학습 방식을 개선한 모델이다. DistilBERT[31][32]지식 증류를 통해 BERT를 경량화한 모델이며, TinyBERT[33]는 더 극단적인 경량화를 추구했다. ALBERT[34]는 매개변수 공유와 문장 순서 예측(SOP) 작업을 도입했다. ELECTRA[35]는 적대적 생성 신경망(GAN)의 아이디어를 MLM 작업에 적용했다.

8. 1. RoBERTa

RoBERTa는 BERT의 학습 방식을 개선한 모델이다. BERT의 아키텍처(매개변수 수는 약간 더 많은 3억 5500만 개)를 유지하면서, 주요 하이퍼파라미터를 변경하고, '다음 문장 예측' 작업을 제거하고, 훨씬 더 큰 미니 배치 크기를 사용하여 학습 과정을 개선했다.[30]

8. 2. DistilBERT

지식 증류를 통해 BERTBASE를 매개변수 수가 60%(6600만 개)에 불과한 모델로 축소하면서, 기준 점수의 95%를 유지했다.[31][32] '''TinyBERT'''(2019)[33]는 매개변수 수가 28%에 불과한 증류 모델이다.

8. 3. ALBERT

ALBERT는 계층 간에 매개변수를 공유하고, 은닉 크기와 단어 임베딩 계층의 출력 크기를 두 개의 하이퍼파라미터로 독립적으로 변경하는 실험을 했다.[34] 또한, ''다음 문장 예측'' 작업을 모델이 두 개의 연속된 텍스트 구간의 올바른 순서와 역순을 구분해야 하는 ''문장 순서 예측''(SOP) 작업으로 대체했다.

8. 4. ELECTRA

ELECTRA는 적대적 생성 신경망(GAN)의 아이디어를 MLM 작업에 적용한 모델이다. 토큰을 마스킹하는 대신, 작은 언어 모델이 무작위로 타당한 대체 단어를 생성하고, 더 큰 신경망이 이러한 대체된 토큰을 식별한다. 작은 모델은 큰 모델을 속이려고 한다.[35]

8. 5. DeBERTa

DeBERTa(2020)[36]는 ''분리된 어텐션''을 사용하는 중요한 아키텍처 변형체이다. 핵심 아이디어는 어텐션 메커니즘 전반에 걸쳐 위치 인코딩과 토큰 인코딩을 별도로 처리하는 것이다. 위치 인코딩(x_{position})과 토큰 인코딩(x_{\text{token}})을 단일 입력 벡터(x_{input} = x_{position} + x_{token})로 결합하는 대신, DeBERTa는 이들을 튜플((x_{position}, x_{token}))로 별도로 유지한다. 그런 다음 각 자기 어텐션 계층에서 DeBERTa는 BERT에서 사용되는 단일 어텐션 행렬 대신 세 개의 구별되는 어텐션 행렬을 계산한다.

어텐션 유형
어텐션 유형쿼리 유형키 유형예시
콘텐츠-콘텐츠토큰토큰"유럽"; "연합", "대륙"
콘텐츠-위치토큰위치[형용사]; +1, +2, +3
위치-콘텐츠위치토큰-1; "아니", "매우"



세 개의 어텐션 행렬은 요소별로 더해진 다음 소프트맥스 계층을 통과하고 투영 행렬과 곱해진다.

절대 위치 인코딩은 추가 입력으로 최종 자기 어텐션 계층에 포함된다.

참조

[1] arXiv BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2018-10-11
[2] 웹사이트 Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing http://ai.googleblog[...] 2018-11-02
[3] 논문 A Primer in BERTology: What We Know About How BERT Works https://aclanthology[...] 2020
[4] arXiv How Contextual are Contextualized Word Representations? Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings 2019-09-01
[5] 웹사이트 A deep dive into BERT: How BERT launched a rocket into natural language understanding https://searchengine[...] 2019-11-05
[6] arXiv Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books 2015
[7] 웹사이트 BERT https://github.com/g[...]
[8] arXiv Revisiting Few-sample BERT Fine-tuning 2021-03-11
[9] arXiv Well-Read Students Learn Better: On the Importance of Pre-training Compact Models 2019-09-25
[10] 웹사이트 Summary of the models — transformers 3.4.0 documentation https://huggingface.[...]
[11] arXiv UL2: Unifying Language Learning Paradigms 2023-02-28
[12] 서적 Dive into deep learning Cambridge University Press 2024
[13] arXiv SQuAD: 100,000+ Questions for Machine Comprehension of Text 2016-10-10
[14] arXiv SWAG: A Large-Scale Adversarial Dataset for Grounded Commonsense Inference 2018-08-15
[15] 웹사이트 bert/modeling.py at master · google-research/bert https://github.com/g[...]
[16] 논문 Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP) 2019-11
[17] 논문 What Does BERT Look at? An Analysis of BERT's Attention Association for Computational Linguistics 2019
[18] 논문 Sharp Nearby, Fuzzy Far Away: How Neural Language Models Use Context Association for Computational Linguistics 2018
[19] 논문 Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers) Association for Computational Linguistics 2018
[20] 논문 Under the Hood: Using Diagnostic Classifiers to Investigate and Improve how Language Models Track Agreement Information Association for Computational Linguistics 2018
[21] 논문 Language Modeling Teaches You More than Translation Does: Lessons Learned Through Auxiliary Syntactic Task Analysis Association for Computational Linguistics 2018
[22] arXiv Bidirectional Language Models Are Also Few-shot Learners 2022
[23] arXiv Semi-supervised Sequence Learning 2015-11-04
[24] arXiv Deep contextualized word representations 2018-02-15
[25] arXiv Universal Language Model Fine-tuning for Text Classification 2018-01-18
[26] 웹사이트 Understanding searches better than ever before https://www.blog.goo[...] 2019-10-25
[27] 웹사이트 Understanding searches better than ever before https://blog.google/[...] 2019-10-25
[28] 웹사이트 Google's BERT Rolls Out Worldwide https://www.searchen[...] 2019-12-10
[29] 웹사이트 Google: BERT now used on almost every English query https://searchengine[...] 2020-10-15
[30] arXiv RoBERTa: A Robustly Optimized BERT Pretraining Approach 2019
[31] arXiv DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter 2020-02-29
[32] 웹사이트 DistilBERT https://huggingface.[...]
[33] arXiv TinyBERT: Distilling BERT for Natural Language Understanding 2020-10-15
[34] arXiv ALBERT: A Lite BERT for Self-supervised Learning of Language Representations 2020-02-08
[35] arXiv ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators 2020-03-23
[36] 논문 DeBERTa: Decoding-enhanced BERT with Disentangled Attention 2021-10-06
[37] arXiv BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2018-10-11
[38] 웹사이트 Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing http://ai.googleblog[...] 2019-11-27
[39] 논문 A Primer in BERTology: What We Know About How BERT Works https://aclanthology[...] 2020
[40] 논문 objective function during pre-training, where they use unidirectional language models to learn general language representations
[41] 논문 Critically ... the BERT Transformer uses bidirectional self-attention ... We note that in the literature the bidirectional Transformer is often referred to as a 'Transformer encoder' while the left-context-only version is referred to as a 'Transformer decoder' since it can be used for text generation.
[42] 논문 the MLM objective enables the representation to fuse the left and the right context, which allows us to pretrain a deep bidirectional Transformer.
[43] 웹사이트 Summary of the models — transformers 3.4.0 documentation https://huggingface.[...] 2023-02-16
[44] 논문 BERT alleviates the previously mentioned unidirectionality constraint by using a 'masked language model' (MLM) pre-training objective
[45] 논문 The masked language model randomly masks some of the tokens from the input, and the objective is to predict the original vocabulary id of the masked word
[46] 논문 predict the original vocabulary id of the masked word based only on its context.
[47] arXiv BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2018-10-11
[48] 웹사이트 BERT Explained: State of the art language model for NLP https://towardsdatas[...] 2021-09-27
[49] arXiv BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2018-10-11
[50] arXiv Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books 2015
[51] arXiv BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2018-10-11
[52] arXiv SQuAD: 100,000+ Questions for Machine Comprehension of Text 2016-10-10
[53] arXiv SWAG: A Large-Scale Adversarial Dataset for Grounded Commonsense Inference 2018-08-15
[54] 논문 Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP) 2019-11
[55] 논문 What Does BERT Look at? An Analysis of BERT's Attention Association for Computational Linguistics 2019
[56] 논문 Sharp Nearby, Fuzzy Far Away: How Neural Language Models Use Context Association for Computational Linguistics 2018
[57] 논문 Colorless Green Recurrent Networks Dream Hierarchically Association for Computational Linguistics 2018
[58] 논문 Under the Hood: Using Diagnostic Classifiers to Investigate and Improve how Language Models Track Agreement Information Association for Computational Linguistics 2018
[59] 논문 Language Modeling Teaches You More than Translation Does: Lessons Learned Through Auxiliary Syntactic Task Analysis Association for Computational Linguistics 2018
[60] arXiv Bidirectional Language Models Are Also Few-shot Learners
[61] 웹사이트 BERT https://github.com/g[...] 2023-03-28
[62] arXiv Semi-supervised Sequence Learning 2015-11-04
[63] arXiv Deep contextualized word representations 2018-02-15
[64] arXiv Universal Language Model Fine-tuning for Text Classification 2018-01-18
[65] 웹사이트 Understanding searches better than ever before https://www.blog.goo[...] 2019-10-25
[66] 웹사이트 Google's BERT Rolls Out Worldwide https://www.searchen[...] Search Engine Journal 2019-12-10
[67] 웹사이트 Google: BERT now used on almost every English query https://searchengine[...] 2020-10-15
[68] 웹사이트 Best Paper Awards https://naacl2019.or[...] 2020-03-28
[69] arXiv BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 2018-10-11
[70] 웹인용 Open Sourcing BERT: State-of-the-Art Pre-training for Natural Language Processing http://ai.googleblog[...] 2019-11-27
[71] 저널 A Primer in BERTology: What We Know About How BERT Works https://aclanthology[...] 2020
[72] ArXiv Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books 2015
[73] ArXiv SQuAD: 100,000+ Questions for Machine Comprehension of Text 2016-10-10
[74] ArXiv SWAG: A Large-Scale Adversarial Dataset for Grounded Commonsense Inference 2018-08-15



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com