간만에 블로그를 쓰는 것 같다...ㅋㅋㅋ
관심있게 지켜보고 있던 프로젝트인 Google Pathways가 4월 4일부로 벤치마크 결과가 공개되었다....!!
정확히는 Google의 목표는, 늘어나는 탄소 규제의 압박과 그로인해 DeepLearning 학습에 들어가는 환경문제와 싸우고 있었고, 정확히는 그것만을 위해 팀을 따로 꾸릴 정도였다.
그런 관점에서 TPU도 개발되었고, TPU에 대한 내용을 보다가 흥미로운 부분을 발견했다.
https://arxiv.org/abs/1911.05289
무려 2019년 논문으로, 논문의 요는 그렇다.
1. AI가 각광받기 시작하면서, 시장에서 GPU의 소요는 늘어나고 CPU의 소요는 줄어들고 있다.
2. 하지만 AI 연구가 지속되고 발전하는 속도를, GPU Resource는 따라가지 못한다.
3. 때문에 Google은 TPU를 개발하였고, 이런이런 특징들을 가지며 v3까지 발전해왔다.
4. GPU 말고, 머신러닝을 위한 새로운 하드웨어 아키텍쳐가 계속 발전되어 나가야 하지 않겠는가?
5. 더불어, 그렇게 발전만 잘 된다면, 이런 것도 할 수 있을 것 같은데... 우리는 정말 흥분되는 시대에 살고있다.
5번에 해당하는 부분이 매우 중요하다. 그리고 말 그대로 정말 흥분되는 시대에 살고있다고 써놨다...ㅋㅋ
결국 전문화된 컴퓨터의 요구가 발생할 것이며, 우리는 기술을 가지고있고, 이런 능력은 거대한 숫자의 도메인이나 폭발적으로 늘어나는 모델이나 데이터셋에 적용해볼 수 있겠고, 그런 부분들은 인간 전 분야에 영향을 미칠 것이다.
넓은 스케일의 많은 Task 학습이 가능한 것으로, 새로운 테스크들이 생겨날 것이고, 인류는 발전하게 될 것이다. 우리는 정말로 흥분되는 시대에 살고있다.
정말 멋진말이라고 생각했다. 그리고 흥미로웠던 부분
아마 Pathway를 이미 본 사람이라면, 알겠지만 상당히 비슷하다.
설명을 보면,
사람이 강제로 Task를 정의하거나, 혹은 학습과정에서 필요에 의해서 정해지는 Task 묶음들로 특정 작업이나 문제를 해결하는데 가장 적합한 다운스트림 구성요소를 결정한다는 것이다.
즉 Pre-Training이나 Fine Tunning 혹은 데이터를 전처리하는 임베딩 과정들 조차도, 우리가 BERT를 쓸지, VGG를 쓸지 고민할 필요 없이, 그 과정들 자체도 정의한 Task에 맞게 자동으로 학습을 시켜나가겠다는, 즉 AutoML을 AI가 모델 아키텍쳐 자체를 AutoML하게 만들겠다는 포부였다. (이때는 그냥 뜬구름인줄 알았지, 그림도 그렇잖슴?)
논문 위에 설명을 잘 일반화 해서 써놨던데, 간략하게 해석해보면
First
각 분야의 전문가를 잔뜩 모아놓고, 어떤 연구과제를 하나 던진다. 그러면 그 연구과제에 전문인 각각의 전문 연구원들이 있을 것이다.
그러면 그 연구원들이 해당 Task는 진행을 하고, 주변에 있는 연구원들은 '아 저런 연구는 저렇게도 하는구나. 나한테도 좀 도움이 되겠는걸?' 하고 본인들 스스로의 모델도 조금씩 미세 조정 되는 형태인 것이다.
어쩌면 Knowledge Distillation이나 Multi-Task Learning의 사상에서 확장된 것 아닐까 싶기도 하다.
Knowledge Distillation - 지식 전파 : 전문가 선생님이 아이를 가르치면 그냥 아이가 혼자 배우는 것 보다는 더 학습이 잘됨
Multi-Task Learning - 다중테스크 학습 : 비슷한 Task이지만 약간은 달라져야할 모델들로 학습함. (전세계 부동산 가격 예측 모델을 1 Task로 처리할 수 있도록 Layer 구조를 병렬 및 합침)
Second
AutoML의 그것이다. AutoML은 좀 시도적으로 찾아나가서 연산량이 많긴 하지만, 모델 아키텍쳐 자체를 선택할 수 있으니까.
Third
여기서는 Multi-Task Learning 자체를 이야기하는데, 위에서 얘기한 Model Layout을 표현하는 것이 아닌, PLM과 같이 Transfer Learning 방법론으로 접근한다.
종합해보면 우리가 발견해야할 사실은,
이 3가지 방법론을 혼합하여, 어렵고 무거운 학습방식을 한 두개 채용하는 것이 아니라, 쉬운 학습방식을 여러개 채용하여, 유기적으로 상호보완하며 학습할 수 있도록 설계해보자는 것이다.
크고 무거운 모델을 사용한다면 그 모델이 가벼운 모델의 학습을 도와준다거나, 아니면 작은 모델들이 유기적으로 작용하여 AutoML과 비슷하지만 그 이상의 것을 해내길 바라는 어조로 작성되어있다.
그리고 이 것은 단순히 AI 모델을 잘 만드는 것을 넘어, 하드웨어 아키텍쳐(네트워크, 프로세서, 컴파일러 등)부터 ML 아키텍쳐까지 전분야에 새로운 작업을 위한 일반화가 필요한 작업이라고 써놓았다.
그리고 2021년 10월 28일 Pathways가 Google Blog에 소개되었다.
https://blog.google/technology/ai/introducing-pathways-next-generation-ai-architecture/
내용은 길지만 이 때까지만 해도 정말 아이디어에 불과했다.
전문화 AI는 다방면에서 월등한 성과를 이뤄내고 있지만, 일반적으로 1가지 일밖에 하지 못한다.
우리는 단일 모델을 이용하여 수천 혹은 수백만가지를 학습시키길 원한다.
예를들면, 항공 이미지가 풍경의 고도를 예측하는 모델로, 홍수가 났을때 해당 지형을 통해 물이 흐르는 것을 예측하고싶다.
Pathways는 "표범"이라는 단어로 접근하던, "표범"이라고 소리로 얘기하던, "표범"이미지나 비디오를 처리하던, 동일한 응답이 활성화 되도록 합니다.
이런 추상적인 데이터 처리는, 기후 역학과 같은 복잡한 시스템에서 인간 과학자가 찾지 못하는 유용한 패턴을 찾을 수도 있습니다.
오늘날 모델은 매우 '조밀'합니다. 또한 학습을 위해 전체 신경망이 활성화 되어야 합니다.
(아마, 모델의 depth가 점점 더 깊어지고, Trainable Parameter 개수로 밀어붙히는 현 상황을 표현하는 듯)
사람의 뇌는 모든 뇌가 활성화 되는게 아니고, 일부만 되는데, AI 모델도 그렇게 될 수 있을 것 같다는 이야기를 합니다. 네트워크의 어떤 부분이 어떤 작업을 잘 하는지 학습하는 것으로 말이죠.
(아마 위에서 얘기된 모델 아키텍쳐를 AutoML시키겠다는 사상과 맞아 떨어지는 것 같죠?)
당연한 소리지만, 적은 리소스를 필요로 할테니 에너지 효율적이라는 얘기를 하네요.
그리고 마지막으로 구글은 가장 큰 글로벌 과제에 대해 계속 관심갖고있으며, 미래과제의 문제를 해결하기 위한 차세대 AI를 내놓겠다는 이야기를 합니다.
Deepmind에서는 (뭐 물론 Google Research Team이랑은 별개일 것 같긴 합니다만), 기후에 대한 Feature 없이, 단순히 영국 레이더 관측 사진만 가지고 90분뒤 강우량을 거의 정확하게 맞추기도 했었습니다.
https://www.deepmind.com/blog/nowcasting-the-next-hour-of-rain
이 때까지도 솔직히, 완전히 추상적이고, 그럴싸한 이야기밖에 없어서, 이게 될까? 싶었었는데,
생각보다 너무빨리됐다.
2022년 4월 4일 Pathways 벤치마크 결과 공개!
https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html?m=1
BERT이후의 많은 LLM(Large Language Models)들이 인상적인 결과들을 내보이고 있기에,
Google도 Pathways를 실현하기 위한 Hardware System을 구축하고, 더 많은 Trainable Parameter로 과연 하드웨어 아키텍쳐가 잘 동작하는지 실험해보고자 했나봅니다. (그리고 그게 대박이 납니다.)
https://arxiv.org/abs/2203.12533
간단하게 보면, TPU 분산 컴퓨팅 환경을 구축하고, 그것이 본인들의 기존 TPU+JAX나 GPU+TensorFlow 성능보다 월등히 빠르고 리소스 효율적이라는 이야기를 합니다. (해당 논문에서 학습된 성능 벤치마크는 PaLM 기준은 아닙니다.)
그리고 일단 모호하게 그걸 Pathways System이라고 표현하네요. 딥러닝 학습환경을 점점 독식해서 TPU 세상으로 만들고잠 함일까 두렵습니다...ㅠㅠ
그리고 바로 PaLM을 소개합니다.
https://arxiv.org/abs/2204.02311
당장 올라온지 4일밖에 안된 논문이라, 제대로 보진 못했지만, 단순히 파라미터를 늘리는 것에서 넘어서, 추가적인 방법론들도 조금은 있는 것 같습니다. (새로운 임베딩 처리 방식이라던가 하는...)
해당 논문은 시간이 있으면, 리뷰해서 올려보도록 하겠습니다.
그래도 블로그에는 실험 결과는 정리가 되어서 올라와 있는데요,
이모지로 영화 맞추는건 상당히 신기합니다....ㅋㅋㅋ
그리고 문맥이나 단어, 인과 관계 (말 타다가 오토바이로 바꾼게 빨리 가기 위해서라는...)를 맞추는 부분들은 정말 대단하네요.
사람이 진짜로 생각하듯이 계산의 중간단계까지 표현할 수 있으면서, GPT-3 175B의 최고점수였던 55%를 58%로 능가했다고 합니다.
또한, 실제 9-12세 어린이가 해결한 문제의 평균이 60%라는 점에서, 거의 어린아이 수준으로 예측을 한다는 것은 매우 흥미롭습니다.
농담을 설명하라는건데, 이거는 Google에 대한 Data Example이라서 조금 못미덥습니다...ㅋㅋ
소스를 규칙에 따라, 혹은 자연어를, 다른언어로 되어있는 것을 구현합니다.
심지어 사전 훈련 데이터 셋에 5%만 데이터가 있어도, 학습이 잘 되는데, 그것은 Codex 12B에 비해 거의 50배 적은 Data로도 학습이 잘 된다고합니다.
Pre-Trained 모델의 구조와 학습이 잘 이루어져있다면, 통상 Fine-Tuning은 매우 적은 Data와 Epoch로도 되는게 거의 통용인데, 역시나 잘 적용되는 사례인 것 같습니다.
PaLM-Coder 540B라는 조금은 변형된 모델 형태에서 C언어의 오류를 더 빠르게 수정한다고 합니다.
(SOTA가 71.7%였는데, PaLM-Coder는 82.1%라고 합니다. 논문에 의거한 Scoring 방식이 있는 듯 합니다.) - 스코어링 방식 : https://arxiv.org/abs/2106.06600
마무리는 LLM AI Model에 대한 기술 공개 투명성과 벤치마크 공개로 잠재적 위험과 악의적 사용을 방지하자고 하며, Pathways system을 통해 모델 규모의 한계를 뛰어넘을 수 있다는 바를 시사하면서 Article을 마무리 짓습니다.
일단 제가 봤던 논문들 중에도 단연코 양이 제일 많은 것 같아서, 언제 읽지 싶기도 하고, 꼭 읽어봐야겠다 싶기도 합니다. (PaLM 논문) - 꼭 빠른 시일내로 리뷰해서 블로그 작성하것습니다!
그러면서 또 드는 생각은, 자연어 처리 Task는 이제 Fancy한 사상의 아이디어를 구현한 것보다, 그냥 효율적인 Hardware 설계로 더 깊고 더 넓은 파라미터를 채용하는 것이 능사일까? 하는 허탈함도 좀 듭니다. (BERT가 처음 나왔을때, 이게 된다고? 싶었을때는 희열감이 느껴졌는데, Pathways는 좀 시시하달까요...? (에에? 뭐야 그냥 또 모델 불리기?))
2022년 1월에 공개된 Megatron-Turing NLG 530B 역시, 모델의 아키텍쳐보다는, 모델이 얼마나 더 커지고 깊어지고, 그거를 학습하기 위해 GPU 분산처리를 어떻게 해야되는가에 더 초점이 있는 듯 합니다.
https://arxiv.org/abs/2201.11990
어쩌면 당연시 되는 것 처럼 보이는 NLP Task에서의 Parameter, Layer 증가 만능주의가 Next-Step으로 Breakthrough 할 수 있는 방법이 있을지, 저 혼자 할 수 있는 건 없겠지만 막연히 생각이 많아지는 밤입니다...
'논문으로 현업 씹어먹기' 카테고리의 다른 글
[VALL-E] Neural Codec Language Models are Zero-Shot Text to Speech Synthesizers 리뷰 - (1~4/12 Page.) (1) | 2023.01.16 |
---|---|
최신 AI Trend - Google의 Pathways (2 - Paper 리뷰) (0) | 2022.04.13 |
Attention으로 Text 분석을 하자! - Structured-Self-Attentive (0) | 2022.02.03 |
Time Forecasting에 있어 느낀, Attention의 한계 (8) | 2021.05.25 |
응~ 역전파 이해해야되~ - (Yes you should understand backprop / Andrej Karpathy) (0) | 2021.05.07 |
댓글