AI 가속화를 위해 ASIC을 어떻게 사용합니까?


9

우리는 Wikipedia 페이지 에서 Google이 기계 학습을위한 맞춤형 ASIC 칩을 구축하고 AI 가속화에 도움이되는 TensorFlow에 맞게 제작 된 것을 읽을 수 있습니다 .

ASIC 칩은 회로를 변경하지 않고 특정 용도에 맞게 특별히 사용자 정의되었으므로 호출되는 일부 고정 알고리즘이 있어야합니다.

그렇다면 알고리즘을 변경할 수없는 경우 ASIC 칩을 사용한 AI 가속은 정확히 어떻게 작동합니까? 그것의 어느 부분이 정확히 가속화되고 있습니까?


1
내가 알고있는 주류 AI 기술은 알고리즘의 수정이 필요 하지 않지만 대부분은 데이터 (연결 강도, 모집단 구성원) 등 을 수정하는 기능에 의존합니다 .
NietzscheanAI

따라서 네트워크 상태와 같은 유일한 동적 부분은 일부 플래시 메모리 또는 드라이브에 유지됩니까?
kenorb

에 따르면 en.wikipedia.org/wiki/Application-specific_integrated_circuit , 현대 아식스 ... RAM을 가질 수 있습니다
NietzscheanAI

답변:


4

텐서 작업

대부분의 ML 어플리케이션에서 주요 작업은 단순히 행렬 곱셈과 같은 일련의 (매우 큰) 텐서 연산입니다. 당신은 할 수있는 것을 는 ASIC에 쉽게, 그리고 다른 모든 알고리즘은 단지 그 위에 실행할 수 있습니다.


1
중요한 점은 TPU가 8 비트 곱셈을 사용한다는 것인데, 이는 CPU에서 제공하는 더 넓은 곱셈보다 훨씬 효율적으로 구현할 수 있습니다. 이러한 낮은 정밀도는 충분하며 수천 개의 이러한 승수를 단일 칩에 패킹 할 수 있습니다.
maaartinus

3

알고리즘이 최소한으로 변경되었다고 생각하지만 필요한 하드웨어가 뼈대로 잘립니다.

데이터 이동 작업의 수와 마찬가지로 게이트 전환 수가 감소하고 (아마도 플로트 연산 및 정밀도도 감소) 전력 및 런타임이 모두 절약됩니다. 구글은 TPU가 동일한 작업을 수행하기 위해 10 배의 비용을 절감 할 것을 제안합니다.

https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html


1

ASIC-애플리케이션 특정 IC를 나타냅니다. 기본적으로 HDL 에서 칩을 디자인하는 프로그램을 작성합니다 . 요점을 설명하기 위해 최신 컴퓨터가 어떻게 작동하는지 사례를 살펴 보겠습니다.

  • CPU -CPU는 기본적으로 많은 도우미 IC가 특정 작업을 수행 하는 마이크로 프로세서 입니다. 마이크로 프로세서에는 계산이 수행되고 누산기에 저장된 값만 수행되므로 값을 저장 해야하는 누산기 라고하는 단일 산술 처리 장치 (구성 용어) 만 있습니다. 따라서 모든 명령, 모든 작업, 모든 R / W 작업은 누산기를 통해 수행해야합니다. 따라서 프로세스가 개선되어 누산기가 필요하지 않을 수는 있지만 오래된 컴퓨터가 파일에서 일부 장치에 쓸 때 정지되는 데 사용되었습니다. 구체적으로 DMA 사이에). ML 알고리즘에서는 쉽게 병렬화 할 수있는 행렬 곱셈을 수행해야하지만, 우리는 단일 처리 장치 만 가지고 있으며 GPU도 있습니다.
  • GPU -GPU에는 100 개의 처리 장치가 있지만 CPU의 다목적 기능이 없습니다. 따라서 병렬화 계산에 좋습니다. 행렬 곱셈에서 메모리 겹침 (2 개의 프로세스로 조작되는 메모리와 동일한 부분)이 없으므로 GPU는 매우 잘 작동합니다. GPU는 다기능이 아니지만 CPU가 데이터를 메모리에 공급하는 속도만큼만 작동합니다.
  • ASIC -ASIC은 GPU, CPU 또는 디자인 프로세서로, 원하는 메모리 양이 될 수 있습니다. 자신 만의 특수 ML 프로세서를 설계하고 ASIC에서 프로세서를 설계한다고 가정 해 봅시다. 256 비트 FP 번호를 원하십니까? 256 비트 프로세서를 만듭니다. 합산이 빠르기를 원하십니까? 기존 프로세서보다 많은 수의 비트까지 병렬 가산기를 구현합니까? 당신이 원하는n코어 수? 문제 없어요. 다른 처리 장치에서 다른 장소로의 데이터 흐름을 정의하고 싶습니까? 넌 할 수있어. 또한 신중하게 계획하면 ASIC 영역과 전력 대 속도 간의 균형을 맞출 수 있습니다. 유일한 문제는이 모든 것에 대해 자신 만의 표준을 만들어야한다는 것입니다. 일반적으로 핀 수 및 기능, 부동 소수점 표시를위한 IEEE 754 표준 등과 같이 프로세서를 설계 할 때는 잘 정의 된 몇 가지 표준이 따르며 많은 시행 착오를 거쳐 발생합니다. 따라서이 모든 것을 극복 할 수 있다면 자신 만의 ASIC을 쉽게 만들 수 있습니다.

나는 구글이 TPU로 무엇을하고 있는지 알지 못하지만 당연히 요구 사항에 따라 8 비트 코어를 위해 일종의 정수 및 FP 표준을 설계했습니다. 그들은 아마도 전력, 면적 및 속도 고려를 위해 ASIC에서 그것을 구현하고있을 것입니다.


0

낮은 정밀도는 Convo 및 FC 레이어에서 높은 병렬 처리를 가능하게합니다. CPU 및 GPU 고정 아키텍처이지만 신경망 아키텍처를 기반으로 ASIC / FPGA를 설계 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.