Uygulamanız için doğru yapay zeka/makine öğrenimi çözümünü bulma

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 olanı seçmenize yardımcı olacak bilgiler sunar. Bu belgenin 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.

İhtiyaçlarınıza en uygun yapay zeka/makine öğrenimi çözümünü seçmenize yardımcı olmak için bu belgede bir çözüm kılavuzu yer almaktadır. Projenizin hedefleri ve kısıtlamalarıyla ilgili bir dizi soruyu yanıtlayarak rehberin sizi en uygun araçlara ve teknolojilere yönlendirmesini sağlayabilirsiniz.

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 özetlemeden uzmanlık bilgisi gerektiren karmaşık görevlere kadar) ve veri boyutu (kısa girişler ile büyük belgeler) gibi faktörleri göz önünde bulundurun. Bu bilgiler, cihazınızda Gemini Nano'yu mu yoksa Firebase'in bulut tabanlı yapay zekasını (Gemini Flash, Gemini Pro veya Imagen) mı kullanacağınıza karar vermenize yardımcı olur.

Üretken yapay zeka kullanım alanları için karar akış şeması. Kriterler arasında Modality (Metin, resim ve ses, video, resim üretimi), Complexity (Özetleme, yeniden yazma ve alan bilgisi) ve Context Window (Kısa giriş/çıkış ve kapsamlı belgeler/medya) yer alır. Bu kriterler, On-device GenAI (Gemini Nano) veya Firebase AI Logic (Gemini Flash, Pro, Imagen) ile sonuçlanır.
Şekil 1: Bu görsel, Android uygulamanız için doğru yapay zeka/makine öğrenimi çözümünü bulmanıza yardımcı olacak üst düzey bir çözüm kılavuzunu temsil etmektedir. Yapay zeka ve makine öğrenimi seçeneklerinizin daha ayrıntılı bir dökümü için bu belgenin ilerleyen bölümlerinde yer alan çözüm kılavuzuna bakın.

Cihaz üzerinde çıkarımın gücünden yararlanma

Android uygulamanıza yapay zeka ve makine öğrenimi özellikleri eklerken bunları cihazda veya bulutu kullanarak sunmak üzere farklı yöntemler seçebilirsiniz.

Gemini Nano gibi cihaz üzerinde çözümler, ek maliyet olmadan sonuç verir, gelişmiş kullanıcı gizliliği sağlar ve giriş verileri yerel olarak işlendiği için güvenilir çevrimdışı işlevsellik sunar. Bu avantajlar, ileti özetleme gibi belirli kullanım alanları için kritik öneme sahip olabilir. Bu nedenle, doğru çözümleri seçerken cihaz üzerinde işlemeyi önceliklendirmek gerekir.

Gemini Nano, çıkarımı doğrudan Android destekli bir cihazda çalıştırmanıza olanak tanır. Metin, resim veya sesle çalışıyorsanız hazır çözümler için ML Kit'in GenAI API'lerini kullanmaya başlayın. Makine Öğrenimi Kiti GenAI API'leri, Gemini Nano tarafından desteklenir ve belirli cihaz üzerindeki görevler için ince ayar yapılmıştır. ML Kit GenAI API'leri, üst düzey arayüzleri ve ölçeklenebilirlikleri sayesinde uygulamalarınız için ideal bir üretim yoludur. Bu API'ler, metinleri özetleme, yazım denetimi yapma ve yeniden yazma, resim açıklamaları oluşturma ve konuşma tanıma gibi kullanım alanlarını uygulamanıza olanak tanır.

ML Kit GenAI API'lerinin sunduğu temel kullanım alanlarının ötesine geçmek için Gemini Nano deneysel erişimini kullanabilirsiniz. Gemini Nano Deneysel Erişimi, Gemini Nano ile özel istemlere daha doğrudan erişmenizi 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 dağıtım özellikleri gibi güçlü araçlar sunuyoruz.

