SON DAKİKA

Nvdia

NVIDIA TensorRT-LLM ile Qwen2.5-Coder Verimliliğini Artırmak: İleriye Dönük Kodlama Optimizasyonu

Büyük dil modelleri (LLM’ler) yazılım geliştirmede giderek daha fazla benimsenmektedir. Geliştiricilere eşli programlama ile AI ajanları yardımıyla kod geliştirme, hata düzeltme, test oluşturma ve belgeler yazma gibi çeşitli görevlerde destek sağlamaktadır.

Açık kaynak LLM’lerin gelişimini teşvik etmek amacıyla, Qwen ekibi Qwen2.5-Coder adında, kod oluşturma, akıl yürütme ve düzeltme gibi görevleri yerine getiren gelişmiş LLM’lerden oluşan bir aileyi kullanıma sundu. Bu yazı, Qwen2.5-Coder modellerinin NVIDIA TensorRT-LLM desteği ile sağlanan çıkartım optimizasyonları avantajlarını ve NVIDIA NIM ile kolay dağıtımını keşfedecektir.

Qwen2.5-Coder Modelleri

Qwen2.5-Coder modelleri, popüler akademik benchmarklarda devrim niteliğinde bir performans elde etti. NVIDIA TensorRT-LLM, Qwen2.5-Coder ailesindeki üç popüler modeli – 1.5B, 7B ve 32B versiyonları – yüksek verimlilik ve düşük gecikme için optimize etmiştir. TensorRT-LLM, hızlı ve verimli LLM çıkartımı için bir kütüphanedir ve dinamik içinde bekleme, KV önbelleği, KV önbelleği yeniden kullanımı ve birkaç spekülatif kodlama tekniği gibi optimizasyonları içermektedir.

Bu optimizasyonlar, Qwen2.5-Coder modellerinin Pynthon, C++, Java, Bash, JavaScript, TypeScript ve Go gibi popüler programlama dillerinde performans artışları göstererek daha geniş bir geliştirici kitlesine ulaşmasına yardımcı olmaktadır. Bu yazı, ileriyi görme (lookahead) kodlaması optimizasyonunu ve sağladığı performans artışını incelemektedir. Ek eğitim ya da ek taslak modellere ihtiyaç duymadan, geliştiriciler TensorRT-LLM yüksek seviyeli API’sini kullanarak Qwen2.5-Coder çıkarımlarını hızlandırabilir ve çok satırlı otomatik kod tamamlama gerçekleştirebilir.

İleriyi Görme (Lookahead) Kodlaması

İleriyi görme kodlaması, LLM’lerin yavaş otoregresif doğasını ele alan spekülatif bir kodlama tekniğidir. Her otoregresif kodlama adımı yalnızca bir token üretir ve NVIDIA GPU’larının büyük paralel işleme gücünden tam olarak yararlanamaz. Bu da düşük GPU kullanımı ve düşük verimlilik anlamına gelir. Daha önce taslak hedef spekülatif kodlama ile sağlanan verimlilik artışını tartışmıştık ve burada TensorRT-LLM’in ileriyi görme kodlaması uygulamasının faydalarını, Qwen2.5-Coder modelleri örneği üzerinden açıklayacağız.

Tek token üretiminin aksine, ileriyi görme kodlaması bir kerede birden fazla token üretmektedir. Bu, GPU’nun paralel işleme kapasitesini etkili bir şekilde kullanarak hesaplama (FLOP’lar) ile gecikmeyi azaltmaktadır. Ayrıca, ileriyi görme kodlaması, taslak model gerektirmemektedir, bu da onun avantajlarından biridir.

Her kodlama adımı iki paralel dala ayrılır: görünüm dalı ve doğrulama dalı. Görünüm dalı, gelecekteki token’lar için paralel kodlama yaparak n-gram’lar üretirken, doğrulama dalı, görünüm dalında üretilen muhtemel n-gram adaylarını seçer ve doğrular.

