소식

GPU 교육 Llama 3.1이 미친 듯이 충돌합니다. CPU 서버를 사용하여 수천억 개의 매개변수가 있는 대규모 모델을 실행하는 주요 제조업체가 있습니까?

2024-08-01

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


새로운 지혜 보고서

편집자: 편집부

[새로운 지혜 소개]이제 CPU 범용 서버를 사용하여 수천억 개의 매개변수가 있는 대규모 모델을 실행할 때입니다!

머스크는 19일 만에 H100 10만 대가 연결된 세계 최대 슈퍼컴퓨터를 구축하고 그록3 훈련에 전념했다.

동시에 외신에서는 OpenAI와 Microsoft가 공동으로 구축하는 차세대 슈퍼컴퓨팅 클러스터가 100,000GB200으로 구성될 것이라는 소식을 전했습니다.

이번 AI 경쟁에서 주요 기술 기업들이 GPU에 대한 투자를 늘리기 위해 온갖 노력을 기울이고 있는데, 이는 점점 더 강력한 GPU를 갖게 되면 무적이 될 것임을 암시하는 것으로 보인다.

그러나 이러한 하이엔드 GPU에 대한 광적인 추구가 모든 상황에서 완벽한 솔루션은 아닙니다.


Pytorch의 아버지는 병렬화 방법, 시스템의 안정성을 높이는 방법 등을 포함하여 기술 보고서에 인프라에 대한 흥미로운 세부 정보가 많이 숨겨져 있다고 말했습니다.

안정성을 예로 들면, Llama 3.1 훈련 54일 동안 Meta의 16,000블록 H100 클러스터는 총 419번의 예상치 못한 중단을 겪었습니다. 이는 3시간마다 평균 1번에 해당합니다.

이 중 148회(30.1%)가 다양한 GPU 장애로 인해 발생했습니다.

반면 CPU 장애로 인한 인터럽트는 2개뿐이었다.


반면, Llama 3.1 405B를 실행하려면 2개의 8×H100 DGX 워크스테이션, 즉 1280GB의 비디오 메모리와 페어링해야 합니다.

한 전사가 4090으로 달려본 적이 있는데, 30분을 기다린 후 모델이 천천히 "The"를 뱉어냈다.


완전한 답변을 받는 데 20시간이 걸렸습니다.

모델 훈련과 추론에 익숙한 친구들은 이러한 것들이 전혀 놀라운 일이 아니라는 것을 알고 있습니다.

클러스터 구축(GPU 구성, 네트워크 설계, 트랙 최적화 등), 클러스터 관리(실시간 모니터링, 문제 해결 등)...모두 '걸림돌'입니다.

관련 경험과 자본이 부족한 회사는 무엇을 합니까?


최근 Inspur Information의 R&D 엔지니어들은 단 4개의 CPU를 사용하여 범용 서버에서 수천억 개의 매개변수가 있는 "Source 2.0"을 실행했습니다!

Java로 프로그램을 작성하는 코딩 작업에 직면했을 때 "Source 2.0"은 결과를 매우 빠르게 제공합니다.


또 다른 추론 질문을 해보세요 - 사다리가 바다 위 2m 높이에 걸려 있습니다. 만약 바닷물이 시간당 0.5m 상승한다면 바닷물이 사다리를 잠기는 데 몇 시간이 걸릴까요?

마찬가지로 AI는 거의 지연 없이 상세한 문제 해결 단계와 답변을 제공합니다.



수천억 개의 매개변수가 있는 대규모 모델을 실행하기 위해 범용 서버를 사용하는 것은 전례가 없습니다. 이 분야의 축적은 완전히 비어 있고, 끌어낼 경험이 없습니다.

인스퍼 정보는 어떻게 합니까?

4개의 CPU를 사용하여 수천억 개의 매개변수가 포함된 대규모 모델 활용

단일 서버에서 수천억 개의 매개변수가 있는 대규모 모델의 추론을 달성하려면 두 가지 주요 단계가 있으며 두 단계 모두 컴퓨팅 성능에 대한 엄격한 요구 사항을 부과합니다.

첫째, 순방향 전파 단계라고도 불리는 사전 채우기 단계가 있습니다.

이 단계에는 입력 데이터 처리와 모델 매개변수의 첫 번째 읽기가 포함됩니다.

