6 puan yazan xguru 2024-12-03 | Henüz yorum yok. | WhatsApp'ta paylaş
  • 2023'ün başlarında LinkedIn, GenAI özelliklerinden yararlanan bir ürün portföyünü piyasaya sürmeye başladı
  • İlk GenAI ürünleri, basit bir "prompt gir, metin çıktısı al" yapısıyla başladı ve bağlamsal belleği destekleyen konuşma tabanlı ajan deneyimlerine dönüştü
  • GenAI uygulama teknoloji yığınını kurarak, pazara çıkış süresi ile uzun vadeli kaldıraç arasında denge kuran bir yaklaşım hayata geçirildi

Genesis and Evolution

  • Ortak görevler için standart mekanizmalar sunan bir framework oluşturulması gerekiyordu
  • LinkedIn'in çevrimiçi serving yığınının büyük kısmı Java ile programlandığı için başlangıçta paylaşımlı bir Java midtier ile başlandı
  • Kullanım senaryoları arttıkça bu midtier, geliştirme ve operasyon açısından darboğaz haline geldi ve kullanım senaryosuna özel birden fazla Java midtier servisine bölündü
  • AI mühendisleri, çevrimdışı LLM tabanlı iş akışları, prompt engineering ve değerlendirme için Python'u tercih ediyor
  • Kısa vadede parçalı çevrimiçi ve çevrimdışı yığın korunurken, uzun vadede çevrimiçi serving için de Python kullanmaya karar verildi
  • LangChain açık kaynak projesi temel alınarak çevrimiçi serving için bir Python framework'ü oluşturuldu
  • Python'a odaklanarak, temel altyapı bağımlılıkları için Python desteğini etkinleştirme projesi başlatıldı
  • Şu anda GenAI uygulama framework'ü, LangChain üzerine kurulmuş ince bir wrapper durumunda

Prompt yönetimi

  • Prompt engineering, LLM'leri "programlamanın" temel mekanizmasıdır
  • Başlangıçta kod içinde manuel string interpolation kullanıldı, ancak bu hata üretmeye çok açıktı ve ölçeklenemiyordu
  • Prompt Source of Truth bileşeni devreye alındı ve Jinja şablon dili kullanımı standartlaştırıldı
  • Prompt çözümleme kütüphanesi Java'dan Python'a yeniden yazıldı
  • Konuşma tabanlı UI'lar ortaya çıktıkça, konuşmalarda insan ve yapay zeka rollerine daha fazla yapı kazandırıldı
  • Sonunda OpenAI Chat Completions API üzerinde birleşildi

Skill'ler ile görev otomasyonu

  • Skill soyutlaması, bir görev otomasyon mekanizması olarak GenAI uygulamalarına genişletildi
  • Başlangıçta bu yapı, LinkedIn içi ve dışı API'leri LLM dostu JSON şemalarıyla saran özel kodlarla kuruldu
  • Skill'lerin yinelenen implementasyonları, downstream skill değişiklikleri ve geliştiricilerin manuel skill belirtmesi gibi sorunlar ortaya çıktı
  • Skill Inversion kavramı tanıtılarak downstream tarafın skill'leri tanımlaması ve bunları çağıran uygulamalara sunması sağlandı
  • Merkezi skill registry servisi, build eklentisi ve dinamik LangChain araçlarıyla skill erişimi, geliştirme ve operasyon süreçleri basitleştirildi
  • Teknoloji yığını, LLM'lerin sorunsuz etkileşim kurabilmesi için kademeli olarak tüm API'ler için skill soyutlamaları üretecek şekilde evriliyor

Bağlam farkındalığı ve kişiselleştirme

  • LLM'ler doğası gereği stateless olduğu için bağlam farkındalığı ve kişiselleştirme zordur
  • İlk aşamada depolama için Couchbase veya Espresso DB kullanıldı ve her ekip DB kurulumu, yazma/okuma gibi işleri üstlendi
  • LLM bağlam penceresi sınırlı olduğundan, anlamsal arama (embedding kullanımı) ve özetleme özellikleri gerekli hale geldi
  • LinkedIn mesajlaşma yığını kullanılarak konuşma belleği altyapısı kuruldu
  • Kullanıcı-uygulama etkileşim deneyimlerinden türetilen Experiential Memory kavramı tanıtıldı
  • Bu yapı, geliştiricilerin sorunsuz kullanabilmesi için GenAI uygulama framework'üne entegre edildi

Model çıkarımı ve ince ayar

  • Başlangıçta yalnızca Azure OpenAI Service üzerinden sağlanan LLM'ler kullanıldı
  • LinkedIn'e özgü görevler için ince ayar yapılan Llama gibi LLM'ler, ticari modellerle benzer ya da daha iyi kalite gösterdi
  • Uygulama geliştirici deneyimini dış ve iç modeller arasında şeffaf hale getirmek için çalışmalar sürüyor
  • Çıkarım katmanı, tüm LLM'ler için OpenAI Chat Completions API'yi sunuyor
  • Uygulama framework'ündeki yapılandırma kancaları üzerinden şirket içi ve harici modeller arasında kolayca geçiş yapılabiliyor

Migrasyon

  • Eski özel çözümlerden standartlaştırılmış çözümlere hızlı migrasyon kritik önem taşıyor
  • Migrasyonu, hem Java yığınına hem de yeni yığına derinlemesine hakim mühendislerden oluşan yalın bir ekip yürüttü
  • Aşamalı bir yaklaşım benimsenerek bileşenler tek tek migrate edildi
  • Basit ve küçük uygulamalarla başlanıp karmaşık ve büyük uygulamalara geçildi
  • Kıdemli mühendislerle yeni Python geliştiricileri eşleştirilerek Python'u iş üzerinde öğrenmeleri sağlandı

Son düşünceler

  • Yeni GenAI uygulama teknoloji yığını, AI-first geliştirmeyi benimseyerek verimli ve sorumlu biçimde GenAI uygulamaları kurmak için sağlam bir temel oluşturuyor
  • Tüm küresel iş gücü üyelerine ekonomik fırsatlar sunma vizyonuna ulaşmada önemli rol oynayacak
  • Hâlâ çözülmesi gereken çok sayıda zorluk var
  • Ürün deneyiminin en ileri noktası konuşma tabanlı asistanlardan AI ajanlarına kaydıkça, yeni yetenekler ve operasyonel gereksinimler hızla artıyor. Bu konuda da ileride daha fazla bilgi paylaşılacak

Henüz yorum yok.

Henüz yorum yok.