Generative AI

추론 성능 가속화하는 새로운 소프트웨어 TensorRT-LLM 출시

Reading Time: 5 minutes

대규모 언어 모델(LLM)의 획기적인 새로운 기능은 AI의 영역을 넓히고 있습니다. 그러나 큰 크기와 특수한 실행 특성으로 비용 효율적인 방식으로 사용하기 어려울 수 있습니다.

따라서 NVIDIA는 대규모 언어 모델 추론을 가속화하고 최적화하기 위해 메타(Meta)애니스케일(Anyscale)코히어(Cohere)데시(Deci)그래머리(Grammarly)미스트럴 AI(Mistral AI), 현재 데이터브릭스(Databricks)로 인수된 모자이크ML(MosaicML)옥토ML(OctoML)탭나인(Tabnine)투게더 AI(Together AI)우버(Uber) 등 주요 기업들과 긴밀히 협력합니다.

이러한 혁신은 몇 주 내로 출시 예정인 오픈 소스 소프트웨어인 NVIDIA TensorRT-LLM에 통합됐으며, 암페어(Ampere), 러브레이스(Lovelace)와 호퍼(Hopper) GPU에서 사용할 수 있습니다. TensorRT-LLM은 TensorRT 딥 러닝 컴파일러로 구성되며 최적화된 커널, 전처리와 후처리 단계, 멀티 GPU/멀티 노드 통신 프리미티브를 포함해 NVIDIA GPU에서 획기적인 성능을 제공합니다. 이를 통해 개발자는 C++ 또는 NVIDIA 쿠다(CUDA)에 대한 전문적인 배경 지식 없이도 최고의 성능과 빠른 사용자 정의 기능을 제공하는 새로운 대규모 언어 모델을 테스트할 수 있습니다.

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

예를 들어, 모자이크ML은 TensorRT-LLM 위에 필요한 특정 기능을 원활하게 추가하고 추론 서비스에 통합했습니다. 데이터브릭스의 엔지니어링 담당 부사장인 나빈 라오(Naveen Rao)는 “TensorRT-LLM은 사용이 간편하고, 토큰 스트리밍, 인플라이트 배칭(In-flight Batching), 페이지드 어텐션(Paged-attention), 정량화 등 다양한 기능을 갖추고 있으며 효율적이다. 이 솔루션은 NVIDIA GPU를 사용해 대규모 언어 모델 서비스를 위한 최첨단 성능을 제공하고, 고객에게 비용 절감 효과를 전달한다”고 말했습니다.

성능 비교

기사 요약은 LLM의 다양한 응용 분야 중 하나에 불과합니다. 다음 벤치마크는 최신 NVIDIA Hopper 아키텍처에서 TensorRT-LLM이 가져온 성능 향상을 보여줍니다.

다음 그림은 요약 성능을 평가하는 데 잘 알려진 데이터 세트인 CNN/Daily Mail과 함께 NVIDIA A100 및 NVIDIA H100을 사용한 기사 요약에 대한 것입니다.

그림 1에서 H100은 단독으로 A100보다 4배 빠릅니다. 기내 일괄 처리 등 TensorRT-LLM의 이점을 추가하면 총 8배로 증가하여 최고의 처리량을 제공합니다.

그림 1. GPT-J-6B A100과 H100 비교(TensorRT-LLM 포함 및 미포함)

텍스트 요약, 가변 I/O 길이, CNN/DailyMail 데이터 세트 | A100 FP16 PyTorch 에저 모드 | H100 FP8 | H100 FP8, 기내 배치, TensorRT-LLM

Meta에서 최근 출시한 인기 언어 모델이자 생성형 AI를 통합하려는 조직에서 널리 사용되는 Llama 2에서 TensorRT-LLM은 A100 GPU에 비해 추론 성능을 4.6배까지 가속화할 수 있습니다.

그림 2. Llama 2 70B, A100과 H100 비교(TensorRT-LLM 포함 및 미포함)