예를 들어 "AI에 관한 기사를 작성해 주세요"라는 프롬프트를 입력하면 사전 채우기 단계에서 질문에 있는 모든 토큰과 모델 매개변수를 한꺼번에 계산에 입력합니다.

때때로 이 입력은 몇 단어일 수도 있고, 수천 단어일 수도 있고, 책일 수도 있습니다.

첫 번째 단계의 계산이 얼마나 까다로운지는 주로 입력 길이에 따라 달라집니다.

첫 번째 토큰을 계산하는 동안 모델이 처음으로 로드되므로 KV 캐시 및 기타 데이터는 물론 모든 가중치 매개변수가 메모리에 저장됩니다.

이는 모델 매개변수 자체가 차지하는 메모리 공간의 2~3배입니다.

수천억 개의 매개변수 모델의 경우 수많은 매개변수와 데이터 입력을 강력한 컴퓨팅 장치에서 처리해야 합니다. 이를 위해서는 다수의 행렬 곱셈과 텐서 연산을 구현하기 위한 벡터화 명령어 세트와 행렬 계산 명령어 세트를 지원해야 합니다.

둘째, 디코딩 단계, 즉 모든 질문을 입력한 후 모델이 결과를 출력하기 시작하는 단계가 있습니다.

이 단계에서 대형 모델의 유일한 요구 사항은 최대한 빨리 출력하는 것입니다. 동시에, 문제는 더 이상 컴퓨팅 성능 문제가 아니라 "데이터 전송" 문제입니다.

여기에는 "데이터 전송"의 두 부분이 포함됩니다.

  • 사전 채우기 단계에서 생성된 대량의 KV 캐시를 비디오 메모리/메모리에서 컴퓨팅 장치로 이동해야 함(작업량이 매우 많음)

  • 모델 매개변수 자체 전송

이러한 전송은 대형 모델의 계산 및 추론 속도에 결정적인 역할을 합니다. 데이터 전송이 매우 빠르며 LLM 실행 속도도 빠릅니다.

LLM 출력은 주로 KV Catch를 통해 토큰을 하나씩 생성하고, 각 생성 단계 후에 새로운 단어 청크의 키-값 벡터를 저장합니다.

따라서 수천억 개의 대형 모델을 실시간 추론하기 위해서는 서버가 높은 컴퓨팅 파워와 저장 장치에서 컴퓨팅 장치로의 데이터 전송 효율성이 높아야 한다.

전체적으로 대형 모델 추론의 두 단계는 완전히 다른 컴퓨팅 특성을 가지므로 소프트웨어와 하드웨어 측면에서 공동 최적화가 필요합니다.

GPU가 전부는 아니다

전통적으로 GPU는 뛰어난 병렬 처리 기능으로 인해 AI 훈련 및 추론을 위한 첫 번째 선택이 되었습니다.

비용

그러나 고급 GPU 서버는 시장에서 공급이 부족한 경우가 많으며 구하기가 매우 어렵습니다.

Microsoft, Google과 같이 자금이 풍부한 거대 기술 기업만이 이 비용을 감당할 수 있습니다.

반면에 그것은 감당할 수 없을 뿐만 아니라 감당할 수도 없습니다.

GPU 기반 클라우드 서비스 대여는 추론 작업에 비용이 많이 듭니다. 과학 연구자 및 응용 프로그램 제조업체의 경우 더 높은 비용 효율성을 달성하려면 다른 방법을 찾아야 합니다.

비디오 메모리

또한 GPU의 가장 큰 단점 중 하나는 비디오 메모리 용량이 제한되어 있다는 것입니다.

업계에서 LLM의 현재 네트워크 아키텍처는 점차 GPT에서 MoE로 이동했습니다. AGI로 이어지는 대형 모델의 매개변수 규모는 기하급수적으로 증가할 뿐입니다.

이는 폐쇄 소스/오픈 소스 주류 모델의 규모가 점점 더 커지고, 수천억 개의 매개 변수, 심지어 수조 개의 매개 변수를 가진 모델이 주류가 될 것임을 의미합니다.

수백억 개의 매개변수 모델의 경우 20~30GB의 비디오 메모리이면 충분합니다. 하지만 1000억 개의 매개변수를 실행하려면 약 200~300GB의 비디오 메모리 공간이 필요합니다.

