Numenta와 인텔의 추론 가속화

맞춤형 훈련된 대규모 언어 모델은 HBM이 포함된 인텔® 제온® CPU Max 시리즈 프로세서에서 실행될 때 더 빠르게 실행될 수 있습니다.

개요:

  • 뇌 기반 원리를 적용해 혁신적인 AI 솔루션을 개발한 선구자 Numenta는 AI와 딥 러닝 분야에서 획기적인 발전을 이뤄냈습니다.

  • Numenta는 프로세서에 고대역폭 메모리(HBM)가 있는 인텔® 제온® CPU Max 시리즈 프로세서에서 실행될 때 사용자 지정 훈련된 대규모 언어 모델이 대용량 문서(긴 시퀀스 길이)에 대해 더 빠르게 실행될 수 있음을 입증했습니다.

author-image

기준

요약

NLP(자연어 처리)는 변환기의 진화와 함께 폭발적으로 증가했습니다. 그러나 지연 시간이 짧은 텍스트 스니펫(예: 문자 메시지 또는 채팅)이나 처리량이 많은 긴 문서를 생산할 때 이러한 언어 모델을 효율적으로 실행하는 것은 CPU에서 불가능하지는 않더라도 쉽지는 않은 일이었습니다.

이전 작업에서 Numenta는 맞춤형 학습 언어 모델이 4세대 인텔® 제온® 스케일러블 프로세서에서 <10ms 대기 시간으로 실행되고 짧은 텍스트 시퀀스에 대한 BERT 추론을 위한 현재 세대 AMD Milan CPU 구현에 비해 100배의 처리 속도 향상을 달성할 수 있는 방법을 보여주었습니다.1 이 프로젝트에서 Numenta는 프로세서에 위치한 고대역폭 메모리를 갖춘 인텔® 제온® CPU Max 시리즈 프로세서에서 실행할 때 현재 세대의 AMD Milan CPU 구현에 비해 맞춤형으로 훈련된 언어 모델이 대용량 문서(긴 시퀀스 길이)에서 20배 더 빠르게 실행되는 방법을 보여줍니다.2 두 경우 모두 Numenta는 인텔 프로덕션에서 언어 모델을 실행하는 전체 비용을 크게 절감하여 고객을 위한 완전히 새로운 NLP 기능을 제공합니다.

컨텍스트

뇌 기반 원리를 적용해 혁신적인 AI 솔루션을 개발하는 선구자인 Numenta는 고객이 자연어 처리 및 컴퓨터 비전과 같은 광범위한 사용 사례에서 10배에서 100배 이상의 성능 향상을 달성할 수 있도록 AI 및 딥 러닝 분야에서 획기적인 발전을 이루었습니다3.

Numenta는 대규모 언어 모델을 가속화하는 데 전문 지식을 적용하여 고객이 정확성을 희생하지 않고도 짧은 시퀀스 길이의 작업과 긴 시퀀스 길이의 작업 모두에서 추론 성능을 개선하도록 돕고 있습니다. NLP에서 긴 시퀀스 길이 작업에는 대화형 AI에서 문장이나 텍스트 조각을 분석하는 데 사용할 수 있는 짧은 시퀀스 길이 작업과 달리 문서 또는 유사하게 긴 단어 문자열 분석이 포함됩니다. 이러한 고객을 위한 워크플로를 더욱 가속화하고 단순화하기 위해 Numenta는 인텔에서 최근 출시한 인텔 제온 Max 시리즈 CPU를 테스트했습니다.

인텔 제온 CPU Max 시리즈는 고대역폭 메모리(HBM)가 있는 x86 CPU입니다. 또한 프로세서에는 빠른 행렬 곱셈을 위한 새로운 인텔® AMX(인텔® Advanced Matrix Extensions) 명령 세트와 자동 모델 최적화를 위한 OpenVINO 툴킷이 포함되어 있습니다. 인텔 제온 Max 시리즈 CPU에서 실행되는 Numenta의 신경과학에서 영감을 받은 기술의 조합으로 대규모 언어 모델에서 추론 처리량이 20배 향상되었습니다.4 이 데모는 CPU가 이러한 대규모 언어 모델에 대한 추론을 위한 가장 효율적이고 스케일러블하며 강력한 플랫폼이 될 수 있음을 입증합니다.

