- Google AI Edge, mobil, web ve gömülü cihazlar genelinde AI model dağıtımını kolayca destekler
- Birleşik çapraz platform framework ile Android, iOS, web ve gömülü ortamlarda aynı modeli çalıştırmak mümkündür
- Çeşitli makine öğrenimi framework'leriyle (JAX, Keras, PyTorch, TensorFlow) uyumluluk sunar
- Model dönüştürme görselleştirme·debugging, özel pipeline kurma gibi gelişmiş geliştirme araçları sağlar
- Gemini Nano gibi cihaz üzerinde üretken yapay zeka ortamları Android ve Chrome platformlarında kullanılabilir
Google AI Edge'e giriş
- Google AI Edge, cihaz üzerinde ve çapraz platform AI dağıtımı için bir çözümdür
- Mobil, web, gömülü uygulama ortamları gibi çeşitli platformlara AI modellerini verimli biçimde dağıtıp çalıştırmaya olanak tanıyan bir platformdur.
Başlıca özellikler
- Cihaz içinde tutma: Veriler yerelde gizli kalır, böylece gecikme azalır ve çevrimdışı çalışma desteklenir
- Çapraz platform desteği: Android, iOS, web ve gömülü ortamlarda aynı modelin çalıştırılması mümkündür
- Çoklu framework uyumluluğu: JAX, Keras, PyTorch, TensorFlow gibi birden fazla makine öğrenimi framework'üyle uyumluluk sunar
- Uçtan uca AI edge stack'i: Esnek framework'ler, turnkey çözümler ve donanım hızlandırıcılarını bütünleşik olarak destekler
Hazır çözümler ve esnek framework'ler
Yaygın AI görevleri için low-code API'ler
- Üretken yapay zeka, vision, metin, ses gibi yaygın AI görevlerini kolayca ele alabilen low-code çapraz platform API'leri sunar
- MediaPipe tabanlı çözümler sayesinde hızlı başlangıç ve uygulama mümkündür
Özel modellerin çapraz platform dağıtımı
- JAX, Keras, PyTorch, TensorFlow ile eğitilmiş mevcut AI modelleri, Android, iOS, web ve gömülü cihazlarda yüksek performansla çalıştırılabilir
- LiteRT desteğiyle operasyonel verimlilik ve dağıtım kolaylığı sağlanır
Model dönüştürme ve görselleştirme araçları
- Modelin dönüştürme ve quantization süreçlerini görselleştiren işlevler sunar
- Performans benchmark overlay'i ile AI projelerinde hotspot debugging yapılabilir
Özel ML pipeline'ları oluşturma
- Ön işleme ve son işleme mantığı dahil olmak üzere birden fazla ML modelini zincirleyerek karmaşık işlev pipeline'ları oluşturulabilir
- GPU ve NPU tabanlı hızlandırılmış pipeline'lar, CPU tarafından engellenmeden çalıştırılabilir
Android ve Chrome'da Gemini Nano
- Google'ın en yeni cihaz üzerinde üretken yapay zeka modeli olan Gemini Nano ile Android ve Chrome gibi çeşitli ortamlara üretken yapay zeka özellikleri eklenebilir
Sonuç
- Google AI Edge, dağıtık, cihaz üzerinde AI teknolojisi dağıtımı için güçlü bir seçenektir.
- Çapraz platform uyumluluğu, çeşitli framework desteği, geliştirici üretkenliği araçları ve en yeni üretken yapay zeka ortamıyla startup'lar ve IT geliştirici topluluğu için verimli ve güçlü bir AI benimseme deneyimi sunar.
1 yorum
Hacker News yorumları
Benim görüşüm şu:
tensorflow liteilemediapipekombinasyonu bir zamanlar harikaydı ama son 3 yıldır Google tarafından neredeyse kaderine terk edilmiş gibi hissettiriyor. Mediapipe anlamlı güncellemeleri neredeyse hiç almadı ve yaygın kullanılan modellerin çoğu ya eski ya da yavaş. TF Lite, Apple ANU gibi NPU desteği sunmuştu ama mediapipe tarafında bunun hiç desteği yoktu. Ayrıca MLKit, Firebase ML, TF lite, LiteRT gibi markalar da fazlasıyla birbirine karışmıştı. Şu andahugging face transformersya datransformers.jskütüphanesiyle birlikteonnxruntimekullanmanın veyaexecutorcholgunlaşana kadar beklemenin daha iyi bir seçenek olduğunu düşünüyorum. Resmî olaraktensorflow lite/liteRT'ye port edilmiş güncel SOTA modelleri (SAM2, EfficientSAM, EdgeSAM, DFINE, DEIM, Whisper, Lite-Whisper, Kokoro, DepthAnythingV2 vb.) neredeyse hiç görmedim; ekosistem temelde heppytorchodaklı ama ONNX ve MLX toplulukları hâlâ büyükhttps://github.com/google-ai-edge/gallery adresinde, doğrudan cihaz üzerinde çalışan ML/GenAI kullanım örneklerini bir araya getiren galeriyi görebilirsiniz. Burada modelleri doğrudan yerelde deneyebilir veya kullanabilirsiniz
Cihaz üstü ML için çözümlerin artmasını başlı başına olumlu buluyorum. Yine de, kullandığım belirli bir kullanım senaryosuna uymadıkça buna hemen yöneleceğimden emin değilim. Rastgele giriş ve çıkış alan yeni bir modeli eklemenin zorluk seviyesini tahmin etmek de zor. Cihazlar arası model çıkarımı için
Onnxkullanıyordum;Onnxgerçekten çok düşük seviyeli olduğu için istediğiniz herhangi bir ağırlığı uygulayabiliyorsunuz. Birçok iştetransformers.js,Onnx'i sararak çözüm sunabiliyor; böylece decoding gibi tekrarlı işleri atlayabiliyorsunuz (örneğin beam search'ü kendiniz yazmanız gerekmiyor). Yukarıda bahsedilen kılavuza benzer ama daha kapsamlı kaynak https://github.com/huggingface/transformers.js-examples. Sözünü ettiğim çeşitli çözümlere https://ai.google.dev/edge/mediapipe/solutions/guide adresinden bakabilirsinizBu, TensorFlow Lite + MediaPipe'ın yeni bir “marka” ile yeniden paketlenmiş hâli
Bu çözümü kullanmış olan var mı merak ediyorum. Ben özel bir
pytorchmodelinicoreml'e aktarmaya çalışırken epey zaman kaybettim; desteklenmeyen çok şey vardı, segfault verip sürekli çöküyordu ve türlü basit hatalarla uğraştırıyordu. Keşke biri bunun o kadar çetin bir süreç olmadığını güvenle söyleyebilseBunu bizzat test ettim ve bana göre esas olarak saf
pytorchmodellerini.tflitemodellere dönüştürmeye yarıyordu. Benim durumumda özel birfinbertmodeline uyguladım ve model boyutu neredeyse aynı kaldı. Quantized sürümü dönüştürdüm ama çıktı büyük ölçüde farklıydı. Belgelerin daha çok standartpytorchmodellerine, örneğintorchvision.modelsailesine göre hazırlanmış olduğunu hatırlıyorum. O yüzden o tür modeller için daha iyi olabilir. Bu arada benim denemem yaklaşık 1 yıl önceydi; belki de bu sayede büyük bir bug düzeltmesi öncesine denk gelip şans eseri bazı sorunlardan kaçmışımdırAyrıntılı bilgi burada var: https://ai.google.dev/edge/mediapipe/solutions/guide ayrıca açık kaynak bağlantısı da https://github.com/google-ai-edge/mediapipe. Bana göre bu, gerçekten cihazda (edge) çalışan yapay zeka modellerini dağıtmak için birleşik bir yöntem. Bir bakıma “AI yığınındaki JavaScript” gibi bir konumu var denebilir. Bu teknolojinin hedef kullanıcısının kim olduğunu merak ediyorum
mediapipe'ın bazı modelleri gayet işe yarıyor ama mediapipe'ın kendisi 2019 civarından beri var olan eski bir teknoloji. Her zaman yapay zekayı edge üzerinde çalıştırmaya, özellikle de vision AI'a (ör. yüz takibi) odaklanmıştı. Yüz takibi gibi şeyler hâlâ faydalı ama görüntü tanıma gibi alanlarda dünya epey değişti
Hedef kitlenin, ML modellerini cross-platform şekilde dağıtmak isteyenler olduğunu düşünüyorum. Özellikle de yalnızca TFLite runtime ile çözülemeyen ek kodların desteklenmesi gerektiğinde. LLM ya da computer vision gibi kullanım senaryoları uygun. Örneğin bir el hareketi tanıyıcı dağıtacaksanız şu karmaşık süreci yönetmeniz gerekir: giriş görüntüsünü belirli bir color space ve boyuta göre ön işleme, görüntüyü GPU'ya kopyalama, el tespiti için TFLite modelini çalıştırma, çıktıyı yeniden boyutlandırma, hareket tanıma için TFLite modelini çalıştırma ve sonucu geçerli çıktıya dönüştürmek için son işleme. Bunu hem iOS hem Android'e dağıtmak istiyorsanız, salt TFLite çalıştırmanın ötesinde çok büyük miktarda yardımcı kod gerekir. Google'ın Mediapipe'ta seçtiği yaklaşım, bu tür ardışık işlem hatlarını ve ortak işleme düğümlerini C++ kütüphanesi olarak paketleyip yalnızca gerekli parçaları seçip kullanmak. Bu kütüphane cross-platform derlenebiliyor ve GPU hızlandırma seçenekleri de sunuyor. Google içinde muhtemelen bunun gibi özellikleri TFLite runtime'a mı eklemeleri yoksa Mediapipe gibi ayrı bir kütüphane mi oluşturmaları gerektiği tartışılmıştır. Sonuçta yönelim, TFLite'ı “tensor hesaplama” işine odaklı tutup LLM ya da görüntü işleme gibi daha geniş kapsamlı işleri ayrı bir kütüphaneye devretmek olmuş gibi görünüyor
Bunun yeni bir ürün mü, yoksa mevcut MediaPipe teknolojilerini tek bir anlatıda bir araya getiren bir pazarlama sayfası mı olduğunu merak ediyorum. İlk başta epey heyecanlanmıştım ama “Google AI Edge”in tam olarak ne olduğu kafamı karıştırdı. Sonra bakınca, yaklaşık 2 yıl önce duyurulan https://developers.googleblog.com/en/introducing-mediapipe-solutions-for-on-device-machine-learning/ şeyin yeniden markalanmış hâli gibi görünüyor
CoreML ya da TimyML gibi framework'lerin sunduklarına kıyasla birkaç yıl geriden gelen bir çözüm. Ayrıca Google önce, sırf bir sonraki çeyrek bilançosu uğruna ürünü hemen rafa kaldırmayacağını göstermeli
Aslında bu doğru değil. İki ürün tamamen farklı. CoreML, Apple ekosistemiyle sınırlı olmakla birlikte
PyTorchmodelleriniCoreML(.mlmodel) biçimine dönüştürüp iOS/Mac hızlandırıcılarıyla çalıştırabiliyor. Google Mediapipe ise cross-platform (ios/android/web) ML akışlarını çalıştıran devasa bir C++ kütüphanesi. İçinde Tensorflow Lite'ı (artık LiteRT) da barındırıyor ve görüntü yeniden boyutlandırma gibi genel ön işleme işleri için de grafik işlemcisi görevi görebiliyor. Google'ın ürünleri erken kapattığına dair bir meme var ama Mediapipe açık kaynak, en azından bunun hakkını vermek gerekir. Ben Mediapipe fork'u ile iOS/Android computer vision ürünü geliştirdim; çok karmaşıktı ama iyi çalışıyordu. CoreML ile asla yapılamayacak türden bir cross-platform çözümdüTensorFlow Lite son yıllarda milyarlarca cihazda kendini kanıtladı. Bu çözüm bence Mediapipe'ı bununla birleştirip yeniden markalama/genişletme işi. Google'ın cihaz üstü ML'e ciddi yatırım yapması 5 yılı geçti; bunu aniden öldüreceklerini sanmıyorum. Yine de adı sık sık değiştirmeleri gerçekten kafa karıştırıyor
Generative AI tarafı Apple ekosisteminde yok gibi durmuyor mu? Google'ın yaptığına benzer bir şey olursa çok büyük değişim olur diye düşünüyorum. Kişisel olarak sohbet özellikleri çok faydalı görünüyor. Bir de Swift Assist ne zaman çıkacak diye düşünmeden edemiyorum
Bu sadece yeniden markalanmış
tensorflow lite. Ben bunu 2019'dan beri edge device üzerinde kullanıyorum. CoreML de harikaCoreML, Apple'ın TensorFlow'u görüp işbirliği yapmak yerine benzer işlevleri kendisinin üretmesiyle ortaya çıktı. TF, CoreML duyurulduğunda zaten yaklaşık 2 yıldır vardı ve başarılı bir framework'tü. Bugün bile CoreML esasen proprietary bir BLAS arayüzünden öteye gitmiyor ve sektörde geniş çapta kullanılmıyor. iOS geliştiricisinin bakış açısı bazen ürkütücü olabiliyor
Bu tür işler WebLLM ile de yapılabilir