Son derece uzmanlaşmış çözümler gerektiren uygulamalar için Gemma gibi kendi özel modelinizi veya belirli kullanım alanınıza göre uyarlanmış başka bir modeli kullanabilirsiniz. LiteRT ile modelinizi doğrudan kullanıcının cihazında çalıştırın. LiteRT, optimize edilmiş performans için önceden tasarlanmış model mimarileri sağlar.

Ayrıca, 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 modelleri içeren bulut tabanlı bir çözüm gerekebilir.

Gelişmiş Gemini modellerini entegre etme

Android geliştiriciler, Firebase AI Logic SDK'yı kullanarak güçlü Gemini Pro, Gemini Flash ve Imagen modelleri de dahil olmak üzere Google'ın 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 formatlı yapay zeka modellerine erişimi etkinleştirerek genişletilmiş özellikler ve uyarlanabilirlik sağlar.

Firebase AI Logic SDK'sı sayesinde geliştiriciler, Google'ın yapay zeka modellerine minimum çabayla istemci tarafı çağrıları yapabilir. Gemini Pro ve Gemini Flash gibi bu modeller, çıkarımı bulutta çalıştırır ve Android uygulamalarının görüntü, ses, video ve metin dahil olmak üzere çeşitli girişleri işlemesini sağlar. Gemini Pro, karmaşık sorunlar üzerinde akıl yürütme ve kapsamlı verileri analiz etme konusunda üstün performans gösterirken Gemini Flash serisi, üstün hız ve çoğu görev için yeterli büyüklükte bir bağlam penceresi sunar.

Geleneksel makine öğrenimi ne zaman kullanılır?

Üretken yapay zeka, metin, resim ve kod gibi içeriklerin oluşturulması ve düzenlenmesi için faydalı olsa da gerçek dünyadaki birçok sorun geleneksel makine öğrenimi (ML) teknikleriyle daha iyi çözülür. Bu yerleşik yöntemler, mevcut verilerdeki kalıpları tahmin etme, sınıflandırma, tespit etme ve anlama gibi görevlerde genellikle daha yüksek verimlilik, daha düşük hesaplama maliyeti ve üretken modellere kıyasla daha basit bir uygulama ile öne çıkar.

Geleneksel makine öğrenimi çerçeveleri, tamamen yeni çıkışlar oluşturmak yerine girişi analiz etmeye, özellikleri tanımlamaya veya öğrenilen kalıplara göre tahminler yapmaya odaklanan uygulamalar için sağlam, optimize edilmiş ve genellikle daha pratik çözümler sunar. Google'ın ML Kit, LiteRT ve MediaPipe gibi araçları, özellikle mobil ve uç bilişim ortamlarında bu üretken olmayan kullanım alanlarına yönelik güçlü özellikler sunar.

ML Kit ile makine öğrenimi entegrasyonunuza hızlı bir başlangıç yapın

ML Kit, yayına hazır ve mobil cihazlar için optimize edilmiş çözümler sunarak makine öğrenimiyle ilgili yaygın görevleri önceden makine öğrenimi uzmanlığı gerektirmeden gerçekleştirmenizi sağlar. Bu kullanımı kolay mobil SDK, Google'ın makine öğrenimi uzmanlığını doğrudan Android ve iOS uygulamalarınıza getirerek model eğitimi ve optimizasyonu yerine özellik geliştirmeye odaklanmanızı sağlar. ML Kit; barkod tarama, 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 sunar.

Bu modeller genellikle cihaz üzerinde yürütme 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. Modelleri eğitmenize veya üretken çıktıya ihtiyaç duymadan 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 modelleri dağıtarak uygulamaları "akıllı" özelliklerle verimli bir şekilde geliştirmek için idealdir.

ML Kit geliştirici sitesindeki kapsamlı kılavuzlarımız ve belgelerimizle başlayın.

LiteRT ile özel ML dağıtımı