현재 주류 AI 칩은 일반적으로 수십 GB의 비디오 메모리만 갖고 있어 이러한 대형 모델을 수용할 수 없습니다. (현재 가장 강력한 AI 칩은 200GB에 도달하지 못했습니다)


과소평가된 범용 서버

GPU가 작동하지 않으면 CPU부터 시작하십시오.

현재는 대규모 모델 학습이 불가능하지만, 범용 서버는 예상외로 추론 작업에 상당한 이점을 갖고 있습니다.

구체적인 실천 과정에서 Inspur 정보 엔지니어는 하드웨어 리소스와 알고리즘 수준에서 시작하여 각 "걸림돌"을 극복했습니다.

초대형 메모리 + 고속 대역폭

컴퓨팅 파워 측면에서 보면,현재 주요 서버 CPU에는 이미 AI 가속 기능이 있습니다.

GPU의 Tensor 코어와 유사하게 AMX 고급 매트릭스 확장은 정밀도가 낮은 계산을 가속화하고 명령어 세트를 CPU 코어로 컴파일하며 가속을 위해 전용 코어를 사용할 수 있습니다.

알고리즘 측면에서 보면,Inspur Information의 범용 서버는 PyTorch 및 TensorFlow와 같은 주류 AI 프레임워크는 물론 DeepSpeed와 같은 널리 사용되는 개발 도구를 동시에 지원하여 보다 성숙하고 배포가 쉽고 보다 편리한 개방형 생태계에 대한 사용자 요구를 충족할 수 있습니다.

의사소통 측면에서는,풀링크 UPI(Ultra Path Interconnect) 버스 상호 연결 설계는 CPU 간의 효율적인 데이터 전송을 실현합니다.

  1. 두 CPU 간에 직접 데이터 전송을 허용하여 통신 지연을 줄입니다.

  2. 최대 16GT/s(초당 기가 전송)의 높은 전송 속도 제공


또한 Inspur Information의 R&D 엔지니어는 CPU 간, CPU와 메모리 간 배선 경로 및 임피던스 연속성을 최적화했습니다.

3차원 시뮬레이션 결과를 바탕으로 비아 배열을 조정하여 신호 누화를 이전 세대보다 50% 낮은 -60dB 이하로 줄였습니다.

또한, DOE 매트릭스 능동 시뮬레이션을 통해 채널의 모든 코너 조합에 대한 최적의 솔루션을 찾아 컴퓨팅 성능을 최대한 활용할 수 있습니다.

기억상으로는,범용서버의 가장 큰 장점이라 할 수 있습니다.

  • 용량

4소켓 서버의 경우 각 CPU에 32GB 메모리 스틱 8개만 연결하면 쉽게 1TB에 도달할 수 있습니다. 완전히 삽입하면 16TB까지 확장할 수 있으며 최대 1조 개의 매개변수가 있는 모델을 지원할 수 있습니다.

  • 대역폭

DDR5 메모리와 결합하면 4800MHz × 8비트 × 8채널 × 4 ¼ 1024 = 1200GB/s의 이론적 대역폭을 달성할 수 있습니다.

실제 측정 결과는 읽기 대역폭이 995GB/s, 쓰기 대역폭이 423GB/s, 읽기 및 쓰기 대역폭이 437GB/s인 것으로 나타났습니다.

이 데이터는 GDDR 메모리가 장착된 일부 GPU 또는 가속기 카드와 유사합니다.


하지만 하드웨어만으로는 충분하지 않습니다.

하드웨어 혁신에만 의존하는 것만으로는 충분하지 않습니다. CPU가 대규모 모델 알고리즘의 대규모 병렬 계산을 수행하는 것은 어렵습니다.

처음에 언급했듯이 대형 모델은 데이터 계산이든, 컴퓨팅 장치 간, 컴퓨팅 장치와 메모리 간 통신 대역폭에 대한 요구 사항이 매우 높습니다.

BF16 정확도에 따라 계산할 경우 1,000억 개의 대형 모델의 실행 지연을 100ms 미만으로 만들려면 메모리와 컴퓨팅 장치 간의 통신 대역폭이 최소 2TB/s 이상이어야 합니다.

뿐만 아니라, 범용 서버 프로세서는 대규모 병렬 컴퓨팅에 능숙한 가속기 카드 설계를 기반으로 하는 대규모 AI 모델에는 적합하지 않습니다.

