BART 모델: 양방향 자기회귀 트랜스포머의 혁신

김동준·2025년 9월 24일

LLM

목록 보기
38/50

BART 모델: 양방향 자기회귀 트랜스포머의 혁신

BART(Bidirectional and Auto-Regressive Transformers)는 2019년 Facebook AI Research(현 Meta AI)에서 개발한 혁신적인 트랜스포머 기반 언어 모델이다[1][2]. BART는 노이즈 제거 오토인코더(denoising autoencoder) 방식으로 사전학습되는 시퀀스-투-시퀀스(sequence-to-sequence) 모델로, BERT의 양방향 인코더와 GPT의 자기회귀적 디코더를 결합하여 텍스트 이해와 생성 모두에서 뛰어난 성능을 보인다[3][4].

핵심 아키텍처와 설계 철학

하이브리드 인코더-디코더 구조

BART의 가장 중요한 특징은 BERT와 GPT의 장점을 결합한 하이브리드 아키텍처에 있다[5]. 전통적인 트랜스포머 기반 신경 기계 번역(NMT) 구조를 사용하면서도, 다음과 같은 독특한 특성을 갖는다[6]:

인코더 부분: BERT와 유사한 양방향(bidirectional) 구조로 손상된 텍스트를 입력받아 전체 문맥을 양방향으로 이해한다[2]. 이를 통해 단어의 좌우 문맥을 모두 고려한 깊은 이해가 가능하다.

디코더 부분: GPT와 유사한 자기회귀적(autoregressive) 구조로 왼쪽에서 오른쪽으로 순차적으로 토큰을 생성한다[7]. 각 단계에서 이전 토큰들을 바탕으로 다음 토큰을 예측하여 자연스러운 텍스트 생성이 가능하다.

크로스 어텐션: 디코더의 각 레이어는 인코더의 최종 은닉 상태에 대해 추가적인 크로스 어텐션을 수행한다[8]. 이를 통해 인코더가 이해한 입력 정보를 디코더 생성 과정에 효과적으로 활용할 수 있다.

모델 규모와 파라미터

BART는 두 가지 버전으로 제공된다[9]:

  • BART-base: 인코더와 디코더 각각 6개 레이어, 은닉 크기 768, 약 140백만 개 파라미터
  • BART-large: 인코더와 디코더 각각 12개 레이어, 은닉 크기 1024, 약 400백만 개 파라미터

이는 BERT(110백만 파라미터)보다 약간 크지만 GPT-3(1750억 파라미터)보다는 훨씬 작은 규모다[10].

혁신적인 사전학습 방법론

노이즈 제거 오토인코더 학습

BART의 핵심 혁신은 다양한 노이즈 함수를 통한 텍스트 손상과 재구성 학습에 있다[11]. 기존 BERT의 단순한 토큰 마스킹을 넘어서 훨씬 복잡하고 다양한 손상 방식을 적용한다[12].

5가지 주요 노이즈 함수

1. 토큰 마스킹(Token Masking): BERT와 동일하게 임의의 토큰을 [MASK] 토큰으로 대체한다[13].

2. 토큰 삭제(Token Deletion): 임의의 토큰을 완전히 제거하여 모델이 어느 위치의 토큰이 삭제되었는지 추론해야 한다[14].

3. 텍스트 인필링(Text Infilling): BART에서 가장 효과적인 방법으로, 포아송 분포(λ=3)를 따라 선택된 길이의 텍스트 스팬을 단일 [MASK] 토큰으로 대체한다[15]. 스팬 길이가 0인 경우에는 해당 위치에 마스크 토큰을 삽입한다.

4. 문장 순서 섞기(Sentence Permutation): 원본 문서의 문장 순서를 무작위로 섞어 모델이 올바른 순서를 학습하도록 한다[16].

5. 문서 회전(Document Rotation): 임의의 토큰을 선택하여 문서가 해당 토큰으로 시작하도록 회전시킨다. 이는 모델이 문서의 시작점을 식별하는 능력을 향상시킨다[17].

실험 결과, 텍스트 인필링과 문장 순서 섞기의 조합이 가장 우수한 성능을 보였다[18].

학습 과정과 목적 함수

BART는 손상된 문서와 원본 문서 간의 재구성 손실(reconstruction loss)를 최소화하는 방향으로 학습된다[19]. 구체적으로는 원본 텍스트의 음의 로그 우도(negative log likelihood)를 최적화한다. 이 과정에서 모델은 텍스트의 구조적 패턴과 의미적 관계를 깊이 학습하게 된다.

다양한 다운스트림 태스크 적용

시퀀스 분류(Sequence Classification)

