modulabs / beyondBERT

11.5기의 beyondBERT의 토론 내용을 정리하는 repository입니다.
MIT License
60 stars 6 forks source link

ALBERT: A Lite BERT for Self-supervised Learning of Language Representations #3

Closed diligejy closed 4 years ago

diligejy commented 4 years ago

어떤 내용의 논문인가요? 👋

  1. 메모리 소비를 줄이고 BERT의 훈련 속도를 높이기 위한 두 가지 매개변수 감소 기법을 제시
  2. self-supervised loss를 사용하여 문장간 일관성을 높이고 downstream task하는데도 도움을 줌

Abstract (요약) 🕵🏻‍♂️

Increasing model size when pretraining natural language representations often results in improved performance on downstream tasks. However, at some point further model increases become harder due to GPU/TPU memory limitations and longer training times. To address these problems, we present two parameterreduction techniques to lower memory consumption and increase the training speed of BERT (Devlin et al., 2019). Comprehensive empirical evidence shows that our proposed methods lead to models that scale much better compared to the original BERT. We also use a self-supervised loss that focuses on modeling inter-sentence coherence, and show it consistently helps downstream tasks with multi-sentence inputs. As a result, our best model establishes new state-of-the-art results on the GLUE, RACE, and SQuAD benchmarks while having fewer parameters compared to BERT-large. The code and the pretrained models are available at https://github.com/google-research/ALBERT.

이 논문을 읽어서 무엇을 배울 수 있는지 간략하게 적어주세요! 🤔

이 논문을 제대로 읽었을 때 어떤 지식을 얻을 수 있을까요?

이 논문의 아이디어를 적어주세요. (요약하여 적거나, 자세히 적어도 상관없습니다.)

https://www.notion.so/ALBERT-5e87c6ca52a74899ae6d12f5fdf735e8#29bd31fae61c45cdba4b37c771ed4199

이 논문의 결론을 적어주세요.

