엔비디아, 추론 성능 가속화하는 새로운 소프트웨어 텐서RT-LLM 출시
2023년 09월 13일
트위터로 보내기페이스북으로 보내기구글플러스로 보내기
b26dd28554b3ac5923aee6d7cebea7e0_1694539264_7375.jpg
 

엔비디아(www.nvidia.co.kr )가 새로운 소프트웨어 엔비디아 텐서RT-LLM(NVIDIA TensorRT-LLM)을 출시했다고 밝혔다. 텐서RT-LLM은 텐서RT 딥 러닝 컴파일러로 구성되며 최적화된 커널, 전처리와 후처리 단계, 멀티 GPU/멀티 노드 통신 프리미티브를 포함해 엔비디아 GPU에서 획기적인 성능을 제공한다. 이를 통해 개발자는 C++ 또는 엔비디아 쿠다(CUDA)에 대한 전문적인 배경 지식 없이도 최고의 성능과 빠른 사용자 정의 기능을 제공하는 새로운 대규모 언어 모델을 테스트할 수 있다. 


텐서RT-LLM은 대규모 언어 모델이 발전함에 따라 오픈 소스 모듈식 파이썬 API(Python API)를 통해 사용 편의성과 확장성을 개선하고, 쉽게 사용자 맞춤화할 수 있다. 파이썬 API는 새로운 아키텍처와 개선 사항을 정의, 최적화, 실행할 수 있다. 


성능 비교

아래 차트를 통해 최신 엔비디아 호퍼 아키텍처에서 텐서RT-LLM이 가져온 성능 향상을 확인할 수 있다. 이는 요약 성능을 평가하는 데 잘 알려진 데이터 세트인 CNN/Daily Mail과 함께 A100과 H100을 사용한 기사의 결과 요약을 보여준다. 기사 요약은 대규모 언어 모델의 다양한 응용 분야 중 하나에 불과하다. 


그림 1에서 H100은 단독으로도 A100보다 4배 빠른 속도를 보여준다. 인플라이트 배칭 등 텐서RT-LLM의 성능을 추가하면 속도가 총 8배로 증가해 최고의 처리량을 제공한다.


b26dd28554b3ac5923aee6d7cebea7e0_1694539202_5219.jpg

[그림1] GPT-J-6B에서 A100과 H100 비교(텐서RT-LLM 포함 및 미포함) 


최근 메타가 출시한 언어 모델 라마2(Llama 2)는 생성형 AI를 통합하려는 여러 조직에서 널리 사용되고 있다. 이 라마2에서 텐서RT-LLM은 A100 GPU에 비해 추론 성능을 4.6배 가속화할 수 있다.


b26dd28554b3ac5923aee6d7cebea7e0_1694539167_272.jpg

[그림2] 라마2에서 70B에서 A100과 H100 비교(텐서RT-LLM 포함 및 미포함) 


총소유비용과 에너지 효율성 개선

데이터센터의 총소유비용(TCO)과 에너지 소비를 최소화하는 것은 AI를 도입하는 고객의 핵심 목표이다. 특히 연산 요구사항이 폭발적으로 증가하는 대규모 언어 모델의 경우 더욱 중요하다. 고객은 AI 플랫폼 지출과 관련해 하나의 서버 비용만 고려하지 않는다. 오히려 총 자본 비용과 운영 비용을 종합적으로 고려해야 한다. 


자본 비용에는 GPU 서버, 관리 헤드 노드(모든 GPU 서버를 조정하는 CPU 서버), 네트워킹 장비(패브릭, 이더넷, 케이블링), 스토리지 비용이 포함된다. 운영 비용에는 데이터센터 IT 인력 비용과 소프트웨어, 장비 유지보수, 데이터센터 임대료, 전기료 등이 포함된다. 데이터센터에서 발생하는 실제 비용을 총체적으로 고려할 때, 성능이 크게 향상되면 장비와 유지보수 요구 사항이 줄어들어 상당한 자본, 운영 비용을 절감할 수 있다. 


아래 차트는 GPT-J 6B와 같은 소형 언어 모델에서 8배의 성능 속도 향상으로 A100 기준 대비 총소유비용이 5.3배, 소비 에너지는 5.6배 절감되는 것을 보여준다.


b26dd28554b3ac5923aee6d7cebea7e0_1694539128_1481.jpg

[그림3] GPT-J-6B에서 A100과 H100의 총소유비용과 에너지 효율 절감 수준 


대규모 언어 모델 에코시스템의 폭발적 성장

대규모 언어 모델 에코시스템은 새롭고 다양한 모델 아키텍처를 개발하며 빠르게 혁신하고 있다. 대규모 모델은 새로운 기능과 이용 사례를 제시한다. 700억 개의 파라미터로 구성된 메타의 라마2와 같이 가장 크고 진보된 언어 모델은 실시간으로 응답을 제공하기 위해 여러 개의 GPU가 함께 작동된다. 기존에는 대규모 언어 모델 추론에서 최고의 성능을 얻기 위해 개발자가 AI 모델을 다시 작성하고 수동으로 조각으로 분할해 여러 GPU에서 실행을 조정해야 했다. 


