- 7 temel kalıp, "performans artışı vs. maliyet/risk azaltma" ve "veri dostu vs kullanıcı dostu" eksenlerinde düzenleniyor
- Evals: performans ölçümü
- RAG (Retrieval-Augmented Generation): güncel, harici bilgiyi ekleme
- Fine-tuning: belirli görevleri daha iyi yerine getirmek için
- Caching: gecikme ve maliyeti azaltma
- Guardrails: çıktı kalitesini güvence altına alma
- Defensive UX: hataları öngörmek ve yönetmek için
- Kullanıcı geri bildirimi toplama: veri flywheel'ı oluşturma
Evals: performans ölçümü
- Evals, bir modelin bir görevdeki performansını değerlendirmek için kullanılan bir dizi ölçümdür
- Benchmark verileri ve metrikleri içerir
- Bir sistemin veya ürünün ne kadar iyi çalıştığını ölçebilir ve gerilemeyi tespit edebilir
- Dil modelleme alanında çok sayıda benchmark vardır: MMLU, EleutherAI Eval, HELM, AlpacaEval
- Metrikler iki kategoriye ayrılabilir: Context-dependent veya Context-free
- Yaygın kullanılan metrikler: BLEU, ROUGE, BERTScore, MoverScore
- Son dönemde öne çıkan eğilim, güçlü bir LLM'i reference-free metric olarak kullanıp diğer LLM'lerin üretimlerini değerlendirmek
- G-Eval, Vicuna makalesi, QLoRA
RAG (Retrieval-Augmented Generation): güncel, harici bilgiyi ekleme
- Foundation model dışından bilgi getirip bu verilerle girdiyi zenginleştirerek daha zengin bağlam sağlamak ve çıktıyı iyileştirmek
- RAG, modeli getirilen bağlama dayandırarak halüsinasyonları azaltmaya yardımcı olur ve doğruluğu artırır
- Ayrıca bir LLM'i sürekli ön eğitmek yerine arama indeksini güncel tutmak daha ucuzdur
- Bu maliyet verimliliği sayesinde LLM, RAG üzerinden güncel verilere erişebilir
- Önyargılı veya zararlı belgeler gibi verileri güncellemek/kaldırmak gerektiğinde, arama indeksini güncellemek daha basittir (LLM'i fine-tune etmeye kıyasla)
- RAG için önce metin embedding'lerini anlamak faydalıdır
- Metin embedding'leri, herhangi bir uzunluktaki metni sabit boyutlu sayısal vektörler olarak ifade edebilen, metin verisinin sıkıştırılmış soyut temsilleridir
- Genellikle Wikipedia gibi metin corpusu üzerinde eğitilir
- Benzer öğeler birbirine yakındır, benzer olmayanlar daha uzaktadır; bunu metin için genel amaçlı bir encoding olarak düşünebilirsiniz
- İyi bir embedding, benzer öğe arama gibi downstream görevlerde iyi performans göstermelidir
- Hugging Face'in Massive Text Embedding Benchmark (MTEB) çalışması, sınıflandırma, kümeleme, arama ve özetleme gibi çeşitli görevlerde modellere puan verir
- Burada ağırlıklı olarak metin embedding'lerinden söz edilse de embedding'ler farklı modalitelerde de kullanılabilir
- Fusion-in-Decoder (FiD), açık alan soru-cevap için üretici model ile retrieval'ı birlikte kullanır
- Internet-augmented LM'ler, mevcut arama motorlarını kullanarak LLM'i güçlendirmeyi önerir
- RAG uygulama yöntemleri
- Hibrit arama (geleneksel arama indeksi + embedding tabanlı arama), her birinin tek başına kullanımından daha iyi çalışır
Fine-tuning: belirli görevleri daha iyi yerine getirmek için
- Fine-tuning, önceden eğitilmiş bir modeli (büyük miktarda veriyle zaten eğitilmiş bir model) alıp belirli bir görev için ek olarak uyarlama sürecidir
- Amaç, modelin ön eğitim sırasında zaten edindiği bilgiyi kullanarak, genellikle daha küçük ve göreve özel veri kümeleri içeren belirli bir göreve uygulamaktır
- Fine-tuning terimi gevşek biçimde kullanılır ve çeşitli kavramları ifade edebilir
- Sürekli ön eğitim
- Instruction fine-tuning
- Tek görevli fine-tuning
- RLHF
- Neden fine-tuning yapılır?
- Performans ve kontrol:
- Hazır foundation modelin performansını iyileştirebilir, hatta üçüncü taraf LLM'leri aşabilir
- LLM davranışı üzerinde daha iyi kontrol sağlar; böylece sistem veya ürün daha güçlü hale gelir
- Fine-tuning ile sadece üçüncü taraf veya açık LLM kullanmaktan farklılaşan bir ürün oluşturulabilir
- Modülerlik:
- Tek görevli fine-tuning ile her biri farklı bir işi uzmanlık alanı yapan daha küçük modellerden oluşan bir filo kurulabilir
- Bu yapı sayesinde sistem, içerik moderasyonu, çıkarım ve özetleme gibi görevlere modüler biçimde ayrılabilir
- Bağımlılığı azaltma:
- Kendi modelinizi fine-tune edip host ederek, harici API'lere açılan özel verilerle (ör. PII, iç dokümanlar ve kod) ilgili hukuki riskleri azaltabilirsiniz
- Ayrıca hız limiti, yüksek maliyet veya aşırı kısıtlayıcı güvenlik filtreleri gibi üçüncü taraf LLM kısıtlarını aşabilirsiniz
- Generative Pre-trained Transformers (GPT; decoder only)
- Text-to-text Transfer Transformer (T5; encoder-decoder)
- InstructGPT
- Soft prompt tuning & Prefix Tuning
- Low-Rank Adaptation (LoRA) & QLoRA
- Fine-tuning uygulama yöntemleri
- Demo verisi/etiket toplama
- Değerlendirme metriklerini tanımlama
- Ön eğitimli modeli seçme
- Model mimarisini güncelleme
- Fine-tuning yöntemini seçme (LoRA, QLoRA vb.)
- Temel hyperparameter ayarı
Caching: gecikme ve maliyeti azaltma
- Caching, daha önce alınan veya hesaplanan veriyi depolama tekniğidir
- Aynı veriye yönelik gelecekteki isteklerin daha hızlı işlenmesini sağlar
- LLM bağlamında, girdi isteğinin embedding'ine karşılık gelen LLM yanıtını cache'lemek ve sonraki istekte anlamsal olarak benzer bir sorgu gelirse cache'lenmiş yanıtı sunmaktır
- Ancak bazı uygulayıcılar bunun "felaketi beklemek" gibi olduğunu söylüyor. Ben de katılıyorum
- Caching kalıbını benimsemenin kilit noktası, yalnızca anlamsal benzerliğe güvenmek yerine nasıl güvenli cache yapılacağını bulmaktır
- Neden caching? Gecikmeyi azaltmak ve LLM istek sayısını düşürerek maliyeti azaltmak için
- Caching nasıl uygulanır?
- Önce kullanıcı istek kalıplarını iyi anlamak gerekir
- Caching'in kullanım kalıpları açısından etkili olup olmadığını değerlendirmek gerekir
Guardrails: çıktı kalitesini güvence altına alma
- LLM çıktısını doğrulayarak yalnızca iyi görünmesini değil, sözdizimsel olarak doğru, olgusal ve zararlı içerikten arındırılmış olmasını sağlamak
- Neden guardrails gerekir?
- Model çıktılarının üretimde kullanılabilecek kadar güvenilir ve tutarlı olmasını doğrulamaya yardımcı olur
- Ek bir güvenlik katmanı sağlar ve LLM çıktısı üzerinde kalite kontrolü sürdürür
- Bir yaklaşım, model yanıtını prompt aracılığıyla kontrol etmektir
- Anthropic, modelin yardımcı, zararsız ve dürüst (HHH) yanıtlar üretmesini yönlendirmek için tasarlanmış prompt'lar paylaştı
- Daha genel yaklaşım ise çıktının geçerliliğini doğrulamaktır (Guardrails paketi gibi)
- Nvidia'nın NeMo-Guardrails aracı benzer ilkeleri izler, ancak LLM tabanlı konuşma sistemlerini yönlendirmek için tasarlanmıştır
- Microsoft'un Guidance aracı gibi, çıktıyı belirli bir grammar'a uyduracak şekilde doğrudan yönlendirmek de mümkündür (bunu LLM'ler için bir DSL gibi düşünebilirsiniz)
- Guardrails uygulama yöntemleri
- Structural guidance
- Syntactic guardrails
- Content safety guardrails
- Semantic/factuality guardrails
- Input guardrails
Defensive UX: hataları öngörmek ve yönetmek için
- Defensive UX, kullanıcıların makine öğrenimi veya LLM tabanlı ürünlerle etkileşimi sırasında yanlışlıklar ya da halüsinasyonlar gibi olumsuz durumların yaşanabileceğini kabul eden bir tasarım stratejisidir
- Amaç, kullanıcı davranışını yönlendirerek, yanlış kullanımı önleyerek ve hataları uygun şekilde ele alarak bunları önceden tahmin etmek ve yönetmektir
- Neden defensive UX?
- Makine öğrenimi ve LLM'ler kusursuz değildir; hatalı sonuçlar üretebilir
- Aynı soruya farklı şekillerde yanıt verebilirler
- Defensive UX, aşağıdakileri sağlayarak bu sorunları hafifletmeye yardımcı olur
- Daha iyi erişilebilirlik, artan güven ve daha iyi UX
- Şirketlerin derlediği yönergelere bakılabilir
- Microsoft’s Guidelines for Human-AI Interaction
- Google’s People + AI Guidebook
- Apple’s Human Interface Guidelines for Machine Learning
- Defensive UX uygulama yöntemleri
- Doğru beklentileri belirlemek
- Hızlıca kapatmayı mümkün kılmak (Enable efficient dismissal)
- Attribution sağlamak
- Aşinalığı temel almak
Kullanıcı geri bildirimi toplama: veri flywheel'ı oluşturma
- Kullanıcı geri bildirimi toplamak, kullanıcıların tercihlerini anlamayı sağlar
- LLM ürünlerine özgü kullanıcı geri bildirimleri; değerlendirme, fine-tuning ve guardrails oluşturma süreçlerine katkı sağlar
- Ön eğitim için corpus, uzmanlar tarafından hazırlanmış demolar ve ödül modellemesi için insan tercihleri gibi veriler, LLM ürünlerinin sahip olduğu az sayıdaki moat'tan biridir
- Geri bildirim açık veya örtük olabilir
- Açık geri bildirim, kullanıcının ürünün talebine yanıt olarak verdiği bilgidir
- Örtük geri bildirim ise kullanıcının bilinçli olarak geri bildirim vermesine gerek kalmadan, kullanıcı etkileşimlerinden öğrenilen bilgidir
- Neden kullanıcı geri bildirimi toplanır?
- Kullanıcı geri bildirimi modeli geliştirmeye yardımcı olur
- Kullanıcıların neyi sevdiğini, sevmediğini veya neden şikayet ettiğini öğrenerek modeli onların ihtiyaçlarını daha iyi karşılayacak şekilde iyileştirebilirsiniz
- Ayrıca bireysel tercihlere uyum sağlamaya da yardımcı olabilir
- Geri bildirim döngüsü, sistemin genel performansını değerlendirmeye yardımcı olur
- Kullanıcı geri bildirimi nasıl toplanır?
- Kullanıcının kolayca geri bildirim bırakabilmesini sağlamak: ChatGPT'deki gibi yanıtlar için beğenme/beğenmeme seçeneği sunmak
- Örtük geri bildirimi de dikkate almak: kullanıcının ürünle etkileşirken ortaya çıkan bilgiler
1 yorum
Asıl yazıda her madde ile algoritma/metriklere dair ayrıntılı açıklamalar var, ancak burada bunlar atlandı.
Bu yazıyla kabaca özeti gözden geçirip orijinal metne de birlikte bakın