Bu yazı 29 Temmuz 2024 tarihinde yayımlanmış olup, NVIDIA AI Blueprint bilgileri ile geniş bir şekilde gözden geçirilmiştir.
Geleneksel video analiz uygulamaları ve geliştirme süreçleri, yalnızca belirli ön tanımlı nesneleri tespit ve tanımlamak için tasarlanmış, sabit işlevli ve sınırlı modellere dayanır.
Generatif yapay zeka, NVIDIA NIM mikro hizmetleri ve temel modeller ile artık daha az model kullanarak geniş algılama ve zengin bağlamsal anlama yeteneğine sahip uygulamalar geliştirmek mümkün.
Yeni nesil görsel dil modelleri (VLM), görsel AI ajanları‘nı güçlendirir; bu ajanlar, doğal dil isteklerini anlayabilir ve görsel sorulara cevap verebilir. VLM’leri, büyük dil modelleri (LLM) ve en son Graph-RAG tekniklerini birleştirerek, uzun şekilli video anlama yeteneğine sahip güçlü bir görsel AI ajanı oluşturabilirsiniz.
Bu görsel AI ajanları, fabrikalarda, depolarda, perakende mağazalarında, havalimanlarında, trafik kesişimlerinde ve daha birçok alanda konuşlandırılacaktır. Operasyon ekiplerine, doğal etkileşimlerden elde edilen daha zengin içgörülerle daha iyi kararlar almalarına yardımcı olacaklardır.
Bu yazıda, NVIDIA AI Blueprint for Video Search and Summarization kullanarak uzun biçimli video anlaması için nasıl kesintisiz bir AI ajanı inşa edebileceğinizi gösteriyoruz. Bu yeni AI Blueprint için erken erişim başvurusu yapabilirsiniz.
NVIDIA AI Blueprint for Video Search and Summarization Yayınlandı
NVIDIA AI Blueprints, NVIDIA NIM tarafından desteklenen, temel özellikle yapılandırılmış generatif AI kullanım vakaları için referans iş akışlarıdır. NVIDIA NIM, sektör standartlarına sahip API’ler, alan spesifik kod, optimize edilmiş çıkarım motorları ve işletme çalışma zamanı içeren bir mikro hizmetler setidir. Bu, kullanıcıların doğal dil aracılığıyla canlı veya arşivlenmiş görüntü ve videolardan anlamlı içgörüler elde etmesine olanak tanır.
Yeni AI Blueprint for Video Search and Summarization, VLM’ler, LLM’ler ve en son RAG tekniklerini kullanarak uzun biçimli video anlama sürecini hızlandırır.
Ajanla etkileşim kurmak için, video özetleme, video üzerinde etkileşimli Soru-Cevap ve canlı akışlarda belirli olayları bulmak için özel uyarılar oluşturma gibi işlemleri gerçekleştirmek üzere kullanılabilen kolay anlaşılır REST API’leri mevcuttur. REST API’leri, kendi uygulamanıza entegre etmek için kullanılabilir ve hızlı test için referans kullanıcı arayüzünde yer almaktadır.
Video Arama ve Özetleme için Görsel AI Ajanı
Uzun biçimli videoları anlamaya yönelik tasarlanmış görsel AI ajanı, VLM’ler ve LLM’lerin yanı sıra veri depoları ile bir arada yapılandırılır. Blueprint, özetleme, Soru-Cevap ve canlı akış videolarında olay tespiti gibi birçok görevi yerine getirebilen, ölçeklenebilir ve GPU hızlandırmalı video anlama ajanlarının oluşturulmasını sağlayan unsurlar sunar.
Bu blueprint aşağıdaki bileşenleri içerir:
- Akış yöneticisi: NeMo Guardrails, CA-RAG, VLM hattı, parçalama ve Milvus Vektör DB gibi diğer bileşenlerle etkileşimi ve senkronizasyonu yönetir.
- NeMo Guardrails: Geçersiz kullanıcı istemlerini filtreler. Bir LLM NIM mikro hizmetinin REST API’sini kullanır.
- VLM hattı: Akış yöneticisinin oluşturduğu video parçalarını çözümler, video parçaları için gömme vektörleri oluşturur ve ardından kullanıcı sorgusuna yanıt olarak parça bazında sonuçlar üretmek için bir VLM kullanır. NVIDIA DeepStream SDK’sına dayanmaktadır.
- Vektör DB: Ara verilere ait VLM cevaplarını saklar.
- CA-RAG modülü: Parça bazında VLM yanıtlarından yararlı bilgileri çıkarır ve birleştirerek tek bir özet oluşturur. CA-RAG, LLM NIM mikro hizmetinin REST API’sini kullanır.
- Graph-RAG modülü: Videonun karmaşık ilişkilerini yakalar ve önemli bilgileri düğüm ve kenar kümeleri olarak bir grafik veritabanında depolar. Bu daha sonra etkileşimli Soru-Cevap için bir LLM tarafından sorgulanır.
Video alma ve geri getirme sürecinin yanı sıra blueprint’in özetleme, Soru-Cevap ve canlı yayınlar üzerinde uyarı oluşturma yeteneğine dair daha fazla bilgi burada bulunmaktadır.
Video Alma
Bir videoyu özetlemek veya Soru-Cevap işlemi gerçekleştirmek için, videodaki tüm önemli bilgileri kapsayan kapsamlı bir indeks oluşturulmalıdır. Bu, yoğun başlıklar ve meta veriler üretmek için VLM’ler ve LLM’lerin bir araya getirilmesi ile gerçekleştirilir, böylece videonun bilgi grafiği oluşturulur. Bu video alma süreci GPU hızlandırmalı olup daha fazla GPU ile ölçeklenebilir, böylece işleme süresini kısaltır.
VLM Hattı ve CA-RAG
Günümüzde çoğu VLM yalnızca sınırlı sayıda kare kabul eder (örneğin, 8/10/100). Uzun videolar için doğru başlıklar üretmekte de zorlanırlar. Uzun videolar, örneğin bir saatlik bir video için, 10 saniye aralıklarla veya daha uzun süreli örnekleme kareleri ile analiz edilebilir. Bu durum, bazı detayların kaçırılmasına veya hareketlerin tanınamamasına neden olabilir.
Bu sorunun çözümü, uzun videoları daha küçük parçalara ayırmak, her parçayı bağımsız olarak VLM’ler ile analiz etmek ve ardından sonuçları özetleyip bir araya getirerek tüm dosya için tek bir özet oluşturmaktır. Bu kısmı VLM hattı ve CA-RAG modülü yönetir.
Bu parçalama ve başlıklandırma stratejisi, canlı yayınlara da uygulanabilir. Blueprint, bir RTSP sunucusundan yayın verilerini almak için bir akış hattı içerir. NVIDIA AI Blueprint, kullanıcı tarafından yapılandırılan parçalama süresine göre sürekli video parça segmentleri üretir. VLM hattı, bu parçalar için başlıkları oluşturmaya devam eder.
NVIDIA AI Blueprint, VLM hattından gelen başlıkları toplamaya devam eder. Kullanıcı tarafından belirlenen özet süresine dayalı yeterli parça işlendiğinde, toplanan parçalar CA-RAG’ye özetleme ve birleştirme için gönderilir. Blueprint, bir sonraki parçaları işlemeye devam eder. Özetler, HTTP sunucu-tabanlı olaylar aracılığıyla istemciye akıtılır.
Bilgi Grafiği ve Graph-RAG Modülü
VLM tarafından üretilen karmaşık bilgileri yakalamak için video alımı sırasında bir bilgi grafiği oluşturulur. Yoğun başlıkları, bir dizi düğüm, kenar ve ilişkili özelliklere dönüştürmek için bir LLM ile işlenir. Bu bilgi grafiği, bir grafik veritabanında saklanır. Graph-RAG tekniklerini kullanarak, bir LLM bu bilgiyi sorgulayabilir ve özetleme, Soru-Cevap ve uyarılar için önemli içgörüler çıkarabilir, böylece VLM’lerin kendi başlarına sağladıklarından daha ötesine geçer.
Video Geri Alma
Video alındıktan sonra, CA-RAG ve Graph-RAG modülleri arkasındaki veritabanları, videoda meydana gelen nesneler, olaylar ve açıklamalar hakkında büyük bir bilgi yığını içerir. Bu bilgiler, özetleme, Soru-Cevap ve uyarılar gibi çeşitli görevleri yerine getirmek üzere bir LLM tarafından sorgulanabilir ve kullanılabilir.
Bu görevlerin her biri için, blueprint, uygulamanıza entegre edebilmeniz için basit REST API’leri sağlar. Ayrıca, blueprint’in özelliklerini hızlı bir şekilde denemenizi ve ajanı çeşitli yapılandırma seçenekleri ile ayarlamanızı sağlamak için bir referans kullanıcı arayüzü de mevcuttur.
Özetleme
Bir video dosyası ajana yüklendiğinde, summarize
uç noktasını çağırarak videonun özetini alabilirsiniz. Blueprint, tüm ağır işlemleri gerçekleştirirken birçok yapılandırılabilir parametre sunmaktadır.
summarize
isteği gönderdiğinizde, çıkışları ayarlayan bir dizi istem kullanılır. Bu, VLM yoğun başlıklandırma ve son özet oluşturma aşamasında LLM tabanlı başlıkların birleştirilmesi için kullanılır.
- İstem (VLM): VLM’ye yoğun başlıklar üretmesi için verilen istemdir. Bu istem, VLM’ye hangi nesneleri, olayları ve eylemleri göz önünde bulundurması gerektiğini tam olarak belirtmek için ayarlanabilir.
- Başlık özetleme (LLM): VLM başlıklarını birleştirmek için kullanılan bir LLM isteğidir. Bu, başlıkların ne kadar detaylı olacağını ve hangi bilgilerin dahil edileceğini kontrol etmek için kullanılabilir.
- Özet birleştirme (LLM): Birleştirilmiş başlıkları temel alarak son özet çıktısını üretir. Bu istem, çıktı formatını, özetin uzunluğunu ve çıktı da dahil edilmesi gereken ana bilgi parçalarını tanımlamak için ayarlanmalıdır.
İstem yapılandırması dışında, video parçalama stratejisi de kullanıma göre ayarlanmalıdır. Video dosyaları veya canlı akışlar üzerinde özetleme yapılması durumunda farklı seçenekler bulunmaktadır.
Video Dosyaları
chunk_duration
: Tüm video,chunk_duration
uzunluğundaki segmentlere bölünür; N (VLM bağımlı) kareler bu parçadan alınır ve VLM için çıkarım yapılır. Parça süresi, N karelerin olayı yakalayabilmesi için yeterince kısa olmalıdır.chunk_overlap
: Eğer bir olay parça kesişme noktasında meydana gelirse, alınan örnekleme tam olayı yakalayamayabilir. NVIDIA AI Blueprint,chunk_overlap
ile birlikte kayan pencere yaklaşımını kullanarak bu sorunu ortadan kaldırır. (Varsayılan:0
).
Canlı Yayınlar
chunk_duration
: Canlı yayın, VLM için çıkarım yapılacak şekildechunk_duration
uzunluğundaki parçalar halinde bölünür. Parça süresi, N karelerin olayı yakalayabilmesi için yeterince kısa olmalıdır.summary_duration
: Kullanıcının bir özet almak istediği süredir. Bu, kullanıcının özetin üretilmesini istediği akış süresini kontrol etmesine olanak tanır. Örneğin,chunk_duration
1 dakika olduğunda ve özet süresi 30 dakika olduğunda, akış 1 dakikalık parçalara bölünür ve 30 parça VLM çıktısı bir 30 dakikalık özeti sağlamak için birleştirilir.
Bunlar sadece yönergeler olup, gerçek parametrelerin belirli kullanım durumları için ayarlanması gerekmektedir. Doğruluk ve performans arasında bir denge vardır. Daha küçük parça boyutları, daha iyi tanımlamalar sunar ancak işleme süresini uzatır.
Soru-Cevap
Video alımı sırasında oluşturulan bilgi grafiği, bir LLM tarafından sorgulanabilir, böylece video üzerinde doğal dil arayüzü sağlanmış olur. Bu, kullanıcıların verilen video üzerinde açık uçlu sorular sormasını ve bir sohbet robotu deneyimi yaşamasını sağlar. Referans UI’da bu özellik, video alındıktan sonra mevcuttur.
Soru-Cevap işlemi için kullanılan LLM yapılandırılabilir ve dağıtım sonrası blueprint yapılandırması ile ayarlanabilir. Bu, ihtiyaçlarınıza en uygun olan bir modeli seçme kontrolünü sağlar.
LLM’ye bilgi grafiğinden gerekli bilgiyi almak için verilen istemler, yanıtların doğruluğunu artırmak amacıyla ayarlanabilir.
Uyarılar
Blueprint, video dosyalarının yanı sıra canlı bir yayın akışını da girdi olarak kabul edebilir. Canlı yayın durumlarında, belirli olayların gerçekleştiği anda bilgilendirilmek sıklıkla kritik öneme sahiptir. Bu nedenle, blueprint, canlı yayınları kaydetme ve izleme amaçlı kullanıcı tanımlı olaylar için uyarı kurallarının belirlenmesine olanak tanır. Bu uyarı kuralları doğal dilde tanımlanır ve olay meydana geldiğinde bildirim göndermeyi tetikler.
Örneğin, bir ormanda bulunan bir kameranın, hayvanların görünmesine veya yangın çıkmasına dair uyarı kuralları belirlenebilir. Akış kaydedildiğinde ve uyarı kuralları belirlendiğinde, ajanın akışı takip eder. Eğer tanımlı uyarı kurallarından herhangi biri doğru bir şekilde saptanırsa, bir API aracılığıyla bildirim tetiklenir.
Başlarken
Güçlü VLM tabanlı AI ajanları oluşturmak için NVIDIA AI Blueprint for Video Search and Summarization kullanın. Bu iş akışının ve VLM’lerin mevcut müşteri uygulamalarına entegrasyonunu kolaylaştıran REST API’leri bulunmaktadır. Şimdi bu AI Blueprint için erken erişim başvurusu yapın ve Görsel AI Ajanları forumuna teknik sorular için katılın.