W&B가 Graphcore의 GroupBERT를 IPU에서 더 빠르게 실행하도록 최적화하는 데 어떻게 기여했는가
W&B가 Graphcore 팀이 새로운 BERT 모델을 40% 더 짧은 시간에 학습하도록 도운 방법을 알아보세요
이 글은 AI 번역본입니다. 오역이 있을 수 있으니 댓글로 알려주세요
Created on September 15|Last edited on September 15
Comment
소개
지난 몇 년 동안 Transformer 언어 모델은 한층 성숙한 지능형 가상 디지털 어시스턴트(VDA), 대화형 사용자 인터페이스, 자동 콘텐츠 생성의 차세대를 여는 데 기여해 왔습니다. 도메인 특화 데이터셋으로 이러한 모델을 더 빠르게 학습시키는 능력은 은행, 금융, 헬스케어, 법률 등 대규모 AI 전환이 진행 중인 산업에서 견고한 제품을 구축하는 데 매우 중요합니다.
BERT는 이러한 Transformer 혁신의 중심에 서 있습니다. 오늘날 가장 널리 사용되고 범용성이 뛰어난 언어 모델 중 하나로 자리 잡았으며, 최첨단 성과를 달성하고 FinBERT, RoBERTa, ALBERT, 그리고 오늘 살펴볼 모델처럼 수많은 파생 Transformer 모델에 영감을 주었습니다. 그룹버트.
GroupBERT는 다음 팀이 주도한 최신 BERT 기반 모델입니다 그래프코어 효율적인 그룹화 행렬 컨볼루션과 산술 연산 강도가 낮은 연산을 활용하여, 매우 빠른 메모리 접근에 의존하는 강화된 Transformer 구조를 도입합니다. 이러한 빌딩 블록은 계산 효율이 높고 메모리 대역폭을 충분히 활용할 수 있기 때문에, Graphcore의 Intelligence Processing Unit (IPU)에 특히 적합합니다.
이러한 IPU는 260 Tb/s로 동작하며, 파라미터 수를 사실상 절반으로 줄이면서 동일한 사전 학습 정확도를 유지한 채 학습 시간을 두 배 빠르게 단축할 수 있습니다.
이러한 큰 폭의 개선은 번역, 요약, 고급 텍스트 분석과 같은 기능을 간소화하려는 IPU 사용자에게 개발 시간을 단축한다는 뜻입니다.
아래에서는 Graphcore Research가 W&B를 활용해 GroupBERT 최적화를 위한 실험 과정을 어떻게 가속화했는지 설명합니다. 특히, GroupBERT의 학습을 훨씬 더 빠르게 만들기 위해 모델을 다음과 결합하는 것이 효과적이었습니다. LAMB 옵티마이저 (You 외, 2020)이며, Weights & Biases가 원활한 전환을 이루는 데 핵심적인 역할을 했습니다.
Adam에서 LAMB로 전환