텍스트 요약, 가변 I/O 길이, CNN/DailyMail 데이터 세트 | A100 FP16 PyTorch 에저 모드 | H100 FP8 | H100 FP8, 비행 중 배치, TensorRT-LLM

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

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

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

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

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

마찬가지로 라마2와 같은 최신 대규모 언어 모델에서는 700억 개의 파라미터를 사용하더라도 고객은 A100 기준 대비 4.6배의 성능 속도 향상을 실현한다. 이로써 총소유비용은 3배, 소비 에너지는 3.2배 절감할 수 있다.

그림 4. Llama 2 70B에서 A100과 H100의 TensorRT-LLM 총소유비용과 에너지 효율 절감 수준

위에 표시된 총소유비용 외에도 소프트웨어 개발과 관련된 상당한 인건비가 있으며, 이는 인프라 비용 자체를 쉽게 초과할 수 있습니다. TensorRT, TensorRT-LLM, 트리톤(Triton) 추론 서버, 네모(NeMo) 프레임워크에 대한 NVIDIA의 투자는 개발자의 작업 시간과 출시 기간을 단축시킵니다. 고객은 자본, 운영 비용을 쉽게 초과할 수 있는 이러한 인건비를 고려해 총 AI 지출에 대한 전체적인 윤곽을 파악해야 합니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

요약

대규모 언어 모델은 빠르게 발전하고 있다. 다양한 모델 아키텍처가 매일 개발되고 있으며 에코시스템의 성장에 기여하고 있다. 결과적으로 더 큰 모델은 새로운 기능과 사용 사례를 발굴해 사실상 모든 업계에서 대규모 언어 모델 채택을 촉진한다.

대규모 언어 모델 추론은 데이터 센터를 재편하고 있다. 정확도 향상과 함께 성능이 향상되면 기업의 총소유비용이 개선된다. 모델 혁신은 더 나은 고객 경험을 가능하게 해 더 높은 매출과 수익으로 이어진다.

추론 구축 작업을 계획 시, 최첨단 대규모 언어 모델을 사용해 최고의 성능을 달성하기 위해서는 고려해야 할 사항이 여전히 많다. 최적화가 자동으로 이루어지는 경우는 거의 없다. 사용자는 병렬 처리, 엔드 투 엔드 파이프라인, 고급 스케줄링 기법과 같은 미세 조정 요소를 고려해야 한다. 또한 정확도 저하 없이 혼합 정밀도를 처리할 수 있는 컴퓨팅 플랫폼이 필요하다.

TensorRT-LLM은 프로덕션 환경에서 추론을 위한 대규모 언어 모델을 정의, 최적화, 실행하기 위한 간단한 오픈 소스 파이썬 API에 TensorRT의 딥 러닝 컴파일러, 최적화된 커널, 사전, 사후 처리, 멀티 GPU/멀티 노드 통신으로 구성된다.

TensorRT-LLM 바로 시작하기

NVIDIA TensorRT-LLM은 현재 얼리 액세스 버전으로 제공된다. 아울러 보안, 안정성, 관리 용이성, 지원 등을 갖춘 엔터프라이즈급 AI 소프트웨어 플랫폼인 NVIDIA AI 엔터프라이즈(AI Enterprise)의 일부인 NVIDIA 네모 프레임워크에 통합될 예정이다. 개발자와 연구자는 NGC의 네모 프레임워크 또는 깃허브(GitHub)의 소스 레포지토리를 통해 TensorRT-LLM에 액세스할 수 있다. 

얼리 액세스 릴리스를 신청하려면 NVIDIA 개발자 프로그램(Developer Program)에 등록돼 있어야 한다. 또한 기업용 이메일 주소로 로그인해야 한다. 지메일(Gmail), 야후(Yahoo), 큐큐(QQ) 또는 기타 개인 이메일 계정을 사용하는 계정에서는 신청을 받을 수 없다.

Discuss (0)

Tags