더 긴 시퀀스 길이에 대해 추론을 실행하는 문제와 Numenta 기술과 인텔® 하드웨어의 조합으로 문제를 해결하는 방법에 대해 자세히 알아보십시오.

문제

변환기 모델이 각 추론 작업을 수행할 때 일반적으로 분석하는 텍스트의 길이는 응용 프로그램 공간마다 크게 다릅니다. 실시간 대화형 응용 프로그램의 경우 모델은 사용자 입력의 한 문장만 고려할 수 있지만 질문 응답 또는 문서 요약과 같은 응용 프로그램의 경우 각 작업은 텍스트의 전체 단락(또는 전체 문서)을 고려할 수 있습니다. 변환 모델은 텍스트 데이터에서 직접 작동하지 않습니다. 오히려 입력 텍스트는 토큰화되고 모델에 공급되는 일련의 임베딩 벡터로 변환됩니다 BERT-Large의 경우 각 임베딩 벡터는 1,024개의 요소로 구성되며 FP32를 사용하여 나타낼 때 토큰당 4KB의 상태가 필요합니다.

BERT-Large는 최대 512개의 토큰으로 구성된 텍스트 시퀀스를 고려할 수 있으며, 이는 큰 시퀀스 길이에 대한 작업의 경우 약 2MB의 상태에 해당합니다. 이 입력은 변환기를 통해 레이어에서 레이어로 흐르고 특정 선형 레이어와 상호 작용할 때 확장됩니다(예: BERT-Large에서는 최대 8MB일 수 있음). 이러한 활성화를 유지하는 것과 관련된 상태 외에도 모델 가중치를 유지하려면 상태가 필요하며 각 레이어에서 입력이 변환될 때 상당한 임시 스크래치 공간이 필요합니다.

최신 GPT 모델의 경우 최대 시퀀스 길이와 임베딩 벡터의 크기가 모두 증가했습니다. 예를 들어 GPT-J-6B를 사용하면 시퀀스는 최대 2,048개의 토큰을 포함할 수 있으며 각 임베딩은 16KB의 상태를 나타내며 최대 시퀀스 길이를 활용하는 작업에 대해 총 32MB가 됩니다. 결과적으로 특히 큰 텍스트를 입력할 때 추론 작업과 관련된 작업 집합이 중요해질 수 있습니다.

여러 입력 스트리밍을 병렬로 처리하는 추론 서버를 고려했을 때 처리 작업 간에 모델 가중치를 공유할 수는 있지만, 입력 상태는 각 스트림에 고유하며 동시 작업 수에 따라 선형적으로 증가합니다.

응용 프로그램 공간 간의 또 다른 차이점은 일반적인 배치 크기입니다. 실시간 응용 프로그램의 경우 배치 크기는 작으며 종종 1에 불과합니다(최소 대기 시간 처리, 사용자 상호 작용에 실시간으로 응답). 그러나 오프라인 처리의 경우 일괄 처리 크기를 늘리면(예: 64개, 128개 또는 심지어 256개의 쿼리를 병렬로 처리) 일반적으로 전체 처리량이 향상될 수 있습니다(대기 시간을 희생하여). 상상할 수 있듯이 이는 각 작업에 필요한 작업 세트를 더욱 증가시킵니다.

오늘날의 멀티 코어 프로세서에서 프로세서의 온칩 캐시 리소스는 코어 간에 공유됩니다. 예를 들어, 56코어의 4세대 인텔 제온 프로세서는 칩에 통합된 레벨 3 캐시가 최대 112MB일 수 있습니다. 이것은 상당한 양의 캐시이지만 각 코어가 활용될 때 코어당 리소스는 약 2MB의 캐시에 이릅니다. 결과적으로 특히 더 큰 변환기 모델의 경우, 더 큰 문서에서 작동하더라도 필요한 모든 상태를 유지하기 위한 캐시가 충분하지 않아 데이터가 메모리에서 지속적으로 스테이징되어야 합니다. 이로 인해 상당한 메모리 대역폭 사용률이 발생합니다.

