Bu kılavuz, Google'ın üretken yapay zeka ve makine öğrenimi (AI/ML) çözümlerini uygulamalarınıza entegre etmenize yardımcı olmak için tasarlanmıştır. Bu kılavuz, mevcut çeşitli yapay zeka ve makine öğrenimi çözümleri arasında gezinmenize ve ihtiyaçlarınıza en uygun çözümü seçmenize yardımcı olacak yol gösterici bilgiler sunar. Bu dokümanın amacı, ihtiyaçlarınıza ve kullanım alanlarınıza odaklanarak hangi aracı kullanacağınızı ve neden kullanacağınızı belirlemenize yardımcı olmaktır.
Belirli ihtiyaçlarınıza en uygun yapay zeka/makine öğrenimi çözümünü seçmenize yardımcı olmak için bu dokümanda bir çözüm rehberi yer almaktadır. Bu kılavuz, projenizin hedefleri ve kısıtlamaları hakkında bir dizi soruyu yanıtlayarak sizi en uygun araçlara ve teknolojilere yönlendirir.
Bu kılavuz, uygulamanız için en iyi yapay zeka çözümünü seçmenize yardımcı olur. Veri türü (metin, resim, ses, video), görevin karmaşıklığı (basit özetleme ile uzmanlık bilgisi gerektiren karmaşık görevler) ve veri boyutu (kısa girişler ve büyük dokümanlar) gibi faktörleri göz önünde bulundurun. Bu, cihazınızda Gemini Nano'yu mu yoksa Firebase'ın bulut tabanlı yapay zekasını (Gemini Flash, Gemini Pro veya Imagen) mı kullanacağınıza karar vermenize yardımcı olur.
Cihaz üzerinde çıkarım yapmanın gücünden yararlanma
Android uygulamanıza yapay zeka ve makine öğrenimi özellikleri eklerken bunları cihazda veya bulutu kullanarak sunmanın farklı yollarını seçebilirsiniz.
Gemini Nano gibi cihaz üzerinde çalışan çözümler, ek maliyet olmadan sonuç verir, giriş verileri yerel olarak işlendiği için gelişmiş kullanıcı gizliliği sağlar ve güvenilir çevrimdışı işlevler sunar. Bu avantajlar, mesaj özetleme gibi belirli kullanım alanları için kritik olabilir. Bu da doğru çözümleri seçerken cihaz üzerinde çözümleri öncelikli hale getirir.
Gemini Nano, çıkarım işlemini doğrudan Android destekli bir cihazda çalıştırmanıza olanak tanır. Metin veya resimlerle çalışıyorsanız hazır çözümler için ML Kit'in GenAI API'lerini kullanmaya başlayın. ML Kit Üretken Yapay Zeka API'leri, Gemini Nano tarafından desteklenir ve belirli cihaz üzerindeki görevler için hassas ayarlanır. ML Kit üretken yapay zeka API'leri, daha üst düzey arayüzü ve ölçeklenebilirliği sayesinde uygulamalarınızın üretime geçmesi için ideal bir yoldur. Bu API'ler, metni özetleme, gözden geçirme ve yeniden yazma ile resim açıklamaları oluşturma kullanım alanlarını uygulamanıza olanak tanır.
ML Kit GenAI API'leri tarafından sağlanan temel kullanım alanlarından daha fazlasını keşfetmek için Gemini Nano Deneysel Erişim'i kullanabilirsiniz. Gemini Nano Deneysel Erişim, Gemini Nano ile özel istemlere daha doğrudan erişim sağlar.
Geleneksel makine öğrenimi görevleri için kendi özel modellerinizi uygulama esnekliğine sahipsiniz. Geliştirme sürecinizi kolaylaştırmak için ML Kit, MediaPipe, LiteRT ve Google Play yayınlama özellikleri gibi güçlü araçlar sunuyoruz.
Yüksek düzeyde uzmanlaşmış çözümler gerektiren uygulamalar için Gemma gibi kendi özel modelinizi veya belirli kullanım alanınıza göre özelleştirilmiş başka bir modeli kullanabilirsiniz. Optimize performans için önceden tasarlanmış model mimarileri sunan LiteRT ile modelinizi doğrudan kullanıcının cihazında çalıştırın.
Hem cihaz üzerinde hem de bulut modellerinden yararlanarak karma bir çözüm oluşturmayı da düşünebilirsiniz.
Mobil uygulamalar genellikle sohbet görüşmeleri veya blog makaleleri gibi küçük metin verileri için yerel modelleri kullanır. Ancak daha büyük veri kaynakları (ör. PDF'ler) için veya ek bilgi gerektiğinde daha güçlü Gemini modellerinin kullanıldığı bulut tabanlı bir çözüm gerekebilir.
Gelişmiş Gemini modellerini entegre etme
Android geliştiriciler, Firebase AI Logic SDK'sını kullanarak Google'ın güçlü Gemini Pro, Gemini Flash ve Imagen modelleri gibi gelişmiş üretken yapay zeka özelliklerini uygulamalarına entegre edebilir. Bu SDK, daha büyük veri ihtiyaçları için tasarlanmıştır ve bu yüksek performanslı, çok modlu yapay zeka modellerine erişimi sağlayarak daha fazla özellik ve uyarlanabilirlik sunar.
Firebase AI Logic SDK'sı sayesinde geliştiriciler, Google'ın yapay zeka modellerine minimum çabayla istemci tarafında çağrı gönderebilir. Gemini Pro ve Gemini Flash gibi bu modeller, çıkarım işlemini bulutta gerçekleştirir ve Android uygulamalarının resim, ses, video ve metin gibi çeşitli girişleri işlemesine olanak tanır. Gemini Pro, karmaşık sorunları mantık yürüterek çözme ve geniş verileri analiz etme konusunda mükemmeldir. Gemini Flash serisi ise üstün hız ve çoğu görev için yeterince büyük bir bağlam penceresi sunar.
Geleneksel makine öğrenimi ne zaman kullanılır?
Üretken yapay zeka, metin, resim ve kod gibi içerikleri oluşturmak ve düzenlemek için yararlı olsa da gerçek dünyadaki birçok sorun, geleneksel makine öğrenimi (ML) teknikleri kullanılarak daha iyi çözülebilir. Bu yerleşik yöntemler, mevcut verilerdeki kalıpları tahmin etme, sınıflandırma, algılama ve anlama ile ilgili görevlerde genellikle üretken modellere kıyasla daha yüksek verimlilik, daha düşük hesaplama maliyeti ve daha basit uygulama sunar.
Geleneksel makine öğrenimi çerçeveleri, tamamen yeni bir çıktı oluşturmak yerine girişleri analiz etmeye, özellikleri tanımlamaya veya öğrenilen kalıplara dayalı tahminler yapmaya odaklanan uygulamalar için güçlü, optimize edilmiş ve genellikle daha pratik çözümler sunar. Google'ın ML Kit, LiteRT ve MediaPipe gibi araçları, özellikle mobil ve uçtan uca bilgi işlem ortamlarında bu üretken olmayan kullanım alanlarına özel olarak tasarlanmış güçlü özellikler sunar.
ML Kit ile makine öğrenimi entegrasyonunuzu başlatma
ML Kit, yaygın makine öğrenimi görevleri için üretime hazır, mobil cihazlara optimize edilmiş çözümler sunar. Bu çözümler için önceden makine öğrenimi uzmanlığı gerekmez. Kullanımı kolay bu mobil SDK, Google'ın makine öğrenimi uzmanlığını doğrudan Android ve iOS uygulamalarınıza getirerek model eğitimi ve optimizasyon yerine özellik geliştirmeye odaklanmanızı sağlar. ML Kit; barkod taraması, metin tanıma (OCR), yüz algılama, görüntü etiketleme, nesne algılama ve izleme, dil tanımlama ve akıllı yanıt gibi özellikler için önceden oluşturulmuş API'ler ve kullanıma hazır modeller sağlar.
Bu modeller genellikle cihaz üzerinde çalıştırma için optimize edilir. Bu sayede, veriler genellikle cihazda kaldığından düşük gecikme süresi, çevrimdışı işlevsellik ve gelişmiş kullanıcı gizliliği sağlanır. Model eğitmenize veya üretken çıktı almanıza gerek kalmadan mobil uygulamanıza yerleşik makine öğrenimi özelliklerini hızlıca eklemek için ML Kit'i seçin. Google'ın optimize edilmiş modellerini kullanarak veya özel TensorFlow Lite modellerini dağıtarak uygulamaları "akıllı" özelliklerle verimli bir şekilde geliştirmek için idealdir.
ML Kit geliştirici sitesinde kapsamlı kılavuzlarımızı ve belgelerimizi inceleyerek başlayın.
LiteRT ile özel makine öğrenimi dağıtımı
Daha fazla kontrol sahibi olmak veya kendi makine öğrenimi modellerinizi dağıtmak için LiteRT ve Google Play Hizmetleri'ne dayalı özel bir makine öğrenimi paketi kullanın. Bu paket, yüksek performanslı makine öğrenimi özelliklerini dağıtmak için gereken temel bilgileri sağlar. LiteRT, kaynak kısıtlamaları olan mobil, yerleşik ve uç cihazlarda TensorFlow modellerini verimli bir şekilde çalıştırmak için optimize edilmiş bir araç setidir. Bu araç seti, daha az bellek, güç ve depolama alanı kullanan önemli ölçüde daha küçük ve daha hızlı modeller çalıştırmanıza olanak tanır. LiteRT çalışma zamanı, uç cihazlardaki çeşitli donanım hızlandırıcılar (GPU'lar, DSP'ler, NPU'lar) için yüksek oranda optimize edilmiştir ve düşük gecikmeli çıkarım sağlar.
Eğitilmiş makine öğrenimi modellerini (genellikle sınıflandırma, regresyon veya algılama için) akıllı telefonlar, IoT cihazları veya mikrodenetleyiciler gibi sınırlı bilgi işlem gücü veya pil ömrü olan cihazlara verimli bir şekilde dağıtmanız gerektiğinde LiteRT'yi seçin. Hız ve kaynak tasarrufunun önemli olduğu uçta özel veya standart tahmin modelleri dağıtmak için tercih edilen çözümdür.
LiteRT ile makine öğrenimi dağıtımı hakkında daha fazla bilgi edinin.
MediaPipe ile uygulamalarınıza gerçek zamanlı algılama özelliği ekleyin
MediaPipe, canlı ve akışlı medya için tasarlanmış açık kaynak, platformlar arası ve özelleştirilebilir makine öğrenimi çözümleri sunar. El izleme, poz tahmini, yüz örgüsü algılama ve nesne algılama gibi karmaşık görevler için optimize edilmiş, önceden oluşturulmuş araçlardan yararlanın. Bu araçlar, mobil cihazlarda bile yüksek performanslı, gerçek zamanlı etkileşim sağlar.
MediaPipe'ın grafik tabanlı ardışık düzenleri, Android, iOS, web, masaüstü ve arka uç uygulamaları için çözümler özelleştirmenize olanak tanıyan son derece özelleştirilebilirdir. Uygulamanızın, özellikle de video akışları olmak üzere canlı sensör verilerini anında anlayıp bunlara anında tepki vermesi gerektiğinde MediaPipe'i seçin. Bu kullanım alanları arasında jest tanıma, AR efektleri, fitness takibi veya avatar kontrolü gibi, hepsi de girişi analiz etmeye ve yorumlamaya odaklanan kullanım alanları yer alır.
Çözümleri keşfedin ve MediaPipe ile uygulama geliştirmeye başlayın.
Yaklaşım belirleyin: Cihaz üzerinde veya bulutta
Android uygulamanıza yapay zeka/makine öğrenimi özelliklerini entegre ederken ilk aşamada vermeniz gereken önemli bir karar, işleme işleminin doğrudan kullanıcının cihazında mı yoksa bulutta mı yapılacağıdır. ML Kit, Gemini Nano ve TensorFlow Lite gibi araçlar cihaz üzerinde işlevler sağlarken Firebase AI Logic içeren Gemini bulut API'leri güçlü bulut tabanlı işleme sunabilir. Doğru seçimi yapmak, kullanım alanınıza ve kullanıcı ihtiyaçlarınıza özgü çeşitli faktörlere bağlıdır.
Kararınızı vermeden önce aşağıdaki hususları göz önünde bulundurun:
- Bağlantı ve çevrimdışı işlevler: Uygulamanızın internet bağlantısı olmadan güvenilir bir şekilde çalışması gerekiyorsa Gemini Nano gibi cihaz üzerinde çözümler idealdir. Bulut tabanlı işleme, doğası gereği ağ erişimi gerektirir.
- Veri gizliliği: Kullanıcı verilerinin gizlilik nedeniyle cihazda kalması gereken kullanım alanlarında, cihaz üzerinde işleme, hassas bilgileri yerel olarak saklayarak belirgin bir avantaj sunar.
- Model özellikleri ve görev karmaşıklığı: Bulut tabanlı modeller genellikle çok daha büyük, daha güçlü ve daha sık güncellenir. Bu da onları son derece karmaşık yapay zeka görevleri için veya daha yüksek çıkış kalitesi ve kapsamlı özelliklerin önemli olduğu daha büyük girişler işlenirken uygun hale getirir. Daha basit görevler cihaz üzerinde modeller tarafından iyi şekilde ele alınabilir.
- Maliyet hususları: Cloud API'ler genellikle kullanıma dayalı fiyatlandırma içerir. Bu, maliyetlerin çıkarım sayısına veya işlenen veri miktarına göre ölçeklendirilebileceği anlamına gelir. Cihaz üzerinde çıkarım genellikle kullanım başına doğrudan ücret alınmasa da geliştirme maliyetleri gerektirir ve pil ömrü ve genel performans gibi cihaz kaynaklarını etkileyebilir.
- Cihaz kaynakları: Cihaz üzerinde modeller, kullanıcının cihazındaki depolama alanını tüketir. Ayrıca, hedef kitlenizin bu özellikleri kullanabilmesi için Gemini Nano gibi belirli cihaz üzerinde modellerin cihaz uyumluluğunu da göz önünde bulundurmanız önemlidir.
- İnce ayar ve özelleştirme: Belirli bir kullanım alanınız için modellerde ince ayar yapma olanağına ihtiyacınız varsa bulut tabanlı çözümler genellikle daha fazla esneklik ve özelleştirme için daha kapsamlı seçenekler sunar.
- Platformlar arası tutarlılık: iOS dahil olmak üzere birden fazla platformda tutarlı yapay zeka özellikleri kritikse Gemini Nano gibi bazı cihaz üzerinde çözümlerin henüz tüm işletim sistemlerinde kullanılamayabileceğini unutmayın.
Kullanım alanı gereksinimlerinizi ve mevcut seçenekleri dikkatlice değerlendirerek Android uygulamanızı geliştirmek ve kullanıcılarınıza akıllı ve kişiselleştirilmiş deneyimler sunmak için mükemmel yapay zeka/makine öğrenimi çözümünü bulabilirsiniz.
Yapay zeka/makine öğrenimi çözümleri rehberi
Bu çözüm rehberi, Android projelerinize yapay zeka/makine öğrenimi teknolojilerini entegre etmek için uygun geliştirici araçlarını belirlemenize yardımcı olabilir.
Yapay zeka özelliğinin birincil hedefi nedir?
- A) Yeni içerik (metin, resim açıklamaları) oluşturma veya basit metin işleme (özetleme, gözden geçirme veya metni yeniden yazma) işlemleri mi yapıyorsunuz? → Üretken yapay zeka'ya gidin.
- B) Tahmin, sınıflandırma, algılama, kalıpları anlama veya gerçek zamanlı akışları (ör. video/ses) işleme için mevcut verileri/girişleri mi analiz ediyorsunuz? → Geleneksel Makine Öğrenimi ve Algı'ya gidin.
Geleneksel makine öğrenimi ve algı
Tamamen yeni bir çıkış oluşturmak yerine girişi analiz etmeniz, özellikleri tanımlamanız veya öğrenilen kalıplara dayalı tahminler yapmanız gerekir.
Tam olarak hangi görevi gerçekleştiriyorsunuz?
- A) Önceden oluşturulmuş, yaygın mobil ML özelliklerini hızlı bir şekilde entegre etmek mi istiyorsunuz?
(ör. barkod taraması, metin tanıma (OCR), yüz algılama, görüntü etiketleme, nesne algılama ve izleme, dil kimliği, temel akıllı yanıt)
- → Kullanım: ML Kit (Geleneksel API'ler)
- Nedeni: Genellikle cihaz üzerinde kullanım için optimize edilmiş (düşük gecikme, çevrimdışı, gizlilik) yerleşik mobil makine öğrenimi görevleri için en kolay entegrasyondur.
- B) Algılama görevleri için anlık akış verilerini (ör. video veya ses) işlemek gerekiyor mu? (ör. el izleme, poz tahmini, yüz örgüsü, videoda gerçek zamanlı nesne algılama ve segmentasyon)
- → Kullanın: MediaPipe
- Nedeni: Çeşitli platformlarda yüksek performanslı, gerçek zamanlı algılama ardışık düzenleri için özelleştirilmiş bir çerçevedir.
- C) Özel olarak eğittiğiniz makine öğrenimi modelinizi (ör. sınıflandırma, regresyon, algılama) cihazda verimli bir şekilde çalıştırmanız ve performansa ve düşük kaynak kullanımına öncelik vermeniz gerekiyor mu?
- → Kullanım: LiteRT (TensorFlow Lite Çalışma Zamanı)
- Nedeni: Özel modelleri mobil ve uç cihazlarda verimli bir şekilde dağıtmak için optimize edilmiş çalışma zamanı (küçük boyut, hızlı çıkarım, donanım hızlandırma).
- D) Belirli bir görev için kendi özel makine öğrenimi modelinizi eğitmeniz gerekiyor mu?
- → Kullanın: LiteRT (TensorFlow Lite Runtime) + özel model eğitimi
- Nedeni: Mobil ve Edge cihazlar için optimize edilmiş özel modelleri eğitip dağıtmak için gereken araçları sağlar.
- E) Çok dilde gelişmiş içerik sınıflandırma, yaklaşım analizi veya çeviri mi gerekiyor?
- Geleneksel ML modellerinin (muhtemelen LiteRT veya bulut kullanılarak dağıtılan) uygun olup olmadığını veya gelişmiş NLU'nun üretken modeller gerektirip gerektirmediğini düşünün (Başlangıç'a dönün, A seçeneğini belirleyin). Bulut tabanlı sınıflandırma, duygu analizi veya çeviri için:
- → Kullanın: Bulut tabanlı çözümler (ör. Google Cloud Natural Language API, Google Cloud Translation API (özel bir arka uç veya Vertex AI kullanılarak erişilebilir). (Çevrimdışı veya gizlilik önemliyse cihaz üzerinde seçeneklere göre daha düşük öncelik).
- Nedeni: Bulut çözümleri güçlü modeller ve geniş dil desteği sunar ancak bağlantı gerektirir ve maliyetli olabilir.
Üretken yapay zeka
Yeni içerik oluşturmanız, özetleme, yeniden yazma veya karmaşık anlama ya da etkileşim görevleri gerçekleştirmeniz gerekir.
Yapay zekanın çevrimdışı çalışmasına mı ihtiyacınız var, maksimum veri gizliliğine (kullanıcı verilerinin cihazda tutulması) mi ihtiyacınız var veya bulut çıkarım maliyetlerinden kaçınmak istiyorsunuz?
- A) Evet, çevrimdışı, maksimum gizlilik veya bulut maliyeti olmaması önemlidir.
- → Cihaz üzerinde üretken yapay zeka bölümüne gidin.
- B) Hayır: Bağlantı mevcut ve kabul edilebilir, bulut özellikleri ve ölçeklenebilirlik daha önemlidir veya belirli özellikler için bulut gerekir.
- → Cloud üretken yapay zeka bölümüne gidin.
Cihaz üzerinde üretken yapay zeka (Gemini Nano kullanılarak)
Uyarılar: Uyumlu Android cihazlar, sınırlı iOS desteği, belirli jeton sınırlamaları (1024 istem, 4096 bağlam) gerektirir. Modeller, buluttaki benzerlerinden daha az güçlüdür.
Kullanım alanınız, özellikle ML Kit GenAI API'leri tarafından sunulan basitleştirilmiş görevlerle eşleşiyor mu? (Metni özetle, Metni gözden geçir, Metni yeniden yaz, Resim açıklamaları oluştur) VE jeton sınırları yeterli mi?
- A) Evet:
- → Kullanım: ML Kit GenAI API'leri (Gemini Nano tarafından desteklenir)
- Nedeni: Belirli ve yaygın üretken görevleri cihaza entegre etmenin en kolay yoludur. Cihaz üzerinde en yüksek öncelikli çözümdür.
- B) Hayır (Belirli ML Kit GenAI API'lerinin ötesinde daha esnek istemlere veya görevlere ihtiyacınız var ancak yine de Nano'nun yetenekleri dahilinde cihaz üzerinde yürütme işlemini istiyorsunuz):
- → Kullanım: Gemini Nano Deneysel Erişimi
- Nedeni: Yapılandırılmış ML Kiti GenAI API'lerinin ötesindeki kullanım alanları için cihaz üzerinde açık istem özellikleri sağlar ve Nano'nun sınırlamalarına uyar.
Bulut üretken yapay zeka
Daha güçlü modeller kullanır, bağlantı gerektirir, genellikle çıkarım maliyetleri içerir, daha geniş cihaz erişimi ve daha kolay platformlar arası (Android ve iOS) tutarlılık sunar.
Önceliğiniz nedir: Firebase'de entegrasyon kolaylığı VEYA maksimum esneklik/kontrol?
- A) Daha kolay entegrasyonu, yönetilen API deneyimini tercih ediyor ve muhtemelen Firebase kullanıyor musunuz?
- → Kullanım: Firebase AI Logic SDK → Firebase AI Logic'e gidin
- B) Maksimum esnekliğe, en geniş model yelpazesine (üçüncü taraf/özel dahil) erişime, gelişmiş ince ayarlara ihtiyacınız var ve kendi arka uç entegrasyonunuzu yönetmeye (daha karmaşık) hazır mısınız?
- → Kullanım: Özel bulut arka ucu (Google Cloud Platform'u kullanarak) ile Gemini API
- Nedeni: En fazla kontrolü, en geniş model erişimini ve özel eğitim seçeneklerini sunar ancak önemli miktarda arka uç geliştirme çalışması gerektirir. Karmaşık, büyük ölçekli veya son derece özelleştirilmiş ihtiyaçlar için uygundur.
(Firebase AI Logic SDK'sını seçtiniz) Ne tür bir üretken görev ve performans profiline ihtiyacınız var?
- A) Hızın önemli olduğu genel metin oluşturma, özetleme veya sohbet uygulamaları için uygun bir performans ve maliyet dengesi mi arıyorsunuz?
- → Kullanım: Gemini Flash ile Firebase AI Logic SDK'sı
- Nedeni: Vertex AI yönetilen ortamında hız ve verimlilik için optimize edilmiştir.
- B) Karmaşık metin oluşturma, akıl yürütme, gelişmiş NLU veya talimatlara uyma için daha yüksek kalite ve kapasiteye mi ihtiyacınız var?
- → Kullanım: Gemini Pro ile Firebase AI Logic SDK'sı
- Nedeni: Zorlu görevler için Firebase üzerinden erişilebilen daha güçlü bir metin modeli.
- C) Metin istemlerine dayalı gelişmiş görüntü oluşturma veya gelişmiş görüntü anlama ya da manipülasyona mı ihtiyacınız var?
- → Kullanım: Imagen 3 ile Firebase AI Logic SDK'sı
- Nedeni: Yönetilen Firebase ortamı kullanılarak erişilen en gelişmiş görüntü oluşturma modeli.