MIT의 연구팀이 개발한 LEGO는 자신의 텐서 작업 부하를 바탕으로 빠르고 효율적인 공간 가속기를 자동으로 생성할 수 있는 컴파일러와 같은 프레임워크입니다. 기존의 수작업 템플릿 없이 높은 중복성과 적은 전력 소비를 달성하며, 기계 학습 모델을 위한 특별한 하드웨어 설계에 적합합니다. 이 기술은 여러 모델에서의 성능을 3.2배 향상시키고 에너지 효율성을 2.4배 높이는 것으로 평가되며, AI 가속기의 새로운 전환점을 제시합니다.
LEGO의 튜닝 없는 하드웨어 생성 기술
LEGO는 현대의 다양한 텐서 작업 부하를 처리하기 위해 기존의 수동 템플릿 기반 접근 방식을 탈피하고 있습니다. 많은 기존의 하드웨어 생성 흐름은 특정한 아키텍처와 고정된 데이터 흐름에 맞춰 진행되며, 유연성이 부족하여 동적인 데이터 흐름 전환을 지원하지 않습니다. LEGO는 고수준의 설명에서 직접적으로 하드웨어 아키텍처와 RTL(레지스터 전송 수준)을 생성할 수 있는 점이 특징입니다. 이러한 점에서 LEGO는 모든 데이터 흐름과 그 조합을 목표로 하여, 훨씬 더 넓은 아키텍처 공간을 탐색할 수 있습니다. LEGO는 기계학습의 다양한 요구사항을 확장하고 발전시키기 위해 최적화된 데이터 전송과 메모리를 결합하여 효율적인 설계를 이루고 있습니다.
LEGO의 입력 IR(중간 표현)은 해당 작업 부하가 어떻게 처리되는지를 보여주는 루프 네스팅으로 모델링되며, 이는 효율성을 높일 수 있는 중요한 기술적 요소입니다. LEGO는 이를 통해 텐서 프로그램을 부드럽고 효과적으로 구조화하여 가능한 모든 기능적 단위(FU)를 재활용하고 메모리 사용량을 최소화하는데 주력하고 있습니다. 이러한 기술적 기반이 LEGO의 성공에 대한 증명이 되고 있습니다.
효율적인 메모리 및 인터커넥트 설계
LEGO의 프론트 엔드는 메모리와 FU(기능 단위)의 상호 연결을 최적화하는 데 중점을 둡니다. 이 프레임워크는 데이터 흐름의 중복성을 극대화하는 동시에 상호 연결과 멀티플렉서 오버헤드를 최소화하는 것을 목표로 합니다. LEGO는 직접 연결과 지연 연결 간의 최소 간선만을 유지하여 불필요한 데이터를 방지하고, FIFO(선입선출) 커넥션을 통해 효율적인 메모리 구성을 실현합니다. 이러한 인터커넥트 설계는 여러 데이터 흐름이 공존할 때의 최적화를 고려하여 최대한의 에너지를 절약하고 성능을 높이는 데 기여합니다.
LEGO의 메모리 구조 설계에서는 각 텐서 차원에서 데이터 액세스를 중복적으로 사용해야 한다고 가정하고, 이를 위해 뱅크 수를 계산하여 메모리 구조를 구축합니다. 이를 통해 FU 사이의 재사용을 극대화하고, 데이터 전송의 효율성을 높여줍니다. 또한, 데이터 흐름이 융합되어 하나의 아키텍처 설명 그래프(ADG)로 통합되기 때문에, 우선순위를 강화하여 데이터 전송을 더욱 효과적으로 만듭니다. LEGO는 이 방식으로 최대 약 20%의 에너지 절약 효율성을 달성하고 있습니다.
전체 시스템 성능 개선
LEGO의 백엔드는 만들어진 ADG를 기본 그래프(Primitive DAG)의 형태로 낮추고, 여러 최적화 단계를 통해 보다 효율적인 하드웨어 생성을 지원합니다. 이 과정은 지연 매칭이나 자원 공유를 통한 데이터 흐름의 최적화를 포함하여, 전체 시스템 성능을 개선하는데 중요한 역할을 합니다. LEGO는 이러한 다양한 알고리즘과 최적화를 통해 약 35%의 면적 절약과 28%의 에너지 절약을 실현하였습니다.
최종적으로 LEGO는 기존의 Gemmini와 비교했을 때, 평균적으로 3.2배의 성능 향상과 2.4배의 에너지 효율성을 보여줍니다. 이러한 결과는 빠르고 정확한 성능 모델을 기반으로 하여, 다양한 작업 부하에서 동적인 데이터 흐름 전환이 가능하게 해 효율성을 높인 것으로 평가됩니다. LEGO는 AI 가속기를 발전시키고, 최신 AI 모델과의 호환성을 확보함으로써 제품 세그먼트에서의 중요성을 강조합니다.
결론적으로, LEGO는 텐서 프로그램을 하드웨어 생성 컴파일로 전환하는 새로운 길을 제시합니다. 이 프레임워크는 재사용을 극대화하는 인터커넥트 및 메모리 설계와 데이터 경량화에 중점을 두어 AI 가속기의 성능을 향상시킵니다. LEGO의 3.2배의 성능 향상과 2.4배의 에너지 효율성은 AI 칩 설계의 좁은 문턱을 허물고 더 많은 최적화를 가능하게 합니다.
다음 단계로는 LEGO를 활용한 테스트 및 프로토타입 개발을 고려할 수 있습니다. 다양한 종류의 AI 모델에 대한 폭넓은 연구와 실험을 통해 이 기술의 잠재력을 극대화하는 방안을 모색할 수 있을 것입니다. LEGO의 가치와 가능성을 연구하는 길이 넓어지기를 기대합니다.
댓글
댓글 쓰기