하지만 텐서RT-LLM은 개별 가중치 행렬을 여러 디바이스에서 분할하는 모델 병렬 처리의 일종인 텐서 병렬 처리(Tensor Parallelism)를 사용한다. 이를 통해 개발자의 개입이나 모델 변경 없이도 각 모델이 NV링크(NVLink)를 통해 연결된 여러 GPU와 서버에서 병렬로 실행돼 대규모 추론을 효율적으로 수행할 수 있게 됐다. 


새로운 모델과 모델 아키텍처가 도입됨에 따라 개발자는 텐서RT-LLM에서 오픈 소스로 제공되는 최신 엔비디아 AI 커널을 사용해 모델을 최적화한다. 지원되는 커널 융합에는 컨텍스트와 GPT 모델 실행의 생성 단계를 위한 플래시어텐션(FlashAttention)의 최첨단 실행과 마스킹된 멀티헤드 어텐션 등이 포함된다. 


또한 텐서RT-LLM에는 오늘날 프로덕션 환경에서 널리 사용되는 많은 대규모 언어 모델의 최적화되고 바로 실행 가능한 버전이 포함돼 있다. 여기에는 메타의 라마 2, 오픈AI(OpenAI)의 GPT-2 와 GPT-3, 팔콘(Falcon), 모자이크 MPT(Mosaic MPT), 블룸(BLOOM) 등 12가지가 포함되며, 모두 사용이 간편한 텐서RT-LLM 파이썬API로 구현할 수 있다. 


이러한 기능을 통해 개발자는 사실상 모든 업계의 요구 사항을 충족하는 맞춤형 대규모 언어 보델을 더 빠르고 정확하게 만들 수 있다. 


인플라이트 배칭(In-flight Batching)

오늘날 대규모 언어 모델은 다용도로 사용 가능하다. 하나의 모델을 서로 매우 다르게 보이는 다양한 작업에 단일 모델을 동시에 사용할 수 있다. 챗봇의 간단한 질의응답부터 문서 요약 또는 긴 코드 생성에 이르기까지 워크로드는 매우 복잡하고, 출력의 크기가 몇 배나 달라진다. 


이러한 다양성으로 인해 신경망 서비스를 위한 일반적인 최적화 요청을 일괄 처리하고 병렬로 효과적으로 실행하는 것이 어려울 수 있으며, 이로 인해 일부 요청이 다른 요청보다 훨씬 일찍 완료될 수 있다. 


이러한 동적 부하를 관리하기 위해, 텐서RT-LLM에는 인플라이트 배칭이라는 최적화된 스케줄링 기법을 탑재했다. 이는 대규모 언어 모델의 전체 텍스트 생성 프로세스가 모델에서 여러 번의 실행 반복으로 세분화될 수 있다는 점을 활용한다. 


인플라이트 배칭을 사용하면 전체 요청이 완료될 때까지 기다렸다가 다음 요청 세트로 넘어가는 대신, 텐서RT-LLM 런타임이 완료된 시퀀스를 배치에서 즉시 제거한다. 그런 다음 다른 요청이 아직 전송 중인 동안 새 요청을 실행한다. 인플라이트 배칭과 추가적인 커널 수준 최적화를 통해 GPU 사용량을 개선하고 H100 텐서 코어 GPU의 실제 대규모 언어 모델 요청 벤치마크에서 처리량을 최소 두 배 이상 증가시켜 총소유비용을 최소화하고 에너지 비용을 절감한다. 


FP8이 포함된 H100 트랜스포머 엔진

대규모 언어 모델에는 수십억 개의 모델 가중치와 활성화가 포함되며, 일반적으로 각 값이 16비트의 메모리를 차지하는 16비트 부동 소수점(FP16 또는 BF16) 값으로 훈련되고 표현된다. 그러나 추론 시에는 최신 양자화 기술을 사용해 대부분의 모델을 8비트 또는 4비트 정수(INT8 또는 INT4)와 같이 더 낮은 정밀도로 효과적으로 표현할 수 있다. 


양자화는 정확도를 유지하면서 모델의 가중치와 활성화의 정밀도를 낮추는 프로세스이다. 정밀도를 낮추면 각 파라미터가 더 작아지고 모델이 GPU 메모리에서 차지하는 공간이 줄어든다. 따라서 동일한 하드웨어로 더 큰 규모의 모델을 추론하면서도 실행 중 메모리 작업에 소요되는 시간을 단축시킨다. 


텐서RT-LLM이 탑재된 엔비디아 H100 GPU(H100 GPU)를 사용하면 모델 가중치를 새로운 FP8 형식으로 쉽게 변환하고, 최적화된 FP8 커널을 자동으로 활용하도록 모델을 컴파일할 수 있다. 이는 호퍼 트랜스포머 엔진(Hopper Transformer Engine) 기술을 통해 가능하며, 별도로 모델 코드를 변경할 필요가 없다. 


H100에 도입된 FP8 데이터 포맷을 통해 개발자는 모델을 정량화하고 모델 정확도를 저하시키지 않으면서 메모리 소비를 획기적으로 개선한다. FP8 양자화는 INT8 또는 INT4와 같은 다른 데이터 형식에 비해 높은 정확도를 유지하면서도 가장 빠른 성능을 달성하고 가장 간단한 구현을 제공한다.

그래픽 / 영상
많이 본 뉴스