Google의 TensorFlow 플랫폼을 사용하면 사용자가 기계 학습을 위한 도구와 리소스를 제공하여 AI를 훈련할 수 있습니다.오랫동안 AI 엔지니어는 기존 CPU와 GPU를 사용하여 AI를 훈련해 왔습니다.이러한 프로세서는 다양한 기계 학습 프로세스를 처리할 수 있지만 여전히 다양한 일상 작업에 사용되는 범용 하드웨어입니다.
AI 교육 속도를 높이기 위해 Google은 TPU(Tensor Processing Unit)로 알려진 ASIC(Application Specific Integrated Circuit)을 개발했습니다.그러나 Tensor Processing Unit은 무엇이며 어떻게 AI 프로그래밍 속도를 높일 수 있습니까?
목차
텐서 처리 장치(TPU)란 무엇입니까?
텐서 처리 장치는 기계 학습을 위한 Google의 ASIC입니다.TPU는 복잡한 행렬 및 벡터 연산을 해결하기 위한 딥 러닝에 특히 사용됩니다.TPU는 행렬 및 벡터 연산을 초고속으로 해결하도록 간소화되었지만 명령을 제공하고 실행하려면 CPU와 쌍을 이루어야 합니다.TPU는 클라우드 컴퓨팅을 통해서든 로컬 하드웨어의 라이트 버전을 통해서든 Google의 TensorFlow 또는 TensorFlow Lite 플랫폼에서만 사용할 수 있습니다.
TPU용 애플리케이션
Google은 2015년부터 TPU를 사용해 왔습니다. 또한 Google 스트리트 뷰 텍스트 처리, Google 포토 및 Google 검색 결과(랭크 브레인)에 이 새로운 프로세서를 사용하고 AlphaGo로 알려진 AI를 만드는 데도 사용하는 것을 확인했습니다.최고의 바둑 선수와 체스, 바둑, 장기의 선두 프로그램을 이긴 AlphaZero 시스템을 이겼습니다.
TPU는 사기 탐지, 컴퓨터 비전, 자연어 처리, 자율 주행 자동차, 음성 AI, 농업, 가상 비서, 주식 거래, 전자 상거래 및 다양한 사회 예측과 같은 다양한 딥 러닝 애플리케이션에 사용할 수 있습니다.
TPU를 사용하는 경우
TPU는 딥 러닝을 위한 고도로 전문화된 하드웨어이기 때문에 일반적으로 CPU와 같은 범용 프로세서에서 기대할 수 있는 다른 많은 기능을 잃게 됩니다.이를 염두에 두고 TPU를 사용하면 AI를 훈련할 때 최상의 결과를 얻을 수 있는 특정 시나리오가 있습니다.
TPU를 사용하기에 가장 좋은 시기는 검색 엔진용 추천 시스템과 같이 모델이 행렬 계산에 크게 의존하는 작업에 대한 것입니다.TPU는 또한 AI가 완료하는 데 몇 주 또는 몇 달이 걸리는 방대한 양의 데이터 포인트를 분석하는 모델에 대해 훌륭한 결과를 제공합니다.AI 엔지니어는 맞춤형 TensorFlow 모델이 없는 인스턴스에 TPU를 사용하고 처음부터 시작해야 합니다.
TPU를 사용하지 말아야 할 경우
앞서 언급했듯이 TPU를 최적화하면 이러한 유형의 프로세서가 특정 워크로드 작업에서만 작동합니다.따라서 기존 CPU 및 GPU를 사용하도록 선택하면 더 빠른 결과를 얻을 수 있는 경우가 있습니다.이러한 인스턴스에는 다음이 포함됩니다.
- 최대한의 유연성을 갖춘 신속한 프로토타이핑
- 사용 가능한 데이터 포인트로 제한된 모델
- 간단하고 빠르게 학습할 수 있는 모델
- 모델도 가능번거로운 변경
- C++로 작성된 사용자 지정 TensorFlow 작업에 의존하는 모델
TPU 버전 및 사양
Google이 TPU를 발표한 이후로 대중은 최신 버전의 TPU와 해당 사양에 대해 지속적으로 업데이트를 받았습니다.다음은 사양이 있는 모든 TPU 버전 목록입니다.
TPUv1 TPUv2 TPUv3 TPUv4 Edgev1
도입 날짜 | 2016 | 2017 | 2018 | 2021 | 2018 |
프로세스 노드(nm) | 28 | 16 | 16 | 7 | |
다이 크기(mm²) | 331 | <625 | <700 | <400 | |
온칩 메모리 | 28 | 32 | 32 | 144 | |
클럭 속도(MHz) | 700 | 700 | 940 | 1050 | |
최소 메모리 구성(GB) | 8 DDR3 | 16 HBM | 32 HBM | 32 HBM | |
TDP(와트) | 75 | 280 | 450 | 175 | 2 |
TOPS(초당 테라 연산) | 23 | 45 | 90 | ? | 4 |
탑스/W | 0.3 | 0.16 | 0.2 | ? | 2 |
보다시피, TPU 클럭 속도는 그다지 인상적이지 않은 것 같습니다. 특히 오늘날의 데스크톱 컴퓨터가 3-5배 더 빠른 클럭 속도를 가질 수 있는 경우에는 더욱 그렇습니다.그러나 표의 맨 아래 두 행을 보면 TPU가 0.16~0.3와트의 전력만 사용하여 초당 23~90테라 작업을 처리할 수 있음을 알 수 있습니다.TPU는 신경망 인터페이스를 사용할 때 최신 CPU 및 GPU보다 15~30배 빠른 것으로 추정됩니다.
각 버전이 출시될 때마다 최신 TPU는 상당한 개선 사항과 기능을 보여줍니다.다음은 각 버전에 대한 몇 가지 주요 사항입니다.
- TPUv1: 공개적으로 발표된 최초의 TPU입니다.8비트 행렬 곱셈 엔진으로 설계되었으며 정수만 풀도록 제한됩니다.
- TPUv2: 엔지니어들은 TPUv1의 대역폭이 제한적이라는 점을 지적했습니다.이 버전은 이제 16GB RAM으로 두 배의 메모리 대역폭을 갖습니다.이 버전은 이제 부동 소수점을 해결할 수 있어 훈련 및 추론에 유용합니다.
- TPUv3: 2018년에 출시된 TPUv3에는 TPUv2보다 2배 많은 프로세서와 4배 많은 칩이 탑재되어 있습니다.업그레이드를 통해 이 버전은 이전 버전보다 8배의 성능을 얻을 수 있습니다.
- TPUv4: 2021년 5월 18일에 발표된 TPU의 최신 버전입니다. Google의 CEO는 이 버전이 TPU v3의 2배 이상의 성능을 가질 것이라고 발표했습니다.
- Edge TPU: 이 TPU 버전은 전체 작업에서 다른 버전의 TPU보다 적은 전력을 사용하도록 최적화된 소규모 작업을 위한 것입니다.2와트의 전력만 사용하지만 Edge TPU는 초당 최대 4개의 테라 작업을 해결할 수 있습니다.Edge TPU는 Google의 Pixel 4 스마트폰과 같은 소형 핸드헬드 기기에서만 볼 수 있습니다.
TPU에 어떻게 액세스합니까?누가 사용할 수 있나요?
TPU는 Google에서 TensorFlow 플랫폼과 함께 사용하도록 설계된 독점 처리 장치입니다.이러한 프로세서에 대한 타사 액세스는 2018년부터 허용되었습니다. 오늘날 TPU(Edge TPU 제외)는 클라우드를 통해 Google의 컴퓨팅 서비스를 통해서만 액세스할 수 있습니다.Edge TPU 하드웨어는 Google의 Pixel 4 스마트폰과 Coral로 알려진 프로토타이핑 키트를 통해 구입할 수 있습니다.
Coral은 데이터와 전원에 USB 3.0 Type C를 사용하는 USB 가속기입니다.2W 전력당 4 TOPS를 처리할 수 있는 Edge TPU 컴퓨팅을 장치에 제공합니다.이 키트는 Windows 10, macOS 및 Debian Linux를 사용하는 시스템에서 실행할 수 있습니다(Raspberry Pi에서도 작동 가능).
기타 전문 AI 가속기
지난 10년 동안 인공 지능이 대세인 가운데 Big Tech는 기계 학습을 가능한 한 빠르고 효율적으로 만드는 방법을 끊임없이 찾고 있습니다.Google의 TPU가 딥 러닝을 위해 개발된 가장 인기 있는 ASIC이지만 Intel, Microsoft, Alibaba 및 Qualcomm과 같은 다른 기술 회사도 자체 AI 가속기를 개발했습니다.여기에는 Microsoft Brainwave, Intel Neural Compute Stick 및 Graphicore의 IPU(지능형 처리 장치)가 포함됩니다.
그러나 더 많은 AI 하드웨어가 개발되고 있지만 슬프게도 대부분은 아직 시장에 출시되지 않았으며 많은 사람들이 결코 사용하지 못할 것입니다.이 글을 쓰는 시점에서 AI 가속기 하드웨어를 구매하려는 경우 가장 인기 있는 옵션은 Coral 프로토타이핑 키트, Intel NCS, Graphicore Bow Pod 또는 Asus IoT AI Accelerator를 구매하는 것입니다.전문 AI 하드웨어에 액세스하려는 경우 Google의 클라우드 컴퓨팅 서비스 또는 Microsoft Brainwave와 같은 다른 대안을 사용할 수 있습니다.