텍스트 분류나 감정 분석 같은 판별 태스크에서는 동일한 입력을 인코더와 디코더 모두에 제공하고, 디코더의 마지막 토큰 은닉 상태를 새로운 다중 클래스 선형 분류기에 입력한다[20]. 이는 BERT의 [CLS] 토큰과 유사하지만, 디코더의 끝에 토큰을 추가하여 전체 입력에 대한 디코더 상태를 확인할 수 있다는 장점이 있다.

토큰 분류(Token Classification)

개체명 인식이나 SQuAD의 답변 끝점 분류와 같은 토큰 수준 분류에서는 인코더와 디코더 모두에 완전한 문서를 입력하고, 디코더의 최상위 은닉 상태를 각 단어의 표현으로 사용한다[21].

시퀀스 생성(Sequence Generation)

BART는 자기회귀적 디코더를 갖고 있어 추상적 질문답변, 요약 등의 생성 태스크에 직접 파인튜닝할 수 있다[22]. 이러한 태스크에서 정보는 입력에서 복사되지만 노이즈 제거 사전학습 목적에 따라 조작된다.

기계 번역(Machine Translation)

기계 번역을 위해서는 새로운 접근법을 제시한다[23]. BART의 인코더 임베딩 레이어를 새로운 무작위 초기화 인코더로 교체하고, 새로운 인코더가 외국어를 노이즈가 있는 영어로 매핑하도록 학습시킨 후, BART가 이를 깨끗한 영어로 디노이즈하도록 한다.

성능과 벤치마크 결과

이해 태스크에서의 성능

BART는 GLUE와 SQuAD 벤치마크에서 RoBERTa와 비교할 만한 성능을 달성했다[24]. 이는 생성에 특화된 모델임에도 불구하고 텍스트 이해 능력에서도 뛰어남을 보여준다.

생성 태스크에서의 우수성

텍스트 요약: CNN/DailyMail 데이터셋에서 기존 최고 성능 대비 최대 3.5 ROUGE 점수 향상을 달성했다[25]. 특히 XSum 데이터셋에서는 매우 추상적인 요약에서 BERT 대비 약 6.0 ROUGE 점수 향상을 기록했다[26].

대화 생성: ConvAI2 데이터셋에서 이전 맥락과 주어진 페르소나를 고려한 대화 응답 생성에서 우수한 성능을 보였다[27].

기계 번역: 역번역 시스템 대비 1.1 BLEU 점수 향상을 달성했으며, 이는 타겟 언어 사전학습만으로 이룬 성과다[28].

주요 장점과 특징

유연한 노이즈 함수

BART의 가장 큰 장점은 노이즈 유연성(noising flexibility)이다[29]. 임의의 변형을 원본 텍스트에 적용할 수 있으며, 길이 변화를 포함한 다양한 변형이 가능하다. 이는 BERT의 제한적인 토큰 마스킹보다 훨씬 강력한 사전학습을 가능하게 한다.

범용성과 적응성

BART는 하나의 모델로 이해와 생성 모두를 다룰 수 있는 범용성을 갖는다[30]. 추가적인 복잡한 후처리 없이도 다양한 태스크에서 일관된 고품질 결과를 생성한다.

문법적 정확성

다른 생성 모델들과 비교했을 때, BART는 문법적으로 올바른 텍스트를 생성하는 능력이 뛰어나다[31]. 이는 노이즈가 있거나 오류가 있는 텍스트를 다루는 명시적 학습 덕분이다.

한국어 적용과 발전

KoBART 모델

SKT에서 개발한 KoBART는 BART를 한국어에 적용한 대표적인 모델이다[32]. 한국어 데이터로 사전학습되어 한국어 텍스트 요약, 대화 생성 등의 태스크에서 활용되고 있다.

한국어 BART 모델을 이용한 연구에서는 개체명 인식, 감성분석, 의미역 결정 등 다양한 한국어 자연어처리 태스크에서 성능 향상을 확인했다[33][34].

기술적 한계와 도전 과제

계산 비용

BART는 인코더-디코더 구조로 인해 상당한 계산 비용이 필요하다[35]. 특히 대규모 문서 처리 시 메모리 사용량과 추론 시간이 증가하는 문제가 있다.

입력 길이 제한

대부분의 BART 모델은 최대 입력 길이 제한(일반적으로 1024 토큰)이 있어, 매우 긴 문서를 직접 처리하기 어렵다[36]. 이는 긴 문서 요약이나 번역에서 제약 사항이 된다.

도메인 적응

사전학습 데이터와 다른 특수 도메인(의료, 법률 등)에서는 추가적인 도메인 적응이 필요할 수 있다[37].

실무 활용과 구현

Hugging Face 생태계

BART는 Hugging Face Transformers 라이브러리를 통해 쉽게 사용할 수 있다[38]. facebook/bart-basefacebook/bart-large-cnn 등 다양한 사전학습된 모델이 제공된다.