İleriyi görme algoritması üç ana parametre ile yapılandırılmaktadır: pencere boyutu (W), n-gram boyutu (N) ve doğrulama kümesi boyutu (G).

  • Pencere boyutu (W): Algoritmanın her adımda kaç gelecekteki token’ı tahmin etmeye çalıştığını belirler. Daha büyük pencere boyutları, modelin daha ileriye bakmasına olanak tanır ve bu da tek bir geçişte daha fazla token üretmeyi sağlar. Böylece verimlilik artmaktadır.
  • N-gram boyutu (N): İleriyi görme sürecinde kullanılan n-gram’ların boyutunu ifade eder. Örneğin, 5-gram, 5 gelecekteki token’in ardışık dizisidir. Pencere boyutu ile birlikte, görünüm dalının Jacobi iterasyonu trajeksinden n-gram’lar üretmek üzere sabit boyutlu, 2D bir pencere oluşturur.
  • Doğrulama kümesi boyutu (G): Algoritmanın her adımda doğrulama için dikkate aldığı maksimum tahmin veya n-gram aday sayısını gösterebilir. Bu, işlem verimliliği ile daha fazla olasılık keşfetme arasında bir denge sağlamaktadır.

İleriyi görme performansı, temel model, donanım, parti boyutu, dizi boyutu ve veri setine bağlı olarak değişiklik gösterir. En iyi (W, N, G) yapılandırmasını bulmak için çeşitli konfigürasyonları profil ayarlamak iyi bir fikirdir. Optimal (W, N, G) yapılandırması, ileriyi görme kodlamasının ek eğitim, ince ayar veya taslak modellere ihtiyaç duymadan performans artışları sağlamasına olanak tanır.

(W, N, G) yapılandırma değerleri üzerinde yapılan deneyler sonucunda, Qwen2.5-Coder 7B İnstruct ve Qwen2.5-Coder 32B İnstruct modelleri için sırasıyla 3.6 kat ve 1.6 kat verimlilik artışları elde edilmiştir. Bu artışlar, NVIDIA H100 Tensor Core GPU’larında temel alınarak ölçülmüştür.

TensorRT-LLM ile İleriyi Görme Kodlamasını Çalıştırma Adımları

TensorRT-LLM ile ileriyi görme spekülatif kodlamasını kullanarak bu performans artışlarını yeniden üretmek için aşağıdaki adımları uygulayabilirsiniz.

# TensorRT-LLM'i yükleyin. (Aşağıdaki komutlar Linux içindir. Windows için TensorRT-LLM belgelerine başvurun)

sudo apt-get -y install libopenmpi-dev && pip3 install --upgrade setuptools 
&& pip3 install tensorrt_llm --extra-index-url https://pypi.nvidia.com

Daha sonra TensorRT-LLM’de yüksek seviyeli API kullanarak ileriyi görme kodlamasını çalıştırın.

# Komut Qwen2.5-Coder-7B-Instruct için

from tensorrt_llm import LLM, SamplingParams
from tensorrt_llm.llmapi import (LLM, BuildConfig, KvCacheConfig, 
LookaheadDecodingConfig, SamplingParams)
def main():
    """Son kullanıcı, build_config sınıfı ile yapılandırmayı özelleştirebilir. 
    Max taslak uzunluğu (W,N,G) değerlerine dayanmaktadır ve şöyle hesaplanır: (W + G -1) * (N-1) + (N

Özet

İleriyi görme spekülatif kodlaması, ek eğitim, ince ayar veya taslak modellere ihtiyaç duymadan LLM’lerde verimlilik artışı sağlayan bir yöntemdir. Qwen2.5-Coder modellerinde performans iyileştirmeleri sunduk. Qwen2.5-Coder modellerini ücretsiz olarak deneyimlemek için build.nvidia.com adresini ziyaret edin. TensorRT-LLM ile optimize edilmiş Qwen2.5-Coder modelleri, kolay dağıtım için NVIDIA NIM mikroservisleri olarak paketlenmiştir.

Teşekkür

Bu yazının hazırlanmasında katkı veren Liwei Ma, Fanrong Li, Nikita Korobov ve Martin Marciniszyn Mehringer’e teşekkür ederiz.

Kaynak

Nvdia Blog

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri