제퍼넷 로고

프로세서 설계를 뒤집어 놓다

시간

AI는 특정 AI 워크로드를 위한 맞춤형 처리 요소와 다른 작업을 위한 보다 전통적인 프로세서를 결합하여 근본적인 방식으로 프로세서 설계를 변화시키고 있습니다.

하지만 그로 인한 장단점은 점점 더 혼란스럽고 복잡해지고 관리하기 어려워지고 있습니다. 예를 들어 워크로드는 맞춤형 설계를 대량 생산하는 데 걸리는 시간보다 더 빠르게 변할 수 있습니다. 또한, AI-특정 프로세스는 전력 및 열 예산을 초과할 수 있으며, 이로 인해 워크로드 조정이 필요할 수 있습니다. 그리고 이러한 모든 부분을 통합하면 칩뿐만 아니라 시스템 수준에서 해결해야 하는 문제가 발생할 수 있습니다.

“AI 워크로드는 프로세서 아키텍처를 근본적으로 변화시켰습니다.”라고 동료이자 저명한 발명가인 Steven Woo가 말했습니다. 램버스. “기존 아키텍처가 제대로 작동하지 않는다는 것은 분명했습니다. 2014년에 사람들이 GPU를 사용하면 거래 성과에서 엄청난 이득을 얻을 수 있다는 사실을 깨닫기 시작하면서 AI가 크게 향상되었습니다. 그때부터 사람들은 'GPU는 일종의 특수 아키텍처다'라고 말하기 시작했습니다. 더 할 수 있을까?' 그 당시에는 AI에서 매우 흔한 곱셈 누적이 병목 현상이라는 것이 분명했습니다. 이제 이 훌륭한 하드웨어를 모두 갖게 되었습니다. 우리는 여러 번 축적된 것들을 못 박았습니다. 그렇다면 하드웨어에 또 무엇을 넣어야 할까요? 이것이 바로 건축의 전부입니다. 텐트에서 키가 큰 말뚝이나 긴 텐트 기둥을 찾아서 쓰러뜨리는 것이 전부입니다.”

다른 사람들도 동의합니다. "AI는 GPU 아키텍처에 적합합니다. 이것이 바로 NVIDIA가 XNUMX조 달러의 시가총액을 보유하고 있는 이유입니다."라고 말했습니다. 안 시스 리치 골드만 감독. “흥미롭게도 인텔은 오랫동안 GPU를 사용해왔지만 비디오 프로세서를 구동하기 위해 CPU 내부에 있었습니다. 이제 그들은 독립형 GPU를 사용하고 있습니다. 또한 AMD는 GPU와 CPU가 메모리를 공유하는 매우 흥미로운 아키텍처를 가지고 있습니다. 그러나 CPU는 여전히 중요합니다. NVIDIA의 Grace Hopper는 CPU-GPU 조합입니다. 왜냐하면 모든 것이 GPU 아키텍처에 적합한 것은 아니기 때문입니다. 그렇게 하는 응용 프로그램에도 작은 CPU만 실행하는 부분이 있습니다. 수십 년 동안 우리는 CPU x86 아키텍처, 아마도 RISC 아키텍처에서 모든 것을 실행해 왔지만 그것은 CPU입니다. 다양한 애플리케이션은 다양한 아키텍처에서 더 잘 실행되며, NVIDIA는 먼저 비디오 게임에 초점을 맞추고 이를 애니메이션과 영화로 변환했습니다. 동일한 아키텍처는 오늘날 모든 것을 주도하는 인공 지능에 매우 적합합니다.”

이제 과제는 특정 사용 사례에 최적화할 수 있는 보다 효율적인 플랫폼을 개발하는 방법입니다. "일회성 사용 사례가 아닌 실제 확장 가능한 하드웨어에서 이 기능을 구현하면 문제는 이 기능을 어떻게 실행하느냐가 됩니다." Tensilica AI Products의 제품 마케팅 이사인 Suhas Mitra는 이렇게 말했습니다. 운율. “전통적으로 프로세서에는 CPU가 있었습니다. 그리고 모바일 플랫폼이 있다면 GPU, DSP 등이 있을 것입니다. 사람들이 이러한 워크로드가 때로는 당황스러울 정도로 병렬적이라는 것을 알았기 때문에 이 모든 것이 불안정해졌습니다. 그리고 GPU가 큰 인기를 얻은 이유인 병렬 컴퓨팅의 출현으로 GPU는 병렬 처리를 수행할 수 있는 매우 우수한 하드웨어 엔진을 갖추고 있었으며 공급업체는 쉽게 즉시 현금을 확보할 수 있었습니다.”

이는 워크로드가 잘 정의되어 있을 때 가장 잘 작동한다고 수석 과학자인 Sharad Chole이 말했습니다. 익스페데라. “이런 종류의 아키텍처에서는 엣지 아키텍처에서 긴밀하게 결합된 방식으로 ISP와 NPU를 통합하려고 한다고 가정해 보겠습니다. SoC 책임자들은 설계를 위한 면적과 전력을 줄일 수 있는 방법을 조사하고 있습니다.”

여기서 과제는 아키텍처의 메모리 부분이 지연 시간에 미치는 영향을 이해하는 것이라고 Chole은 말했습니다. “NPU가 느리다면 메모리는 어떤 모습일까요? NPU가 빠르면 메모리는 어떤 모습일까요? 마지막으로, MAC 균형 조정과 메모리 균형 조정 사이의 문제는 입력 및 출력 버퍼링을 최대한 줄이려고 노력하는 지점에서 비롯됩니다."

외부 메모리 대역폭은 특히 엣지 장치의 경우 핵심 부분입니다. “아무도 충분한 대역폭을 갖고 있지 않습니다.”라고 그는 덧붙였습니다. “그렇다면 외부 메모리 대역폭이 유지되고 가능한 한 낮아지도록 작업 부하를 분할하거나 신경망을 예약하려면 어떻게 해야 할까요? 이는 기본적으로 패킷화를 수행하거나 신경망을 더 작은 조각으로 나누고 두 조각을 모두 실행함으로써 수행하는 작업입니다.”

빠르게 변화하는 미래를 디자인하다
AI의 가장 큰 문제 중 하나는 알고리즘과 컴퓨팅 모델이 처음부터 설계할 수 있는 것보다 더 빠르게 진화하고 변화하고 있다는 것입니다.

Rambus의 Woo는 "이러한 LSTM(장단기 메모리) 모델에서 정말 뛰어난 CPU를 구축한다고 하면 그 주기는 XNUMX년입니다."라고 말했습니다. “그런데 XNUMX년 후에는 LSTM 모델이 지배적인 모델로 등장했다가 사라졌다는 것을 알게 되었습니다. 전문적인 하드웨어를 만들고 싶지만 따라가려면 더 빨리 해야 합니다. 알고리즘을 변경하는 것만큼 빠르게 하드웨어를 만들 수 있다면 성배가 될 것입니다. 그러면 좋겠지만 업계가 그렇게 하라는 압력을 받고 있음에도 불구하고 우리는 그렇게 할 수 없습니다.”

이는 또한 AI 워크로드를 처리하는 프로세서의 아키텍처가 AI 워크로드에 중점을 두지 않는 프로세서와 다르다는 것을 의미합니다. "교육용으로 이러한 엔진을 살펴보면 Linux나 Word를 실행하지 않을 것입니다. 왜냐하면 범용 분기, 광범위한 명령 또는 광범위한 언어 지원을 위해 설계되지 않았기 때문입니다." 우가 말했다. “그들은 소수의 작업 유형에서 매우 빠르게 작동하도록 제작된 거의 기본 엔진입니다. 계산을 수행하는 데 필요한 특정 데이터 이동 패턴에 고도로 조정되어 있습니다. 예를 들어 Google TPU에서 시스톨릭 배열 아키텍처는 1980년대부터 사용되었습니다. 이는 대규모 데이터 배열에 대해 매우 균등하게 분산된 특정 유형의 작업을 수행하는 데 매우 뛰어나므로 이러한 조밀한 신경망에 적합합니다. 그러나 범용 코드를 실행하는 것은 이러한 작업을 수행하도록 설계된 것이 아닙니다. 그들은 계산의 정말 큰 부분을 정말 잘 수행하는 대규모 보조 프로세서에 가깝지만 여전히 나머지 계산을 관리할 수 있는 다른 것과 인터페이스해야 합니다."

