출처: https://www.tomshardware.com/pc-components/cpus/intel-and-amds-new-ace-cpu-extensions-bring-an-efficient-ai-oriented-instruction-set-to-x86-a-new-design-makes-matrix-multiplication-more-power-and-density-efficient
ACE는 머신러닝 작업에 사용되는 대부분의 데이터 타입(INT8, INT32, FP8, FP16, FP32, BF16 포함)을 기본적으로 지원하며, Open Compute Project의 MX 블록 스케일 형식도 본래적으로 사용할 수 있습니다. AVX10이 제공하지 않는 기능입니다. 개발자들은 NPU 전용 작업을 CPU로 다시 옮겨서 급하게 처리해야 하는 상황에서도 쉽게 활용할 수 있습니다. 이러한 경우 각 NPU가 다르다는 점을 다루지 않아도 되는 것은 큰 장점입니다. ACE는 x86 하드웨어 전반에서 일관된 목표를 제공합니다.
이점은 단순히 같은 작업에 대한 지침 수를 줄이는 것 이상입니다. ACE는 구현과 무관하게 설계되었기 때문에 머신러닝 프레임워크와 그 기본 라이브러리(예: PyTorch, TensorFlow)가 하드웨어와 AVX 지원 정도에 따라 여러 변형을 두지 않고 단일 코드 경로를 작성할 수 있습니다.
ACE는 같은 입력 벡터 수에 대해 AVX10에 비해 16배 더 많은 연산을 수행할 수 있습니다. 하지만 이것이 반드시 16배의 속도 향상을 의미하는 것은 아니며, 각 구현에 따라 다를 수 있습니다. 다만, 인텔과 AMD가 향후 설계에서 이 작업에 더 많은 실리콘을 할당할 것이라는 기대는 합리적입니다. 게다가, 각 ACE 지침이 AVX10 루프보다 더 많은 작업을 수행하므로 CPU 지침 오버헤드가 적고, 초기부터 더 나은 RAM 대역폭 사용이 가능할 수 있습니다.
행렬 곱셈은 AI 작업의 초석입니다. 숫자 테이블을 받아서 전체에 대해 곱셈-덧셈 루프를 실행하는 것입니다. 이는 거의 모든 CPU에서 가능하지만 속도는 제한적이었습니다. 현재도 이런 루프를 실행하는 데는 많은 전력이 필요하며, x86의 AVX10 곱셈-누적 지침을 활용한다고 해도 이는 기술적으로 해킹에 가깝습니다. AVX는 2D 행렬 곱셈 작업을 염두에 두고 설계되지 않았으니까요.
ACE는 기존의 AVX10 레지스터를 활용하면서 행렬 곱셈에 전념하는 실리콘을 추가하는 기술 표준을 제공합니다. 이를 통해 여러 가지 이점이 있지만, 가장 큰 장점은 더 나은 전력 효율, 쉬운 개발 및 최적화, 그리고 AVX의 512비트 입력을 활용할 수 있다는 점입니다. 후자는 ACE 전용 입력이 필요 없기 때문에 기존 설계와 손쉽게 통합할 수 있습니다.
우리가 "AI 모델 실행"에 대해 들으면 대부분 GPU와 관련된 이야기인데, 모든 AI 작업이 그 하드웨어에 적합한 건 아닙니다. 더 작은 모델이나 사용자의 지연이 중요한 작업은 CPU에서 실행함으로써 GPU와 데이터를 주고받는 과정을 피할 수 있습니다. 또한 GPU가 아예 없거나, 성능이 제한적인 통합형 GPU만 있는 경우가 많습니다. 인텔과 AMD는 최근 x86 프로세서에서 위의 AI 작업을 더 쉽게, 그리고 전력 효율적으로 실행할 수 있도록 만드는 ACE CPU 확장 사양을 발표했습니다.
x86 CPU에서 AI 모델을 실행하는 것이 점점 더 쉽고 빠워지고 있습니다.