파인튜닝 방법

BART 파인튜닝은 일반적으로 다음 단계를 따른다:
1. 사전학습된 BART 모델 로드
2. 태스크별 데이터 전처리
3. 적절한 손실 함수 설정 (생성 태스크의 경우 cross-entropy loss)
4. 학습률과 배치 크기 조정
5. Early stopping과 검증 세트를 통한 성능 모니터링

최신 연구 동향과 발전

대규모 모델과의 통합

최근에는 BART의 아키텍처 원리를 더 큰 규모의 모델에 적용하는 연구가 활발하다. T5, PEGASUS 등의 모델들이 BART의 영향을 받아 개발되었다[39].

다중 모달 확장

텍스트뿐만 아니라 이미지와 텍스트를 함께 처리하는 다중 모달 BART 모델 연구도 진행되고 있다[40].

효율성 개선

모델 압축, 지식 증류, 양자화 등을 통해 BART의 계산 효율성을 높이는 연구가 지속되고 있다[41].

미래 전망과 의의

BART는 텍스트 이해와 생성을 통합한 범용 언어 모델의 가능성을 보여준 중요한 이정표다. 노이즈 제거 오토인코더라는 간단하면서도 강력한 사전학습 방법론을 통해, 하나의 모델로 다양한 NLP 태스크를 효과적으로 수행할 수 있음을 입증했다.

특히 한국어를 포함한 다양한 언어로의 확장실무 환경에서의 안정적인 성능은 BART가 단순한 연구 모델을 넘어 실용적인 AI 도구로 자리잡았음을 보여준다. 앞으로도 더 효율적이고 강력한 언어 모델 개발에 중요한 기초가 될 것으로 예상된다.

BART의 성공은 모델 아키텍처의 혁신보다는 적절한 사전학습 방법론의 중요성을 강조한다. 이는 향후 언어 모델 연구에서 데이터 활용 방법과 학습 목적 함수 설계가 얼마나 중요한지를 보여주는 사례로 평가받고 있다.