작업 세트가 충분히 작을 때 프로세서가 제공하는 총 성능은 회사 데이터시트에 명시된 값에 근접한 달성 가능한 총 FLOP(Floating Point Operations per second)와 함께 컴퓨팅 바인딩될 수 있습니다. 그러나 작업 세트가 너무 커서 칩에 수용할 수 없는 경우, 응용 프로그램 성능이 먼저 사용 가능한 메모리 대역폭에 의해 제한되어 프로세서의 컴퓨팅 성능만을 기준으로 예상된 결과에 크게 미치지 못하는 경우가 많습니다.

그 결과 대규모 배율 모델로 추론 작업을 수행할 때 프로세서의 계산 능력은 자주 활용되지 않습니다.

솔루션: 최적화된 모델, CPU로 NLP 추론의 극적인 가속화

20년 이상의 신경과학 연구를 바탕으로 Numenta는 획기적인 성능 향상을 제공하는 새로운 아키텍처, 데이터 구조 및 알고리즘을 정의했습니다. GPT-3 또는 BERT-Large와 같은 모델에 적용하면 정확도를 희생하지 않고도 추론에 훨씬 더 효율적입니다. 이 중 일부는 하드웨어 인식 최적화 알고리즘을 사용하여 모델을 사용자 지정 교육하는 것입니다. 그리고 그 중 일부는 추론을 위해 컴퓨팅 플랫폼을 완전히 활용하기 위해 런타임 최적화를 수반합니다.

BERT-Large의 맞춤형 훈련 버전에 적용된 두뇌 기반 기술은 프로덕션에서 더 높은 처리량을 가능하게 했습니다. 그러나 AMD Milan과 같은 이전 세대 CPU 플랫폼에서 이러한 모델을 실행한다고 해서 항상 고객의 요구를 충족할 만큼 충분한 처리량이 달성되는 것은 아닙니다. 결과적으로 많은 사람들이 Nvidia A100을 프로덕션 환경에서 실행해야 합니다. 이는 비용 효율성이 훨씬 낮고 유지 관리에 훨씬 더 많은 시간이 소요됩니다. 예를 들어 NLP 추론을 위한 GPU 시스템을 세우는 데 몇 주가 소요될 수 있습니다. 비슷한 CPU 플랫폼을 시작하고 실행하는 데는 일반적으로 하루나 이틀이 걸립니다. 변화하는 데이터 세트 또는 고객 요구 사항을 충족하는 데 필요한 코드 변경도 마찬가지입니다. 이들 각각은 일반적으로 CPU 플랫폼에 비해 GPU 플랫폼에서 더 많은 엔지니어링적인 노력을 필요로 합니다.

Numenta 모델은 기존 모델보다 계산 효율이 더 높지만 이렇게 향상된 효율성으로 인해 메모리 대역폭에 대한 요구 사항이 더 높아지는 경향이 있습니다. 대규모 딥 러닝 모델을 대규모로 실행할 때 메모리 대역폭은 일반적으로 확장 제한자가 됩니다. HBM은 메모리 대역폭을 3배로 늘려 Numenta가 컴퓨팅 리소스를 더 잘 활용할 수 있도록 합니다.

이것이 바로 새로운 제온 Max 시리즈 CPU가 중요한 차이점을 만들어내는 부분입니다. HBM을 장착한 상태에서 지속 가능한 총 오프칩 대역폭은 HBM 기술이 없는 프로세서에서 사용할 수 있는 것보다 3배 이상 높습니다.5

마지막으로 여기에서 자세히 설명하는 것처럼 인텔 제온 CPU Max 시리즈 프로세서에는 인텔 AMX 지원을 포함하여 딥 러닝 응용 프로그램을 가속화하는 다른 혁신 기능이 포함되어 있습니다. 인텔 AMX는 16비트 BF16 작동을 지원하여 활성화 및 가중치와 관련된 메모리 설치 공간을 줄였을 뿐만 아니라 기존 인텔® AVX-512(인텔® Advanced Vector Extensions 512) 지침에 비해 훨씬 향상된 피크 계산 성능을 제공합니다. 인텔 AMX는 또한 제온 Max 시리즈 CPU와 잘 페어링되도록 설계되었습니다. 인텔 AMX는 상당한 컴퓨팅 처리량 가속화를 제공합니다. 이는 일반적으로 컴퓨팅에서 대역폭 제한으로 AI 추론 문제를 변환합니다. 인텔 AMX를 사용하여 32비트에서 16비트 표현으로 이동하면 본질적으로 대역폭 요구 사항이 절반으로 줄어들고 그 과정에서 대형 모델에서 향상된 추론 처리량을 제공합니다. 그러나 이러한 잠재적 컴퓨팅 처리량의 상당한 증가는 인텔 AMX를 완전히 활용하는 데 필요한 메모리 대역폭 요구를 증가시켜 문제를 대역폭 제한으로 변환합니다. 프로세서에 HBM이 있는 제온 Max CPU는 이 문제를 원활하게 처리하도록 설계되었습니다.

