NVIDIA TAO, AI modellerinin geliştirilmesini, dağıtımını basitleştirmek ve hızlandırmak için tasarlanmış bir araçtır. NVIDIA TAO, ön eğitimli modelleri kullanmanıza, kendi verilerinizle bu modelleri ince ayar yapmanıza ve yapay zeka uzmanlığına ihtiyaç duymadan modelleri belirli kullanım durumlarına optimize etmenize olanak tanır.
TAO, NVIDIA donanım ve yazılım ekosistemiyle sorunsuz bir şekilde entegre olur ve AI modellerinin verimli bir şekilde eğitilmesi, dağıtımı ve çıkarımı için gerekli araçları sunarak, yapay zeka uygulamalarının pazara sunulmasını hızlandırır.
Şekil 1. NVIDIA TAO Mimarisi
Şekil 1, TAO’nun PyTorch, TensorFlow ve ONNX’i desteklediğini göstermektedir. Eğitim, birden fazla platformda gerçekleştirilebilir ve ortaya çıkan modeller, GPU, CPU, MCU ve DLA gibi çeşitli çıkarım platformlarında kullanılabilir.
NVIDIA, kısa bir süre önce TAO 5.5’i piyasaya sürdü. Bu sürüm, her türlü AI modeli geliştirmeyi güçlendirecek son teknoloji temel modeller ve yeni özellikler sunmaktadır. Bu özellikler şunları içermektedir:
- Çok modlu sensör füzyon modelleri: Geometrik ve anlamsal bilgileri koruyarak, birden fazla sensörden gelen verileri birleşik bir kuş bakışı bird’s-eye-view (BEV) temsiline entegre edebilirsiniz.
- Metin istemleriyle otomatik etiketleme: Nesne algılama ve segmentasyon için metin istemleri kullanarak otomatik olarak etiket veri setleri oluşturabilirsiniz.
- Açık kelime darağacı algılama: Önceden tanımlanmış etiketler yerine doğal dil açıklamalarını kullanarak herhangi bir kategoriden nesneleri tanımlayabilirsiniz.
- Bilgi distilasyonu: Daha büyük ağların bilgisinden yararlanarak daha küçük, daha verimli ve daha doğru ağlar oluşturabilirsiniz.
Bu yazıda, TAO 5.5’in yeni özelliklerini daha detaylı bir şekilde ele alacağız.
Model | TensorRT Optimized | Training Dataset | Supported Backbone |
---|---|---|---|
GroundingDINO | + | Real data: 1.8M images, Labels: 14.5M instances of object detection and groundingannotations with Auto-labeler |
swin_tiny_224_1k swin_base_224_22k swin_base_384_22k swin_large_224_22k swin_large_384_22k |
Mask-GroundingDINO | + | DINOv2-L CLIP-B (pretrained with an NVIDIA proprietary dataset) |
swin_tiny_224_1k swin_base_224_22k swin_base_384_22k swin_large_224_22k swin_large_384_22k |
BEVFusion | Yakında | Synthetic data: ~5M images | Image: Swin-Transformers and ResNet-50Lidar: Second |
NVCLIP | + | Real data: 700M images | ViT-H-336 ViT-L-336 |
SEGIC | + | Real data: 110K images Synthetic data: 50K images |
DINOv2-L CLIP-B (pretrained with an NVIDIA proprietary dataset) |
FoundationPose | + | Synthetic data: 1M images | – |
Tablo 1. TAO 5.5’teki yeni temel ve çok modlu modeller
NVIDIA TAO açık kaynaklı, temel ve özel modelleri entegre edebilmektedir. Tüm bu modeller uygun veri setleri üzerinde eğitilmiş olup, nesne algılama, poz algılama, görüntü sınıflandırma, segmentasyon gibi görevler için çok yönlü hale getirilmiştir. TAO, modellerin belirli kullanım alanlarına göre ince ayar yapılmasını basitleştirir, böylece modelleri özelleştirmek ve ticari maksatlarla kullanmak kolay hale gelir.
Çoğu model, NVIDIA TensorRT tarafından hızlandırılmış ve NVIDIA donanımlarında performans için optimize edilmiştir, bu da güçlü ve verimli AI çözümleri sağlar.
TAO’da model yapısını değiştirmek son derece basittir ve kodlama gerektirmez; sadece basit bir yapılandırma değişikliği ile gerçekleştirilir. Bu esneklik, ResNet, Shifted Window (Swin) transformers ve Fully Attentional Network (FAN) gibi farklı mimarilerle denemeler yapmanıza olanak tanır, böylece modelleri belirli ihtiyaçlara göre uyarlayabilirsiniz.
Bu özelleştirme kolaylığı, marketlerde ürün tanımlama, sağlık hizmetlerinde tıbbi görüntü sınıflandırma, üretim hatlarında robotların takibi ve akıllı şehirlerde trafik yönetimi gibi çeşitli uygulamaları destekler.
GroundingDINO Model
Geleneksel nesne algılama modelleri, önceden tanımlanmış kategorilerden (kapalı-set algılama) nesneleri tanımakla sınırlıdır. Bu sınırlama, belirli kategori adları veya ayrıntılı ifadeler gibi insan girdilerine dayanarak rastgele nesnelerin tanımlanmasını gerektiren uygulamalarda etkisiz hale getirir.
GroundingDINO, bu sınırlamayı DINO modeline bir metin kodlayıcı entegre ederek aşar ve modeli açık-set nesne algılayıcısına dönüştürür. Bu sayede model, insan girdileriyle tanımlanan herhangi bir nesneyi algılayabilir.
GroundingDINO, bir özellik güçlendirici, dil odaklı sorgu seçimi ve çapraz-model kod çözücü kullanarak dil ve görsel modelleri etkili bir şekilde birleştirir. Bu, modelin önceden tanımlanmış kategorilerin ötesindeki kavramları genelleştirmesini sağlayarak üstün performans elde etmesine olanak tanır.
TAO ile GroundingDINO
Bu model, ticari kullanım amacıyla NVIDIA’nın veri seti üzerinde Swin-Tiny mimarisiyle oluşturulmuştur. Ayrıca, metin katmanı için başlangıç ağırlığı olarak BERT-Base kullanılmıştır. Son olarak, GroundingDINO, kamuya açık veri setlerinden toplanan yaklaşık 1,8 milyon görüntü üzerinde uçtan uca eğitilmiştir.
Eğitim sırasında kullanılan tüm ham görüntüler, güvenli ticari kullanım sağlamak amacıyla ticari lisanslara sahiptir.
Model | Precision | mAP | mAP50 | mAP75 | mAPs | mAPm | mAPI |
---|---|---|---|---|---|---|---|
grounding_dino_swin_tiny | BF16 | 46.1 | 59.9 | 51.0 | 30.5 | 49.3 | 60.8 |
Tablo 2. GroundingDINO KPIs on the COCO validation dataset
Mask-GroundingDINO Model
Mask-GroundingDINO, belirli bir nesne örneğinin etrafında bir segmentasyon maskesi oluşturan, tek aşamalı ve açık kelime dağarcığına sahip bir örnek segmentasyon modelidir. Bu model, GroundingDINO mimarisi üzerine inşa edilmiştir ve segmentasyon grafiği için Örnek Segmentasyonu İçin Koşullu Evrişimler’den (CondInst) ilham alır.
Mask-GroundingDINO with TAO
CondInst, örnek segmentasyonu için koşullu bir evrişim başlığı önerir. Bu başlık, giriş veya özellik haritalarına dayalı olarak evrişimsel çekirdek ağırlıklarını günceller. CondInst’de CNN’ler için tasarlanmış maske dalını ve örnek-bilinçli maske başlıklarını Transformer veya sorgu tabanlı modellere genişletilmiştir.
Mask-GroundingDINO’da, DINO’daki aynı kodlayıcı ve kod çözücü tasarımını kullanılmıştır. Ancak, benzer bağlantılar diğer Transformer kodlayıcıları ve kod çözücülerle de yapılabilir.
- Girdi:
- Metin veya görüntü.
- Metin, kategori listesi (örneğin, kutu, forklift) veya doğal dilde bir sahne/nesne tanımı olabilir.
- Mimari/Omurga:
- Metin veya görüntü.
- Metin omurgası BERT veya diğer NLP modelleri olabilir.
- Görüntü mimarisi Swin Transformer modeli veya diğer Transformer ya da CNN tabanlı mimariler olabilir.
- Özellik Güçlendirici:
- Çoklu model uyumunu teşvik eden, kendi kendine dikkat, metinden görüntüye çapraz dikkat ve görüntüden metne çapraz dikkat katmanlarından oluşan yığın.
- Sorgu Seçim Modülü:
- Metin özellikleri ve görüntü özellikleri arasındaki nokta çarpanı temelinde en iyi K sorguyu seçer.
- Maske FCN Başlığı:
- Dinamik çekirdekler ile birkaç evrişim katmanı.
- Kontrolör:
- Maske FCN başlığındaki dinamik çekirdeklerin ağırlıklarını tahmin eden evrişim katmanı.
Bu model, ticari kullanım izni veren pseudo-etiketli Open Images veri seti üzerinde ticari GroundingDINO önceden eğitilmiş modeli ile ince ayar yapılmıştır. Model, Swin-Tiny mimarisini kullanır ve segmentasyon başlığı, pseudo-etiketli gerçek zemin maskeleri içeren yaklaşık 830K görüntü üzerinde uçtan uca ince ayar yapılmıştır.
Bu modeli olduğu gibi kullanabilir veya TAO ile ince ayar yapabilirsiniz. İnce ayar için, minimal kodlama gerektiren kolay ve etkileşimli bir ortam sunan Mask-GroundingDINO Jupyter notebook sağlanmaktadır.
Model | Precision | mAP | mAP50 | mask_mAP | mask_mAP50 |
---|---|---|---|---|---|
mask_grounding_dino_swin_tiny | BF16 | 47.5 | 61.7 | 32.9 | 55.7 |
BEVFusion Model
Otonom araçlar, robotlar ve akıllı şehirler gibi sistemler birçok alanda çevrelerini algılamak ve etkileşim kurmak için farklı sensörler kullanır. Her sensör türü kendine has bilgiler sağlar ancak aynı zamanda kendi sınırlamalarına sahiptir. Örneğin, kameralar zengin görsel detaylar yakalar ancak derinlik algısında zorluk çekerken, LiDAR mesafeleri ölçmede mükemmel olsa da görsel bağlamdan yoksundur.
Bu çeşitli veri kaynaklarını etkili bir şekilde birleştirerek sistem performansını ve güvenilirliğini artırmak çözülmesi gereken bir problem sahasıdır.
BEVFusion, birden fazla sensörden gelen verileri birleşik bir kuş bakışı bird’s-eye-view (BEV) temsiline entegre ederek bu zorluğa bir çözüm sunar. Bu süreçte, çoklu model özellikleri ortak bir BEV temsilinde birleştirerek, hem geometrik (LiDAR’dan) hem de anlamsal (kameradan) bilgileri korur ve bu şekilde devrim niteliğinde bir yaklaşım sunar.
BEVFusion with TAO
TAO’da, modelimizi eğitmek için mmdet3d’den BEVFusion kod tabanıyla başlayabilirisinz. Orijinal kod, başlangıçta yalnızca yaw (dönme) açısını desteklerken, 3D uzayda roll, pitch ve yaw açılarının üçünü de işleyebilecek şekilde geliştirilmiştir. TAO ile eğitilen BEVFusion modeli, tek bir kamera görüntüsü ve bir LiDAR kullanarak insanları tespit eder ve etrafında 3D sınırlayıcı kutular oluşturur.
Content | AP11 | AP40 |
---|---|---|
Evaluation Set | 77.71% | 79.35% |
Tablo 4. TAO BEVFusion KPIs on the COCO validation dataset for a single camera, single Lidar people detection
CLIP Model
Görüntülerin ve metinlerin anlamlı ve bağlamsal olarak zengin temsillerini verimli bir şekilde öğrenmek, özellikle çok modelli anlayış gerektiren uygulamalar için büyük bir zorluktur. Sıfırdan öğrenme, görüntü başlıklandırma, görsel arama, içerik moderasyonu ve çok modelli etkileşim gibi kullanım durumları, görsel ve metinsel verileri doğru bir şekilde yorumlayıp entegre edebilen güçlü modellere ihtiyaç duyar.
Contrastive Language-Image Pre-training (CLIP) modeli, bu zorluğu, görüntüleri ve metinleri aynı anda işlemek için çift kodlayıcı mimariyi kullanır. Kontrastif öğrenme yöntemiyle, CLIP doğru görüntü-metin çiftleri arasındaki benzerliği maksimize ederken, yanlış çiftler için bu benzerliği minimize eder ve modelin geniş bir kavram yelpazesini yakalayan genel temsiller öğrenmesini sağlar.
Bu yaklaşım, CLIP’in çeşitli uygulamalarda mükemmel performans göstermesini sağlar; örneğin, tanımlayıcı görüntü başlıkları oluşturma, metinsel sorgulara dayalı görsel aramalar yapma ve öğrenilen temsilleri kullanarak görünmeyen kategorilere sınıflandırma yapabilen sıfırdan öğrenme yeteneği kazandırır.
NVCLIP with TAO
TAO’da, NVIDIA veri seti üzerinde eğitilmiş TensorRT ile hızlandırılmış bir CLIP modeli sunulmkatadır. Bu modeli eğitmek için yaklaşık 700 milyon görüntü kullanılmıştır. Modelin testi ImageNet’ten alınan 50.000 veri seti ile yapılmştır.
Model | Top-1 accuracy |
---|---|
ViT-H-336 | 0.7786 |
ViT-L-336 | 0.7629 |
Tablo 5. Zero-shot ImageNet validation accuracy of NVCLIP with ViT-H-336 and ViT-L-336 backbones
SEGIC Model
Video 3. Use visual prompt for In-context segmentation with NVIDIA TAO
SEGIC, tek bir görsel temel model -Vision Foundation Model (VFM) ile bağlam içindeki segmentasyonu devrim niteliğinde yenilikçi bir uçtan uca segmentasyon çerçevesidir.
Geleneksel yöntemlerin aksine, SEGIC hedef görüntüler ve bağlam içindeki örnekler arasındaki yoğun ilişkileri yakalar, son maske tahminini yönlendirmek için geometrik, görsel ve meta talimatlar çıkarır. Bu yaklaşım, etiketleme ve eğitim maliyetlerini önemli ölçüde azaltırken, tek seferde segmentasyon benchmark’larında son teknoloji performans elde eder.
SEGIC’in çok yönlülüğü, video nesne segmentasyonu ve açık kelime dağarcığı segmentasyonu gibi çeşitli görevlerde genişler, bu da onu görüntü segmentasyonu alanında güçlü bir araç yapar.
SEGIC with TAO
SEGIC modelinin TAO’daki eğitimi için, önceden eğitilmiş bir ONNX modeli ve NVIDIA Triton Inference Server kullanılmıştır. Eğitimde kullanılan kaynaklar şunlardı:
- Görüntü kodlayıcı: DINOv2-L, NVIDIA’nın tescilli görüntüleriyle eğitilmiş.
- Meta açıklama kodlayıcı: CLIP-B, NVIDIA’nın tescilli görüntüleriyle eğitilmiş.
Tablo 6. SEGIC model KPIs evaluated against the COCO20i dataset
FoundationPose Model
Doğru 6D nesne pose tahmini ve takibi, robotik, artırılmış gerçeklik ve otonom sürüş gibi çeşitli uygulamalar için kritik öneme sahiptir. Ancak, mevcut yöntemler genellikle kapsamlı ince ayar gerektirir ve ya model bazlı ya da model serbest kurulumlara bağımlıdır. Bu durum, özellikle CAD modellerinin bulunmadığı veya yeni nesnelerle çalışıldığı zaman, farklı senaryolar ve nesneler arasında tutarlı bir performans sağlama konusunda zorluklar yaratır.
FoundationPose, model bazlı ve model serbest kurulumları destekleyen, 6D nesne pose tahmini ve takibi için birleşik bir temel model sunmaktadır. Test aşamasında, CAD modelleri veya birkaç referans görüntü kullanarak yeni nesnelere anında uygulanabilir.
Yeni görünüm sentezi için sinirsel örtük temsiller kullanarak ve LLM, yeni bir transformer tabanlı mimari ve kontrastif öğrenme gibi ileri tekniklerle büyük ölçekli sentetik eğitim uygulayarak, FoundationPose güçlü bir genelleştirme yeteneği elde eder ve çeşitli kamu veri setlerinde özel yöntemleri geride bırakır.
Örneğin, artırılmış gerçeklik uygulamalarında, FoundationPose, sanal nesnelerin gerçek dünya ortamlarına sorunsuz bir şekilde entegrasyonunu sağlar; bu, nesnelerin pozunu doğru bir şekilde tahmin ederek ve takip ederek geniş çaplı manuel ayarlamalara gerek kalmadan gerçekleştirilir.
FoundationPose with TAO
FoundationPose modelinin eğitimi için, önceden eğitilmiş bir ONNX modeli ve NVIDIA Triton Inference Server kullanılmıştır. Eğitim verileri, Google Research’ün Scanned Objects ve Objaverse’den alınan 3D varlıklarla yüksek kaliteli fotogerçekçilikte render edilmiş sahnelerden oluşuyordu. Her veri noktası RGB görüntüler, derinlik bilgisi, nesne pozları, kamera pozları, örnek segmentasyonu ve 2D sınırlayıcı kutuları içermektedir. Ardından NVIDIA Isaac Sim ile yaklaşık 1 milyon sentetik görüntü oluşturulmuştur.
Mart 2024 itibarıyla, dünya çapında BOP liderlik tablosunda model bazlı yeni nesne pose tahmini #1 pozisyonda yer aldı (Şekil 3).
Şekil 3. Benchmark for 6D object pose estimation
Nesne Tespiti ve Segmentasyonu için Prompt Tabanlı Otomatik Etiketleme
İyi etiketlenmiş bir veri setine sahip olmak, özellikle nesne tespiti ve segmentasyonu gibi görevlerde modelleri eğitmek ve ince ayar yapmak için gereklidir. Ancak, yeni kategoriler ve örnekler için etiketlenmiş bir veri seti elde etmek oldukça zaman ve çaba gerektirir. Özellikle, her nesneyi doğru maskelerle etiketlemek, basit sınırlayıcı kutular çizmeye kıyasla 10 kat daha fazla zaman alabilir.
Bu noktada, basit kullanımlı bir prompt tabanlı otomatik etiketleme yöntemi yardımcı olabilir:
- GroundingDINO: Nesne kategorileri gibi ipuçlarını kullanarak sınırlayıcı kutular üreten açık kelime dağarcığına sahip bir nesne tespiti modeli.
- Mask Auto-Labeler: Sınırlayıcı kutuları kullanarak yüksek kaliteli örnek segmentasyon maskeleri üreten Transformer tabanlı bir çerçeve.
Bu kombinasyon, ayrıntılı etiketler oluşturmak için gereken çabayı önemli ölçüde azaltır ve gelişmiş modeller için sağlam veri setleri oluşturmayı daha kolay ve hızlı hale getirir.
Şekil 4. Auto-labeling with the GroundingDINO model and Mask Auto-labeler tool
Auto Labels’ı generate komutu ile üretebilirsiniz:
Bilgi Damıtımı ile Verimli Yapay Zeka
Bilgi damıtımı, makine öğreniminde daha küçük ve verimli bir modelin (öğrenci) daha büyük ve karmaşık bir modelin (öğretmen) davranışını taklit etmesini sağlayan bir tekniktir. Bu süreç, öğrenci modelin öğretmen tarafından zaten yakalanmış olan bilgi, özellikle yumuşak etiketler gibi daha ince ayrıntıları içeren bilgiyi kullanarak, eğitim ve ince ayar süresini azaltır. Öğrenci model, yeni bir görev için sıfırdan eğitim gerektirmediğinden, bu bilgi ile benzer performansı çok daha az hesaplama kaynağı ile elde edebilir, bu da onu kaynak sınırlı ortamlarda dağıtım için ideal hale getirir ve eğitim sürecini hızlandırır.
Şekil 5. Knowledge distillation process
TAO, bilgi damıtımını destekler. Bilgi damıtımı kaybını hesaplamak için çeşitli katmanlar arasındaki bağları belirlemenizi sağlar. Daha fazla bilgi için, Eğitim Sürecini Optimize Etme bölümüne bakabilirsiniz.
DINO ve FAN küçük modellerinden DINO ve ResNet-50’ye L2 kaybı kullanarak ara özellik haritalarını damıtmayı gösteren dino_distillation.ipynb referans defterini sağlıyoruz.
distill.yaml dosyasında öğretmen modelini, öğrenci modelinin omurgasını ve kayıp fonksiyonunu tanımlayabilirsiniz
OPENZEKA HABERLERİ
OPENZEKA HABERLERİ
Hesaplarınızda paylaşmak ister misiniz?