본문 바로가기
논문으로 현업 씹어먹기

최신 AI Trend - Google의 Pathways (2 - Paper 리뷰)

by Yoo Sung Hyun 2022. 4. 13.
728x90

여기서 이어집니다.

2022.04.11 - [논문으로 현업 씹어먹기] - 최신 AI Trend - Google의 Pathways (1 - 역사와 톺아보기)

 

최신 AI Trend - Google의 Pathways (1 - 역사와 톺아보기)

간만에 블로그를 쓰는 것 같다...ㅋㅋㅋ 관심있게 지켜보고 있던 프로젝트인 Google Pathways가 4월 4일부로 벤치마크 결과가 공개되었다....!! 정확히는 Google의 목표는, 늘어나는 탄소 규제의 압박과

shyu0522.tistory.com

논문이 4월 7일에 공개가 되었다.

https://arxiv.org/abs/2204.02311

 

PaLM: Scaling Language Modeling with Pathways

Large language models have been shown to achieve remarkable performance across a variety of natural language tasks using few-shot learning, which drastically reduces the number of task-specific training examples needed to adapt the model to a particular ap

arxiv.org

내용은 많지만 사실 가장 궁금한 것은,

Model Architecture (Transformer 구조들을 뭘 또 바꿨을지?)

Loss Function 등의 Optimizing 기법들 (그리고 하이퍼 파라미터)

병렬 분산처리를 어떻게 했을지? (내가 TPU를 써본 적 없는데 여기는 TPU에 관한 내용만 나와서 설명은 그냥 넘겼다..ㅠ)

에 대한 내용들 위주로 한번 리뷰해보도록 하겠다.

Pathways 기술을 이용하여, TPU에 최적화된 고집적 모델을 개발하였고, BIG-bench에 거의 사람과 비슷한 성능으로 랭크되었다.

 

최근 몇년동안 큰 규모의 nn으로 언어 모델을 박살을 냈고, BERT와 같은 masked LM과 같은 형태로 pre-training, fine-tuning Task를 접복시켜서 최고의 성과를 이루고 있다.

GPT-3는 큰 모델로 학습시켜서 Few-shot 예측으로 쓸 수 있다는 것을 보였음.

 

few-shot learning은 도메인 단어라 알면 좋은데, 일단 적은 데이터로 학습이 잘 되는 것을 의미한다.

방법은 크게 3가지 (내가 알고있는 방법론이 전부가 아닐 수 있음.)

1. Pre-Training / Fine-Tuning 방식

2. Quantization Prediction 같은 방식, (label 값을 PCA, 양자화 등을 이용해서 대표값으로 변환)

3. VAE, GAN과 같은 형태로 Sampling Loss를 활용 (Gumbel-Softmax 등)

 

GPT에서 많은 영감을 받아 작성된 모델이지 않을까 하는 생각이 도입에서부터 느낌이 팍팍온다.

GPT 계열들의 모델들이 점점 어떻게 진화되어 왔는지에 대한 얘기를 한다.

내 생각에, 요즘 대부분의 빅사이즈 모델들은 전부 GPT 형태의 Decoder를 집중적으로 활용하는 형태인 것 같다.

Encoder에서 사이즈를 늘려봐야, 결국 가진 데이터로 계속 Feature 표현에만 집중할텐데, 일반화가 잘 안되는 형태로 Overfitting 될 수 있어서 그런게 아닐까 싶다.

 

그 이후에는 어떤 사상을 가지고 PaLM을 만들었는지에 대한 이야기들이 나오는데, Fine-Tuning이나 실제로 뭔가 소스가 공개된 상황은 아니어서, 충분히 납득하고 지나가기는 어려울 것 같다.

 

빠르게 모델 쪽으로 넘어가보자

모델에 대한 실질적인 특징 부분이다.

  • SwiGLU Activation - Residual Connection 하기 전, 유의한 정보를 판단하기 위한 GLU Gate의 앞쪽 절반을 Linear가 아닌, Swish Activation을 통해 비선형 통과시킵니다.
    때문에 복잡한 Feature들에 대한 학습율 증대를 고려할 수 있습니다.
  • Parallel Layers - 기존 Attention은 attention_output을 구성할때 FC(LayerNorm(input+attention_output)) 형태였는데, 식을 수정해서 품질 저하 리스크는 조금 있지만 훨씬 더 대용량 처리가 가능하게 했다고 한다. (attention을 FC에 포함시키지 않음.)

