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 veya Gemini Pro) 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 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 özelleşmiş çö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 ve Gemini Flash 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 sunar.
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 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 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 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 tahminlerde bulunmaya 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 kolay kullanımlı 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, kaynak kısıtlaması olan mobil, yerleşik ve sınır cihazlarda TensorFlow modellerini 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ışlı medya 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 tespit etme 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, özellikle video akışları olmak üzere canlı sensör verilerini anında anlaması ve bunlara anında tepki vermesi gerektiğinde (ör. hareket tanıma, AR efektleri, fitness takibi veya avatar kontrolü gibi kullanım alanları için) MediaPipe'ı seçin. Bu kullanım alanlarının tümünde girişin analiz edilmesi ve yorumlanması amaçlanır.
Çö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 birincil yoludur ve uygulamanızın daha geniş Android yapay zeka ekosistemine katılmasını sağlar.
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 etmenizi" sağlar.
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ğine güvenilmesi gerekir. |
| Keşfedilebilirlik ve erişim | Doğrudan işletim sistemi entegrasyonu (AppFunctions), asistanların özellikleri keşfetmesine olanak tanır. | Keşif genellikle 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ık 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 yüklenir. |
| İnce ayar | Sınırlı esneklik; 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 sistem 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 belirlemeniz 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 tespit etme 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ış verilerini (ör. video veya ses) işlemek mi gerekiyor? (ör. el takibi, poz tahmini, yüz ağı, videoda gerçek zamanlı nesne tespit etme 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)
- Neden: Ö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, veri gizliliğini en üst düzeye mi çıkarmak (kullanıcı verilerini cihaz üzerinde tutmak) istiyorsunuz 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 bulut gerektirir.
- → 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 görüntü 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 GenAI 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 musunuz ve kendi arka uç entegrasyonunuzu (daha karmaşık) yönetmeye hazır mısınız?
- → Kullanım: Özel bir Cloud Backend ile 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) Performans ve maliyet arasında dengeye mi ihtiyacınız var? Bu model, hızın önemli olduğu genel metin oluşturma, özetleme veya sohbet uygulamaları için uygundur.
- → 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, ileri düzey 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.
AppFunctions
Uygulamanızın işlevselliğini geliştirerek sistemdeki yapay zeka özellikleriyle entegre etmeniz (uygulamanızı yapay zekaya dahil etmeniz) gerekir.
- → Kullanım: AppFunctions
- Neden: Asistan gibi sistem yapay zeka özelliklerinin, uygulamanızın özelliklerini keşfedip çağırmasını sağlar.