"GPU 불량자"가 곤경에 작별을 고하려고 합니다! 방금 NVIDIA는 H100에서 대규모 언어 모델의 추론을 가속화할 수 있는 오픈 소스 소프트웨어 TensorRT-LLM을 출시했습니다. 그렇다면 몇 번이나 개선될 수 있을까요? TensorRT-LLM 및 일련의 최적화 기능(In-Flight 일괄 처리 포함)을 추가한 후 총 모델 처리량이 8배 증가했습니다.

구매 페이지 방문:

Jingdong NVIDIA 시리즈 칼럼 제품 요약


TAGPH 17

GPT-J-6BA100과 H100의 유무 비교 TensorRT-LLM

또한 Llama2를 예로 들면 TensorRT-LLM은 A100만 사용할 때보다 추론 성능을 4.6배 향상시킬 수 있습니다.


Llama270B, TensorRT-LLM이 있는 것과 없는 A 100과 H100의 비교

네티즌들은 초강력 H100이 결합됐다고 말했다 TensorRT-LLM을 사용하면 의심할 여지 없이 대규모 언어 모델 추론의 현재 상황이 완전히 바뀔 것입니다!


TensorRT-LLM: 대형 모델 추론 가속화 아티팩트

현재 대형 모델의 거대한 매개변수 규모로 인해 "배포 및 추론"의 어려움과 비용은 항상 높았다.

NVIDIA가 개발한 TensorRT-LLM은 GPU를 통해 LLM 처리량을 대폭 향상하고 비용을 절감하는 것을 목표로 합니다.


특히 TensorRT-LLM은 TensorRT의 딥 러닝 컴파일러, FasterTransformer의 최적화된 커널, 사전 및 사후 처리, 다중 GPU/다중 노드 통신을 간단한 오픈 소스 Python API로 캡슐화합니다.

NVIDIA는 FasterTransformer를 더욱 강화하여 제품화된 솔루션으로 만들었습니다.

TensorRT-LLM은 사용하기 쉬운 오픈 소스 및 모듈식 Python 애플리케이션 프로그래밍 인터페이스를 제공하는 것을 볼 수 있습니다.

코더에게는 C++ 또는 CUDA에 대한 심층적인 전문 지식이 필요하지 않습니다. 다양한 대규모 언어 모델을 배포, 실행 및 디버그할 수 있으며 최고의 성능과 신속한 사용자 정의 기능도 얻을 수 있습니다.


NVIDIA의 공식 블로그에 따르면 TensorRT-LLM은 네 가지 방법으로 NVIDIA GPU에서 LLM 추론 성능을 최적화합니다.

우선 현재 10개 이상의 대형 모델에 TensorRT-LLM이 도입되어 개발자가 즉시 실행할 수 있습니다.

두 번째로, 오픈 소스 소프트웨어 라이브러리인 TensorRT-LLM을 사용하면 LLM이 여러 GPU와 여러 GPU 서버에서 동시에 추론을 수행할 수 있습니다.

이러한 서버는 각각 NVIDIA의 NVLink 및 InfiniBand 상호 연결을 통해 연결됩니다.

세 번째는 "In-flight 일괄 처리"입니다. 이는 다양한 모델 작업이 다른 작업과 독립적으로 GPU에 들어가고 나갈 수 있도록 하는 새로운 스케줄링 기술입니다.

마지막으로 TensorRT-LLM은 모델 추론 중 메모리 사용량과 대기 시간을 줄이기 위해 H100TransformerEngine을 사용하도록 최적화되었습니다.

다음으로 TensorRT-LLM이 모델 성능을 어떻게 향상하는지 자세히 살펴보겠습니다.

풍부한 LLM 생태계 지원

TensorRT-LLM은 오픈 소스 모델 생태계를 매우 훌륭하게 지원합니다.

Meta에서 출시한 Llama2-70B와 같은 가장 크고 가장 발전된 언어 모델은 실시간 응답을 제공하기 위해 함께 작동하려면 여러 개의 GPU가 필요합니다.

이전에는 LLM 추론을 위한 최적의 성능을 얻으려면 개발자가 AI 모델을 다시 작성하고 수동으로 여러 조각으로 분할하고 GPU 전반에서 실행을 조정해야 했습니다.


TensorRT-LLM은 텐서 병렬성 기술(tensorparallelism)을 사용하여 가중치 행렬을 각 장치에 분산함으로써 프로세스를 단순화하고 대규모의 효율적인 추론을 가능하게 합니다.

각 모델은 개발자 개입이나 모델 변경 없이 NVLink를 통해 연결된 여러 GPU와 여러 서버에서 병렬로 실행될 수 있습니다.


새로운 모델과 모델 아키텍처의 도입으로 개발자는 TensorRT-LLM의 최신 NVIDIA AI 커널(Kernal) 오픈 소스를 사용하여 모델을 최적화할 수 있습니다.

최첨단 FlashAttention 구현 및 GPT 모델 실행 등의 컨텍스트 및 생성 단계에 대한 마스크된 다중 헤드 주의를 포함하는 커널 융합(KernalFusion)을 지원합니다.

또한 TensorRT-LLM에는 현재 사용되고 있는 많은 대규모 언어 모델의 완전히 최적화되고 즉시 실행 가능한 버전도 포함되어 있습니다. 인기.

MetaLlama2, OpenAIGPT-2 및 GPT-3, Falcon, mosaicMPT, BLOOM 및 10개 이상의 모델을 포함하며, 모두 간단하고 사용하기 쉬운 TensorRT-LLMPython API를 사용하여 호출할 수 있습니다.

이러한 기능은 개발자가 다양한 업계의 다양한 요구 사항을 충족하기 위해 맞춤형 대형 언어 모델을 더 빠르고 정확하게 구축하는 데 도움이 될 수 있습니다.

기내 일괄 처리

대형 언어 모델은 요즘 매우 다양하게 활용됩니다.

단일 모델은 챗봇의 간단한 Q&A 응답부터 문서 요약 또는 긴 코드 블록 생성에 이르기까지 서로 다른 것처럼 보이는 여러 작업에 동시에 사용할 수 있습니다. 워크로드는 매우 동적이며 작업 요구 사항을 충족하려면 출력 크기가 다양한 크기로 커져야 합니다.

작업의 다양성으로 인해 요청을 효율적으로 일괄 처리하고 효율적인 병렬 실행을 수행하기가 어려워 일부 요청이 다른 요청보다 일찍 완료될 수 있습니다.


이러한 동적 로드를 관리하기 위해 TensorRT-LLM에는 'In-flight 일괄 처리'라는 최적화된 스케줄링 기술이 포함되어 있습니다.

핵심 원리는 대규모 언어 모델의 전체 텍스트 생성 프로세스가 모델의 여러 실행 반복으로 분할될 수 있다는 것입니다.

인플라이트 일괄 처리를 사용하면 TensorRT-LLM 런타임은 다음 요청 집합을 계속 처리하기 전에 전체 일괄 처리가 완료될 때까지 기다리지 않고 일괄 처리에서 완료된 시퀀스를 즉시 해제합니다.

새 요청을 실행할 때 이전 일괄 처리에서 완료되지 않은 다른 요청이 계속 처리되고 있습니다.

인플라이트 일괄 처리 및 추가 커널 수준 최적화는 GPU 활용도를 향상시켜 H100의 실제 LLM 요청 벤치마크 처리량을 두 배 이상 늘릴 수 있습니다.

FP8의 H100Transformer 엔진

TensorRT-LLM은 H100TransformerEngine이라는 기능도 제공하여 대규모 모델 추론 중에 메모리 소비와 지연 시간을 효과적으로 줄일 수 있습니다.

LLM에는 수십억 개의 모델 가중치와 활성화 함수가 포함되어 있으므로 일반적으로 각각 16비트의 메모리를 차지하는 FP16 또는 BF16 값으로 훈련되고 표현됩니다.

그러나 추론 시 대부분의 모델은 8비트 또는 4비트 정수(INT8 또는 INT4)와 같은 양자화 기술을 사용하여 낮은 정밀도로 효율적으로 표현할 수 있습니다.

양자화는 정확도를 희생하지 않고 모델 가중치와 활성화 정확도를 줄이는 프로세스입니다. 정밀도가 낮다는 것은 각 매개변수가 더 작고 모델이 GPU 메모리에서 더 적은 공간을 차지한다는 것을 의미합니다.


이를 통해 실행 중 메모리 작업에 소요되는 시간을 줄이면서 동일한 하드웨어를 사용하는 대규모 모델에 대한 추론이 가능해집니다.

H100TransformerEngine 기술을 통해 TensorRT-LLM이 탑재된 H100GPU를 사용하면 사용자가 모델 가중치를 새로운 FP8 형식으로 쉽게 변환하고 모델을 자동으로 컴파일하여 최적화된 FP8 커널을 활용할 수 있습니다.

이 프로세스에는 코드가 필요하지 않습니다! H100에 도입된 FP8 데이터 형식을 통해 개발자는 모델 정확도를 저하시키지 않고 모델을 정량화하고 메모리 소비를 획기적으로 줄일 수 있습니다.

INT8 또는 INT4와 같은 다른 데이터 형식과 비교하여 FP8 양자화는 가장 빠른 성능을 달성하면서 더 높은 정확도를 유지하며 구현하기 가장 편리합니다.

TensorRT-LLM을 구하는 방법

TensorRT-LLM이 아직 공식적으로 출시되지는 않았지만 이제 사용자는 조기 액세스를 할 수 있습니다.

응용 프로그램 링크는 다음과 같습니다:

https://developer.nvidia.com/tensorr t-llm-early-access/join

NVIDIA는 또한 TensorRT-LLM이 NVIDIANeMo에 통합될 것이라고 밝혔습니다. 곧 프레임워크.

이 프레임워크는 NVIDIA가 최근 출시한 AIEnterprise의 일부로, 기업 고객에게 안전하고 안정적이며 관리가 용이한 엔터프라이즈급 AI 소프트웨어 플랫폼을 제공합니다.

개발자와 연구원은 NVIDIA NGC의 NeMo 프레임워크를 통해 또는 GitHub의 프로젝트로 TensorRT-LLM에 액세스할 수 있습니다.

단, 얼리 액세스 버전을 신청하려면 NVIDIA 개발자 프로그램에 등록해야 합니다.

네티즌들이 열띤 토론을 벌이고 있습니다.

Reddit에서 네티즌들은 TensorRT-LLM 출시에 대해 열띤 토론을 시작했습니다.

LLM 전용 하드웨어를 최적화한 후 효과가 얼마나 향상될지 상상하기 어렵습니다.


그러나 일부 네티즌들은 이 일의 목적이 Lao Huang이 H100을 더 많이 판매하도록 돕는 것이라고 믿습니다.


그러나 일부 네티즌들은 크게 동의하지 않습니다. 그는 TensorRT가 SD를 로컬로 배포하는 사용자에게도 도움이 되기 때문에 RTX GPU가 있는 한 향후 유사한 제품의 혜택을 누릴 수 있을 것이라고 생각합니다.


보다 거시적인 관점에서 보면 아마도 LLM의 경우 일련의 하드웨어 수준 최적화도 있을 것이며 LLM용으로 특별히 설계된 하드웨어도 향후 LLM의 성능을 향상시키기 위해 나타날 것입니다. 이러한 상황은 실제로 많은 인기 있는 응용 프로그램에서 발생했으며 LLM도 예외는 아닙니다.