NVIDIA, fiziksel AI iş yükleri için hafif ve özelleştirilebilir USD (Universal Scene Description) runtime’ları oluşturmayı mümkün kılan nanousd-labs projesini tanıttı. Proje, OpenUSD Core Specification’ı temel alarak AI ajanlarının doğrudan spesifikasyondan kod üretmesine olanak tanıyor.

nanousd-labs Nedir?

nanousd-labs, NVIDIA Omniverse Labs bünyesinde bir iç hackathon sırasında geliştirilen açık, deneysel bir proje. Geleneksel USD uygulamaları genellikle büyük bir kod tabanını uyarlamayı gerektirirken, nanousd-labs farklı bir yaklaşım sunuyor: runtime’ı doğrudan standarttan üretmek. Bu, USD’nin resmi ve makine tarafından okunabilir bir spesifikasyona sahip olması sayesinde mümkün oluyor.

Proje, C++ ile yazılmış ve kararlı bir C ABI (Application Binary Interface) üzerinden sunulan bağımsız bir USD runtime veri modeli uygulaması. nanousd bir veri katmanı olarak çalışıyor; sahne verilerini ayrıştırma, birleştirme, sorgulama ve yazma işlemlerini yaparken, görüntü oluşturma (rendering) aşamasına geçmiyor. Bu sayede belirli bir iş yükü için optimize edilmiş, hafif bir runtime elde edilebiliyor.

AI Ajanları Nasıl Çalışıyor?

nanousd-labs’in temel fikri, USD Core Specification’ı bir sözleşme (contract) olarak ele almak. Spesifikasyon, uyumlu bir runtime’ın nasıl davranması gerektiğini tanımlıyor, ancak nasıl inşa edileceğini belirtmiyor. AI ajanları, spesifikasyonu bölüm bölüm okuyarak her bir davranışı uygulayan kodu üretiyor ve aynı standarttan türetilen bir test paketiyle doğrulama yapıyor. Bu süreç, çıktı spesifikasyon gereksinimlerini karşılayana kadar tekrarlanıyor.

Uygulamada, ajanlar mekanik spesifikasyondan koda dönüştürme işini üstlenirken (ayrıştırma, sahne birleştirme, katmanlar arası değer çözümleme gibi), mühendisler performans, ödünleşimler ve mimari kararlara odaklanıyor. Bu iş bölümü, geliştirme döngülerini hızlandırıyor ve son kullanıcıların fiziksel AI ürünlerini dağıtım ortamlarına daha iyi uyarlamasını sağlıyor.

Kullanım Senaryoları

Geliştiricilerin nanousd-labs’e iki ana giriş noktası bulunuyor. Birincisi, doğrudan projeyi klonlayıp derlemek. nanousd-python paketi sayesinde GPU gerektirmeden herhangi bir makinede çalıştırılabiliyor. Örnek bir kullanım:

import nanousd
stage = nanousd.Stage.open("scene.usda")
for prim in stage.traverse():
    print(prim.path, prim.type_name, prim.attribute_names())

İkinci giriş noktası ise metodolojiyi anlamak ve kendi stack’ine uygulamak isteyenler için. Yaklaşık 10 dakikalık bir eğitimle, geliştiriciler USD Core Specification’a karşı çalışan AI ajanları için yeniden kullanılabilir beceriler (skill graph) oluşturmayı öğrenebiliyor.

Neden Önemli

Bu yaklaşım, USD runtime’larının geliştirilme biçiminde potansiyel bir paradigma değişikliği sunuyor. Geleneksel olarak, USD uygulamaları ya büyük bir kod tabanını uyarlamayı ya da spesifikasyonu elle uygulamayı gerektiriyordu. nanousd-labs, AI ajanları aracılığıyla spesifikasyondan doğrudan kod üreterek bu süreci hızlandırıyor ve daha esnek hale getiriyor. Özellikle farklı bellek ayak izleri, ABI’lar veya performans karakteristikleri gerektiren fiziksel AI dağıtımları için önemli avantajlar sağlayabilir. Ayrıca, standart bir spesifikasyon ve kararlı bir ABI sayesinde, farklı runtime’lar arasında geçiş yapmak kolaylaşıyor ve geliştiriciler iş yüklerine en uygun çözümü seçebiliyor. Proje henüz deneysel aşamada olsa da, açık kaynak olması ve topluluk katkılarına açık olması, metodolojinin olgunlaşmasını ve yaygınlaşmasını hızlandırabilir.