참고 링크

  1. ALBERT- GITHUB (https://github.com/google-research/ALBERT)
  2. ALBERT 논문 (https://arxiv.org/pdf/1909.11942.pdf)
  3. KB - ALBERT (https://github.com/KB-Bank-AI/KB-ALBERT-KO?fbclid=IwAR0NvO41jPtYoREaQ0LS_mMQJrbjfaZGxeDzTPtMvLYq8SfetpDjpX3i_p4)
warnikchow commented 4 years ago

[질문]

본 논문의 핵심적인 부분 중 하나는, NSP 대신 SOP를 사용함으로써, topic prediction과 coherence prediction을 동시에 해서 학습이 topic에 집중되는 NSP와 달리 coherence에 중점을 둔 SOP의 강점을 보인다는 지점이라고 생각했습니다.

질문 시작

Table 5에 보면 NSP와 SOP를 사용하는 것에 대한 비교가 나옵니다. 그런데 제시해 준 task들로만 보았을 때는, SST-2를 제외하고는 거의 logical inference 혹은 machine reading comprehension task인 것으로 보입니다. 즉, SOP를 통해서 얻을 수 있는, 비교적 logic inference에 가까운 학습을 통해 잘 할 수 있는 task들에서, SOP가 잘 동작하는 것이 아닌가 싶습니다. 따라서, SST-2처럼 좀 더 lexicon들에 민감하고, context-variant할 수 있으며, logic에서 거리가 먼 task들에 대해서 성공적으로 동작할 수 있을지 의문이 듭니다. 또한, topic prediction과 coherence prediction에서 한 쪽에 편중 없이 학습할 수 있는 방법이 있을지도 궁금합니다.

soeque1 commented 4 years ago

[질문]

4.4. FACTORIZED EMBEDDING PARAMETERIZATION의 Table 3을 보면 ALBERT-Style에서는 E=128가 BEST지만, BERT-style에서는 E=768일 때 BEST 입니다. (저자 해석입니다)

그런데 본문 3.1. MODEL ARCHITECTURE CHOICES의 Factorized embedding parameterization. 에서는 ALBERT-Style 또는 BERT-style(parameter sharing과 무관하게) 독립적으로 설명하고 있는데

왜 Table 3에서 ALBERT-Style과 BERT-style이 다른 결과가 나왔을까요?

Huffon commented 4 years ago

[질문]

최근 BERT를 구성하는 여러 레이어에서 나온 Representation 들을 ELMo 에서와 같이 ScalarMixing 을 해서 사용하는 연구들이 나오고 있고, 지난 주 형준님께서 공유해주신 논문의 내용을 보면 ELMo와 마찬가지로 BERT 역시 레이어 간 서로 다른 정보를 학습한다고 합니다. 그렇다면 서로 다른 레이어가 학습하는 양상을 보존할 수 있는 Distillation과 같은 경량화가 훨씬 더 Make sense 할 것 같은데, 다른 분들은 어떻게 생각하시나요?

oglee815 commented 4 years ago

[질문]

논문에서는 파라미터 쉐어링 방법으로 세가지를 실험 했는데요

  1. All shared , 2. FFN shared, 3. Attention shared 이 외에도, 허깅페이스의 알버트 구현체에는 있는 것 같던데, 레이어를 그룹화해서 그룹 내에서만 공유하는 것 (예를 들어 1 ~ 3, 4 ~6, 7 ~9 레이어끼리 공유)은 성능이 어떨지 궁금하네요 ㅎ
hanjinlp commented 4 years ago

[질문]

-질문 이전 풀잎 때도 나왔던 질문인거 같은데 메모리 문제로 512 token으로 제한하는 것은 그냥 2의 제곱을 맞추기 위함일까요? 1024로 갈 경우는 메모리 문제가 많이 커질까요? 물론 이 경우는 짧은 텍스트의 경우 1024 token을 채우지 못하는 경우도 있을 것 같긴 하네요!

-개인적인 메모 예전부터 문장이 체계적으로 쓰이지 않은 글에서는 문장 순서(sentence order)가 문장 또는 토큰을 표상하는데 큰 역할은 못할 거 같다는 생각을 했는데, NSP를 채택하지 않아도 성능에 큰 변화가 없다는 것이 고무적이었습니다. 결국 MRC task에서는 글 전체의 응집성을 보는 것이 더 유의미하지 않을까 싶었던 직관을 확인해준 것 같아요.

wonhocho commented 4 years ago

[질문]

일반적인 모델 경량화 기법들.. 예를 들어, 네트워크 선 끊기(Pruning), 해상도 낮추기(Quantization), 압축하기(Knowledge Distillation) 등과는 다르게 ALBERT는 기존의 틀을 유지하지 않고 '알고리즘 개선으로 (성능도 좋고) 모델 경량화를 시도한 사례'라는 생각이 드는데요.

혹시 최근 연구 사례 중 이러한 새로운 알고리즘을 제안하며 모델 경량화에 대한 유의미한 결과를 얻었던 사례가 있는지 궁금합니다.

kh-kim commented 4 years ago

[질문]

질문 시작

Beomi commented 4 years ago

[질문]

4.8에 보면 추가 학습 데이터 & Dropout 제거가 성능을 향상시켰다는 부분이 있습니다. 하지만 이에 대해서 empirical research 레퍼런스만 있고, 이론적인 부분은 설명이 없는데요...

질문시작


+질문추가 방금 들으면서 궁금해진 부분인데요, "문제가 쉽기 때문에 학습이 잘 안된다." 라는 말이 '모델의 Generalize가 잘 되지 않는다', 즉 문제 해결 능력이 높은 모델이 되지 않는다 라는 것인거 같은데... 이게 모델이 굉장히 simple한(쉬운) Feature에만 집중한다, 라고 보는게 맞을지, 혹은 유의미한 loss와 gradient가 생기지 않는다, 라고 보는게 맞을지 혹은 다르게 봐야 하는지 궁금하네요.

emiatej9 commented 4 years ago

[질문]

  1. Cross-layer parameter sharing 부분 에서 “There are multiple ways to share parameters, e.g. ...” 라는 말이 있는데 파라미터를 공유한다는 것에 대한 개념(?) 그리고 어떤 기법들이 있는지 궁금합니다.

  2. 1번 관련하여 “Similar strategies have been explored by Universal Transformer, UT) ...“ 라는 부분이 있는데, UT 에서는 어떻게 파라미터 공유를 했을까요?(Recurrent Encoder Block 을 얘기하는 건지...)