심지어 벤치마킹도 어렵습니다. 항상 동일한 수준의 비교가 아니기 때문에 아키텍처 개발이 어렵기 때문입니다. Expedera의 Chole은 "사람마다 다른 도구를 사용하여 탐색하기 때문에 이는 어려운 주제입니다."라고 말했습니다. “설계 엔지니어의 일상적인 작업은 시스템 수준 벤치마킹입니다. SoC의 모든 부분을 개별적으로 벤치마킹하고 해당 숫자를 기반으로 필요한 대역폭이 무엇인지 추정하려고 합니다. '이것이 성능입니다. 이것이 제가 얻게 될 지연 시간입니다.' 이를 바탕으로 전체 시스템이 어떻게 보일지 추정하려고 합니다. 그러나 실제로 설계 프로세스 중에 더 많은 진전을 이루면서 본격적인 시뮬레이션이 아닌 일종의 시뮬레이션 기반 접근 방식을 조사하고 있습니다. 다양한 설계 블록에 대한 대역폭 요구 사항. 예를 들어 RISC-V가 있고 NPU가 있는데, 이들은 함께 작동하고 완전히 공존해야 합니다. 파이프라인을 연결해야 합니까? 워크로드를 파이프라인할 수 있나요? RISC에는 정확한 사이클이 몇 개나 필요합니까? 이를 위해서는 RISC-V에서 프로그램을 컴파일하고 NPU에서 프로그램을 컴파일한 다음 공동 시뮬레이션해야 합니다.”

AI 워크로드가 프로세서 설계에 미치는 영향
이러한 모든 변수는 설계의 전력, 성능 및 면적/비용에 영향을 미칩니다.

기술 부문 동료이자 수석 이사인 Ian Bratt에 따르면 , “ML 워크로드에 대한 PPA 절충안은 모든 설계자가 가속을 고려할 때 직면하는 절충점(에너지 효율성 대 면적)과 유사합니다. 지난 몇 년 동안 ML 관련 가속 지침이 추가되면서 CPU의 ML 워크로드 성능이 크게 향상되었습니다. 많은 ML 워크로드가 최신 CPU에서 훌륭하게 실행됩니다. 그러나 에너지가 매우 제한된 환경에 있는 경우 ML 추론을 위한 CPU보다 에너지 효율적인 전용 NPU를 추가하기 위해 추가 실리콘 면적 비용을 지불할 가치가 있을 수 있습니다. 이러한 효율성은 실리콘 면적을 추가하고 유연성을 희생하는 대가로 발생합니다. NPU IP는 신경망만 실행할 수 있는 경우가 많습니다. 또한 NPU와 같은 전용 장치는 CPU와 같은 보다 유연한 구성 요소보다 더 높은 전체 성능(낮은 대기 시간)을 달성할 수도 있습니다.”

프로그램 디렉터 러셀 클라인(Russell Klein) 지멘스 EDA Catapult Software Division은 “설계에는 작동 특성(PPA)에 가장 큰 영향을 미치는 두 가지 주요 측면이 있습니다. 하나는 계산에 사용되는 데이터 표현입니다. 부동 소수점 숫자는 대부분의 기계 학습 계산에서 실제로 매우 비효율적입니다. 보다 적절한 표현을 사용하면 설계를 더 빠르고, 더 작게, 더 낮은 전력으로 만들 수 있습니다.”

또 다른 주요 요인은 설계의 컴퓨팅 요소 수입니다. Klein은 "기본적으로 디자인에 얼마나 많은 승수를 내장할 것인지가 중요합니다."라고 말했습니다. “이것은 성능을 제공하는 데 필요한 병렬성을 제공합니다. 설계에는 많은 수의 승수가 있을 수 있으므로 크기가 커지고 전력 소모가 많으며 빨라집니다. 또는 몇 개만 사용하여 작고 저전력으로 만들 수 있지만 속도는 훨씬 느립니다. 전력, 성능, 면적을 넘어서 매우 중요한 또 다른 측정 기준은 추론당 에너지입니다. 배터리로 구동되거나 에너지를 수확하는 모든 것은 전력보다 추론당 에너지에 더 민감할 가능성이 높습니다.”

