콘텐츠로 이동하기
컴퓨팅

새로운 Cloud TPU VM을 통해 TPU에서 더욱 쉬워진 ML 모델 학습

2021년 8월 19일
Alexander Spiridonov

Product Manager, Google AI

* 본 아티클의 원문은 2021년 6월 2일 Google Cloud 블로그(영문)에 게재되었습니다.   

오늘 새로운 Cloud TPU VM을 발표하게 되어 매우 기쁩니다. 새로운 Cloud TPU VM은 TPU 호스트 머신에 직접 액세스하여 업계를 대표하는 Google의 TPU 하드웨어를 그 어느 때보다 더 쉽게 사용할 수 있도록 지원합니다. Cloud TPU에서 TensorFlow, PyTorch, JAX를 더 효율적으로 개발 및 배포할 수 있도록 새롭게 향상된 사용자 경험을 누려보시기 바랍니다. Cloud TPU VM을 사용하면 네트워크를 통해 원격으로 Cloud TPU에 액세스할 필요없이 각 TPU 호스트 머신에 고유한 대화형 개발 환경을 설정할 수 있습니다.

이제 단일 TPU VM을 사용하여 ML 모델을 한 줄씩 작성하고 디버그할 수 있습니다. 또한 Cloud TPU Pod 슬라이스에서 이 모델을 확장하여 매우 빠른 TPU 교차점을 이용할 수 있게 됩니다. 직접 만든 모든 TPU VM에 루트 액세스할 수 있으므로 TPU 가속기와 밀접한 루프 상태에서 코드를 설치하고 실행할 수 있습니다. 로컬 스토리지를 사용하고, 입력 파이프라인에서 커스텀 코드를 실행하고, 연구와 프로덕션 워크플로에 Cloud TPU를 더 간편하게 통합할 수 있습니다.

Cloud TPU와 TensorFlow, PyTorch, JAX의 통합은 물론, VM에서 새로운 libtpu 공유 라이브러리를 통해 통합을 직접 작성할 수도 있습니다. 

“TPU VM에 직접 액세스하게 되면서 TPU에서 빌드할 수 있는 범위가 완전히 바뀌고 개발자 경험과 모델 성능이 크게 향상되었습니다.”

- 에이단 고메즈, Cohere 공동 설립자 겸 CEO

새로운 Cloud TPU 아키텍처 자세히 알아보기

지금까지 Cloud TPU에는 원격으로만 액세스할 수 있었습니다. 일반적으로 하나 이상의 VM을 만들면 이 VM은 gRPC를 사용하여 네트워크를 통해 Cloud TPU 호스트 머신과 통신했습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/Previous_network-attached_Cloud_TPU_system.max-1300x1300.jpg
이전의 네트워크 연결 Cloud TPU 시스템 아키텍처

이와 달리 Cloud TPU VM은 아래 그림과 같이 TPU 가속기에 직접 연결된 TPU 호스트 머신에서 실행됩니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/New_Cloud_TPU_VM_system_architecture.max-1400x1400.jpg
새로운 Cloud TPU VM 시스템 아키텍처

새로운 Cloud TPU 시스템 아키텍처는 더 간단하고 유연합니다. 사용성과 관련된 주요 이점과 더불어 더 이상 TPU에 액세스하기 위해 코드가 데이터센터 네트워크를 왕복 이동할 필요가 없으므로 성능 향상도 기대할 수 있습니다. 그뿐만 아니라 비용도 크게 절감할 수 있습니다. 이전에는 Cloud TPU Pod 슬라이스의 원격 호스트에 데이터를 제공하기 위해 강력한 Compute Engine VM이 여러 개 필요했지만 이제 Cloud TPU 호스트에서 직접 데이터 처리를 실행할 수 있으므로 추가 Compute Engine VM이 필요하지 않습니다.

고객 의견

사전 체험판 고객이 2020년 10월부터 Cloud TPU VM을 사용해 왔으며 그 이후에는 연구원과 엔지니어로 구성된 여러 팀에서 이를 집중적으로 사용하고 있습니다. 다음은 고객의 평가입니다.

알렉스 배런Gridspace의 머신러닝 책임 엔지니어입니다. Gridspace는 음성 통화를 실시간으로 관찰, 분석하고 100% 자동화하는 제품을 즉시 사용 가능한 형태로 제공합니다. 특히 USAA, Bloomberg, Square에서 Gridspace의 소프트웨어를 기반으로 고객의 음성 문의를 처리하고 있습니다.

“Gridspace는 방대한 음성 및 언어 모델의 학습에 JAX와 Cloud TPU VM을 사용해 왔습니다. Gridspace 최대의 고객센터 고객은 이러한 모델을 기반으로 고급 분석과 자동화 기능을 실행합니다. 동일한 크기의 TPU에서 학습을 실행할 경우, 이전 Cloud TPU와 비교해 즉시 속도가 2배 향상되고 코드 변경 없이 32개 호스트 v3-256으로 확장할 수 있었습니다. Cloud TPU VM의 성능과 사용 편의성에 매우 만족하고 있으며 앞으로도 계속 사용하기를 기대합니다.”
- 알렉스 배런

제임스 타운센드는 런던 소재 UCL 퀸 스퀘어 신경학 연구소의 연구원입니다. 제임스의 팀은 Cloud TPU VM에서 JAX를 사용하여 의료 이미징에 딥 러닝을 적용해 왔습니다.