Daha fazla kontrol için veya kendi makine öğrenimi modellerinizi dağıtmak üzere LiteRT ve Google Play Hizmetleri üzerine kurulu özel bir makine öğrenimi yığını kullanın. Bu yığın, yüksek performanslı makine öğrenimi özelliklerini dağıtmak için gereken temel bilgileri sağlar. LiteRT, TensorFlow modellerini kaynak kısıtlamalı mobil, yerleşik ve uç cihazlarda verimli bir şekilde çalıştırmak için optimize edilmiş bir araç setidir. Bu sayede daha az bellek, güç ve depolama alanı tüketen, önemli ölçüde daha küçük ve daha hızlı modeller çalıştırabilirsiniz. LiteRT çalışma zamanı, uç cihazlardaki çeşitli donanım hızlandırıcılar (GPU'lar, DSP'ler, NPU'lar) için son derece 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) sınırlı işlem gücüne ya da pil ömrüne sahip cihazlara (ör. akıllı telefonlar, IoT cihazları veya mikro denetleyiciler) verimli bir şekilde dağıtmanız gerektiğinde LiteRT'yi seçin. Hız ve kaynak tasarrufunun öncelikli olduğu uçta özel veya standart tahmini modelleri dağıtmak için tercih edilen çözümdür.

LiteRT ile ML dağıtımı hakkında daha fazla bilgi edinin.

MediaPipe ile uygulamalarınıza gerçek zamanlı algı özelliği ekleme

MediaPipe, canlı ve akış medyası için tasarlanmış açık kaynaklı, platformlar arası ve özelleştirilebilir makine öğrenimi çözümleri sunar. El takibi, pozisyon tahmini, yüz ağı 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ı ve anlık etkileşim sağlar.

MediaPipe'ın grafiğe dayalı işlem hatları son derece özelleştirilebilir. Bu sayede Android, iOS, web, masaüstü ve arka uç uygulamaları için çözümler oluşturabilirsiniz. Uygulamanızın canlı sensör verilerini (özellikle video akışlarını) anında anlaması ve bunlara anında tepki vermesi gerektiğinde MediaPipe'ı seçin. Bu, girişleri analiz etmeye ve yorumlamaya odaklanan; hareket tanıma, AR efektleri, fitness takibi veya avatar kontrolü gibi kullanım alanları için geçerlidir.

Çözümleri keşfedin ve MediaPipe ile geliştirmeye başlayın.

Yaklaşım seçin: Cihazda veya bulutta

Android uygulamanıza yapay zeka/makine öğrenimi özellikleri entegre ederken önemli bir erken karar, işlemenin 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 özellikler sunarken Firebase AI Logic ile Gemini Cloud API'leri güçlü bulut tabanlı işleme sağlayabilir. 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ı verirken aşağıdaki noktaları göz önünde bulundurun:

  • Bağlantı ve çevrimdışı işlevsellik: 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 tutarak belirgin bir avantaj sunar.
  • Model yetenekleri ve görev karmaşıklığı: Bulut tabanlı modeller genellikle çok daha büyük, daha güçlü ve daha sık güncellenir. Bu nedenle, son derece karmaşık yapay zeka görevleri için veya daha yüksek çıkış kalitesi ve kapsamlı yeteneklerin öncelikli olduğu daha büyük girişlerin işlenmesi için uygundur. Daha basit görevler cihaz üzerinde modellerle iyi bir şekilde işlenebilir.
  • Maliyetle ilgili hususlar: Cloud API'leri genellikle kullanıma dayalı fiyatlandırma içerir. Bu nedenle, maliyetler çıkarım sayısı veya işlenen veri miktarıyla birlikte artabilir. Cihaz üzerinde çıkarım, genellikle doğrudan kullanım başına ücret alınmasa da geliştirme maliyetlerine neden olur ve pil ömrü ile genel performans gibi cihaz kaynaklarını etkileyebilir.
  • Cihaz kaynakları: Cihaz üzerinde modeller, kullanıcının cihazında depolama alanı tüketir. Hedef kitlenizin özellikleri kullanabilmesi için Gemini Nano gibi belirli cihaz modellerinin cihaz uyumluluğuna dikkat etmeniz de önemlidir.
  • İnce ayar ve özelleştirme: Modelleri özel kullanım alanınıza göre ince ayarlama özelliği istiyorsanız bulut tabanlı çözümler genellikle daha fazla esneklik ve daha kapsamlı özelleştirme seçenekleri sunar.
  • Platformlar arası tutarlılık: iOS dahil olmak üzere birden fazla platformda tutarlı yapay zeka özellikleri kullanmak sizin için önemliyse Gemini Nano gibi bazı cihaz üzerinde çözümlerin henüz tüm işletim sistemlerinde kullanılamayabileceğini unutmayın.

Kullanım alanınızla ilgili gereksinimleri 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 kılavuzu, yapay zeka/makine öğrenimi teknolojilerini Android projelerinize 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 (metni özetleme, düzeltme ya da yeniden yazma) 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 analiz ediyor musunuz?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 göre tahminler yapmanız gerekir.

Hangi görevi yapıyorsunuz?

  • A) Önceden oluşturulmuş, yaygın mobil makine öğrenimi özelliklerinin hızlı bir şekilde entegre edilmesi mi gerekiyor? (ör. barkod tarama, metin tanıma (OCR), yüz algılama, resim etiketleme, nesne algılama ve izleme, dil tanımlama, temel akıllı yanıt)
    • → Kullanım: ML Kit (Geleneksel API'ler)
    • Nedeni: Yerleşik mobil makine öğrenimi görevleri için en kolay entegrasyon. Genellikle cihaz üzerinde kullanım için optimize edilir (düşük gecikme, çevrimdışı, gizlilik).
  • B) Algılama görevleri için anlık akış verilerinin (ör. video veya ses) işlenmesi mi gerekiyor? (ör. el izleme, poz tahmini, yüz ağı, videoda gerçek zamanlı nesne algılama ve segmentasyon)
    • → Kullanım: MediaPipe
    • Neden: Çeşitli platformlarda yüksek performanslı, gerçek zamanlı algılama işlem hatları için özel olarak tasarlanmış bir çerçevedir.
  • C) Performansa ve düşük kaynak kullanımına öncelik vererek cihazda kendi özel olarak eğitilmiş makine öğrenimi modelinizi (ör. sınıflandırma, regresyon, algılama için) verimli bir şekilde çalıştırmanız mı gerekiyor?
    • → Kullanım: LiteRT (TensorFlow Lite Runtime)
    • Nedeni: Özel modellerin mobil ve uç cihazlara verimli bir şekilde dağıtılması 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 mi gerekiyor?
    • → Kullanım: LiteRT (TensorFlow Lite Runtime) + özel model eğitimi
    • Nedeni: Mobil ve Edge cihazlar için optimize edilmiş özel modelleri eğitmek ve dağıtmak üzere araçlar sağlar.
  • E) Gelişmiş içerik sınıflandırma, duygu analizi veya çok sayıda dilin ayrıntılı çevirisi mi gerekiyor?
    • Geleneksel makine öğrenimi modellerinin (LiteRT veya bulut kullanılarak dağıtılabilir) uygun olup olmadığını ya da gelişmiş NLU için üretken modellerin gerekip gerekmediğini değerlendirin (Başlangıç'a dönün ve A'yı seçin). Bulut tabanlı sınıflandırma, duygu analizi veya çeviri için:
    • → Kullanım: Bulut tabanlı çözümler (ör. Google Cloud Natural Language API, Google Cloud Translation API, (özel bir arka uç veya Vertex AI kullanılarak erişilmiş olabilir). (Çevrimdışı veya gizlilik önemliyse cihazdaki seçeneklerden daha düşük önceliklidir.)
    • Neden: Bulut çözümleri güçlü modeller ve kapsamlı dil desteği sunar ancak bağlantı gerektirir ve maliyetli olabilir.

Üretken yapay zeka

Yeni içerik oluşturmanız, özetlemeniz, yeniden yazmanız veya karmaşık anlama ya da etkileşim görevleri gerçekleştirmeniz gerekiyor.

Yapay zekanın çevrimdışı çalışmasını mı istiyorsunuz, veri gizliliğini en üst düzeye çıkarmak (kullanıcı verilerini cihazda tutmak) mı istiyorsunuz veya bulut çıkarımı maliyetlerinden kaçınmak mı istiyorsunuz?

  • A) Evet, çevrimdışı, maksimum gizlilik veya bulut maliyeti olmaması çok önemlidir.
  • B) Hayır, bağlantı kullanılabilir ve kabul edilebilir, bulut özellikleri ve ölçeklenebilirlik daha önemlidir veya belirli özellikler bulut gerektirir.