기능과 가중치의 숫자 표현도 디자인의 PPA에 상당한 영향을 미칠 수 있습니다.

“데이터 센터에서는 모든 것이 32비트 부동 소수점 숫자입니다. 대체 표현을 사용하면 연산자의 크기와 이동 및 저장해야 하는 데이터의 양을 줄일 수 있습니다.”라고 그는 말했습니다. “대부분의 AI 알고리즘에는 부동 소수점 숫자가 지원하는 전체 범위가 필요하지 않으며 고정 소수점 숫자와 잘 작동합니다. 고정 소수점 곱셈기는 일반적으로 해당 부동 소수점 곱셈기의 면적과 전력의 약 32/16이며 더 빠르게 실행됩니다. 8비트 고정 소수점 표현도 필요하지 않은 경우가 많습니다. 많은 알고리즘은 기능 및 가중치의 비트 폭을 16비트, 경우에 따라 32비트 또는 그보다 더 작게 줄일 수 있습니다. 승수의 크기와 거듭제곱은 연산 대상인 데이터 크기의 제곱에 비례합니다. 따라서 8비트 곱셈기는 3비트 곱셈기의 면적과 전력의 ¼입니다. 32비트 고정 소수점 곱셈기는 8비트 부동 소수점 곱셈기에 비해 면적과 전력의 약 32%를 소비합니다. 알고리즘이 3비트 부동 소수점 대신 8비트 고정 소수점 수를 사용할 수 있다면 데이터를 저장하는 데 메모리의 ¼만 필요하고 데이터를 이동하는 데 버스 대역폭의 ¼만 필요합니다. 이는 면적과 전력 측면에서 상당한 절감 효과를 가져옵니다. 양자화된 인식 훈련을 수행함으로써 필요한 비트 폭을 더욱 줄일 수 있습니다. 일반적으로 양자화된 인식 방식으로 훈련된 네트워크는 훈련 후 양자화된 네트워크에 비해 약 1/XNUMX의 비트 폭이 필요합니다. 이는 저장 및 통신 비용을 XNUMX/XNUMX로 줄이고 승수 면적과 전력을 XNUMX/XNUMX로 줄입니다. Quantize 인식 훈련된 네트워크에는 일반적으로 XNUMX~XNUMX비트의 고정 소수점 표현만 필요합니다. 때때로 일부 레이어는 단일 비트일 수 있습니다. 그리고 XNUMX비트 승수는 "and" 게이트입니다.

또한 네트워크를 적극적으로 양자화할 때 오버플로가 중요한 문제가 됩니다. “32비트 부동 소수점 숫자를 사용하면 개발자는 표현 용량을 초과하는 값에 대해 걱정할 필요가 없습니다. 그러나 작은 고정 소수점 숫자의 경우 이 문제를 해결해야 합니다. 오버플로가 자주 발생할 가능성이 높습니다. 포화 연산자를 사용하는 것이 이 문제를 해결하는 한 가지 방법입니다. 오버플로 대신 작업은 표현에 대해 가능한 가장 큰 값을 저장합니다. 이는 기계 학습 알고리즘에 매우 잘 작동하는 것으로 나타났습니다. 큰 중간 합계의 정확한 크기는 중요하지 않고 크기가 커졌다는 사실만으로 충분하기 때문입니다. 포화 수학을 사용하면 개발자는 사용 중인 고정 소수점 수의 크기를 32~16비트 줄일 수 있습니다. 일부 신경망에는 부동 소수점 표현이 제공하는 동적 범위가 필요합니다. 고정 소수점으로 변환하면 정확도가 너무 많이 떨어지거나 좋은 정확도를 제공하기 위해 16비트 이상의 표현이 필요합니다. 이 경우 사용할 수 있는 여러 부동 소수점 표현이 있습니다. Google에서 NPU용으로 개발한 B-float754(또는 'brain float')은 기존 부동 소수점과 쉽게 변환할 수 있는 16비트 부동 소수점입니다. 더 작은 고정 소수점 숫자와 마찬가지로 승수도 더 작아지고 데이터 저장 및 이동도 줄어듭니다. IEEE-XNUMX XNUMX비트 부동 소수점 숫자와 NVIDIA의 Tensorfloat도 있습니다.”라고 Klein은 덧붙였습니다.