“Google Cloud TPU VM 덕분에 복잡한 구현 과정을 최소화하면서 연구 결과를 빠르게 확장할 수 있었습니다. 모델을 단일 TPU 기기에 구현하고 디버깅하는 단계에서 여러 기기와 호스트(포드 규모)를 대상으로 학습하는 단계까지 매끄럽게 진행됩니다. 이러한 규모에서 이렇게 손쉽게 적용할 수 있는 사용 편의성은 판도를 바꿀 만한 연구 잠재력을 선사하는 특별한 장점입니다. 노력의 결실을 보게 되어 매우 기쁩니다.”
- 제임스 타운센드

패트릭 폰 플라텐Hugging Face의 연구 엔지니어입니다. Hugging Face는 자연어 처리(NLP) 기술의 오픈소스 제공업체이자 널리 사용되는 Transformers 라이브러리를 만든 기업입니다. Hugging Face의 연구원과 엔지니어는 단 몇 줄의 코드로 최신 NLP 모델을 이용할 수 있습니다.

“Hugging Face에서는 최근 Transformers 라이브러리에 TensorFlow, PyTorch와 더불어 JAX를 통합했습니다. 이를 통해 NLP 커뮤니티는 Cloud TPU VM에서 BERT와 같은 인기 NLP 모델을 효율적으로 학습시킬 수 있게 되었습니다. 이제 하나의 v3-8로 최대 2,048개의 배치 크기를 사용해 기본 크기 BERT 모델을 사전 학습시키는 데 하루가 채 걸리지 않습니다. Hugging Face는 Cloud TPU VM에 손쉽게 액세스하게 되면 소규모 스타트업과 교육 기관을 비롯하여 훨씬 다양한 NLP 커뮤니티에서 대규모 언어 모델의 사전 학습이 가능해질 것이라고 생각합니다.”
- 패트릭 폰 플라텐

벤 왕은 언어 및 다중 모달 애플리케이션을 위한 Transformer 기반 모델을 연구하는 독립 연구원입니다. 벤은 Cloud TPU VM에서 대규모 변환기를 학습시키고 Ray를 통해 여러 Cloud TPU VM에 대한 학습을 조정하는 오픈소스 코드를 공개했습니다.

“Cloud TPU VM과 JAX의 통합은 TPU에 고성능 직접 액세스를 제공합니다. 또한 Ray를 사용하여 선점 TPU Pod 슬라이스에 파이프라인 병렬 학습을 설정하는 등 획기적인 학습 설정을 유연하게 구축할 수 있습니다.”
- 벤 왕

케노 피셔Julia 프로그래밍 언어의 핵심 개발자이자 Julia Computing의 공동 설립자로, 과학 모델링과 시뮬레이션에 머신러닝을 적용하는 팀을 이끌고 있습니다. 케노는 Julia의 기존 TPU 백엔드를 비롯해 Julia 컴파일러의 중요한 부분을 만든 인물입니다.

“새로운 TPU VM은 클라우드에서 TPU의 사용성을 향상시키는 엄청난 진보입니다. TPU 하드웨어를 직접 이용하게 되면서 더 이상 중간 네트워크 연결 대역폭과 지연 시간의 제약을 받지 않습니다. Julia의 연구는 머신러닝 모델과 호스트 머신에서 실행되는 과학적 시뮬레이션을 직접 연결하는 경우가 많기 때문에 매우 중요한 의미가 있습니다.” 

- 케노 피셔  

Julia팀은 새로운 libtpu 공유 라이브러리를 사용하여 2세대 Cloud TPU 통합을 연구하고 있습니다. 최신 소식을 받아보려면 여기에서 신청하세요.

마지막으로, 쉬레스타 바수 말리크는 기존 양자 컴퓨터 시뮬레이션과 대규모 양자 화학 계산을 수행하도록 TPU를 조정한 Sandbox@Alphabet팀의 제품 관리자입니다. 

“Google Cloud TPU VM과 1개부터 2,048개까지 원활하게 확장 가능한 TPU 코어 덕분에 팀에서는 가장 강력한 기존 양자 회로 시뮬레이터 중 하나를 빌드할 수 있었습니다. 이 시뮬레이터는 1조 개의 복소 진폭을 조정해야 하는 40큐비트 파동 함수를 진화시킬 수 있습니다. 그뿐만 아니라 TPU 확장성은 팀이 최대 500,000오비탈에 이르는 거대 분자의 양자 화학 계산을 수행할 수 있는 토대였습니다. Cloud TPU에 매우 만족합니다.” 

- 쉬레스타 바수 말리크

가격 책정 및 가용성

이제 Cloud TPU VM을 us-central1 및 europe-west4 리전에서 미리보기를 거쳐 이용할 수 있습니다. 단일 Cloud TPU 기기와 Cloud TPU Pod 슬라이스를 사용할 수 있고 TPU v2 또는 TPU v3 가속기 하드웨어를 선택할 수 있습니다. Cloud TPU VM은 선점형 서비스 형태로 TPU 호스트 머신 단위로 시간당 $1.35에 제공됩니다. 자세한 가격 책정 정보는 여기에서 확인하세요. 

지금 시작하기

서비스가 제공되는 모든 리전에서 Cloud TPU 및 Cloud TPU Pod를 사용하여 JAX, PyTorch, TensorFlow 기반의 ML 모델을 빠르게 설정 및 운영하고 학습을 시작할 수 있습니다. 시작하려면 다음 문서를 확인하세요.

게시 위치