Cihaz üzerinde üretken yapay zeka (Gemini Nano'yu kullanma)

Uyarılar: Uyumlu Android cihazlar gerekir, iOS desteği sınırlıdır, belirli jeton sınırları (1024 istem, 4096 bağlam) vardır, modeller bulut benzerlerinden daha az güçlüdür.

Kullanım alanınız, ML Kit GenAI API'lerinin sunduğu özellikle basitleştirilmiş görevlerle eşleşiyor mu? (metni özetleme, metni düzeltme, metni yeniden yazma, resim açıklamaları oluşturma veya konuşma tanıma gerçekleştirme) VE jeton sınırları yeterli mi?

  • A) Evet:
    • → Kullanım: ML Kit GenAI API'leri (Gemini Nano destekli)
    • Neden: Cihazda belirli ve yaygın üretken görevleri entegre etmenin en kolay yolu, cihazdaki en yüksek öncelikli çözümdür.
  • B) Hayır (Belirli ML Kit üretken yapay zeka API'lerinin ötesinde daha esnek istemler veya görevler istiyorsunuz ancak yine de Nano'nun yetenekleri dahilinde cihaz üzerinde yürütme istiyorsunuz):
    • → Kullanım: Gemini Nano deneysel erişimi
    • Neden?: Nano'nun sınırlamalarına uyarak yapılandırılmış Makine Öğrenimi Kiti GenAI API'lerinin ötesindeki kullanım alanları için cihazda açık istem oluşturma özellikleri sağlar.