그 이유는 분명합니다. 후자는 매우 다재다능하고 고성능 컴퓨팅 코어를 갖추고 있지만 병렬 작업 환경은 없습니다.

일반적으로 범용 서버는 먼저 모델의 가중치를 CPU로 전송한 다음 다른 CPU에 직렬로 연결하여 가중치 데이터 전송을 실현합니다.

그러나 대형 모델은 동작 중에 메모리와 CPU 사이에 알고리즘 가중치를 자주 전송해야 하기 때문에 결과적으로 CPU와 메모리 사이의 대역폭 활용도가 높지 않고 통신 오버헤드도 매우 높습니다.


문제를 해결하는 방법?알고리즘을 통한 혁신

위 문제에 대응하여 Inspur Information은 "Tensor Parallel"(Tensor Parallel)과 "NF4 Quantification"이라는 두 가지 기술 혁신을 제안하고 수천억 대 모델 Yuan2.0-102B의 실시간 추론을 성공적으로 실현했습니다.

성능 분석 결과에 따르면 모델의 여러 부분의 계산 시간 분포를 명확하게 볼 수 있습니다.

선형 레이어 실행 시간은 50%, 컨볼루션 실행 시간은 20%, 집계 통신 시간은 20%, 기타 계산은 10%를 차지합니다.

전체 추론 과정에서 계산 시간이 80%를 차지한다는 점에 유의하세요!

이는 여러 개의 PCIe AI 가속기 카드를 사용하는 것과는 극명한 대조를 이룹니다. 후자의 통신 오버헤드는 50%까지 높아 컴퓨팅 성능이 심각하게 낭비될 수 있습니다.


Yuan2.0-102B 모델 추론 성능 분석 결과 차트

텐서 병렬성

소위 텐서 병렬화는 먼저 컨볼루션 연산자를 텐서로 나눈 다음 대형 모델의 Attention 레이어와 피드포워드 레이어의 행렬 가중치를 계산하여 이를 여러 프로세서의 메모리에 입력합니다.

이런 방식으로 일반 서버의 CPU 4개가 동시에 알고리즘 가중치를 획득하여 계산 속도를 높일 수 있습니다.

그러나 텐서 병렬 처리는 모델 매개변수를 더 미세한 단위로 나누므로 CPU가 각 텐서 계산 후에 데이터 동기화를 수행해야 합니다.

이 요구 사항을 위해 위에서 언급한 풀 링크 UPI 버스 상호 연결 기술은 이 요구 사항을 완벽하게 충족할 수 있습니다(통신 대역폭은 최대 16GT/s).

결국 이 협업 병렬 작업은 컴퓨팅 효율성을 직접적으로 4배 증가시켰습니다!


NF4 정량화

메모리 대역폭이 부족하다는 문제에 대해서는 정확도에 영향을 주지 않고 모델을 "얇게", 즉 양자화해야 합니다.

장점은 한편으로는 LLM 매개변수를 낮은 비트 데이터로 양자화할 수 있고 가중치가 더 작아진다는 것입니다. 반면, 가중치가 감소하면 계산 중에 전송되는 데이터의 양도 작아집니다.

여기에서 Inspur Information은 희귀한 수량화 방법인 NF4(4자리 NormalFloat)를 채택합니다.


NF4 양자화 방법은 Yuan2.0-102B의 크기를 원래 크기의 1/4로 압축할 수 있습니다.

구체적으로 NF4의 핵심 아이디어는 양자화 간격 내에서 입력 텐서의 값 개수가 동일하도록 보장하는 것입니다.

이 기능은 대략적인 정규 분포를 갖는 LLM 가중치를 제시하는 데 매우 적합합니다.

양자화된 데이터 유형의 범위에 맞게 표준 편차를 조정할 수 있기 때문에 NF4는 기존의 4비트 정수 또는 4비트 부동 소수점 수량화보다 더 높은 정확도를 달성할 수 있습니다.

이러한 방식으로 양자화된 모델은 정확도 요구 사항을 충족할 수 있을 뿐만 아니라 대규모 병렬 컴퓨팅을 위한 메모리 액세스 데이터의 양을 크게 줄여 실시간 추론의 디코딩 요구 사항을 충족할 수 있습니다.


정수 또는 부동 소수점 양자화 방법의 데이터 간격은 일반적으로 균등하게 분포되거나 지수적으로 분포됩니다.

