Nvidia Triton Inference Server ile Donanım ve AI Model Optimizasyonu(1)
Yapay zekâ uygulamaları, son yıllarda teknoloji dünyasının en heyecan verici alanlarından biri haline geldi. Derin sinir ağları mimarileri, insan beynini taklit ederek doğal dil işleme, görüntü işleme ve ses işleme gibi alanlarda büyük gelişmeler gösteriyor. Bu gelişmelerin arkasındaki en önemli faktörlerden biri ise derin sinir ağı mimarilerinin çalıştığı donanımların gücü ve hızıdır.
Derin öğrenme modellerinin performansı, çalıştığı donanıma doğrudan bağlıdır. Daha güçlü donanımlar, modellerin daha hızlı çalışmasını ve daha karmaşık işlemleri gerçekleştirmesini sağlar. Bu da kullanıcılara daha iyi bir deneyim ve daha hızlı sonuçlar sunar. Bazı senaryolarda hızlı sonuç vermesi kritiktir. Örneğin; otonom sürüş 2 seviyesine sahip bir aracın şeritleri, trafik işaretlerini ve sürücü yorgunluğunu tespit eden birden fazla AI modeli çalışmaktadır. Bu modellerin kısıtlı donanımda optimize çalışması gerekmektedir.
AI modellerinin deployment süreci, özellikle büyük ölçekli uygulamalar için karmaşık ve zorlu olabilir. Bu süreçte yüksek performans, esneklik ve kolay yönetim kritik öneme sahiptir. NVIDIA tarafından geliştirilen Triton Inference Server, bu gereksinimleri karşılamak üzere tasarlanmış güçlü ve esnek altyapıyı sunmaktadır.
Triton Inference Server’ın Tanımı ve Genel Özellikleri
NVIDIA Triton Inference Server, derin öğrenme modellerini deployment ortamında çalıştırmak için tasarlanmış açık kaynaklı bir yazılımdır. Farklı derin öğrenme framework’lerini destekleyen Triton Inference Server, CPU veya GPU’da kullanılabilir ve model optimizasyonu, çoklu model yönetimi ve güvenlik gibi gelişmiş özellikler sunar.
Triton Inference Server’ın Temel Özellikleri
· Model Çeşitliliği: TensorFlow, PyTorch, ONNX, TensorRT, ve daha birçok framework’ten modelleri destekler.
· Dinamik Model Yönetimi: Model yükleme, versiyonlama ve yönetim süreçleri Triton ile son derece kolay ve etkilidir. Dinamik model yükleme özelliği sayesinde, modelleri yeniden başlatmaya gerek kalmadan güncellenebilir veya değiştirilebilir.
· Çoklu Model Eşzamanlılığı: Aynı anda birden fazla modelin çalıştırılmasını destekler, böylece kaynak kullanımını optimize eder.
· İzleme ve Modelleme: Modellerin performansını ve sağlık durumunu izlemek için araçlar sunar.
· Performans ve Ölçeklenebilirlik: Triton, GPU ve CPU üzerinde optimize edilmiş performans sunarak yüksek işlem hacmi gerektiren uygulamalar için idealdir. Özellikle NVIDIA GPU’larla entegrasyonu, model çıkarmalarını hızlandırır ve kaynak kullanımını iyileştirir.
· Esneklik: Triton, farklı çerçevelerden gelen modelleri destekler REST ve gRPC gibi yaygın API’ler üzerinden erişim sağlar. Bu sayede mevcut altyapılara kolayca entegre edilebilir ve farklı kullanım senaryolarına uyum sağlar.
Bileşenler ve Mimari Tasarım
Triton Inference Server’ın mimarisi, çeşitli bileşenlerin entegrasyonu üzerine kuruludur. Ana bileşenler şunlardır:
- Model Repository: Modellerin depolandığı yer. Bu repository, yerel dosya sistemi, NFS (Network File System) veya bulut tabanlı depolama hizmetleri (AWS S3, Google Cloud Storage) gibi çeşitli kaynaklarda bulunabilir. Model repository, modellerin sürümlerini yönetir ve Triton sunucusuna hangi modellerin yüklenip çalıştırılacağını bildirir.
2. Model Configuration: Modellerin nasıl çalıştırılacağını belirten yapılandırma dosyalarıdır. (Resim 1'de bulunan config.pbtxt dosyası) Bu dosyalar, modelin giriş ve çıkış tensörleri, batch işlemleri, ön işleme ve son işleme adımları gibi bilgileri içerir. Model configuration, model performansını optimize etmek ve doğru çalışmasını sağlamak için kritik öneme sahiptir.
3. Backend: Triton, farklı makine öğrenimi çerçevelerini desteklemek için çeşitli backend’lere sahiptir. Her backend, belirli bir çerçeveden modeli çalıştırmak için optimize edilmiştir. Örneğin; TensorFlow, PyTorch, ONNX, TensorRT ve diğer popüler çerçeveler için özel backend’ler bulunur.
4. Inference Server: Triton sunucusu, modelleri çalıştıran ve API çağrılarını yöneten merkezi bileşendir. Sunucu, HTTP/REST ve gRPC API’leri üzerinden istekleri alır, modelleri çalıştırır ve sonuçları döner. Sunucu ayrıca performans izleme, loglama ve hata ayıklama gibi özellikler sunar.
Ford Otosan’da Triton Inference Server Kullanım Alanları
Ford Otosan Gölcük, Yeniköy ve Eskişehir tesislerinde üretim hatlarında kalite kontrol ve iş sağlığı güvenliği alanlarında yapay zeka destekli uygulamalar kullanılmaktadır. Bu yenilikçi çözümler iş kazalarını önlemeyi, üretim hatalarını azaltmayı ve genel iş akışını optimize etmeyi amaçlamaktadır.
Yapay Zeka Destekli İş Sağlığı ve Güvenliği Uygulaması
Ford Otosan’ın geliştirdiği yapay zeka destekli iş sağlığı ve güvenliği uygulaması, iş sağlığı kurallarını ihlal eden durumları gerçek zamanlı olarak tespit edip önlemeye yardımcı olmaktadır. Yaklaşık 150 kameradan saniyede minimum 5 kare hızında veri toplayan sistem, forklift, insan, kamyon, reflektörlü ve reflektörsüz yelekleri otomatik olarak tespit edip analiz etmektedir. Bu sayede, potansiyel tehlikeler anında belirlenebilmekte ve gerekli uyarılar yapılabilmektedir.
Triton Inference Server ile Maksimum Verimlilik
Bu yapay zeka modellerini çalıştırmak için NVIDIA Triton Inference Server kullanılmaktadır. Triton Inference Server, 7 farklı yapay zeka modelinin optimum GPU kullanımıyla hedef kare hızında çalışmasını, kesintisiz şekilde yapay zeka modellerinin güncellenmesini ve yeni yapay zeka modellerinin eklenmesini sağlamaktadır. Bu sayede sistem, maksimum verimlilik ve ölçeklenebilirlik sunarak Ford Otosan’ın üretim hatlarında üstün performans göstermektedir.
Kaynakça
· Triton Inference Server | NVIDIA Developer
· Triton Inference Server Support for Jetson and JetPack — NVIDIA Triton Inference Server
Ford Otosan — Dijital Ürünler ve Servisler
Software Development Team Member
Ahmet Selim DEMİREL