NVIDIA ve PyTorch Takımının İnovatif İş Birliği
NVIDIA ve Meta’nın PyTorch takımı, mobil cihazlar üzerinde federated learning (FL) (dağıtık öğrenme) yeteneklerini sunan öncü bir iş birliği gerçekleştirdi. Bu iş birliği, NVIDIA FLARE ve ExecuTorch entegrasyonunu içeriyor.
NVIDIA FLARE ve ExecuTorch Nedir?
NVIDIA FLARE, araştırmacılar ve veri bilimcilerin mevcut makine öğrenimi veya derin öğrenme iş akışlarını dağıtık bir paradigma ile uyumlu hale getirmelerini sağlayan açık kaynaklı ve genişletilebilir bir geliştirme kiti‘dir. Bu ayrıca platform geliştiricilerine, güvenli ve gizliliği koruyan bir çok taraflı iş birliği sunma imkanı tanır.
ExecuTorch, mobil ve kenar cihazlarda cihaz içi çıkarım ve eğitim yeteneklerini sağlayan uçtan uca bir çözüm sunar. Bu, PyTorch Edge ekosisteminin bir parçasıdır ve çeşitli PyTorch modellerinin kenar cihazlara verimli bir şekilde dağıtımını sağlar.
Mobile Cihazlarda FL Gücünü Kullanmak
Bu iki unsuru entegre ederek, mobil cihazlarda kullanıcı gizliliği ve veri güvenliğini koruyarak federated learning‘in gücünden faydalanabileceğiniz bir çözüm sunuyoruz. Çapraz cihaz FL’yi etkinleştirmek için iki kritik bileşen bulunuyor:
- Birden fazla katılımcının yer aldığı milyonlarca cihazdan oluşan bir katılımcı havuzuyla uygun öğrenme akışını yönlendirebilme yeteneğine sahip bir FL ortamı.
- Mevcut geliştirme ortamınızdan kolayca taşınması gereken etkili bir cihaz içi eğitim iş akışı.
NVIDIA FLARE ve ExecuTorch’un iş birliği sayesinde, model mimarinizi tanımlayabilir ve eğitim parametrelerini aşina olduğunuz PyTorch kodları ile belirleyerek çapraz cihaz FL paradigmalarına geçiş yapabilirsiniz:
- NVIDIA FLARE, kenar uygulamaları için tasarlanmış yeni modüller ile çapraz cihaz FL sürecini yönetmektedir.
- ExecuTorch, kenar tarafındaki eğitimi etkinleştirir ve mevcut PyTorch çözümlerinden kolayca geçiş sağlar.
Büyük Ölçekli Dağıtık Eğitim Çözümleri
Büyük ölçekli dağıtımlar için NVIDIA FLARE, çok sayıda kenar cihazın etkin bir şekilde yönetimini sağlayan hiyerarşik FL mimarisi uygulamaktadır. Bu çözüm, model eğitiminin dağıtılmış mobil cihazlar arasında güvenli ve ölçeklenebilir olmasını sağlarken, tüm verilerin yerel kalmasını garanti eder.
NVIDIA FLARE ve ExecuTorch, mobil cihazlarda kenar AI eğitimi demokratikleştirerek erişilebilir ve verimli hale getirirken, merkezi olmayan AI geliştirme sürecinde gizliliği korumaktadır:
- Hızlı geliştirme: Cihaz karmaşıklığını soyutlayarak, donanım, işletim sistemleri, makine öğrenimi çerçeveleri ve programlama dilleri ile ilgili süreçleri yönetir.
- Hızlandırılmış prototipleme: Çok sayıda cihazı simüle etmek için bir cihaz simülatörü sunar.
- Endüstriye hazır federated dağıtım: Çok sayıda cihazı destekleyen çapraz cihaz FL sistemi sunar.
Bu çerçeve ile veri bilimcileri, yalnızca model mimarisi ve eğitim parametreleri tanımlamakla kalmaz, aynı zamanda federated pipeline tasarımıyla da uğraşabilir.
Dağıtılmış Kenar Cihazlarda İş Birlikçi Model Öğrenimi
Pek çok AI modeli ve uygulaması, insanların günlük yaşamında üretilen veriler üzerinde çalışır: örneğin, tahmin metni, ses tanıma, akıllı ev otomasyonu, otonom sürüş, trafik tahmini ve finansal hizmetlerde dolandırıcılık tespiti. AI ile donatılmış milyonlarca cihazla, AI tarafından kullanılan verilerin büyük bir kısmı kenarda üretilecektir.
Özel veri setlerine kıyasla, günlük veriler dinamik ve kullanıcı davranışları, çevresel faktörler ve belirli koşullardan etkilenen dağıtık bir yapıdadır. Bu nedenle, FL, kenar cihazlarda güvenli ve pratik bir çözüm sunar.
Ancak, kenar bazlı uygulamalar güçlü gizlilik kısıtlamaları ve pratik sınırlamalarla karşılaşır, bu da merkezi eğitim sürecini zorlaştırır. Bu durumda, dağıtık kenar cihazlarında FL uygulamak oldukça önemlidir.
Bu zorlukları aşmak ve etkili AI model öğrenimini sağlamak için iyi tasarlanmış bir FL çerçevesine ihtiyaç vardır. Bu çerçeve, aşağıdaki gibi tüm verileri etkili bir şekilde kullanabilmelidir:
- Katalan havuzunu genellikle milyonlarca cihaza kadar genişleten katılımcı cihaz sayısı.
- Yüksek cihaz programlama karmaşıklığına neden olan farklı işletim sistemleri ve donanım ortamları.
- Sınırlı hesaplama kapasitesi ve iletişim bant genişliği sorunları.
- Herhangi bir zamanda katılan ve ayrılan cihazlar nedeniyle oluşan bağlantı sorunları.
Hiyerarşik FL ile Çapraz Cihaz Uygulamaları
Tek katmanlı bir FL hattında, global sunucu doğrudan istemcilerle iletişim kurar ve basit mantıkla model güncellemelerini toplar. Ancak, eğer milyonlarca katılımcıdan oluşan bir havuzdan gelen on binlerce eş zamanlı cihaza sahip olunduğunda, basit tek katmanlı iletişim yapısı yeterli olamaz.
NVIDIA FLARE, bir hiyerarşik FL sistemi geliştirmiştir; bu sistemde ağaç yapısına sahip bir mimari kullanılır:
- Sunucu: Genel yönetim işlevselliği, global değerlendirme, iş ve görev hazırlığı gibi işlevleri sağlar.
- Aşamalı Toplayıcılar: Sunucudan yalın düğümlere görev yönlendirmesi yapar ve sonuçları toplayarak sunucuya geri gönderir.
- Yaprak Düğümler: Kenar cihazlarla yalnızca bu düğümler etkileşimde bulunur. Cihazlar, web geçitleri aracılığıyla yaprak düğümlere bağlanır.
Birden fazla toplama katmanı ekleyerek, sistemin her düğümünde sağlanan iş yükü dağılımını optimize ettik. Böyle bir hiyerarşi ile gelişmiş FL algoritmaları kolayca uygulanabilir ve ölçeklenebilir. Ayrıca, web geçitleri HTTPS aracılığıyla her cihazın güvenli bir şekilde bağlı olmasını ve verilerin güvenli bir şekilde işlenmesi için ilgili FL istemcilerine iletilmesini garantirler.
Cross-Device Federated Workflow Süreci
Şekil 2, NVIDIA FLARE ve ExecuTorch’un nasıl iş birliği yaptığını göstermektedir:
- FLARE Controller, sunucuda global modeli içeren bir görev hazırlar ve bu görevi hiyerarşik sistem üzerinden yaprak düğüme iletir.
- FLARE
EdgeTaskExecutor
, görevi işleyerek global modeli ExecuTorch formatına aktarır ve görevleri bireysel cihazlara web geçitleri aracılığıyla gönderir. - Cihaz üzerinde
Device
modülü, FL sistemi ile cihaz içi eğitim süreçlerini birleştirir; burada ExecuTorch, alınan global modeli yükler ve yerel verilerle cihaz içi eğitim yapar. - Yeni model ile global model arasındaki farkı içeren yerel model güncellemeleri hazırlar ve FLARE
EdgeTaskExecutor
‘a geri gönderir. - FLARE
EdgeTaskExecutor
, alınan güncellemeleri işler ve katman katman toplamak üzere hiyerarşik sisteme geri gönderir. - Top düzeyde toplanan model güncellemeleri, FLARE Controller tarafından değerlendirilir ve bir sonraki görev ataması için yeni global model hazırlanır.
Kolaylaştırılmış Çapraz Cihaz Federated Pipeline Geliştirme
NVIDIA FLARE ve ExecuTorch’un desteği ile, etkili bir genel iş akışı sunuyoruz. Bu çalışma ile, alt yapı geliştirme derdine düşmeden yenilik yapmaya odaklanmanızı sağlıyoruz.
Cihaz tarafında, Device
modülü temel bir eğitim iş akışı oluşturur, bu yapı FL sistemi ile cihaz içi eğitim arasında köprü görevi görür. Farklı donanımlar, işletim sistemleri, ML çerçeveleri ve programlama dilleri ile ilgili süreçleri basitleştirir. Bu sayede ExecuTorch kullanarak yenilikçi modeller ve eğitim tarifleri geliştirir, bunları kolayca bir cihaz platformuna aktarabilirsiniz.
Federated pipeline sırasında, NVIDIA FLARE’in Controller API’si ile özelleştirilmiş FL şemaları belirleyebilirsiniz. Özelleştirilmiş toplayıcılar, belirli öğrenme hedeflerini en iyi şekilde karşılamak için çeşitli seçenekler sunar. NVIDIA FLARE altında yaygın kullanılan kontrol cihazları ve toplayıcılar varsayılan olarak kullanılabilir.
Her şey, global modelin dağıtımından yerel görevlerin yerine getirilmesine kadar otomatik olarak işleme alınır ve karmaşık uygulama detaylarından kurtulmanızı sağlar.
NVFlare Mobil Örneğini Çalıştırma
Başlamak için, bu simülasyon sürecini gösteren örnekler sağladık. NVFlare Mobile Örneği‘nde, iki eğitim şeması altında aşağıdaki uygulamalar bulunmaktadır:
hello_mobile
: Kenar işlevlerini test etmek için sayılar listesi kullanan basit bir iş; federated süreci göstermektedir.xor_mobile
vexor_mobile_pt
: Her katılımcı için sabit veri kullanarak basit bir XOR mantık görevine yönelik süper hafif bir sinir ağı eğitimi.cifar10_mobile
vecifar10_mobile_pt
: CIFAR-10 sınıflandırma görevine yönelik bir konvolüsyonel sinir ağı eğitimi. Her katılımcı, farklı CIFAR-10 alt kümleri üzerinde eğitim yapar ve gerçekçi çapraz cihaz iş birliği simüle edilir.
Gerçek dünya dağıtımı süreci üç bölümden oluşmaktadır:
- NVIDIA FLARE’in kurulumunu yapmak
- ExecuTorch aracılığıyla kenar cihazlarda eğitimi etkinleştirmek
- FL oturumlarını gerçekleştirmek
İlk olarak, NVIDIA FLARE sisteminin kurulumu, sistemi sağlar ve web geçitlerini yapılandırır. Bu işlem, sadece iki komut ile yapılabilir:
python nvflare/edge/tree_prov.py -r /tmp -p edge_example -d 1 -w 2
python nvflare/edge/web/routing_proxy.py 5000 /tmp/edge_example/lcp_map.json
Daha fazla bilgi için NVFlare Mobile Örneği‘ni ziyaret edebilirsiniz.
Çevre kurulumundan sonra, her düğümü başlatmak için kendi başlangıç kitlerindeki komut dosyasını çalıştırmalısınız:
./start.sh
Kenardaki cihazda, yetenekleri sergileyen bir demo iOS uygulaması geliştirdik. Bu uygulamada, proxy sunucusunun IP adresini ve PORT numarasını yapılandırabilir ve ardından eğitim sürecini başlatabilirsiniz.

Uygulama, FL sistemi ile proxy sunucusu aracılığıyla bağlanır ve görev ataması için bekler.
Görev ataması yapılmadan eğitim başlamaz. Controller, belirli bir görevi kenar cihaza atar.
Bir FL oturumunu başlatmak için, yöneticinin global yapılandırmaları (örneğin, model formatı ve ağırlıkları) doğrulaması ve işin başlaması için NVIDIA FLARE eğitimini başlatması gerekir. Örnek olarak:
submit_job cifar10_mobile_et
Federated orchestrasyonun geri kalanı otomatik olarak işlenirken, lokal cihaz içi eğitim ExecuTorch tarafından gerçekleştirilir.
Sonuç
NVIDIA FLARE ve Meta PyTorch takımı arasındaki iş birliği, mobil FL’de önemli bir ilerleme sağlıyor. Bu pipeline, mobil dağıtım ve federated eğitim süreçlerindeki karmaşıklıkları yönetiyor.
NVIDIA FLARE hiyerarşik mimarisi aracılığıyla, platform milyonlarca kenar cihazı verimli bir şekilde yönetebiliyor. Veri bilimcileri, enerji ve zaman harcamadan yalnızca Python’da model tanımlama ve eğitim parametreleri üzerinde odaklanabiliyor. Böylece, NVIDIA FLARE ve ExecuTorch mobil dağıtım, federated orchestrasyon ve eğitim ölçeklenebilirliğinin karmaşık detaylarını ele alıyor.
NVIDIA ve PyTorch ekibi arasındaki bu iş birliği, mobil uygulamalar için FL democratizasyonunda önemli bir adım oluşturmaktadır. Kullanıcıların gizliliğini koruyarak, kenar AI geliştirme sürecinde yeni olanaklar sunmaktadır. İki ekip, bu çözümü geliştirmeye devam ediyor.
Farklı cihazlar üzerinde cihaz içi eğitim demokratikleştirerek, iOS ile başladık. Android ve diğer kenar cihazlarla devam edeceğiz.
Daha fazla bilgi için şu kaynaklara göz atabilirsiniz:
- /NVFlare öğreticileri GitHub’da
- /NVIDIA/NVFlARE kenar örnekleri GitHub’da
- NVIDIA FLARE Geliştirici Portalı
- Federated Learning in Medical Imaging: Enhancing Data Privacy and Advancing Healthcare GTC 2025 oturumu
NVIDIA FLARE ekibi ile iletişime geçmek için federatedlearning@nvidia.com adresine yazabilirsiniz.
Teşekkür
Bu yazıya katkılarından dolayı Meta’daki PyTorch ekibine teşekkür ederiz.