결과

인텔의 최신 세대 프로세서와 Numenta 기술의 시너지 조합의 이점을 입증하기 위해, 당사는 대규모 512개 요소 시퀀스 길이를 사용하면 BERT-Large 추론 처리량이 향상됨을 입증하기로 했습니다. 이 벤치마크는 인텔의 OpenVINO 툴킷을 사용하여 실행된 최적화된 ONNX 모델을 사용하여 수행되었으며 동시 스트림 수는 사용 가능한 프로세서 코어와 일치했습니다. oneAPI를 통해 사용할 수 있는 인텔의 최적화되고 스케일러블한 개방형 소프트웨어를 통해 Numenta는 기술을 OpenVINO 툴킷에 효율적으로 통합할 수 있었습니다.

성능 베이스라인은 48코어 AMD Milan 시스템에서 OpenVINO 툴킷을 사용하여 생성되었으며, Numenta의 기술과 인텔의 최신 세대 인텔® 제온® 프로세서의 조합 없이 고객이 사용할 수 있는 성능을 보여줍니다. 그림 1에서 볼 수 있듯이 48코어 AMD Milan 시스템에서 실행되는 표준 BERT-Large 모델(예: Huggingface.com의 모델)에서 48코어 인텔 제온 Max 시리즈 프로세서에서 실행되는 Numenta의 최적화된 BERT-Large 모델로 이동 , 추론 처리량이 20배 이상 향상되었습니다.6

그림 1. 512의 긴 시퀀스 길이에 대해 이 기술 조합은 현재 세대 AMD Milan에 비해 20배의 처리량을 달성했습니다.6

요약

대형 변압기 모델을 사용하는 응용 프로그램의 경우 이러한 기술 조합은 이전에 가능했던 것보다 훨씬 더 생산적이고 효율적인 것으로 입증되었습니다.

  • Numenta의 최적화된 BERT-Large 버전은 성능을 높이고 실행할 대상 컴퓨팅을 최대한 활용하도록 설계되었습니다.
  • 인텔 제온 CPU Max 시리즈는 프로세서에 HBM을 배치하는 4세대 인텔 제온 스케일러블 프로세서로, 그렇지 않으면 3배의 대역폭 용량으로 대역폭이 제한되는 워크로드를 가능하게 합니다.
  • 인텔 AMX는 이전 세대 인텔 AVX-512에 비해 상당한 가속을 제공하여 4세대 인텔 제온 스케일러블 프로세서를 일반적으로 AI 작업에 훨씬 더 효율적으로 만듭니다.
  • 인텔에서 유지 관리하는 OpenVINO 툴킷 및 개방형 oneAPI 소프트웨어 스택은 즉시 사용 가능한 강력한 개발자 경험을 제공하여 엔지니어링 팀의 유지 관리 오버헤드를 크게 줄입니다.
  • 인텔 제온 CPU Max 시리즈와 Numenta 최적화 버전의 BERT-Large를 통해 Numenta는 Nvidia A100에서 실행할 필요 없이 고객의 요구 사항을 충족할 수 있을 만큼 충분히 빠른 처리량으로 실행할 수 있었습니다.

자세한 내용

유사한 문제가 있는 경우 지금 바로 특정 문제에 대해 다음과 같은 스택을 사용하여 시작할 수 있습니다.

어떤 AI 문제를 해결해야 하는지에 관계없이, 인텔과 Numenta는 고객의 요구에 맞는 광범위한 솔루션을 보유하고 있습니다.