— Herkese merhaba, ben Ahmet Kuzubaşlı. Udemy'de Staff Data Scientist olarak çalışıyorum; San Francisco ofisindeyim. Bugün sizlere LLM tabanlı arama ve tavsiye sistemlerinden bahsediyor olacağım. Yarın İngilizce yarı Türkçe kullanabilirim; lütfen bunu bu duruma mazur görün. İsterseniz hızlıca başlayalım; biliyorum günün son konuşması olacak bu, o yüzden sizi çok da fazla tutmak da istemiyorum. Sadece, LLM'lerin arama ve tavsiye sistemlerinde nasıl kullanımları var, bu alanı nasıl değiştirecek, size böyle bir anlatım yapmak istedim. Çok fazla teknik detaya da girmeyeceğim, çok fazla doyurucu olmaya çalışmayacağım; biliyorum günün son seansı ve kısa tutmaya çalışacağım. Her ne kadar sağ olsunlar 45 dakika vermiş olsalar da, ben 15-20 dakika gibi bir sürede bitirmeyi planlıyorum.
Yine son seans olduğu için ve online olduğu için, şimdilik soruları bugün alamıyor olacağım; ama her zaman sorularınızı bana sosyal medyadan, e-mail ile iletebilirsiniz. Çok kolay: ahmetkuzubasli@gmail.com ya da bütün sosyal medyada zaten bu isimle varım. Ajandaya bakacak olursak: kısa bir giriş yapacağım, landscape'ten bahsedeceğim, sonra LLM'lere giriş yapmayacağım; çünkü günün son seansı muhtemelen birçok kez bu LLM'lere giriş yapılmış olacak. Ben daha çok arama ve tavsiye sistemleri üzerine odaklanıyor olacağım. Yine, ne gibi sıkıntılar var, ne gibi limitler var, onlardan bahsediyor olacağım; future trend'lerden biraz bahsediyor olacağım. Ama bunlar tabii ki sürekli güncellenmesi gereken konular, güncellenmesi gereken alanlar. Ben şu an sizle konuşuyorken, bu hafta içerisinde yeni bir paper yayınlanmış olabilir, yeni bir blog yazısı yayınlanmış olabilir.
O yüzden şimdiden bu sunumun aslında out of date olduğunu söyleyebilirim. Dediğim gibi, bugün search ve recommendation sistemlerinden bahsediyor olacağım. Birçok ürün buna dayalı hizmet sunuyor, birçok firma buna dayalı hizmet sunuyor. Birçok firmanın asıl çıkış amacı, business model'ı tamamen recommendations üzerine dayanıyor; biliyorsunuz bu şirketleri. Yine bahsettiğim gibi, bugün asıl konuşmamın sebebi size biraz olsun tattırmak olacak: LLM ve arama motorları nasıl çalışıyor, ama özellikle arama ve recommendation systems nasıl çalışabilir. Arama biraz daha, zaten eminim duydunuz; yani bu alana olan dramatik etkisini zaten bildiğinizi tahmin ediyorum.
Ve yine konuşmama kendimi tanıtarak başlıyor olacağım. Şimdi, ODTÜ mezunuyum. Yine ODTÜ'de bilgisayar mühendisliğinde, deep learning üzerine bir başladığım ama bitirmediğim bir doktoram var; maalesef bırakmak zorunda kaldım, Amerika'ya taşınınca. Mezun olur olmaz ODTÜ'de araştırmacı asistan olarak çalıştım, daha sonra kendi şirketimi kurdum; 3-4 yıl, çok da güzel gitti. Daha sonra bu şirketteki hisselerimi ortaklarıma satıp bir çıkış yaptım. Tek başıma devam ettiğim danışmanlık yolculuğum oldu; TAIE ve başka diğer platformlarda, özellikle AI üzerine, data science üzerine consultancy danışmanlık verdiğim oldu. 5 yıldır da, çok uzun bir süre bence, Udemy'de data scientist olarak çalışıyorum. Önce Türkiye ofisindeydim, sonra 2 yıldır da Amerika'daki San Francisco ofisindeyim. Bir de diğer yandan, işte TRT Radyo 1'de 2015'ten beri sunduğum, konuk olduğum radyo programları oluyor; teknolojiyle ilgili, AI ile ilgili, özellikle de yapay zekâ ile ilgili.
Toplum bilincinin artırılması, veri bilimi üzerine kariyer yolculuğu gibi konularda sık sık programlara katılmaya çalışıyorum. Twitter, X, LinkedIn, Instagram; hepsi Ahmet Kuzubaşlı. Beni bulmak çok kolay. Sorularınız için, danışmak istediğiniz bir konu olursa, ya da Amerika'ya gelirseniz ve kahve içmek isterseniz. Şimdi landscape'e baktığımız zaman, yani artık ayrılmaz bir parçası oldu. Biz bunlara data products diyoruz aslında; işte search ve arama sistemleri. Ben de Udemy'de önce search üzerine 3 yıl, şimdi de recommendations üzerine 2 yıldır çalışıyorum. Yani işte Netflix, Spotify, Amazon gibi büyük mega şirketlerin aslında gelir modellerini çok ciddi biçimde etkileyen bir yer. Trafik %30-%40 civarlarında search'ten, %20-%30 civarlarında da bu recommendation sistemlerinden geliyor.
Yani o yüzden, burada yapacağınız en ufak bir değişiklik, %1'lik bir improvement bile, milyonlarca kullanıcı tarafından, hatta bazı durumlarda milyarlarca kullanıcı tarafından görüldüğü için, çok ciddi revenue'ya katkıda bulunuyor; çok ciddi kazançlar getiriyor size. Bunu bizzat tecrübe ettiğim için söyleyebilirim. Çünkü gerçekten bize ne aradığımızı çok iyi bir şekilde, hızlı bir şekilde getirmesi, diğer yandan bize hiç arama gereği bırakmadan ne istediğimizi tahmin edip, iyi bir model ile bize seçenekler sunabilmesi, sanıyorum bu işte 2000'ler sonrasındaki bu online tecrübenin, online experience'ın gelişmesiyle oldu. Yani kısaca böyle özetleyebilirim. Teknik detaylara çok fazla girmek istemedim. Sadece şu an söylemek istediğim şey: arama ve tavsiye sistemleri olmazsa olmaz, daha ilk günden başlanması gereken sistemler. Şimdi LLM'in search uygulamaları üzerine biraz konuşalım.
Her ne kadar eminim Zeo yeterli miktarda bugün bilgi sağlamış olduğunu tahmin etsem de, şimdi ilk önemli şeyi zaten query understanding dediğimiz, benim de bayağı bir ter döktüğüm, bunu da kendi şirketimde, kullanıcının query'sini anlayıp, gerektiği zaman expand edip, gerektiği zaman narrow down yapıp, daha accurate, daha doğru sonuçları daha üst sıralarda gösterebilmesi. Bu konuyla ilgili işte OpenAI'nin kurucusu Sam Altman'ın bir lafı var aslında; hani diyor ki, bu artık bir fact database'den bir şey çekmek için kullanılan bir şey değil, search sistemleri. Artık gerçekten bir reasoning engine, yani bir soru sorduğunda ona bir cevap veren ve bu cevabı kendisi üreten aslında.
Retrieval-augmented systems diyeceğimiz şeyler. Bu kavramla daha çok sık karşılaşırız diye tahmin ediyorum: Retrieval-augmented generation. Yani sonucu bulduğu gibi vermiyor, tam tersi kendi bilgisini de üzerine ekleyip, sonuç o şekilde, nihai sonucu o şekilde oluşturuyor. Yani o kadar çok uygulaması var ki, işte hani text match'ten semantic understanding'e kaydığımız, doğal dili anladığımız, işte ambiguity problemini çözdüğümüz; işte klasik örnek: Dog toy dog, oyuncak köpek mi istiyor yoksa köpek oyuncağı mı istiyor gibi problemleri LLM'ler ile çözmek çok mümkün. Tabii ki bunun getirdiği bazı sıkıntılar da var; onlardan da ilerleyen dönemlerde bahsederiz, ilerleyen slaytlarda. Ama sonuç olarak, search sistemlerindeki bu iyileşmelerin kullanıcı tecrübesini, ciddi miktarda kullanıcı deneyimini etkilemesini bekliyoruz.
Çünkü insanlar bir şey aradıklarında, bunu her zaman iyi bir şekilde ifade edemiyorlar. İlk başta initial search dediğimiz, böyle birkaç tane search atıp, birkaç tane query atıp, ne araması gerektiğini öğrenip, sonra o asıl query'i getiriyor. İşte bu da ortalama search sayısını artırıyor. Halbuki insanların bodoslama yazabilmesi lazım; yani bodoslama yazıp sonucu çok ciddi bir şekilde alabilmesi lazım. Bunun yanı sıra, işte in-video search, in-context search dediğimiz olaylar var. Yani hani, eminim denk gelmişsinizdir; yani siz o videoyu değil, aslında o videodaki belirli bir saniyeyi arıyorsunuz, belli bir anı arıyorsunuz. Onu size bulup getirebiliyor bazı durumlarda. Bu bir süredir üzerine denenen şeyler. Ama LLM'lerle birlikte asıl, bu semantic search'ün daha natural language query'lerine doğru kaydığı, daha böyle chat tabanlı bir arama sistemi hani tahmin ediyoruz.
Ve bunun üzerine de çok ciddi, işte product discovery'nin gelişmesini bekliyoruz. Ve bu beraberinde birçok problemi getiriyor. Yani normalde sizin text match gibi sistemlerde bir dataset oluşturup, bir performans benchmark'ı yapabilmeniz daha mümkün. Yine kolay demiyorum ama yine mümkün. Ama işin içine LLM'ler girdiği zaman, özellikle de sonuç augment edildiğinde, bunu değerlendirmek çok zor. Aynı problem summarization probleminde de var; yani hani, hatta bununla ilgili çok ciddi tartışmalar devam ediyor. Bazı kişilerin mesela human performance'ı geçtiği söyleniyor ya LLM'ler mesela, o human performance'ın aslında doğru kişilerden seçilmediğine dair tartışmalar bir yandan devam ediyor. Gerçekten benchmark yapabilmek kolay bir iş değil. Diğer tarafta, yani örneklerini görmeye başlıyoruz; işte hani LLM tabanlı sistemlerin.
LLM tabanlı sistemlerin en büyük hani öndeki problem şu anda, ben hani fiyat olarak görüyorum. Her query'de LLM'e sorduğunuz zaman, eğer kendi LLM sisteminiz yoksa, gerçekten maliyetli olmaya başlıyor. Ve hem zaman anlamında, hem response time anlamında, hem de gerçekten query başına ödediğiniz fiyat anlamında. Tabii bunlarla ilgili de bir sürü workaround'lar var; işte caching gibi. Biraz daha devam edelim. Bu konuyla ilgili aslında konuşabileceğim inanılmaz çok daha fazla şey var. Yani hani, e-commerce'daki uygulamaları farklı, streaming'deki uygulamaları farklı. Hani her alan, her vertical, kendi problemleriyle karşılaşıyor, kendi çözümlerini buluyor. Böyle bir hani 15-20 dakikalık bir konuşmada, bunların hepsinin detayına girmek mümkün değil. Ama eğer hani sohbet konuşmak isterseniz, başka bir konuşma olur ya da başka bir proje olur, tartışmak isterseniz, ben hep buradayım.
Devam edelim. Evet, recommendation'a gelelim. Şimdi recommendation, ben buraya bunu gıcıklığına koydum biraz. Hani very traditional recommendation algorithms. Bu gördüğümüz collaborative filtering dediğimiz, işte metrics factorization'a dayanan, bir kullanıcı item, kullanıcı ürün matrix'ini approximate etmeye yarayan. Siz burada factorize ettiğinizde, elinizde bir user vektörü ve bir ürün vektörü kalıyor. Ve siz daha önce birbiriyle karşılaşmamış, birbiri üzerine bir etki bırakmamış kullanıcı ve item'ları ya da item item gibi şeyleri vektörüze edebildiğiniz için, bunların birbirine olan etkisini hesaplayabiliyorsunuz. Çok da güzel çalışıyor, çok da iyi çalışıyor. Tabii ki eğer yeterince kullanıcınız ve yeterince ürününüz varsa. Çalışmadığı noktalar neler? Çok temel.
Eğer yeni bir kullanıcı geldiyse, siz çok hızlı büyüyen bir platformsanız ya da çok hızlı content ekleniyorsa, yani işte Medium gibi, medium.com gibi, ya da işte YouTube gibi, ya da TikTok gibi mesela, çok hızlı content ekleniyorsa, bu content'i sadece daha önceki geçmiş interaction'lara bakarak recommend etmek çok kolay bir iş değil. Buna da işte cold start problem deniyor zaten. Tam bu noktada da context'e ihtiyacımız oluyor. Yani bu kullanıcı kimdir, ne istiyor olabilir? Sadece daha önceki aksiyonları değil, demografik bilgileri, işte taste'i, daha önceki seçimleri. Diğer yanda, yeni bir film çıktıysa, yeni bir yazı yayınlandıysa, bu yazı neden bahsediyor?
Yani context'te ne var? Bunu anlamak tam olarak LLM'lerin üzerine oturduğu şey aslında. Bu noktada, yani personalization en büyük şey. Yani hem doğru sonucu getirip yine bir search'teki gibi bir ranking problemi var. Ama asıl buradaki altını çizmemiz gereken kelime personalization, yani kişiselleştirme. Bir sonuçlar geldi ama bu sonuçlar bana göre rank edildiğini benim bilmem lazım. Benim isteğime göre, benim kişisel zevkime göre bu sıralamanın yapıldığını çok iyi bilmem lazım. Eğer bu olursa, ben aradığım ve istediğim sonucu ilk 3'te bulurum. Diğer yanda, hiç aklıma gelmeyen ama bana iyi bir tavsiye verdiğinde, daha fazla platformla engage olurum ve hani retention'ım artar, sürem artar. Bu şekilde kişiselleştirmenin önemini zaten hani eminim biliyorsunuzdur. Yani ben vurgulamak istemiyorum.
Personalization son 3-4 yılda çok ciddi kârlar getirdi şirketlere. Diğer yandan, yani in-video etkileşimlerin artması, işte hani mesela bizim şirket şeye izin veriyor; yani bizim platform bir ders izlerken not almanıza izin veriyor. Mesela o notların alınması, o notlar üzerinden başka şeylerin tavsiye edilmesi gibi hani şeyler mümkün, aksiyonlar mümkün. Yine YouTube'da benzer, hani bookmark'ı edebildiğimiz durumlar var. Bu bookmark suggestion ayrı bir iş olabilir mesela. Bu yüzden yani kullanıcı deneyimini ve hani onun aldığı platformdan tatmini LLM'ler ile iyileştirmenin gerçekten şu anda böyle 9-10 minimum projesi var her şirkette. Bu 9-10 proje de böyle 100 küsur proje içinden seçilen hani 9-10 proje. Yani şu anda böyle bir şey olmuş, akıyor durumda.
Yani şu an product manager'lar ciddi ciddi ter döküyorlar; yani bunları hangisini önce yapmamız gerekiyor diye. Diğer tarafta hani farklı industrial'lerde, farklı şirketlerde farklı recommendation engine'leri kullanmak hani mümkün. Bunların etkileri birbirine aynı olmuyor. Yani mesela natural language feedback alabiliyorsanız siz eğer, yani ben mesela videoyu izlerken durdurup bir öneride bulunabiliyorsam, bir ürünün sayfasında review bırakırken, o bıraktığım review'un daha iyi anlaşılacağını, daha iyi kullanılacağını, yani sadece böyle 1'den 5'e kadar yıldız değil de kullanabiliyorsam. Diğer tarafta mesela benim hoşuma giden şey, benim için review generate etmesi. Mesela giriyorsun, bir restorana gittin, restoranla ilgili beğendiğin şeyler oldu, beğenmediğin şeyler oldu. Ama böyle oturup da review yazasım gelmiyor. Bu durumda mesela senin için bir review generate etmesi, senin tarzında, benim o çok benim hoşuma gidiyor yani.
Birkaç tık sonrası. Hani diğer yandan tabii ki böyle şeylerden uzaklaşmak mümkün. Yani böyle işte şu anki recommendation sistemleri hâlâ bazı şirketlerde şeye dayanıyor, popüler isme dayanıyor. Yani popüler item'ları sana gösteriyor. Ama belki sen hani senin popüler ürünlerle işin yok belki. Yani hani belki popüler kültüre çok da hani seven birisi değilsin. Bu durumda mesela senin tarzına gerçekten LLM'ler olmadan ulaşmak her zaman kolay olmuyor. İster istemez bir noktada popüler ürünler ön plana çıkmaya başlıyor. Ancak contextual recommendations dediğimiz, bu içindeki şeyi, içeriği anlayıp, seni anlayıp, ikisini birbirine match edebilen sistemler ön plana çıkıyor.
Ama buna tabii ki bir anda hadi her şeyi bırakalım, LLM'lere yüklenelim gibi bir şey söz konusu değil açıkçası. Aynı search'te olduğu gibi, vector database'de olduğu gibi, recommendations'ta da arka tarafta böyle bir yine bir collaborative filtering olması, bir content-based filtering olması. Çünkü hani multimillion user var, multimillion ürün var. Hepsini birbirine cross yapamazsın. Yani multimillion çarpı multimillion uçuyor gidiyor yani. O yüzden ilk başta senin böyle bir filtrelemen lazım ürünleri. Ondan sonra sorman lazım, ben bu ürünlerden hangisini önereyim diye. Bu noktada da mesela recommendation'larla ilgili bir şeyi, problemleri anladığınızı tahmin ediyorum. Yani hani buradaki en büyük problem zaten çok fazla kullanıcıya çok fazla ürün arasından seçmek. Böyle bodoslama LLM'e verebileceğiniz bir şey değil açıkçası.
Yine hâlâ eski yöntemleri kullanmanız gerekiyor. Diğer yandan LLM'lerle ilgili genel problemlerden bahsedebiliriz. Yani bunları aşırı fazla girmek istemiyorum bugün için. Çünkü başka konuşmalarda da bahsedilmiştir. Etik ve hani gizlilik problemleri çok ciddi yükselmeye başladı. İşte mesela recommendation istemiyorum seçeneğinin olması gerekiyor. LLM aşırı iyi recommendation yaptığı zaman, insanların platform olan güveni gerçekten azalıyor. Hani siz işte dinleniyor muyuz? Acaba bizi dinliyor mu? Nasıl bu kadar iyi recommendation yapabiliyor? Yani işte arkadaşımla seyahat, araba konuştum, akşam Instagram'da ilanını gördüm, reklamı çıktı önüme filan gibi mesela şeyler ortaya çıkmaya başlıyor. Hani paranoyak olmak takip edilmediğin anlamına gelmez. Ama hani bu kadar iyi recommendation'ların yapılması ve LLM'lerle personalize edildiğinde ve o recommendation'ın neden yapıldığı LLM'ler ile açıklanabildiğinde, gerçekten biraz şey olmaya başlıyor.
Böyle korkutucu olmaya başlıyor. Belki o noktada recommendation sistemlerine tekrar bir vurgu yapmak gerekiyor. Eski sistemler, traditional sistemler diyelim, şu anda recommendation'ın niye yapıldığını söylemiyor. Yani siz şu anda Netflix'e girdiğiniz zaman, her satırda bir şey görüyorsunuz. Size bir fikir vermeye çalışıyor işte. Çünkü daha önce bunu izledin, o yüzden sana bunu öneriyorum diye. Ama böyle tam olarak da niye önerdiğini bilmiyorsun. Ama LLM'ler gerekli reasoning'i yapabilirse eğer, ki bazı durumlarda yapabiliyorlar, o durumda mesela evet, ben sana bu Python kursunu önerdim. Çünkü sen data scientist olmak istiyorsun ileride. Bu Python kursunda sen pandas kütüphanesini öğreneceksin. O yüzden işte bu kursu almalısın gibi. Yani ya da bu videoyu şu yüzden izlemelisin, bu filmi bu yüzden senin için seçtik cevabını verebiliyor olması gerçekten güzel bir nokta.
Hem de bu şeyi de azaltıyor, concern'ü de biraz azaltıyor. Diğer tarafta computational ve resource gerçekten büyük bir problem. Yani her sorguda, her kullanıcı için, her ürün için bunu tek tek sormak çok ciddi maliyetli. Her anlamda. Hani bunların yanı sıra tabii bir de kullanılan GPU'ların iklim anlamında verdiği bir zarar bile hani söz konusu. Bu yüzden bunların çok ucuzlaması gerekiyor. Bu ucuzlama hem mali anlamda hem de computation, hesaplama anlamında bir düşmesi gerekiyor. Diğer taraftan bizim hani bugün highlight etmemiz gereken şey, yani fine tuning ve model selection olaylarının mesela daha aza iniyor olması.
LLM'leri yani siz OpenAI'ın geliştirdiği bir AI'ı siz kendi sisteminizde LLM tabanlı kullanabiliyorsunuz. Nasıl yapıyorsunuz bunu? Hani bir LLM'e P5 var bu arada, referansları ekledim. P5'da mesela kendin baştan sona eğitirken mesela, şimdi yeni sistemler mesela LLM'i core olarak kullanıp, LLM üzerine etrafına agent'lar koyup, o şekilde recommendation sistem yapıyor. Yani tutup da baştan sona bir recommendation için LLM eğitmiyorsun yani. O yüzden bu fine tuning etkisini de azaltıyor. Bu yüzden böyle model selection konusunda da bir iyileşme sağlıyor. Ama diğer tarafta dediğim gibi bu konuyla ilgili en büyük problemlerden birisi benchmarking.
Yani nasıl benchmark edeceksin? Özellikle personal şeyleri nasıl benchmark edeceksin? Yeni bir kullanıcı gelmiş, sen ona önerilerde bulunmuşsun. Ancak o tıklayacak ki sen ondan geri bildirim alacaksın. Hani biz buna şey diyoruz, hani negatif sonuç elde etmek zor. Yani çünkü görüyor, gördüğü zaman tıklıyor. Ama sen ona hiç göstermediğin zaman, olumlu mu olumsuz mu olacağını bilmiyorsun ürünler için. Ve hepsini de gösterme şansın yok. Yani bir kullanıcıya milyonlarca ürün gösterme şansın yok. Gösterdiklerin üzerinden yürüyebiliyorsun. Yani o noktada bunların ölçülmesi, yani benchmark yapılması, evaluate edilmesi gerçekten hâlâ şey problemler. Böyle hâlâ ciddi problemler. Ama bunların da workaround'ları var. Bunlarınla ilgili bazı assumption'lar yapıp, bazı limitasyonlarla yine ürettiğiniz sistemi deneyebiliyorsunuz.
En basitinden hiçbir şey yapamıyorsanız, offline'da götürüp A/B test'e girip mesela kullanıcıların yarısını bir algoritmaya, yarısını başka bir algoritmaya ya da modele verip, business metric'iniz neyse A/B test yapabiliyorsunuz üzerinde. Biraz hani gelecekle ilgili konuşacak olursak mesela, hani bu noktada GPT-4 ve sonrasının hani konuşmamız gerekiyor. Bu noktada reasoning daha iyi ortaya çıktığı için ve yani factuality dediğimiz ya da hallucination'ların azalmasından kaynaklı daha iyi kullanabiliyorsun ya da daha. Product'ta olarak çıkarabiliyorsun. Yani 3.5 bile halüsinasyonları yüksek olduğu için mesela recommendation'da prod'da kullanırken, production'da, canlıda kullanırken dikkat etmen gereken şeyler.
Çünkü 3.5'la ilgili problemler yaşandı biliyorsunuz. Bununla ilgili mesela bir yanlış recommendation yapıp, bunu da yanlış bir factuality'ye dayandırdığı zaman sıkıntı oluyor. Diğer tarafta bu çok aktif bir araştırma alanı. Hani bugün o yüzden çok da fazla uzun tutmak istemedim. Çünkü bugün ne söylersem söyleyeyim, önümüzdeki hafta çok daha iyisi ortaya çıkabilir. Ben sadece bugün böyle genel olarak bu alana olan etkisinden bahsetmek istedim. Buna dikkat çekmek istedim. Yani agent'ları, yani benim de gördüğüm, yani genel olarak LangChain olsun, Llama tarafında olsun, üzerine geliştirilen şeyler agent olarak kullanma yönünde.
Recommendation ve search sistemlerinde de LLM'e bir agent, yani LLM'i ortaya koyup etrafına böyle agent'lar koyuyorsun. İşte SQL query'si atabilecek şekilde bir database'e bağlıyorsun. Ya da senin collaborative filtering sistemine bağlıyorsun. Ve ortada LLM gerekli sorguları, işte chain of thought olabilir, tree of thought olabilir. Ya da işte mesela dün okudum, ne diyordu? Self-evaluating diyor mesela. Gibi böyle kendi düşüncesini tekrar gözden geçirdiği o hani düşünce sistemi, thought process diyelim yani bugün ona. O sistemler üzerine konulan böyle bir recommendation sistemleri oluşturulmaya çalışıyor. Bunlarla ilgili açıkçası çok fazla endüstriden böyle bir blog postu okuyamadım, bulamadım. Şu an herkes deniyor. Daha çok paper'ları üzerinde görüyorum.
İşte Amazon'un database'i üzerinde bunu çalıştırmış, public dataset üzerinde ve bunu yayınlıyor. Ama hani şu an böyle Netflix'ten ya da hani Spotify'dan LLM tabanlı henüz böyle iyi bir blog yazısı okuyamadım açıkçası. Belki bu konuşmayı, bu tarz hani sunumları 3-4 ayda bir yapmak gerekiyordur. Yiğit, bu da hani belki to-do olarak olabilir bize yani. QA session yazdım ama maalesef QA session yapamıyor olacağız bugün için. Yine de oraya bir tag bıraktım. Ahmet Uslu, başlığı. Gmail, X, Twitter, LinkedIn, hani Instagram eğer kullanıyorsanız. Hepsinde hemen hemen varım. Hepsinde elimden geldiğince ulaşılabilir olmaya çalışıyorum. Benim için LLM'lerin hani recommendation'daki kullanımları bu şekilde. Yani bugün aktif olarak üzerine çalıştığım projeler. Halka açık bir şirket olduğumuz için herhangi bir şekilde bunlardan detaylı bir şekilde paylaşmam doğru olmadığı için ve yasal olmadığı için bugün o tabanda çok özel bir şeyler söyleyemedim, paylaşamadım sizinle.
Ama genel olarak şirketlerin neler yapmaya çalıştığını az çok hani paylaşmak istedim. Daha fazla sorunuz olursa, paylaşmak istediğiniz öneri olursa, tavsiye ve şikayetleriniz için bana ulaşabilirsiniz. Herkese launch partide bol bol eğlence diliyorum.
— Teşekkür ederiz. Sağ ol Ahmetciğim.
— Hey everyone, I'm Ahmet Kuzubaşlı. I work as a Staff Data Scientist at Udemy. I'm based in the San Francisco office. Today I'll be talking about LLM-based search and recommendation systems. I might switch between English and Turkish. Please bear with me on that. Let's jump right in. I know this is the last talk of the day. So I don't want to keep you too long. I just wanted to walk you through how LLM'ler get used in search and recommendation systems. And how they'll reshape this space.
I won't go deep into the technical details. I won't try to cover everything. I know it's the last session of the day. So I'll keep it short. They kindly gave me 45 minutes. But I plan to wrap up in 15 or 20. Since this is the last session and it's online, I won't be taking questions today. But you can always reach me on social media or by email. It's easy: ahmetkuzubasli@gmail.com. I'm on every social platform under that same name. Here's the agenda. I'll do a short intro. Then I'll cover the landscape. I won't do an intro to LLM'ler. It's the last session of the day. Someone has probably already introduced them a few times. I'll focus mostly on search and recommendation systems.
Again, what kind of problems there are, what kind of limits there are. I'll be talking about those. I'll also touch on future trends a bit. But of course these are topics that need constant updating. These are areas that need updating. Even while I'm talking to you right now. A new paper may have dropped this week. A new blog post may have gone up. So I can already tell you this presentation is out of date. Like I said, today I'll be talking about search and recommendation systems. Plenty of products offer services built on this. Plenty of companies do too. For many companies, the whole reason they exist, the entire business model, rests on recommendations. You know the ones I mean.
As I mentioned. The real point of my talk today is to give you a taste. How do LLM and search engines work? But especially, how can search and recommendation systems work? Search is a bit more, well, I'm sure you've heard. I'm guessing you already know the dramatic impact on this space. And again, I'll start my talk by introducing myself. So, I'm a METU graduate. I also have a PhD in computer engineering at METU, on deep learning. I started it but never finished. Unfortunately I had to drop it when I moved to the States.
Right after graduating I worked as a research assistant at METU. Then I founded my own company. Three or four years, and it went really well. Later I sold my shares in that company to my partners and exited. Then came my solo consulting journey. I did consulting on TAIE and other platforms, especially on AI and data science. And for 5 years now, which I think is a pretty long time. I've been working as a data scientist at Udemy. First I was in the Turkey office. For the past 2 years I've been in the San Francisco office in the US. On the other side. I've been hosting and guesting on radio shows on TRT Radyo 1 since 2015. About tech, about AI, especially about artificial intelligence.
I try to join shows often on topics like raising public awareness and career paths in data science. Twitter, X, LinkedIn, Instagram; it's Ahmet Kuzubaşlı everywhere. I'm really easy to find. Hit me up with questions, anything you want advice on. Or if you come to the US and want to grab coffee. Now when you look at the landscape. This stuff has become an inseparable part of it. We actually call these data products; search and search systems, for example. At Udemy I worked on search for 3 years first. And now I've been on recommendations for 2 years.
So this is an area that seriously moves the revenue models of mega companies like Netflix. Spotify, and Amazon. Around 30-40% of traffic comes from search. Another 20-30% comes from these recommendation systems. That's why the smallest change you make here, even a 1% improvement. Gets seen by millions of users. In some cases even billions of users. So it adds up to serious revenue. It brings you serious gains. I can say this from personal experience. It really brings us what we're looking for, fast and accurately. And on the other side. It predicts what we want without us having to search at all. With a good model, it hands us options. I think this came out of how online experience evolved after the 2000s.
That's the short version. I didn't want to go too deep into technical details. Right now I just want to say one thing. Search and recommendation systems are non-negotiable. You should start building them on day one. Now let's talk a bit about LLM applications in search. I'm sure Zeo has already given you plenty of info today. So let's start with the first big thing: query understanding. I sweated over this a lot at my own company too. You read the user's query. You expand it when needed. You narrow it down when needed. Then you surface more accurate results higher up.
There's a line from Sam Altman, OpenAI's founder, on this. He says search systems aren't just tools for pulling something out of a fact database anymore. They're a real reasoning engine now. You ask a question, it gives you an answer. And it generates that answer itself. These are what we'd call retrieval-augmented systems. I'm guessing we'll run into this term a lot: retrieval-augmented generation. It doesn't just hand you the result as found. The opposite. It layers its own knowledge on top. That's how it builds the final answer.
There are so many applications for this. We went from text match to semantic understanding. We understand natural language now. We solve the ambiguity problem. Classic example: dog toy dog. Do they want a toy dog or a dog toy? LLM'ler ile solving problems like that is very doable. Of course, this brings some headaches too. We'll get to those later, in the coming slides. But bottom line: we expect these improvements in search systems to move the needle on user experience. And by a serious amount.
Because when people look for something, they can't always phrase it well. At first they do what we call an initial search. They fire off a few searches, a few queries. They figure out what they should be searching for. Then they bring the real query. That drives up the average number of searches. But people should be able to just blurt it out. They should type it raw and still get a solid result. On top of that, there's in-video search and in-context search.
I'm sure you've run into this. You're not looking for the video itself. You're looking for a specific second in it. A specific moment. In some cases it can find that for you. People have been working on this for a while. But with LLM'lerle it really takes off. Semantic search shifts toward more natural language queries. We expect a more chat-based search system. And on top of that, we expect product discovery to get seriously better. That brings a lot of problems with it. In systems like text match, you can build a dataset. Then you can run a performance benchmark on it.
I'm not saying it's easy. But it's doable. Once LLM'ler enter the picture, evaluation gets really hard. Especially when the result is augmented. The same problem shows up in summarization. There are serious debates going on about it. People say LLM'ler have passed human performance. Meanwhile, others argue that human baseline wasn't drawn from the right people. Real benchmarking is not an easy job. On the other side, we're starting to see examples. Examples of LLM tabanlı systems. The biggest problem in front of LLM tabanlı systems right now is price. That's how I see it. You hit the LLM'e on every query. If you don't run your own LLM stack, it gets genuinely expensive. In time, in response time, and in what you pay per query.
Of course there are plenty of workarounds. Caching, for example. Let's keep going. There's honestly so much more I could say about this. The e-commerce use cases are one thing. The streaming ones are another. Every domain, every vertical hits its own problems. And finds its own solutions. In a 15-20 minute talk, you can't go into all of that detail. But if you ever want to grab a chat, or another talk. Or another project, I'm always around. Let's keep going. Alright, let's get to recommendation. Now, I put this here to be a bit of a troll. Very traditional recommendation algorithms. What we see here is collaborative filtering. It's based on matrix factorization. It approximates a user-item matrix.
Once you factorize, you're left with a user vector and an item vector. And you can vectorize users and items that never met before. Things that never left a mark on each other. Item-to-item pairs too. So you can compute how they'd affect each other. It works really well. Works great, honestly. As long as you have enough users and enough products, of course. Where does it break down? It's pretty basic. If a new user shows up. If you're a fast-growing platform. Or content gets added really fast. Like Medium, medium.com. Or YouTube. Or TikTok, for example. When content lands that fast, recommending it off past interactions alone isn't easy.
That's exactly what we call the cold start problem. And right here is where we need context. Who is this user? What might they want? Not just their past actions. Demographics, taste, earlier choices. On the other side, a new movie drops. A new article gets published. What is that article even about? So what's in the context? Understanding that is exactly what LLM'ler are built on. And at this point, personalization is the biggest thing. You have to surface the right result. It's a ranking problem, just like in search. But the word to underline here is personalization.
Results came back. But I need to know they were ranked for me. I need to feel that the order matches my request. That it matches my personal taste. If that happens, I find what I want in the top three. On the flip side, it recommends something I never thought of. Then I engage with the platform more. My retention goes up. My session time goes up. I'm sure you already know how much personalization matters. So I won't belabor it. Personalization has driven serious profits over the last three or four years. On the other hand, in-video interactions keep growing. Our company allows this, for example. Our platform lets you take notes while you watch a lesson.
Taking those notes, for example. Then recommending other things based on those notes. That kind of action is possible. YouTube has something similar with bookmarks. Bookmark suggestion could be its own separate product. So improving user experience with LLM'ler ile, and how satisfied people are with the platform. Every company has at least 9 or 10 projects on this right now. And those 9-10 are the ones picked out of a hundred-plus ideas. It's happening. It's flowing. Product managers are genuinely sweating right now. Which one do we build first? Meanwhile, different industries and companies can use different recommendation engines. The impact isn't the same across the board.
Take natural language feedback. Say I can pause a video and drop a suggestion. Or I leave a review on a product page. And that review actually gets understood and used properly. Not just one to five stars. Something I can really use. Here's the part I love: it generates the review for me. You go to a restaurant. Some things you liked, some you didn't. But you don't feel like sitting down to write it up. So it writes a review for you, in your own voice. I really like that.
A couple clicks later. On the other hand, sure, you can get away from stuff like that. Right now, recommendation systems at some companies still lean on one thing. They lean on popularity. They show you the popular items. But maybe you don't care about popular products. Maybe you're not that into pop culture. In that case, hitting your actual taste without LLM'ler isn't always easy. Sooner or later, popular products start taking over. But what we call contextual recommendations is stepping up. Those are systems that understand the content, understand you, and match the two.
But it's not like we drop everything and go all in on LLM'lere. Honestly, that's not the move. Same as with search, same as with vector databases. In recommendations too, you still want collaborative filtering in the back. You still want content-based filtering. Because there are multimillion users and multimillion products. You can't cross all of them. Multimillion times multimillion just blows up. So first you need to filter the products down. Then you ask which of these should I recommend. At this point I'm guessing you get the problems with recommendations. The biggest problem here is picking from way too many products for way too many users. You can't just dump that raw into an LLM'e. Honestly, that's not a thing.
You still have to use the old methods. On the other hand, we can talk about the general problems with LLM'ler. I don't want to go too deep into these today. They've been covered in other talks. Ethics and privacy problems have started rising seriously. For example, there needs to be an "I don't want recommendations" option. When an LLM makes really good recommendations, people's trust in the platform actually drops. Like, are we being listened to? Is it listening to us? How can it recommend this well?
Things like this start coming up. I talked about travel and cars with a friend. That evening I saw the listing on Instagram. An ad showed up right in front of me. Being paranoid doesn't mean you aren't being tracked. But when recommendations get this good and get personalized with LLM'ler. And the reason for that recommendation can be explained with LLM'ler. It really starts getting weird. It starts getting scary. Maybe at that point we need to put the focus back on recommendation systems. Old systems, let's call them traditional systems, don't tell you why a recommendation was made. So when you open Netflix right now, you see something in every row.
It's trying to give you an idea. Because you watched this before, so I'm recommending this to you. But you don't know exactly why it recommended that. If LLM'ler can do the necessary reasoning, and in some cases they can. Then it can say: yes, I recommended you this Python course. Because you want to be a data scientist down the road. In this Python course, you'll learn the pandas library. So that's why you should take this course. Or here's why you should watch this video. It's genuinely great that it can answer: here's why we picked this movie for you.
It also cuts down on that concern a bit. On the flip side, computational cost and resources are a real problem. Doing this one by one for every query, every user, every product is seriously expensive. In every sense. And beyond that, there's even the climate damage from all the GPUs being used. So these things need to get much cheaper. That means cheaper financially and lighter on computation too. On the other hand. What we should highlight today is that fine tuning and model selection are becoming less of a thing.
So you can take an AI that OpenAI built and use it in your own system. LLM tabanlı. How do you do that? By the way, there's P5 for an LLM'e, I added the references. In P5 you train it yourself end to end. But newer systems use the LLM as the core. They put agents around the LLM and build the recommendation system that way. So you're not training an LLM end to end just for recommendations. That cuts the fine tuning burden down. It also improves things on the model selection side. But like I said, one of the biggest problems here is benchmarking.
So how do you benchmark it? Personalization especially — how do you benchmark that? A new user shows up. You give them recommendations. But they have to click before you get feedback. We call it this: negative signal is hard to get. Because they see it, and when they see it, they click. But when you never show it to them. You don't know if it's a yes or a no for those products. And you can't show everything. You can't show a user millions of products. You can only work with what you showed.
So at that point, measuring this — the benchmark. The evaluate part — those are still real problems. Still serious problems. But there are workarounds. You make some assumptions, accept some limitations. And you can still test the system you built. At the simplest, if you can't do anything else. Take it offline into an A/B test. Give half the users one algorithm, half another algorithm or model. Then A/B test on whatever your business metric is. If we talk a bit about the future. At this point we need to talk about GPT-4 and beyond.
At this point reasoning came out better. And factuality, or fewer hallucinations, means you can use it better. You can actually ship it in a product. With 3.5 the hallucinations were high. So in recommendations, running it in prod, in production. Live — there were things you had to watch out for. Because there were problems with 3.5, as you know. Say it makes a wrong recommendation. And it bases that on wrong factuality. That's when you get trouble. On the other hand, this is a very active research area. That's why I didn't want to go too long on it today.
Because whatever I say today, something much better could show up next week. I just wanted to talk about its general impact on this field. I wanted to call attention to it. Agents, I mean, from what I see too. Whether it's LangChain or the Llama side. The things built on top are heading toward being used as agents. In recommendation and search systems too, you put an agent on the LLM'e. You put the LLM in the middle and wrap agents around it. You hook it up to a database so it can fire a SQL query. Or you hook it into your collaborative filtering system.
And in the middle, the LLM handles the needed queries. It could be chain of thought. It could be tree of thought. Or, for example, I read something yesterday. What was it called? Self-evaluating, it says. That thinking system where it reviews its own reasoning again. Let's just call it a thought process today. People are trying to build recommendation systems on top of those systems. Honestly, I couldn't read many industry blog posts about this. I couldn't find them. Right now everyone's experimenting. I mostly see it in the papers.
So they ran this on Amazon's database. On a public dataset, and they published it. But honestly, I haven't seen a good LLM-based blog post from Netflix or Spotify yet. Maybe we need to do talks like this every three or four months. Yiğit, maybe that's a to-do for us. I put down a QA session, but sadly we can't do one today. I still left a tag up there. Ahmet Uslu, that's the handle. Gmail, X, Twitter, LinkedIn, Instagram if you use it. I'm on pretty much all of them. I try to stay reachable everywhere I can. That's how I see LLM use in recommendation. These are the projects I work on day to day. We're a public company, so I can't share any of it in detail. It's not legal either. So I couldn't get very specific with you today.
But I wanted to share roughly what companies are trying to do. If you have more questions, ideas, tips, or complaints, reach out to me. Have a great time at the launch party, everyone.
— Thank you. Thanks, Ahmet.
This transcript was generated using AI speech recognition and verified against subtitle style rules.