기존 어텐션은 저렇게 생겼다. 이쪽 부분 소스가 수정되어 있을듯!

  • Multi-Query Attention - ALBERT에서 Parameter Sharing이 기억나는가? ALBERT에서는 Attention Layer의 W가중치를 공유했다면, Multi-Query Attention은 Multi-Head Attention의 Key와 Value를 공유하고, Query만 각 Head마다 다르게 유지한다. 그럼으로써, Inference 시의 Decoder 계산 부하가 줄어, 속도와 메모리 측면에서 이득이 크다고 한다. 연결된 해당 논문에 보면, 속도는 Inference에서 7배 향상된다.
  • RoPE Embeddings - 로터리 트랜스포머라고하는 중국인들이 연구 개발한 트랜스포머가 있는데, 통상적인 포지셔널 인코딩을 더하는 방식(가법)이 아닌 곱하는 방식(승법)을 취했다고 한다. 통상 시계열 분해 문제에서, 가법은 각각 시점에서의 값만 고민하므로, 주변 변화에 민감하지 않은데 비해, 승법 방식은 곱을 통해서 주변 관계 변화에 민감하게 되어, 순차적 특성을 더 잘 나타낸다고 한다. 이 사상을 포지셔널 임베딩에 사용하는 것으로 보인다. (곱으로 계산하기에 아마 속도는 조금 떨어질 것 같고, 대신 정확도는 확실하게 조금 오르긴 하는 것 같다.) 또한, 벡터이기때문에, 전체 벡터의 '회전'은 내적 유사도에 영향을 미치지 않는다. 그래서 뭔가 곱으로 인해 벡터의 차원이 회전해도, 잘 된다고 표현한 부분들도 있었다. (로터리 트랜스포머 논문에서...)
  • Shared Input-Output Embeddings - Transformer Encoder에 해당하는 Input Embedding과 Transformer Decoder에 해당하는 Output Embedding을 같은 걸 사용한다는 의미
  • No Biases - 바이어스 제거
  • Vocabulary - 영어 sentencepiece 토크나이저로 이루어진 256K Tokens 구성

보면 알겠지만 Transformer에 각 구성요소를 최근 논문의 SOTA 혹은 잘 되더라 하는 요소들을 전부 짜집기한 형태이다...ㅋㅋ (이 정도면 논문 트렌드에 관심만 있으면, 새로운 BIG Model을 우리도 만들 수 있지 않을까...?)

 

이후에는 모델 학습 하드웨어 인프라와, 하이퍼 파라미터 등의 설명이 있다.

특이한 점은, 하드웨어 인프라가 최신세대(4세대) TPU 병렬 분산학습을 사용했다는 것인데, 아마 Pathways 인프라 아키텍쳐가 확실히 TPU 기반일 것이고, 때문에 개발은 JAX, 장비는 TPU 장비로 무조건 사용하게 되지 않을까 하는 생각이 든다. (뭔가 대형 모델들은 대기업 아니고서는 못하는게 아닐런지...)

 

Loss Function은 log loss 약간 수식 정규화하려고 변형해서 쓰는 것 같고, Sequnece Length는 2048이다.

 

Fine-Tuning은 각 Benchmark Test에 맞게 진행되었다고 하며, 그 이후로는 Benchmark 결과들이 쭉 나온다. (대부분 SOTA를 달성한다.)

 

결론을 보면, 아직 모델의 학습율이 더 높아질 수 있으며, 점진적이라기보단 파라미터도 많이 들어갈 수록 갑작스럽게 학습율이 높아지고 있음을 시사한다.

적절히 큰 모델과 앞으로의 추가적인 연구로 아직 자연어 Task는 더 좋아질 여지가 분명히 있음을 시사하고,

PaLM은 Pathways를 구축하기 위한 한단계일뿐이라고 이야기한다.

 

아마 다음에는 이미지나 음향쪽 뭔가 나오지 않을까? 그런 생각도 든다.

요즘 음향쪽 모델, 데이터 전처리 딥러닝화를 작업하려 하고있는데, 자기지도 학습이나 비지도 학습 측면에서, 확률 분포에 의한 Sampling이 중요해지고 있으며, 그 시작에 있었던 이미지(GAN, AutoEncoder)와 음향, 텍스트의 경계가 많이 무너지고 있다고 생각한다. (Wav2Vec의 경우 BERT의 관점으로 음향 데이터를 자기지도 학습시킴.)

 

Pathways도 소스가 공개되면 한번 어떻게 짜놨는지 보고, 리뷰하도록 하겠다.

728x90

댓글