이들 중 하나를 사용하면 더 작고 빠르며 저전력 설계가 가능합니다.

또한 Woo 씨는 “범용 코어가 있다면 정말 많은 일을 할 수 있지만 그 중 어느 것도 훌륭하게 수행하지는 못할 것입니다. 그냥 일반입니다. 워크로드를 수행하는 어느 시점에서든 범용 코어의 일부는 사용 중이고 일부는 사용되지 않을 것입니다. 이런 것들을 가지려면 면적이 필요하고 힘이 필요합니다. 사람들은 무어의 법칙이 여전히 더 많은 트랜지스터를 제공하고 있기 때문에 AI 파이프라인을 따라 특정 작업에 능숙한 이러한 특수 코어를 구축하는 것이 옳은 일이라는 것을 깨닫기 시작했습니다. 때때로 당신은 그것들을 끌 것이고, 때때로 당신은 그것들을 켤 것입니다. 하지만 항상 일부 공간과 전력을 낭비하고 최고의 성능을 얻지 못하는 범용 코어를 사용하는 것보다 낫습니다. 지불할 의향이 있는 시장, 즉 매우 높은 마진, 고액 시장과 함께 이는 훌륭한 조합입니다.”

이는 하드웨어 엔지니어링 세계에서도 상대적으로 잘 이해되는 접근 방식입니다. "버전 1을 불러오고 이를 설치한 후에는 작동하는 것과 작동하지 않는 것을 찾아 문제를 해결하려고 노력합니다."라고 Marc Swinnen은 말했습니다. , Ansys 제품 마케팅 이사. “실행하는 애플리케이션은 이러한 절충안이 무엇인지 이해하는 데 매우 중요합니다. 하드웨어를 실행하려는 애플리케이션과 일치시킬 수 있다면 기성 제품을 사용하는 것보다 훨씬 더 효율적인 디자인을 얻을 수 있습니다. 당신이 직접 만드는 칩은 당신이 하고 싶은 일에 이상적으로 적합합니다.”

이것이 일부 생성 AI 개발자가 자체 실리콘 구축을 모색하는 이유이며, 이는 현재의 반도체조차도 앞으로 원하는 작업을 수행하기에 충분하지 않다는 것을 의미합니다. 이는 AI가 프로세서 설계와 주변 시장 역학을 어떻게 변화시키고 있는지 보여주는 또 하나의 예입니다.

AI는 또한 모든 것을 처음부터 만들 필요 없이 반맞춤형 및 맞춤형 하드웨어 블록을 특성화하고 설계에 추가할 수 있는 칩렛 세계에서 크게 활약할 가능성이 높습니다. 인텔, AMD 등 대형 칩 제조사들은 오랫동안 이를 내부적으로 해왔지만 팹리스 기업들은 불리한 상황에 처해 있다.

"문제는 칩렛이 기존 솔루션과 경쟁해야 한다는 것입니다."라고 효율적인 전자 장치 부문 책임자인 Andy Heinig는 말했습니다. 프라운호퍼 IIS 적응 시스템 부문 엔지니어링. “그리고 현재 성과에 집중하지 않는다면 경쟁할 수 없습니다. 사람들은 이 생태계를 구축하고 실행하는 데 집중하고 있습니다. 그러나 우리의 관점에서 보면 이는 약간 닭고기와 달걀의 문제입니다. 특히 칩이 SoC 솔루션보다 비싸기 때문에 성능이 필요합니다. 하지만 이 생태계를 먼저 구축하고 실행해야 하기 때문에 현재는 성능에 집중할 수 없습니다.”

올바른 시작
많은 칩이 소켓용으로 설계되었던 과거와 달리 AI에서는 작업량이 전부입니다.