Cloud üretken yapay zeka

Daha güçlü modeller kullanır, bağlantı gerektirir, genellikle çıkarım maliyetleri içerir, daha geniş cihaz erişimi ve platformlar arası (Android ve iOS) daha kolay tutarlılık sunar.

Önceliğiniz nedir: Firebase'e kolay entegrasyon mu YOKSA maksimum esneklik/kontrol mü?

  • A) Daha kolay entegrasyonu, yönetilen bir API deneyimini tercih ediyor ve Firebase'i kullanıyor musunuz?
  • B) Maksimum esneklik, en geniş model yelpazesine (üçüncü taraf/özel olanlar dahil) erişim ve gelişmiş ince ayar istiyor, kendi arka uç entegrasyonunuzu (daha karmaşık) yönetmeye istekli misiniz?
    • → Kullanım: Özel bir Cloud arka ucuyla Gemini API (Google Cloud Platform kullanılarak)
    • Nedeni: En fazla kontrolü, en geniş model erişimini ve özel eğitim seçeneklerini sunar ancak önemli bir 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) Genel metin oluşturma, özetleme veya hızın önemli olduğu sohbet uygulamaları için uygun olan, performans ve maliyet dengesine mi ihtiyacınız var?
  • B) Karmaşık metin oluşturma, akıl yürütme, ileri düzey doğal dil anlama veya talimatları takip etme için daha yüksek kalite ve kapasiteye mi ihtiyacınız var?
  • C) Metin istemlerine dayalı olarak gelişmiş görüntü üretme veya gelişmiş görüntü anlama ya da manipülasyon özelliklerine mi ihtiyacınız var?