출처
[1] BART: Bidirectional and Auto-Regressive Transformers https://wikidocs.net/225013
[2] arXiv:1910.13461v1 [cs.CL] 29 Oct 2019 https://arxiv.org/pdf/1910.13461.pdf
[3] BART Model for Text Auto Completion in NLP https://www.geeksforgeeks.org/artificial-intelligence/bart-model-for-text-auto-completion-in-nlp/
[4] BART: Denoising Sequence-to-Sequence Pre-training for ... https://velog.io/@pabiya/BART-Denoising-Sequence-to-Sequence-Pre-training-for-Natural-Language-Generation-Translation-and-Comprehension
[5] BART 논문 설명(BART - Denoising Sequence-to-Sequence ... https://greeksharifa.github.io/nlp(natural%20language%20processing)%20/%20rnns/2022/08/09/BART/
[6] Transformers BART Model Explained for Text Summarization https://www.projectpro.io/article/transformers-bart-model-explained/553
[7][Paper Review] BART (2020) - 우정's Log - 티스토리 https://wooodong.tistory.com/19
[8] BART https://huggingface.co/docs/transformers/model_doc/bart
[9][X:AI] BART 논문 리뷰 - hyeon827 - 티스토리 https://hyeon827.tistory.com/81
[10] BART: Denoising Sequence-to-Sequence Pre-training for ... https://ai.meta.com/research/publications/bart-denoising-sequence-to-sequence-pre-training-for-natural-language-generation-translation-and-comprehension/
[11] Bart - https://docs.rbln.ai/software/optimum/model_api/transformers/text_model/bart.html
[12] BART 학습 모델: 텍스트 복원의 마법사 - 메모리허브 https://memoryhub.tistory.com/entry/BART-%ED%95%99%EC%8A%B5-%EB%AA%A8%EB%8D%B8-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EB%B3%B5%EC%9B%90%EC%9D%98-%EB%A7%88%EB%B2%95%EC%82%AC-%F0%9F%8E%AF
[13] BART: Denoising Sequence-to-Sequence Pre-training for ... https://research.facebook.com/publications/bart-denoising-sequence-to-sequence-pre-training-for-natural-language-generation-translation-and-comprehension/
[14][논문리뷰] BART - 어차피 사는거 편하게 살자(어편살) https://chloelab.tistory.com/34
[15] BART: Bidirectional and Auto-Regressive Transformer https://elevne.tistory.com/entry/BART-Bidirectional-and-Auto-Regressive-Transformer
[16] facebook/bart-base https://huggingface.co/facebook/bart-base
[17] BART Explained https://paperswithcode.com/method/bart
[18] BART(Bidirectional and Auto-Regressive Transformers) https://westshine-data-analysis.tistory.com/152
[19] facebook/bart-large https://huggingface.co/facebook/bart-large
[20] LLM / VLM : 논문리뷰 : BART - AI바라기의 인공지능 - 티스토리 https://aiflower.tistory.com/42
[21] Bayesian additive regression trees and the General BART ... https://pmc.ncbi.nlm.nih.gov/articles/PMC6800811/
[22] AjNavneet/BART-Text-Summarization: Abstractive ... https://github.com/AjNavneet/BART-Text-Summarization
[23] Difference Between BART and BERT | PDF https://www.scribd.com/document/835661106/Difference-Between-BART-and-BERT
[24] Understanding the BART Model for Accurate Text ... https://www.digitalocean.com/community/tutorials/bart-model-for-text-summarization-part1
[25] BART Text Summarization vs. GPT-3 vs. BERT https://www.width.ai/post/bart-text-summarization
[26] GPT-3 vs. BERT - which is best? This article compares both ... https://softteco.com/blog/bert-vs-chatgpt
[27] Abstractive Text Summarization with BART https://keras.io/examples/nlp/abstractive_summarization_with_bart/
[28] Choosing the Right Transformer Model for Your Task https://researchify.io/blog/choosing-the-right-transformer-model-for-your-task-bert-gpt-2-or-bart
[29] facebook/bart-large-cnn https://huggingface.co/facebook/bart-large-cnn
[30] BART Text Summarization vs. GPT-3 vs. BERT https://www.linkedin.com/posts/ferndzjoe_bart-text-summarization-vs-gpt-3-vs-bert-activity-7074291307870892032-i4_p
[31] Local Gaussian process extrapolation for BART models ... https://arxiv.org/abs/2204.10963
[32] Huggingface Pipeline과 BART를 이용한 텍스트 요약 https://int-i.github.io/python/2023-08-07/huggingface-pipeline-summarization/
[33] Comparing Gen 1 Models (GPT, BERT, T5 and More) https://admantium.com/blog/llm02_gen1_overview/
[34] BART 모델에 기반한 논문 요약 어플리케이션 https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10583427
[35] Fine-tuning of Attention-based BART Model for Text ... https://koreascience.kr/article/JAKO202203255718375.page
[36] 04-09. BERT, GPT - AI Interview Guide https://wikidocs.net/292005
[37] A Breakdown of the BART Model in Natural Language ... https://www.linkedin.com/pulse/understanding-bart-breakdown-model-natural-language-nagababu-molleti-swtxc
[38] Text Summarization with Bart series LLM https://www.kaggle.com/code/aisuko/text-summarization-with-bart-series-llm
[39] BART: Denoising Sequence-to-Sequence Pre-training for ... https://aclanthology.org/2020.acl-main.703/
[40][Paper Review] BART: Denoising Sequence-to- ... https://velog.io/@wkshin89/Paper-Review-BART-Denoising-Sequence-to-Sequence-Pre-training-for-Natural-Language-Generation-Translation-and-Comprehension
[41] BART: Denoising Sequence-to-Sequence Pre-training for ... https://arxiv.org/abs/1910.13461
[42][Paper review] BART https://velog.io/@ruindlf/Paper-review-BART
[43][Paper Review] BART: Denoising Sequence-to ... - Sonstory https://sonstory.tistory.com/106
[44] downstream task (다운스트림 작업) - 인공지능(AI) & 머신 ... https://wikidocs.net/251764
[45] 20-02. BART(Bidirectional Auto-Regressive Transformers) https://wikidocs.net/256572
[46][논문 리뷰] BART: Denoising Sequence-to ... - 끄적끄적[CS] https://dooodling.tistory.com/30
[47] Prefix-Tuning: Optimizing Continuous Prompts for Generation ... https://joonable.tistory.com/44
[48] BART를 이용한 한국어 자연어처리: 개체명 인식, 감성분석, ... https://koreascience.kr/article/CFKO202030060617814.pdf
[49] BART: Denoising Sequence-to-Sequence Pre-training for ... https://cartinoe5930.tistory.com/entry/BART-Denoising-Sequence-to-Sequence-Pre-training-for-Natural-Language-Generation-Translation-and-Comprehension-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0
[50] How to fine-tune a model for common downstream tasks https://huggingface.co/docs/transformers/v4.15.0/custom_datasets
[51] BART 논문 리뷰 https://beta.velog.io/@choonsik_mom/BART-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0
[52] BART: Denoising Sequence-to-Sequence Pre-training for ... https://dlaiml.tistory.com/entry/BART-Denoising-Sequence-to-Sequence-Pre-training-for-Natural-Language-Generation-Translation-and-Comprehension

profile
Story Engineer

0개의 댓글