Expedera의 Chole은 “이러한 절충안이 발생할 때 목표가 무엇인지 파악하는 것이 매우 중요합니다.”라고 말했습니다. “만약 '나는 모든 것을 하고 싶고 모든 것을 지원하고 싶다'라고 말한다면 실제로 어떤 것도 최적화하고 있지 않은 것입니다. 기본적으로 범용 솔루션을 내부에 배치하고 그것이 전력 요구 사항을 충족하기를 바라는 것입니다. 우리가 이해하는 바에 따르면 그것은 거의 효과가 없었습니다. 모든 신경망과 에지 장치의 모든 배포 사례는 고유합니다. 칩이 헤드셋에 들어가 RNN을 실행하는 경우와 ADAS 칩에 앉아서 변압기를 실행하는 경우는 완전히 다른 사용 사례입니다. NPU, 메모리 시스템, 구성 및 전력 소비는 완전히 다릅니다. 따라서 우리가 시도하려는 중요한 워크로드 세트가 무엇인지 이해하는 것이 매우 중요합니다. 이는 여러 네트워크일 수 있습니다. 팀이 중요한 네트워크에 동의하고 이를 기반으로 최적화하는 지점에 도달해야 합니다. 엔지니어링 팀이 NPU에 대해 생각할 때 이는 누락되었습니다. 그들은 단지 세계 최고를 얻고 싶다고 생각하고 있지만, 무언가를 포기하지 않고는 최고를 얻을 수 없습니다. 나는 당신에게 최선을 다할 수 있지만 당신은 어떤 분야에서 최고를 원합니까?”

Cadence의 Mitra는 모든 사람이 PPA에 대해 비슷한 방식으로 생각하지만 사람들은 전력, 성능, 면적/비용(PPAC) 중 어느 부분에 관심을 두는지 강조한다고 지적했습니다. “당신이 데이터 센터 담당자라면 약간의 공간을 희생해도 괜찮을 것입니다. 왜냐하면 당신이 원하는 것은 수십억 개의 AI 추론이나 AI 작업을 수행해야 하기 때문에 처리량이 매우 높은 기계이기 때문입니다. 엄청난 양의 데이터로 이어지는 엄청난 모델을 실행하면서 동시에 시장 점유율을 거래하고 있습니다. 추론을 위한 AI 모델 개발 작업을 위해 데스크톱을 실행하는 것에 대해 생각할 수 있는 시대는 오래 전에 지났지만 이러한 대규모 언어 모델 중 일부에 대한 추론조차 꽤 까다로워지고 있습니다. 이는 대규모 데이터 클러스터가 필요하고 하이퍼스케일러의 데이터 센터 규모에서 대규모 데이터 컴퓨팅이 필요하다는 것을 의미합니다.”

다른 고려 사항도 있습니다. "하드웨어 아키텍처 결정이 이를 주도하지만 소프트웨어의 역할도 중요합니다."라고 제품 관리 이사인 William Ruby는 말했습니다. 시놉시스 EDA Group은 성능과 에너지 효율성이 중요하다고 지적합니다. “얼마나 많은 메모리가 필요합니까? 메모리 하위 시스템은 어떻게 분할됩니까? 에너지 효율성을 위해 소프트웨어 코드를 최적화할 수 있습니까? (예, 가능합니다.) 모든 PPAC 이유로 인해 공정 기술 선택도 중요합니다.”

또한 Synopsys의 AI/ML 프로세서 제품 관리자인 Gordon Cooper에 따르면 전력 효율성이 우선 순위가 아닌 경우 내장형 GPU를 사용할 수 있습니다. “코딩에 있어 최고의 유연성을 제공하지만 전문 프로세서만큼 전력 및 공간 효율적이지는 않습니다. NPU를 사용하여 설계하는 경우에는 면적과 전력의 균형을 맞추는 측면에서 여전히 절충점이 있습니다. 온칩 메모리를 최소화하면 총 면적 예산이 크게 줄어들지만 외부 메모리로부터의 데이터 전송이 늘어나 전력이 크게 증가합니다. 온칩 메모리를 늘리면 외부 메모리 읽기 및 쓰기에 필요한 전력이 감소합니다."

결론
이러한 모든 문제는 점점 더 단순한 칩 문제가 아닌 시스템 문제가 되고 있습니다.

“사람들은 AI 훈련 부분을 '와, 계산량이 정말 무겁다'고 생각합니다. 데이터 이동량이 많습니다.'라고 Woo는 말했습니다. “그리고 일단 이 가속 하드웨어를 모두 사용하려고 하면 나머지 시스템이 방해가 되기 시작합니다. 이러한 이유로 정교한 AI 교육 엔진을 갖추고 있지만 Intel Xeon 칩도 탑재할 수 있는 NVIDIA 및 기타 회사와 같은 회사에서 이러한 플랫폼을 점점 더 많이 보게 됩니다. AI 엔진이 수행하기에 적합하지 않은 계산의 다른 부분이 있기 때문입니다. 범용 코드를 실행하도록 설계되지 않았으므로 이는 점점 더 이기종 시스템 문제가 됩니다. 모든 것이 함께 작동하도록 해야 합니다.”