그림 1: GroupBERT 아키텍처
원래 BERT는 Adam 옵티마이저를 사용해 개발되었으며, 전역 배치 크기는 비교적 작은 500개 문장으로 동작했습니다. LAMB 옵티마이저는 텐서별로 학습률을 조정하므로 전역 배치 크기를 65,000개 문장까지 늘릴 수 있습니다. 높은 배치 크기는 가중치 업데이트 횟수를 줄여 신경망 학습에 필요한 시간을 더 단축합니다. 또한 큰 배치 크기는 데이터 병렬성에 대한 유연성을 높여 줄 뿐만 아니라 파이프라인 병렬성도 더 효과적으로 활용할 수 있게 합니다.
또한 BERT의 큰 불편함 중 하나는 다소 특이한 실험 설정입니다. 간단히 말해, 대부분의 머신러닝 모델만큼 직관적이지 않습니다. 구체적으로는 학습이 서로 다른 세 단계의 최적화 과정, 즉 1단계, 2단계, 그리고 파인튜닝으로 구성되어 있기 때문입니다.
1단계와 2단계는 동일한 원천 데이터를 사용하지만, 인코더에 입력되는 시퀀스 길이가 다릅니다. 대부분의 학습은 1단계에서 짧은 시퀀스로 진행하고, 2단계에서 짧은 기간 동안 긴 시퀀스로 학습합니다. 이는 어텐션의 제곱 복잡도에 따른 불필요한 연산을 피하는 데 도움이 되지만, 두 사전학습 단계에서 서로 다른 하이퍼파라미터를 사용하기 때문에 실험 설정을 복잡하게 만듭니다.
초기에 GroupBERT는 BERT와 마찬가지로 Adam을 사용해 개발되었습니다. 그러나 대규모 배치 학습은 학습 완료까지의 시간을 추가로 단축하고 데이터 병렬성도 향상합니다. 따라서 우리는 GroupBERT에 대해 Adam에서 LAMB로 전환을 시작했으며, 이 전환이 마찰 없이 수월하게 이루어질 수 있었던 것은 Weights & Biases의 대시보드와 스위프 기능에 크게 의존했기 때문입니다. 지저분한 스프레드시트 하나로 모든 것을 추적하고 여러 원격 머신 사이에서 로그를 옮겨 다니는 대신, 하이퍼파라미터 탐색은 단순해졌고, 실험 추적은 자동화되어 W&B 서버에서 관리되었으며, 학습의 각 단계 간 전환을 관리하는 어려움을 줄이는 데 도움이 되었습니다.
W&B를 활용해 목표를 달성한 방법
마이그레이션의 첫 단계는 우리가 맞춰야 할 견고한 기준선을 설정하는 것이었습니다. 두 가지 사전 학습 단계에서 핵심 지표는 MLM 정확도였습니다. 최종 목표는 GroupBERT에 대해 SQuAD v1.1 F1 점수 90.4와 동일한 성능을 달성하는 것이었습니다.
GroupBERT는 합성곱과 matmul을 적용하기 전에 residual 모듈 내부에 LayerNorm을 사용합니다 (프리노름 구성)과 달리, BERT는 스킵 연결 이후에 LayerNorm이 위치합니다 (포스트노름 구성). 이러한 변경으로 GroupBERT는 기존 BERT 모델보다 훨씬 더 높은 학습률을 사용할 수 있습니다. 출발점으로 우리는 BERT 사전 학습에 사용된 하이퍼파라미터를 적용하고, 최고 학습률을 높이는 것을 목표로 설정했습니다:


그림 2: 스위프 파인튜닝
위와 같은 스위프를 지정하는 과정은 매우 사용자 친화적이며, 모델 실행에 필요한 YAML 구성은 20줄이면 충분합니다. 사전 학습(run)에서 학습률을 스위핑하는 절차는 간단한데, 탐색해야 할 하이퍼파라미터가 하나뿐이기 때문입니다. 따라서 이러한 스위프에는 그리드 서치가 이상적입니다. 각 사전 학습 실행에 높은 계산 비용이 들기 때문에, 스위프의 분해능은 해당 실험에 할당된 계산 예산에 의해 결정됩니다.
W&B 스위프를 사용할 때 특히 중요하고 편리한 점은 분산 에이전트 기능입니다. 이 기능을 통해 여러 대의 머신, 심지어 서로 다른 데이터센터에서 동시에 학습 실행을 수행하고, 모든 결과를 Weights & Biases 서버로 자동 동기화할 수 있습니다. 하이퍼파라미터 공간을 모두 탐색할 때까지 스위핑 에이전트는 각자 할당된 머신에서 실행을 계속합니다. 이는 여러 머신에서 수작업으로 작업을 시작하고 스케줄링하지 않아도 온프렘 하드웨어의 이용률을 100%로 유지할 수 있게 해 주는 매우 중요한 기능입니다.
스위프 실행이 완료되면, 모든 실행 로그와 데이터는 기본적으로 W&B 대시보드에서 확인할 수 있으며, 사용자 친화적인 대시보드로 쉽게 해석할 수 있습니다. 플롯을 보면 학습률이 모델이 발산하는 지점까지 충분히 탐색되었음을 알 수 있습니다. 스위프 테이블을 자세히 살펴보면, 사용자는 기록된 모든 지표를 확인한 뒤 가장 성능이 좋았던 실행을 선택할 수 있습니다.
최소한의 변경만으로 동일한 구성은 GroupBERT 옵티마이저 전환의 2단계 스위프에도 그대로 사용할 수 있습니다. 필요한 변경 사항은 최적의 1단계 실행의 초기화 체크포인트를 지정하고, 더 긴 시퀀스 길이를 갖는 구성을 명시하는 것뿐입니다.
파인튜닝 스위프
학습률을 최대화하면서 수렴의 안정성을 유지하는 최적의 사전 학습 구성을 찾은 뒤, 마지막 단계는 강건한 다운스트림 성능을 검증하는 것입니다. 이를 위해 SQuAD 1.1 데이터셋을 사용했습니다.
학습 옵티마이저를 변경하면 옵티마이저 간 수렴 동역학이 다르기 때문에 파인튜닝을 위한 새로운 하이퍼파라미터 탐색이 필요합니다. 즉, 최적의 파인튜닝 하이퍼파라미터가 달라질 수 있습니다.
파인튜닝 스위프가 더 어려워지는 이유는 차원의 저주 때문입니다. 여러 하이퍼파라미터를 충분히 탐색하면, 그리드 서치에서 고려해야 할 조합 수가 지수적으로 폭증하여, 단순하면서도 효과적인 이 하이퍼파라미터 탐색 알고리즘이 사실상 실행 불가능해집니다.
다행히도 Weights & Biases에는 바로 이런 상황을 위해 설계된 스위핑 도구가 하나가 아니라 두 가지 있습니다. 그중 하나는 랜덤 서치로, 임의로 큰 공간을 완전히 무작위로 탐색합니다. 이 방법은 최적 해를 찾을 수 있지만, 실제로는 비용이 많이 들 수 있고 어느 정도 운에 의존한다는 한계가 있습니다.
두 번째 옵션은 베이지안 최적화 스위프를 실행하는 것입니다. 연속된 실행 결과가 탐색 공간에서 보상이 높은 영역에 대한 정보를 탐색 알고리즘에 제공하므로, 성능이 낮은 하이퍼파라미터 영역을 탐색하는 데 쓰는 시간을 줄일 수 있습니다.
학습률은 1e-5부터 1e-3까지, 배치 크기는 20에서 100 사이, 학습 기간은 1–4 에포크 구간에서 탐색하기로 했습니다. 또한 스위프 방법의 품질을 비교하기 위해 랜덤 서치와 베이지안 서치로 발견된 하이퍼파라미터를 모두 평가하기로 결정했습니다.

