[ 발표 요약 ]
1. Topic
Reformer : The Efficient Transformer
2. Overview
이번 세미나에는 Transformer를 사용할 때 발생하는 메모리 문제를 해결하기 위해 고민한 논문인 Reformer에 대해 공유하고자 한다. Transformer는 'Sequence의 길이', 'layer의 갯수', 'feedforward의 크기' 가 커질수록 메모리 사용량이 커지는 문제점을 갖고 있다. Reformer에서는 Local-Sensitive-Hashing 방법론, Reversible Network 구조, Memory Chunking 을 활용하여 메모리를 획기적으로 줄이는 방법을 제안한다. 이번 세미나에서는 Reformer에서 사용한 3가지 방법론에 대해 자세히 알아보고 Downstream Task에서 어떤 효과가 있는지 공유하고자 한다.
3. 발표자료 및 발표영상
[1] 발표자료
[link]
[2] 발표영상[
">link]
4. 참고문헌
[1] Reformer: The Efficient Transformer. Nikita Kitaev, Łukasz Kaiser, Anselm Levskaya (2020)
[link]
[2] Practical and optimal LSH for angular distance. Alexandr Andoni, Piotr Indyk, Thijs Laarhoven, Ilya Razenshteyn, Ludwig Schmidt (2015)
[link]
[3] Image Transformer. Niki Parmar, Ashish Vaswani, Jakob Uszkoreit, Łukasz Kaiser, Noam Shazeer, Alexander Ku, Dustin Tran (2018)
[link]
김정희 석사과정 세미나 발표를 들었습니다. 오늘 발표해주신 논문은 Reformer: The Efficient Transformer 논문이었습니다. 최근들어 계속해서 Language Model 의 크기가 커져가고 있었고 이에 따라 효율적인 LM 을 구축하고자 하는 연구들도 지속적으로 이루어졌습니다. 해당 논문은 논문의 제목에서도 알 수 있듯 Transformer 메모리 관점에서 성능을 향상시킨 논문입니다. 발표 초반부에 딥러닝 학습 시에 메모리 증가 요인들을 이해하기 쉬운 그림으로 설명 해주신 부분 너무 좋았습니다. Reformer 는 (1) Attention Layer 에서 쓸모 없는 Attention을 줄일 수 있도록 LSH Attention 을 적용하고, (2) Residual Block 을 중간 값 저장 없이 역전파가 가능하도록 Reversible Network 구조를 적용, (3) Feed-Forward Layer 에서 계산하는 단위를 나누어 메모리를 사용할 수 있는 Chunking 을 적용해서 Transformer 모델의 메모리 사용량을 줄일 수 있었다고 합니다. 개인 연구 또한 다양한 모델들을 사용해서 실험해보신 것 너무 좋았고 연구 잘 마무리 할 수 있으면 좋겠습니다. 발표 잘 들었습니다. 감사합니다.
개인적으로 관심을 가지고 있던 Reformer에 관한 발표였습니다. Transformer 기반의 모델들은 매우 빠른 속도로 발전해왔지만, 아직까지 길이가 매우 긴 sequence를 처리하는 것은 큰 도전 과제로 남아있는 상황입니다. 그 주된 이유 중 하나는 공간복잡도, 즉 메모리에 관한 것인데 본 발표에서 이 개념을 매우 직관적으로 설명해주어 이해하기가 편했습니다. 특히 Transformer 모델의 메모리에 영향을 미치는 요인을 모델 깊이, 모델 넓이, 문장 길이로 나누고 이를 시각화한 그림이 매우 인상깊었습니다. Reformer는 각각의 요인들로부터 발생하는 메모리 부하를 줄이기 위해 중간결과물을 줄이는 방식을 택했고, 이를 위해 LSH Attention, Reversible Network, Feedforward Layer Chunking을 제안하였습니다. LSH Attention에서 한가지 궁금했던 점은, hashing을 수행하고 같은 index 내에서만 attention이 적용되는 것이 메모리 사용을 줄이는데 도움이 되는 것은 합리적인데, 이것이 성능의 향상에도 도움이 되는 모듈인가 하는 것이었습니다. 처음에는 같은 index 내에서만 attention을 적용하므로, global attention이 적용되는 기존의 방법론보다 유연성이나 표현력이 떨어지는 방식이라고 생각하였는데, 발표를 들으며 오히려 무의미한 attention 및 연산을 줄여 noise가 제거된 attention output이 나오지 않을까 하는 생각도 들었습니다. 이에 대한 결론은 발표자분이 언급한 것 과 같이 sequence 길이가 일반적인 task에 적용이 되어야 도출이 가능할 것 같습니다. 흥미롭고 유용한 발표 감사합니다.
이번 세미나는 김정희 석사과정의 Reformer 논문에 대한 발표였습니다. Reformer는 기존의 언어모델(LM)인 Transformer의 메모리를 효율적으로 만든 LM입니다.
언어 모델 뿐만아니라 일반적인 딥러닝 모델은 학습 단계에서 backpropagation 시에 weight를 업데이트하기 전까지 중간결과를 메모리에 저장해야하기 때문에 메모리의 사용량이 증가할 수 밖에 없습니다.
Reformer는 Transformer 모델에서 메모리를 효율적으로 개선한 모델인데, 총 3가지 1) Attention Layer 2) Residual Block 3) Feedforward Layer를 개선한 모델입니다.
Attention Layer에서 불필요한 Attention계산을 줄이는 Local Sensitive Hashing(LSH) Attention을 사용합니다.
Residual Block 개선은 Reversible network를 적용하여 출력값으로 입력값을 구해 역전파하기 때문에 입력값을 메모리에 사용하지 않게끔한 방법입니다.
마지막으로 Feedforward layer 개선은 한번에 모든 토큰에 대한 FFN의 계산을 하여 메모리를 사용하는 것이아니라 토큰별로 각각 FFN을 계산하고 메모리를 해제하는 방식으로 메모리 사용량을 줄이게 됩니다.
이번 발표에서 각 방법론들을 단계별로 설명해주어 이해하는데 도움이 많이 되었습니다. 또한 논문에 대한 개인적인 생각을 공유해주어 발표자의 생각을 알 수 있어서 좋았습니다.
transformer의 파라미터의 수를 줄이는 연산효율성에 대한 세미나 였습니다. 메모리를 효율적으로 개선하기 위해 3가지 개념을 도입했는데 1) Attention Layer 2) Residual Block 3) Feedforward Layer를 개선하였습니다. 개인적인 의견으로, 연산 효율성 뿐만 아니라 모델의 성능을 높일 수 방법론이라고 생각됩니다. 예를들어 데이터의 수가 굉장히 적다고 하면, original transformer의 경우 소수의 데이터로 많은 파라미터를 학습해여 합니다. 하지만 reformer의 경우 소수의 파라미터로 학습되기 때문에 소수의 데이터에 대한 학습이 용이하다고 생각됩니다. 또다른 이슈로는 텍스트 데이터의 길이에 대한 내용인데, 일반적으로 text sequence를 메모리 사이즈 때문에 길게 가져가지 못합니다. 그래서 reformer에서는 문장길이를 길게 가져 갈수 있다는것을 장점으로 내세우고 있지만 긴 문장을 학습한다고 해서 모델의 성능이 올라가는지는 실험적으로 증명이 되지 않은 것같아 이부분에서 의문점이 남습니다. 오히려 mismatch율이 커져 feature 관점에서 학습이 어려운 구조가 아닌가 생각해봅니다.
책 한 권에 가까운 길이의 문장을 한 번에 처리할 수 있어 발표 당시 화제가 되었던 reformer:the efficient transformer 논문에 대한 세미나를 들었습니다. 당시 논문을 읽으며 생소한 개념인 hashing과 같은 개념들이 등장해 어려움을 느꼈습니다. 본 세미나에서 해당 내용들을 처음 보는 사람도 알 수 있게 쉽게 설명해주셔서 무리 없이 들을 수 있었습니다. Locality Sensitive Hashing은 기존에 transformer 계열에서 연산량이 많은 원인 중 하나인 attention 계산에서 비슷한 벡터를 갖는 단어들만을 묶어 계산을 수행함으로써 연산량을 줄입니다. 기존 신경망 모델에서 역전파를 계산하기 위해 레이어의 계산 결과를 저장해야 했고 이로 인해 메모리 사용이 높아집니다. Reversible Layer는 이를 방지하고자 역전파 계산에 필요한 부분을 그때그때 복원할 수 있는 구조를 제안합니다. 이러한 방식을 이용해 reformer는 계산량을 획기적으로 줄입니다. 발표에서 각각의 원리를 알기 쉽게 시각화해 주셔서 굉장히 좋았고 마지막에 실험을 통해서 reformer를 실제 사용할 때 성능이 기존 모델에 비해 어떤 차이가 있고 사용할 만 한 모델인지를 알려주신 부분이 가장 좋았습니다. 개인적으로 발표자분이 논문을 완벽히 이해하셔서 청취자 입장에서 궁금할만한 부분을 먼저 알려주신 것 같았습니다. 좋은 퀄리티의 발표를 들려주셔서 감사합니다.
산업공학도에게 익숙하지 않은 개념들을 설명하기 위한 시각화 자료 덕분에 논문을 이해하는데 필요한 내용들을 쉽게 이해할 수 있었습니다. 최근 연구 트렌드가 점점 더 큰 모델을 만드는 추세인데 그에 맞추어 대용량의 모델을 경량화 시키는 연구도 꾸준히 발전하고 있는 것 같습니다. 기본적으로 모델을 distillation하는 방법 뿐만 아니라 금일 진행된 세미나 내용처럼 연산 효율성을 높이는 방식의 연구들도 진행됨을 알 수 있었습니다. 딥러닝을 전문적으로 연구하는 단체에 속한 연구자가 아닌 일반 연구자 혹은 그 모델을 사용하는 엔지니어에게는 꼭 필요한 연구분야이기때문에 반드시 발전해야 하는 분야 중 하나라고 생각합니다. 또한 우리 연구실에서도 이러한 연구분야에 관심을 가지고 꾸준히 공부하는 학생이 나올 것이라 기대합니다.
본 세미나에서는 여태까지의 세미나에서 들어보지 못한 주제를 다루어서 좋았습니다. Transformer에 관한 발표는 많이 있었지만, 해당 모델의 메모리 문제를 해결하고자하는 연구에 관한 발표는 이번이 처음이었습니다. 이렇게 실용적인 부분 또한 항상 딥러닝 연구와 관련하여 떼어 놓을 수 없는 부분이기 때문에 상당히 중요하다고 생각하는데 내용 자체가 익숙하지 않아서 멀리하게 되는 경향이 있었는데 본 세미나를 통해 다시 한 번 관심을 가지게 되는 계기가 될 것 같습니다. 결국 모델의 메모리를 효율적으로 활용하기 위해서는 모델의 연산이 어떻게 이루어지는에 대한 구조적인 이해가 필요한데 해당 부분에 대해 잘 설명해주어 잘 파악할 수 있었습니다. 또한 발표에서 직접 실험을 통해 어떤 모델을 어떤 사황에 사용해야 좋을지에 대한 견해를 제시해주시는 부분 또한 매우 좋았습니다. 향후 연구에 있어서 좋은 참고가 될 것 같습니다.
개인적으로 Reformer 논문에 대한 발표도 좋았지만, 추가적으로 본인이 의문을 가진 점에 대해 직접 실험하고 성능에 대해 발표한 점이 더 인상 깊었습니다. 해당 논문의 contribution은 Transformer 모델에서 Memory를 효율적으로 사용하기 위해 중간결과물의 크기를 효율적으로 줄이는 방법을 통해 모델의 성능은 유지된다는 것입니다. Transformer에서 Attention 부분, Residual 부분, Feadforward 부분을 효율적으로 중간결과물의 크기를 줄였습니다. 해당 논문의 모델은 문장 길이(Token 수)가 길수록 효과적이라고 볼 수 있는데 현실적으로 길이가 적은 데이터가 대부분이기 때문에 이에 대한 의문을 가지고 본인의 추가 실험을 한 점이 특히 좋았습니다. Token 길이가 적을 때는 memory 사용의 차이가 모델별로 크지 않기 때문에 학습속도가 빠른 일반적인 transformer를 이용하는 것이 효율적이라는 발견을 공유해주셔서 감사합니다. 논문에 대한 접근과 이에 대한 의문을 개인적으로 검증하는 것은 참된 연구자의 자세가 아닐까 생각합니다.
최근 NLP 분야에서는 대용량의 Unlabeled Data를 이용하여 Language Model을 학습한 뒤에 이를 Downstream Task에 맞게 Fine Tuning 하는 방식으로 높은 성능을 내는 모델들이 주류를 이루고 있습니다. 모델의 성능을 끌어올리는 데는 많은 Parameter를 갖는 큰 모델들이 적합하나, 개발 또는 적용 단계에서는 이러한 많은 Parameter가 비용을 증가시키는 것이 사실입니다. 따라서 효율적인 모델을 개발하고자 하는 다양한 시도들이 등장했으며, 본 세미나에서 소개한 Reformer는 Memory 관점에서 효율성을 추구합니다.
해당 논문에서는 Transformer에서 모델의 깊이, 모델의 넓이, 문장의 길이가 메모리 사용량에 영향을 미친다고 보고 이를 각각 개선하는 방식들을 소개합니다. 우선적으로 문장 길이의 경우 Attention이 몇 개의 토큰에만 집중하는 경향을 이용하여 모든 토큰에 대해 Attention을 계산하는 대신 비슷한 토큰끼리만 Attention을 적용하는 LSH Attention을 이용하여 연산의 효율성을 추구하였고, 모델 깊이의 경우 Attention, Feed Forward Layer가 반복되는 것을 이용하여 출력층의 변수로 입력층의 변수를 계산할 수 있는 Residual Connection인 Reversible Network를 이용합니다. 모든 중간 결과물을 저장하는 대신 출력 값과 입력 값만을 이용하여 역전파를 계산하는 방식으로 모델의 깊이에 따른 메모리 사용량을 줄입니다. 모델 넓이의 경우 Feed Forward Layer를 개선하는 방식으로 효율성을 추구했습니다. Feed Forward는 Attention과 달리 시퀀스 내에서 토큰의 위치에 상관없이 계산이 가능함에 착안하여 각 토큰 별로 Feed Forward를 따로 계산하는 방식으로 메모리 사용량을 줄였습니다.
이후 발표자가 직접 실험을 통해 Reformer와 Transformer의 성능을 비교하였고, Reformer가 속도 측면에서는 단점을 가지고 있다는 것과, 극단적으로 긴 길이의 시퀀스에 대해서는 LSH Attention이 좋은 효과를 낼 수 있다는 것을 확인하였습니다. 상세한 설명과 직관적인 자료 및 실제 Reformer를 활용할 때의 노하우 등을 공유한 흥미로운 세미나였습니다. 대단히 감사합니다.
해당 세미나시간에는 김정희 석사과정이 자신의 첫 세미나 주제로 "Reformer"논문을 다루었습니다. 해당 논문은 기존 Transformer를 사용할 때 발생하는 메모리 문제를 해결하기 위해 Local-Sensitive-Hashing 방법론, Reversible Network 구조, Memory Chunking 을 활용하여 메모리를 획기적으로 줄이는 방법을 제안하였습니다. 첫 세미나임에도 불구하고, 무척이나 침착하게 세미나를 잘 진행해 주었으며, 특히 Reformer에 대한 구조를 위한 시각화 자료가 듣는입장에서 매우 가독성 있어 이해하기에 어려움이 없었습니다. 딥러닝 연구 초기에는 SOTA의 성능을 목표하여, 무작정 모델의 size를 bulkup해서 진행되었다고 한다면, 최근 러한 연산량 관련하여 다양한 방법론에서 기존 모델대비 좀더 효율적인 구조로 학습을 도모하는 방향의 연구도 흥미로운 연구주제라고 생각됩니다. 해당 "Reformer"에 대해서 직접 실험을 진행하고 그 결과를 공유한점도 매우 인상적이였습니다. 첫 발표임에도 불구하고 다음 세미나 역시 기대가 되는 발표자의 세미나 시간이였습니다. 바쁜와중에도 세미나발표를 열심히 준비해주셔서 감사의 말씀 전합니다.
금일 발표는 "Reformer : The Efficient Transformer"라는 주제로 진행되었습니다. 본 발표는Transformer의 메모리 문제를 해결하기 위해 제안된 Reformer를 중심으로 진행되었습니다. Transformer의 모델 크기에 따라 발생하는 메모리 문제를 해결하기 위해 Reformer에서는 Local-Sensitive-Hashing, Reversible Network, Memory Chunking이 사용되었습니다. 딥러닝을 기반으로 연구를 하고 있는 학생의 입장에서 메모리 문제를 실감하는 상황들을 자주 마주하게 되기 때문에 이번 발표의 주제가 더욱 흥미로웠습니다. 하지만 오늘 발표된 내용들은 사실 저희 연구실에서 연구 및 공부하고 있는 부분과 조금 거리가 있어 개인적으로 혼자 이 논문을 읽었다면 많은 어려움이 있었을 것으로 생각되는데, 발표자가 좋은 자료를 통해 보다 쉽게 설명해주어 reformer를 이해하는데 많은 도움이 되었습니다. 더불어 지난 서승완 박사과정의 발표와 마찬가지로 김정희 석사과정도 Reformer 논문의 내용을 그대로 받아들이기보다 본인이 직접 해당 모델과 Transformer에 대해 비교하는 실험을 진행하고 결과를 공유해주어 인상 깊었습니다. 오늘도 이러한 자세를 배울 수 있어 유익한 시간이었습니다.