퍼즐의 또 다른 조각은 소프트웨어 측면에 있는데, 이는 축소와 같은 다양한 방법을 통해 더욱 효율적으로 만들 수 있습니다. "이것은 AI 내에 알고리즘의 특정 부분과 축소라고 불리는 특정 계산이 있다는 사실을 깨닫는 것입니다. 이는 많은 숫자를 가져와서 이를 하나의 숫자 또는 작은 숫자 집합으로 줄이는 멋진 방법입니다." Woo 설명했다. “그것들을 모두 합치거나 그런 식으로 추가할 수도 있습니다. 이를 수행하는 일반적인 방법은 다른 모든 프로세서에서 오는 모든 데이터를 가지고 있고 이를 상호 연결 네트워크를 통해 하나의 프로세서로 보내고 그 하나의 프로세서가 모든 것을 추가하도록 하는 것입니다. 이 모든 숫자는 이 프로세서에 도달하기 위해 스위치를 통해 이 네트워크를 통과합니다. 그렇다면 스위치에 추가하는 것은 어떨까요? 모두 스위치를 통해 이동하기 때문입니다. 장점은 인라인 처리와 유사하다는 것입니다. 흥미로운 점은 스위치에 모든 것을 추가한 후에는 하나의 번호만 전달하면 된다는 점입니다. 즉, 네트워크 트래픽 양이 줄어듭니다.”

이와 같은 아키텍처 고려 사항은 여러 가지 문제를 동시에 다루기 때문에 고려할 가치가 있다고 Woo는 말했습니다. 첫째, 네트워크를 통한 데이터 이동은 엄청나게 느리기 때문에 가능한 한 최소한의 데이터만 이동해야 합니다. 둘째, 프로세서가 모든 계산을 수행한 다음 결과를 다시 전달하도록 하기 위해 프로세서에 데이터를 전달하는 중복 작업을 제거합니다. 이 모든 작업은 네트워크에서 수행됩니다. 셋째, 매우 병렬적이므로 각 스위치가 해당 계산의 일부를 수행하도록 할 수 있습니다.

마찬가지로 Expedera의 Chole은 AI 워크로드가 이제 단일 그래프로 정의될 수 있다고 말했습니다. “그 그래프를 갖는 것은 작은 지침 세트를 위한 것이 아닙니다. 우리는 하나의 추가 작업을 수행하지 않습니다. 우리는 한 번에 수백만 개의 덧셈을 수행하거나 한 번에 천만 개의 행렬 곱셈 연산을 수행합니다. 이는 실행에 대해 생각하는 것, 명령에 대해 생각하는 방법, 명령을 압축하는 방법, 명령을 예측하고 예약하는 방법에 대한 패러다임을 바꿉니다. 범용 CPU에서는 이 작업을 수행하는 것이 실용적이지 않습니다. 이렇게 하려면 비용이 너무 많이 듭니다. 그러나 동시에 활성화되는 MAC 수가 엄청나게 많은 신경망으로서 명령어를 생성하고, 명령어를 생성하고, 명령어를 압축하고, 명령어를 예약하는 방식은 활용도와 대역폭 측면에서 많이 변경됩니다. 이는 프로세서 아키텍처 측면에서 AI가 큰 영향을 미쳤습니다.”

관련 독서
AI 워크로드를 위한 프로세서 파티셔닝
범용 처리와 유연성 부족은 AI/ML 워크로드에 적합하지 않습니다.
AI 워크로드에 대한 프로세서 트레이드오프
기술 발전과 수요 사이의 격차가 커지고 있으며 이를 메우는 것이 점점 더 어려워지고 있습니다.
전문화 대. 프로세서의 일반화
고성능과 저전력으로 엣지에서 대량 맞춤화를 달성하려면 무엇이 필요합니까?

spot_img

최신 인텔리전스

spot_img