그림 3: 베이지안 스위프 실행의 데이터 아이 플롯 시각화
각각 500회의 대규모 스위프를 수행한 결과, 두 스위프 모두 동일한 최적 하이퍼파라미터를 찾아냈습니다. SQuAD 데이터셋에서 90.4 F1 점수를 재현한다는 원래 목표에 따라 진행한 스위프의 결과, 해당 점수를 정확히 일치시키는 구성안을 도출했습니다. 하지만 학습 완료까지 걸리는 시간을 53시간에서 31시간으로 줄였습니다.
게다가 베이지안 서치는 배치 크기와 학습률을 동시에 스케일링할 수 있는 경우가 많기 때문에, 동등한 성능을 내는 파인튜닝 하이퍼파라미터 조합 두 가지를 찾아냈습니다. 더 중요한 점은, 베이지안 서치가 65회 실행만에 상위 5개 실험 중 2개를 식별한 반면, 랜덤 서치는 최적 하이퍼파라미터를 찾는 데 330회 실행이 필요했다는 것입니다.
마지막으로, 팀의 워크플로를 개선하는 또 다른 W&B 기능을 활용해 모든 결과를 하나의 보고서로 취합한 뒤 팀 전체와 공유합니다. 이렇게 하면 모두가 대시보드와 시각화된 실행 데이터를 직접 살펴보며 실행을 더 면밀히 검토하고, 현장에서 직관을 형성할 수 있습니다.

결론
Graphcore Research 팀은 확실히 W&B의 파워 유저이지만, 우리가 IPU에 맞춰 모델을 최적화하는 방식과 W&B가 더 나은 결과를 더 쉽게 내도록 어떻게 도와주는지 확인하실 수 있습니다. Graphcore Research가 강조한 핵심 영역은 다음과 같습니다:
- 사용하기 쉬움W&B를 사용하면 반복적인 보일러플레이트 코드를 작성하는 대신, 실험에 더 많은 시간을 쏟을 수 있습니다.
- 중앙 저장 공간더 이상 실행 기록과 다이어그램이 사라지지 않습니다. 모든 것이 한곳에 저장됩니다.
- 리소스 활용률온프렘 리소스의 100% 활용률은, 작업이 잘게 분할되어 있고 짧은 작업이 많더라도 상당한 기간 동안 달성할 수 있습니다.
- 공유: 모든 데이터에 팀 전체가 접근할 수 있으며, W&B Reports가 이를 보기 쉽고 친숙한 형태로 정리하는 데 도움을 줍니다.
다음으로
GroupBERT에 대해 더 자세히 알아보려면 다음을 방문하세요 GroupBERT 블로그 또는 다음을 읽어보세요 원문 논문저희는 이를 우리의 애플리케이션 리포지토리 그래서 여러분의 애플리케이션에 사용할 모델을 직접 학습해 볼 수 있습니다.
Add a comment
