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 sayede, 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 verebilirsiniz.
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. ML Kit GenAI API'leri, temel sistem hizmeti olarak AICore'dan yararlanan Gemini Nano tarafından desteklenir ve belirli cihaz üzerinde görevler için ince ayar yapılmıştır. ML Kit üretken yapay zeka API'leri, üst düzey arayüzleri ve ölçeklenebilirlikleri sayesinde uygulamalarınız için ideal bir üretim yoludur. Bu API'ler, hem metin hem de görüntü girişleriyle doğal dil istekleri göndermenize olanak tanır. Böylece görüntü anlama, kısa çeviriler ve rehberli özetler gibi çeşitli kullanım alanları mümkün olur.
Geleneksel makine öğrenimi görevleri için kendi özel modellerinizi uygulayabilirsiniz. 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 bulutta bulunan modellerden yararlanarak hibrit 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 modellerine sahip 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 resim, ses, video ve metin gibi ç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 birçok gerçek dünya sorunu, geleneksel makine öğrenimi (ML) teknikleri kullanılarak 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 bir çıkış oluşturmak yerine girişi analiz etmeye, özellikleri belirlemeye 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 sınır 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, yaygın makine öğrenimi görevleri için üretime hazır, mobil cihazlar için optimize edilmiş çözümler sunar ve önceden makine öğrenimi uzmanlığı gerektirmez. 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ı 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 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 kullanmaya 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ı, sınır 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ı) 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.
Uygulamanızı cihaz asistanıyla entegre etme
Geleneksel yapay zeka entegrasyonu "yapay zekayı uygulamanıza dahil etmeye" odaklanırken siz de "uygulamanızı yapay zekaya dahil edebilirsiniz". Uygulamanızın işlevlerini sisteme yapay zeka özelliklerine ekleyerek sistem düzeyindeki asistanların (ör. Gemini) uygulamanızın özelliklerini keşfetmesine ve otomatik olarak çağırmasına izin verirsiniz. AppFunctions, bu entegrasyonu sağlamanın ve uygulamanızın daha geniş Android yapay zeka ekosistemine katılmasını sağlamanın temel yoludur.
Yaklaşım belirleyin
Android uygulamanızı iyileştirmek için yapay zekayı entegre ederken üç temel yaklaşımı göz önünde bulundurmanız gerekir: cihaz üzerinde işleme gerçekleştirme, bulut tabanlı modellerden yararlanma veya uygulamanızın işlevselliğini sistem düzeyinde yapay zekaya ekleme. ML Kit, Gemini Nano ve LiteRT gibi araçlar cihaz üzerinde özellikler sunarken Firebase AI Logic ile Gemini Cloud API'leri güçlü bulut tabanlı işleme sağlar. AppFunctions, üçüncü bir yolu temsil eder. Bu yol, özelliklerini sisteme aracılı olarak sunarak "uygulamanızı yapay zekaya dahil etmenize" olanak tanır.
Yaklaşımınızı seçerken aşağıdaki faktörleri göz önünde bulundurun:
| Çarpanlara ayırma | Cihaz üzerinde çözümler | Bulut çözümleri |
|---|---|---|
| Bağlantı ve çevrimdışı işlevler | Çevrimdışı kullanım için idealdir. Ağ bağlantısı olmadan çalışır. | Uzak sunucularla iletişim kurmak için ağ bağlantısı gerekir. |
| Veri gizliliği | Hassas verileri cihazda yerel olarak işler ve depolar. | Veriler buluta iletilir ve sağlayıcı güvenliği gerektirir. |
| Keşfedilebilirlik ve erişim | Doğrudan işletim sistemi entegrasyonu (AppFunctions), asistanların özellikleri keşfetmesine olanak tanır. | Genellikle keşif, uygulamanın dahili kullanıcı arayüzü veya belirli API entegrasyonlarıyla sınırlıdır. |
| Model özellikleri | Düşük gecikme ve belirli, daha az yoğun görevler için optimize edilmiştir. | Yüksek karmaşıklığı ve büyük girişleri işleyebilen güçlü modeller. |
| Ücretlerle ilgili endişeler | Kullanım başına doğrudan ücret alınmaz. Mevcut cihaz donanımı kullanılır. | Genellikle kullanıma dayalı fiyatlandırma veya devam eden abonelik maliyetleri söz konusudur. |
| Cihaz kaynakları | Yerel depolama, RAM ve pil ömrünü kullanır. | Yerel olarak minimum etki; ağır işlemler sunucuya aktarılır. |
| İnce ayar | Esnekliği sınırlıdır. Yerel donanım özellikleriyle sınırlıdır. | Kapsamlı özelleştirme ve büyük ölçekli ayarlama için daha fazla esneklik. |
| Platformlar arası tutarlılık | Kullanılabilirlik, işletim sistemine ve donanım desteğine bağlı olarak değişebilir. | İnternet erişimi olan herhangi bir platformda tutarlı deneyim. |
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 amacı 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.
- C) Uygulamanızın işlevselliğini artırarak sistemdeki yapay zeka özellikleriyle entegre etme (Uygulamanızı yapay zekaya dahil etme)? → Uygulamanızı yapay zekaya dahil etme başlıklı makaleye 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, görüntü etiketleme, nesne algılama ve izleme, dil tanımlama, temel akıllı yanıt)
- → Kullanım: ML Kit (Geleneksel API'ler)
- Neden: 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 takibi, 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şleme 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ç cihazlarda 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ı çevirisine mi ihtiyacınız var?
- 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şilebilir). (Çevrimdışı veya gizlilik önemliyse cihaz üzerinde 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, maksimum veri gizliliğine (kullanıcı verilerini cihaz üzerinde tutma) mi ihtiyacınız var veya bulut çıkarımı maliyetlerinden kaçınmak mı istiyorsunuz?
- A) Evet, çevrimdışı, maksimum gizlilik veya bulut maliyeti olmaması çok önemlidir.
- → Cihaz üzerinde üretken yapay zeka'ya gidin.
- B) Hayır, bağlantı kullanılabilir ve kabul edilebilir, bulut özellikleri ve ölçeklenebilirlik daha önemlidir veya belirli özellikler için bulut gerekir.
- → Cloud üretken yapay zeka'ya gidin.
Cihaz üzerinde üretken yapay zeka (Gemini Nano'yu kullanma)
Uyarılar: Uyumlu Android cihazlar gerekir, iOS desteği sınırlıdır, modeller bulut muadillerinden daha az güçlüdür.
ML Kit'in Prompt API'si ile, görüntü anlama, kısa çeviriler ve rehberli özetler gibi çeşitli kullanım alanları için yalnızca metin veya metin ve resim girişleriyle doğal dil istekleri gönderebilirsiniz. Kullanım alanlarınız bu jeton sınırlarıyla karşılanabiliyorsa ML Kit GenAI API'leri, cihaz üzerinde üretken yapay zeka için en iyi seçeneğinizdir. ML Kit, özetleme ve akıllı yanıt gibi yaygın görevler için kolaylaştırılmış API'ler de sunar.
- → Kullanım: ML Kit Üretken Yapay Zeka API'leri (Gemini Nano destekli)
- Neden: Doğal dil istemlerini kullanarak cihaz üzerinde üretken yapay zeka görevlerini entegre etmenin en kolay yolu, cihaz üzerinde en yüksek öncelikli çözüm.
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 ve yönetilen bir API deneyimini tercih ediyor musunuz ve Firebase'i kullanıyor olma ihtimaliniz yüksek mi?
- → Kullanım: Firebase AI Logic SDK'sı → Firebase AI Logic'e gidin.
- 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 Backend ile Gemini API (Google Cloud Platform kullanılarak)
- Neden: 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) Hızın önemli olduğu genel metin oluşturma, özetleme veya sohbet uygulamaları için uygun olan, performans ve maliyet arasında dengeye mi ihtiyacınız var?
- → Kullanım: Gemini Flash ile Firebase AI Logic SDK
- Neden: Vertex AI tarafından yönetilen ortamda hız ve verimlilik için optimize edilmiştir.
- B) Karmaşık metin oluşturma, akıl yürütme, gelişmiş NLU veya talimatları takip etme için daha yüksek kalite ve kapasiteye mi ihtiyacınız var?
- → Kullanım: Gemini Pro ile Firebase AI Logic SDK
- Neden: Firebase üzerinden erişilen, zorlu görevler için daha güçlü metin modeli.
- C) Metin istemlerine dayalı olarak gelişmiş görüntü üretimi veya ileri düzey görüntü anlama ya da manipülasyonu mu gerekiyor?
- → Kullanım: Imagen 3 ile Firebase AI Logic SDK
- Neden: Yönetilen Firebase ortamı kullanılarak erişilen, son teknoloji görüntü oluşturma modeli.
AppFunctions
Uygulamanızı sistemdeki yapay zeka özellikleriyle entegre etmek için uygulamanızın işlevselliğini artırmanız gerekir (uygulamanızı yapay zekaya dahil etme).
- → Kullanım: AppFunctions
- Neden: Asistan gibi sistem yapay zeka özelliklerinin, uygulamanızın özelliklerini keşfedip çağırmasını sağlar.