모델의 가중치 매개변수를 더욱 압축하기 위해 팀은 중첩 양자화(Double Quant) 기술도 사용했습니다.

이는 NF4 양자화를 기반으로 한 2차 양자화입니다.

NF4는 양자화 후에 많은 수의 스케일 매개변수를 생성하므로 이를 저장하기 위해 32비트 부동 소수점 수(FP32)를 사용하면 많은 양의 메모리를 차지하게 됩니다.

수천억 개의 매개변수가 있는 LLM의 경우 모든 64개의 매개변수가 양자화 블록(블록 크기=64)으로 계산되는 경우 스케일 매개변수만 저장하려면 추가로 6GB의 메모리가 필요합니다((100B ¼ 64) × 4 = 6GB).

팀은 이러한 스케일 매개변수를 8비트 부동 소수점 수(FP8)로 양자화하여 필요한 저장 공간을 크게 줄였습니다.

양자화 블록 크기(블록 크기=256)로 256을 사용하는 경우 모든 스케일 매개변수를 저장하는 데 필요한 추가 공간은 1.57GB(100B ¼ 64 256) × 4 + (100B 64) × 1 = 1.57GB입니다.

중첩된 양자화를 통해 모델의 각 가중치 매개변수는 결국 4바이트의 메모리 공간만 차지하게 되어 원래 FP32보다 많은 메모리 공간을 절약하게 됩니다.

동시에 메모리에서 CPU로의 데이터 전송 효율성을 4배 향상시킵니다.

이러한 최적화는 Yuan2.0-102B 모델의 추론 및 디코딩 효율성에 대한 메모리 대역폭 제한을 크게 완화하여 모델의 추론 성능을 더욱 향상시킵니다.

보편적이라는 것은 누구나 사용할 수 있다는 뜻이다.

이 시점에서 Inspur 정보가 성공적으로 제출되었습니다!

시스템 최적화를 통해 Inspur Information의 NF8260G7은 업계 최초로 범용 프로세서만을 기반으로 수천억 개의 매개변수를 갖춘 대형 모델의 작동을 지원합니다.

지금까지 일반 컴퓨팅 파워가 지원하는 대형 AI 모델의 매개변수 규모는 1000억개를 넘어 업계 격차를 완전히 메우고 기업이 AI를 소유하는 새로운 출발점이 됐다.

수천억 개의 매개변수가 포함된 AI 모델을 배포하면 이제 더 강력한 성능과 더 경제적인 비용을 선택할 수 있습니다. AI 대형 모델 애플리케이션은 클라우드, 빅데이터 및 데이터베이스와 긴밀한 통합을 달성할 수 있습니다.


과학기술 진보의 궁극적 목표는 필멸의 세계에 떨어지는 것이어야 한다.

현재 AIGC는 수천 개의 산업에 진출해 있습니다. AI는 놀라운 속도로 모든 컴퓨팅 장치에 침투했습니다.

2024년 1월부터 4월까지 국내 대형 모델의 낙찰 건수는 2023년 전체 낙찰 건수를 넘어섰고, 공개된 입찰 금액은 2023년 전체 낙찰 건수의 77%에 달한다.

금융 업계의 실무자, 병원 외래 진료 부서, 기업 IT 부서 모두가 이를 발견했습니다. 즉, 기존 산업의 컴퓨팅 성능 인프라로는 더 이상 충분하지 않습니다!

오늘날 수천억 개의 매개변수를 가진 대형 모델은 수천 개의 산업 분야에서 인텔리전스 출현의 열쇠입니다. 일반 컴퓨팅 성능이 수천억 개의 매개변수가 포함된 대규모 모델을 실행할 수 있는지 여부는 이것이 수천 개의 산업에서 지능의 출현을 지원할 수 있는지 여부를 측정하는 열쇠입니다.

Inspur Information의 이니셔티브를 통해 인터넷, 금융, 의료 및 기타 산업 분야의 고객은 효율적인 배포를 달성하고 첫 번째 투자에서 건설 비용을 80% 이상 절약할 수 있습니다.

금융 사기 예방, 금융 데이터 분석, 기업 CRM 마케팅 통찰력, 지능형 의료 진단, 맞춤형 진단 및 치료 계획, 교육 및 훈련 등 AI의 광범위한 적용을 목격하게 될 것입니다.

이제부터 모든 계산은 AI입니다.

참고자료:

https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg