"GPU 가난한 사람들"이 곤경에 작별을 고하려고 합니다!
방금 NVIDIA는 H100에서 실행되는 대규모 언어 모델의 추론 프로세스를 가속화할 수 있는 TensorRT-LLM이라는 오픈 소스 소프트웨어를 출시했습니다.
그렇다면 몇 번이나 개선할 수 있을까요?
TensorRT-LLM과 일련의 최적화 기능(In-Flight 일괄 처리 포함)을 추가한 후 총 모델 처리량이 8배 증가했습니다.
TensorRT-LLM 유무에 따른 GPT-J-6B A100 및 H100 비교
또한 Llama 2를 예로 들면 TensorRT-LLM은 A100을 단독으로 사용하는 것에 비해 추론 성능을 향상시킬 수 있습니다. 4.6배 향상
Llama 2 70B, A100, H100의 TensorRT-LLM 유무 비교
네티즌들은 TensorRT-LLM과 결합된 super H100이 의심할 여지 없이 현재의 모습을 완전히 바꿀 것이라고 말했습니다. 대규모 언어 모델 추론 상황!
현재 대형 모델의 거대한 매개변수 규모로 인해 "배포 및 추론"의 어려움과 비용이 항상 높았습니다.
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 추론 성능을 향상시키기 위해 네 가지 방법을 채택합니다
먼저, TensorRT-LLM은 현재 10개 이상의 대형 모델에 도입되어 개발자가 즉시 실행할 수 있습니다.
두 번째로, 오픈 소스 소프트웨어 라이브러리인 TensorRT-LLM을 사용하면 LLM이 여러 GPU와 여러 GPU 서버에서 동시에 추론을 수행할 수 있습니다.
이러한 서버는 각각 NVIDIA의 NVLink 및 InfiniBand 상호 연결을 통해 연결됩니다.
세 번째 요점은 "인머신 내 일괄 처리"에 관한 것입니다. 이는 서로 다른 모델의 작업이 다른 작업과 독립적으로 GPU에 들어가고 나갈 수 있도록 하는 새로운 스케줄링 기술입니다.
마지막으로 TensorRT-LLM은 최적화된 경우 H100 Transformer Engine을 사용하여 모델 추론 중 메모리 사용량과 대기 시간을 줄일 수 있습니다.
TensorRT-LLM이 어떻게 모델 성능을 향상하는지 자세히 살펴보겠습니다
TensorRT-LLM은 오픈 소스 모델 생태계에 탁월한 지원을 제공합니다
다시 작성해야 할 사항 예 : Meta의 Llama 2-70B와 같은 가장 크고 가장 발전된 언어 모델은 실시간 응답을 제공하기 위해 여러 개의 GPU가 함께 작동해야 합니다.
이전에는 LLM 추론의 최고의 성능을 달성하기 위해 개발자가 수동으로 AI 모델을 만들어 여러 조각으로 분해한 후 GPU 간 실행을 조정합니다
TensorRT-LLM은 텐서 병렬 기술을 사용하여 가중치 행렬을 각 장치에 분산함으로써 프로세스를 단순화하고 대규모로 효율적인 추론을 가능하게 합니다.
각 모델은 NVLink를 통해 연결된 여러 장치에서 실행될 수 있습니다. 개발자 개입이나 모델 변경 없이 여러 GPU와 여러 서버를 사용할 수 있습니다.
새로운 모델 및 모델 아키텍처 출시로 개발자는 TensorRT-LLM의 최신 NVIDIA AI 커널(Kernal) 오픈 소스를 사용하여 모델을 최적화할 수 있습니다.
다시 작성해야 할 사항은 다음과 같습니다. 지원되는 커널 Fusion에는 최신 FlashAttention 구현뿐만 아니라 GPT 모델 실행의 컨텍스트 및 생성 단계에 대한 마스크된 다중 헤드 주의도 포함됩니다.
또한 TensorRT-LLM에는 현재 인기 있는 많은 대규모 언어 모델도 포함되어 있습니다. 최적화되고 즉시 실행 가능한 버전입니다.
이러한 모델에는 Meta Llama 2, OpenAI GPT-2 및 GPT-3, Falcon, mosaic MPT, BLOOM 등 10개 이상이 포함됩니다. 이러한 모든 모델은 사용하기 쉬운 TensorRT-LLM Python API
를 사용하여 호출할 수 있습니다. 이러한 기능은 개발자가 다양한 산업의 다양한 요구 사항을 충족하기 위해 맞춤형 대규모 언어 모델을 더 빠르고 정확하게 구축하는 데 도움이 될 수 있습니다.
요즘에는 대규모 언어 모델이 매우 다양하게 활용됩니다.
모델은 챗봇의 간단한 Q&A 응답부터 문서 요약 또는 긴 코드 블록 생성에 이르기까지 서로 다른 것처럼 보이는 여러 작업에 동시에 사용할 수 있습니다. 워크로드는 매우 동적이며 출력 크기를 충족해야 합니다. 크기의 순서가 다릅니다.
작업의 다양성으로 인해 요청을 효과적으로 일괄 처리하고 효율적인 병렬 실행을 수행하기가 어려워 일부 요청이 다른 요청보다 일찍 완료될 수 있습니다.
이러한 동적 부하를 관리하기 위해 TensorRT-LLM에는 "In-flight 일괄 처리"라는 최적화된 스케줄링 기술이 포함되어 있습니다.
대규모 언어 모델의 핵심 원칙은 모델의 여러 반복을 통해 전체 텍스트 생성 프로세스를 달성할 수 있다는 것입니다.
진행 중인 일괄 처리를 사용하면 TensorRT-LLM 런타임은 다음과 같은 경우 일괄 처리에서 즉시 해제됩니다. 다음 요청 세트로 이동하기 전에 전체 배치가 완료될 때까지 기다리는 대신 시퀀스가 완료됩니다.
새 요청을 실행하는 동안 이전 일괄 처리에서 완료되지 않은 다른 요청이 계속 처리되고 있습니다.
머신 내 일괄 처리 및 추가 커널 수준 최적화를 통해 GPU 활용도가 향상되어 H100의 LLM에 대한 실제 요청 벤치마크의 처리량이 두 배 이상 증가했습니다.
TensorRT- LLM은 또한 대규모 모델 추론 중에 메모리 소비와 대기 시간을 효과적으로 줄일 수 있는 H100 Transformer Engine이라는 기능을 제공합니다.
LLM에는 수십억 개의 모델 가중치와 활성화 함수가 포함되어 있으므로 일반적으로 각각 16비트 메모리를 차지하는 FP16 또는 BF16 값으로 훈련되고 표현됩니다.
그러나 추론 시 대부분의 모델은 8비트 또는 4비트 정수(INT8 또는 INT4)와 같은 양자화 기술을 사용하여 낮은 정밀도로 효율적으로 표현할 수 있습니다.
양자화는 정확도를 희생하지 않고 모델 가중치와 활성화 정확도를 줄이는 프로세스입니다. 정밀도가 낮다는 것은 각 매개변수가 더 작고 모델이 GPU 메모리에서 더 적은 공간을 차지한다는 것을 의미합니다.
이런 방식으로 동일한 하드웨어를 사용하여 더 큰 모델을 추론하는 동시에 실행 프로세스 중 메모리 작업에 소요되는 시간을 줄일 수 있습니다.
TensorRT-LLM과 결합된 H100 Transformer Engine 기술을 통해 H100 GPU를 사용하면 사용자는 모델 가중치를 새로운 FP8 형식으로 쉽게 변환하고 모델을 자동으로 컴파일하여 최적화된 FP8 코어를 활용할 수 있습니다.
그리고 이 과정에는 코딩이 필요하지 않습니다! H100에 도입된 FP8 데이터 형식을 통해 개발자는 모델 정확도를 저하시키지 않고 모델을 정량화하고 메모리 소비를 획기적으로 줄일 수 있습니다.
INT8 또는 INT4와 같은 다른 데이터 형식과 비교할 때 FP8 양자화는 가장 빠른 성능을 달성하면서 더 높은 정밀도를 유지하고 구현하기 가장 편리합니다. INT8 또는 INT4와 같은 다른 데이터 형식에 비해 FP8 양자화는 가장 빠른 성능을 달성하면서 더 높은 정확도를 유지하며 구현하기 가장 편리합니다. 하지만 이제 사용자들은 미리 경험할 수 있습니다
응용 프로그램 링크는 다음과 같습니다:https://developer.nvidia.com/tensorrt-llm-early-access/join
Nvidia도 말했습니다. TensorRT-LLM은 NVIDIA NeMo 프레임워크에 빠르게 통합되었습니다.
이 프레임워크는 NVIDIA가 최근 출시한 AI Enterprise의 일부로, 기업 고객에게 안전하고 안정적이며 관리가 용이한 엔터프라이즈급 AI 소프트웨어 플랫폼을 제공합니다.
개발자와 연구원은 다음에서 NeMo 프레임워크를 사용할 수 있습니다. TensorRT-LLM
에 액세스하려면 NVIDIA NGC 또는 GitHub 프로젝트를 이용해야 합니다. 그러나 조기 액세스 버전을 신청하려면 사용자가 NVIDIA 개발자 프로그램에 등록해야 한다는 점에 유의해야 합니다.
네티즌들 사이에서 뜨거운 논의
Reddit 사용자들은 TensorRT-LLM 출시에 대해 열띤 토론을 벌였습니다
LLM에 맞게 하드웨어를 최적화한 후 효과가 얼마나 향상될지 상상하기 어렵습니다.
그러나 일부 네티즌들은 이 일의 목적이 Lao Huang이 H100을 더 많이 판매하도록 돕는 것이라고 믿습니다.
일부 네티즌들은 Tensor RT가 딥 러닝을 로컬에 배포하는 사용자에게도 도움이 된다고 생각합니다. RTX GPU가 있는 한, 향후 유사한 제품의 혜택도 누릴 수 있습니다
좀 더 거시적인 관점에서 보면, 아마도 LLM의 경우 하드웨어 수준을 위한 일련의 최적화 조치가 있을 것입니다. LLM을 위해 특별히 설계된 하드웨어도 성능을 향상시키기 위해 등장했을 수도 있습니다. 이러한 상황은 많은 인기 응용 프로그램에서 발생했으며 LLM도 예외는 아닙니다
위 내용은 H100 추론이 8배나 급등했습니다! NVIDIA는 10개 이상의 모델을 지원하는 오픈 소스 TensorRT-LLM을 공식 발표했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!