1. Başlamadan önce
Son zamanlarda makine öğrenimi alanında en heyecan verici gelişmelerden biri büyük dil modelleridir (LLM'ler). Metin oluşturmak, dilleri çevirmek ve soruları kapsamlı ve bilgilendirici bir şekilde yanıtlamak için kullanılabilirler. Google LaMDA ve PaLM gibi LLM'ler, büyük miktarda metin verisiyle eğitilir. Bu sayede kelimeler ve ifadeler arasındaki istatistiksel kalıpları ve ilişkileri öğrenirler. Bu sayede, insan tarafından yazılmış metinlere benzer metinler oluşturabilir ve dilleri yüksek doğrulukla çevirebilirler.
LLM'ler depolama açısından çok büyüktür ve genellikle çalışmak için çok fazla bilgi işlem gücü tüketir. Bu nedenle genellikle bulutta dağıtılırlar ve mobil cihazlardaki sınırlı bilgi işlem gücü nedeniyle cihaz üzerinde makine öğrenimi (ODML) için oldukça zorlayıcıdırlar. Ancak daha küçük ölçekli LLM'leri (ör. GPT-2) modern bir Android cihazda çalıştırmak ve yine de etkileyici sonuçlar elde etmek mümkündür.
Google Pixel 7 Pro'da 1,5 milyar parametreli bir Google PaLM modeli sürümünü oynatma hızını artırmadan çalıştırmanın demosunu aşağıda bulabilirsiniz.

Bu codelab'de, aşağıdakileri kullanarak LLM destekli bir uygulama (örnek model olarak GPT-2 kullanılarak) oluşturma tekniklerini ve araçlarını öğreneceksiniz:
- Önceden eğitilmiş bir büyük dil modelini yüklemek için KerasNLP
- LLM'ye ince ayar yapmak için KerasNLP
- LLM'yi Android'de dönüştürmek, optimize etmek ve dağıtmak için TensorFlow Lite
Ön koşullar
- Keras ve TensorFlow Lite hakkında orta düzeyde bilgi
- Android geliştirme hakkında temel düzeyde bilgi
Neler öğreneceksiniz?
- Önceden eğitilmiş bir büyük dil modelini yüklemek ve ince ayar yapmak için KerasNLP'yi kullanma
- Büyük bir dil modelini nicemleme ve TensorFlow Lite'a dönüştürme
- Dönüştürülmüş TensorFlow Lite modelinde çıkarım çalıştırma
İhtiyacınız olanlar
- Colab'e erişim
- Android Studio'nun en son sürümü
- 4 GB'tan fazla RAM'e sahip modern bir Android cihaz
2. Hazırlanın
Bu codelab'in kodunu indirmek için:
- Bu codelab'in GitHub deposuna gidin.
- Bu codelab'in tüm kodunu indirmek için Code > Download zip'i (Kod > Zip dosyasını indir) tıklayın.

- İndirilen ZIP dosyasını açarak ihtiyacınız olan tüm kaynakları içeren bir
exampleskök klasörü oluşturun.
3. Başlangıç uygulamasını çalıştırma
examples/lite/examples/generative_ai/androidklasörünü Android Studio'ya aktarın.- Android Emulator'ı başlatın ve gezinme menüsünde
Çalıştır'ı tıklayın.
Uygulamayı çalıştırıp keşfetme
Uygulama, Android cihazınızda başlatılmalıdır. Uygulamanın adı "Otomatik tamamlama"dır. Kullanıcı arayüzü oldukça basittir: Metin kutusuna birkaç başlangıç kelimesi yazıp Oluştur'a dokunabilirsiniz. Uygulama daha sonra bir LLM üzerinde çıkarım çalıştırır ve girişinize göre ek metin oluşturur.
Şu anda, birkaç kelime yazdıktan sonra Oluştur'a dokunduğunuzda hiçbir şey olmuyor. Bunun nedeni, henüz bir LLM çalıştırmamasıdır.

4. LLM'yi cihaz üzerinde dağıtıma hazırlama
- Colab'i açın ve TensorFlow Codelabs GitHub deposunda barındırılan not defterini inceleyin.
5. Android uygulamasını tamamlama
GPT-2 modelini TensorFlow Lite'a dönüştürdüğünüze göre artık uygulamada dağıtabilirsiniz.
Uygulamayı çalıştırma
- Son adımda indirilen
autocomplete.tflitemodel dosyasını Android Studio'dakiapp/src/main/assets/klasörüne sürükleyin.

- Gezinme menüsünde
Çalıştır'ı tıklayın ve uygulamanın yüklenmesini bekleyin. - Metin alanına birkaç başlangıç kelimesi yazıp Oluştur'a dokunun.

6. Sorumlu yapay zeka ile ilgili notlar
Orijinal OpenAI GPT-2 duyurusunda belirtildiği gibi, GPT-2 modeliyle ilgili dikkate değer uyarılar ve sınırlamalar vardır. Aslında, günümüzdeki LLM'ler genellikle halüsinasyon, saldırgan çıktı, adalet ve önyargı gibi bazı iyi bilinen zorluklara sahiptir. Bunun nedeni, bu modellerin gerçek dünya verileriyle eğitilmesi ve bu nedenle gerçek dünyadaki sorunları yansıtmasıdır.
Bu codelab yalnızca TensorFlow araçlarıyla LLM'ler tarafından desteklenen bir uygulamanın nasıl oluşturulacağını göstermek için hazırlanmıştır. Bu codelab'de üretilen model yalnızca eğitim amaçlıdır ve üretimde kullanılmak üzere tasarlanmamıştır.
LLM'lerin üretimde kullanımı, eğitim veri kümelerinin dikkatli bir şekilde seçilmesini ve kapsamlı güvenlik önlemlerini gerektirir. LLM'ler bağlamında Sorumlu Yapay Zeka hakkında daha fazla bilgi edinmek için Google I/O 2023'teki Üretken Dil Modelleriyle Güvenli ve Sorumlu Geliştirme başlıklı teknik oturumu izleyin ve Sorumlu Yapay Zeka Araç Seti'ni inceleyin.
7. Sonuç
Tebrikler! Tamamen cihaz üzerinde önceden eğitilmiş bir büyük dil modeli çalıştırarak kullanıcı girişine dayalı tutarlı metinler oluşturmak için bir uygulama geliştirdiniz.