
Doç. Dr. Şeyda Ertekin: Yapay Zekanın Evrilen Manzarası
Eee, bu saatte burada toplanmak hakikaten kolay bir şey değil ama bunu ancak işte ODTÜ ruhu yapabilir. Eee, AI generated fotoğrafımı beğendiniz mi bilmiyorum. Oradaki kıyafetime uygun bir kıyafet giyecektim. Aslında siyah ceketim vardı, fakat ondan sonra daha uygun bir vibe yaratayım dedim. Anlayabildiniz mi acaba vibe’ı? Siyah derim. Kimin? Jensen Huang, Nvidia’nın o siyah deri montunu giymeye karar verdim. Sonra… Evet, yeni GPU haberlerinden bahsetmeyeceğim ama çok yoğun eğer konuşacağız önümüzdeki bir saat içerisinde, Elif hocam ne kadar izin verirse. Evet, gündem yoğun, AI, anlatacak çok şey var.
Eee, gerçekten anlatacak konuyu seçmekte bile insan zorlanabiliyor. Çünkü “hangisini anlatsam acaba?” Hem gündem çok yoğun hem de hepsi çok heyecanlı konular. En sonunda son zamanlardaki gelişmelerden bahsetmeye karar verdim ve o son zamanlarda olan gelişmelerden dolayı da akıllar biraz karışık aslında. Bir sürü kavram kargaşası da var. O kavram kargaşalarını da biraz açıklamaya karar verdim ve de son teknolojilere göre son iki sene içerisinde grubumla yapmış olduğum araştırmalardan bahsetmeye karar verdim.
Şimdi tüm research dünyasında aslında biz üç büyük konuyu çözmeye çalışıyoruz bana göre. Bir tanesi hayat. Hayatla ilgili problemleri çözmeye çalışıyoruz: Nasıl işte ömrümüzü uzatmaya çalışıyoruz, ölümsüz olmaya çalışıyoruz, hastalıkları anlamaya çalışıyoruz, tedavi etmeye çalışıyoruz veya yaşadığımız hayatı daha kaliteli bir hale getirmeye çalışıyoruz. Teknolojiler kullanarak daha rahat olabileceğimiz bir hayat yapmaya çalışıyoruz.
Diğer bir büyük research konusu aslında evren. Evreni anlamaya çalışıyoruz. Evreni hem makro level’da hem mikro hatta nano level’da; hem atomları anlamaya çalışıyoruz hem gezegenleri anlamaya çalışıyoruz, uzaya gitmeye çalışıyoruz, atomları görmeye çalışıyoruz, hatta içindeki daha küçük parçacıkları bulmaya çalışıyoruz. Bir research konusu da bu.
Diğer büyük research konusu da bence dünyadaki researcherların uğraştığı “intelligence”. İnsan zekasını anlamaya çalışıyoruz. Çünkü dünya üzerinde zeka diye tanımladığımız şey insana özel ve de biz bu insana özel zekayı anlayabilirsek aslında birçok sorunu zaten çözebileceğimizi düşünüyoruz ve hakikaten o uygulamalarda, yapay zeka uygulamalarıyla da bunu görüyoruz. Hem intelligence, biz yapay zeka teorisini anlamaya çalışıp o teoriye uygun implementasyonlar yaratmaya çalışıyoruz, hem de bununla hem computer science alanında olsun hem AI alanında olsun hem de çok daha başka alanlarda problemleri çözmek için kullanıyoruz.
Şimdi yapay zeka dünyasında üç şey çok önemli. Bir tanesi GPU’lar, computing power. Computing power çok önemli, bu olmazsa olmazı. Çünkü normal çiplerde run edebilen artık algoritmalarla uğraşmıyoruz. Yani normal CPU’larda değil, GPU’lar hatta TPU’lardan bahsediyoruz. TPU da “tensor processing unit”. Bunlar, yapay zeka algoritmalarının—şu an uğraştığımız algoritmaların—matrix çarpımlarını çok seviyor olması nedeniyle ortaya çıkmış işlemciler. Bu matrix çarpımlarını çok daha verimli bir şekilde yapabileceğimiz işlemciler çıkıyor. Bunları bulamazsak GPU’larla uğraşıyoruz. GPU’lar da yine paralel algoritmaların paralel run etmesini sağlayan işlemciler.
Diğeri data. “Data is the new oil” dendiğine göre, sayın rektörüm artık benzin istasyonuna gerek kalmayacak ama yeni benzin istasyonları da artık bu şekilde oluyor. Data çok önemli. Datayı toplayabiliyoruz artık, evet datamız var ama data etiketli mi, etiketsiz mi, şimdi bunu konuşacağız. Bu ne kadar önemli? Ve de çok önemli olan kısım algoritma kısmı. Yani algoritmalar sürekli gelişiyor, yeni algoritmalar çıkıyor ve yeni “challenge”lara göre yeni algoritmalar geliştirmemiz gerekiyor. Ve de bizim bunları daha hızlı, verimli ve “accurate” dediğimiz, doğru bir şekilde run edebilir hale getirmemiz gerekiyor.
Şimdi son zamanlarda bir de çıkan “generative AI” denen bir şey var değil mi? Bu üretken yapay zeka dediğimiz yapay zeka. Bundan önce neydi? Burada paradigma değişiminden bahsediyoruz çünkü eskiden sadece “prediction” için kullanıyorduk yapay zekayı. Yani bir şeyi tahmin etmek için, bir şeyi öngörmek için kullanıyorduk. Fakat burada artık yeni data yaratabilir hale geldik, değil mi? Ne gibi datalar üretiyoruz? Müzik yapabiliyoruz, 3D modeling, video yapabiliyoruz, game development bile yapabiliyoruz. Art yapıyoruz, voice, müzik, ses, insan sesi taklidi olabilir. Code generate ediyoruz, image zaten ve hepimizin artık her gün kullanmaya başladığı chatbotlar yapıyoruz. Bunlar hep generative AI dediğimiz algoritmalar.
Fakat her generative AI bir chatbot değil. Mesela şimdi bu aradaki farkları anlamamız lazım. Ve son zamanlarda sadece chatbotlara mesela “AI, yapay zeka” denmeye başlandı. Aslında öyle değil durum. Bu duruma da bir açıklık getirmek için bir diyagram kullanmaya karar verdim.
Şimdi AI aslında çok geniş bir alan. AI en baştaki AI işte daha böyle kural bazlı “rule-based” dediğimiz algoritmalarla olan şeylerdi. Burada bir datadan öğrenme yoktu. Datadan öğrenme kısmı geldiğinde, makine öğrenmesi kısmı geldiğinde, özellikle bu 90’larda çok “boost” eden bir alan oldu. Makine öğrenmesi, datadan öğrenme… Çünkü internetten dolayı, internet çıkınca data toplamak çok daha yaygın hale geldi. Zaten “search engine”ler çıktı, web sayfaları var bir sürü; bunları nasıl işleyeceğiz, nasıl anlayacağız? Makine öğrenmesi ortaya çıktı.
Bu şekle geleceğiz, arada bir geleceğiz, oradan bir devam edeyim. Bu makine öğrenmesinden önce aslında ilk chatbot—hani herkes “ChatGPT”yi zannedebilir veya daha yakın olan örnekleri zannedebilir—ama ilk chatbot aslında Eliza. 1966 yılında çıkmış bir program. Bu, Joseph Weizenbaum tarafından MIT’deki bir professor tarafından çıkarılan bir şey. Bu sadece rule-based bir şey, yazıyor; kural bazlı sadece yazıyor. Fakat burada insanlar yine de buna baya heyecanlanmışlar. Çünkü insan psikolojisini fark etmişler. Örneğin, insan böyle empati kuran cümleler kurduğu zaman, bilgisayar mesela “Thank you” dediği zaman veya “uh” falan diye başladığında insan bunu daha da karşısındakini insan zannetme hissiyatı içerisinde oluyormuş. O yüzden Turing testi mesela Eliza geçmiş. Çünkü herkes bu tarz şeyleri çoğalttıkça Turing testini daha iyi geçtiklerini düşünmüşler.
Ama tabii rule-based her şeyi karşılıyor mu? Her şeyi karşılamıyor. Ondan sonra makine öğrenmesine geçiliyor. Makine öğrenmesinde aslında çoğumuzun da kullandığı, çok geniş bir alan var. “Supervised learning”, “unsupervised learning” ve “reinforcement learning”, pekiştirmeli öğrenme diye üç ana bölüme ayırabiliriz. Aslında hepsinde değişik algoritmalar var.
Yapay sinir ağları, bu bahsedeceğimiz derin öğrenme algoritmaları, yapay sinir ağlarından kaynaklanan algoritmalar. Fakat makine öğrenmesi içerisindeki tüm algoritmalar yapay sinir ağlarından esinlenmiyor. Yani bizim beyinde nasıl çalışıyor falan, bundan esinlenmeyen çok daha başka matematiksel temelleri olan algoritmalar da var. İşte karar ağaçları olsun, “support vector machine”ler olsun; bunlar hep sınıflandırma yapabilen ama yapay sinir ağlarıyla alakası olmayan algoritmalar.
Evet, bunlarla ne dedik? Klasifikasyon yapabiliriz, regresyon yapabiliriz, “clustering”, kümeleme yapabiliriz veya “reinforcement learning”de de bir “agent”ın, bir AI agent’ın ödül bazlı hareketini sağlayabiliriz.
Şimdi ondan sonra “deep neural networks”e geliyoruz. Neural network de işte yapay sinir ağlarından esinlenen bir algoritma. Yapay sinir ağlarının çok katmanlı ve çok “layer”lı, aralardaki nodeları artırırsak ve katmanları artırırsak, normal bir perceptron algoritmasının aslında biz orada “deep learning” algoritması elde etmeye başlıyoruz. Derin öğrenmede bunları da artık çok kullanıyoruz, bu şekilleri. İşte node ve edge’ler… Onlar bizim için çok önemli çünkü onlar bizim weight’lerimiz. “Weight” dediğimiz, model dediğimiz, hep model diye konuşuyoruz ya “AI modeli, AI modeli”; işte AI modeli dediğimiz aslında bizim o weight’leri bilmemiz lazım. Yani o edge’lerdeki katsayıları bizim bulmamız gerekiyor. Training, eğitim sırasında veya algoritma nasıl çalışıyorsa, onları bulduğumuzda biz modeli bilmiş oluyoruz. Ve derin öğrenme algoritmalarında her layer’da çeşitli katmanlarını anlayabiliyoruz; mesela bir örneğin, bir image’in çeşitli katmanlarını anlayabiliyoruz ve bu şekilde devam ediyoruz. Bunlar son senelerde gerçekten çok iyi sonuçlar vermeye başladılar.
Aslında ilki 90’larda machine learning böyle patlama yaptığı zamanlarda, 95 yılında yine tanıdık bir isim, Yann LeCun… Turing Award alan kişidir zaten ve Facebook’un, Meta’nın AI lab’ının direktörüdür. Onun çocukluk arkadaşı da, en çok yakın kankası da benim co-advisor’ımdı, Leon Bottou. Orada da adı var. O yüzden Yann LeCun’u çok iyi tanırım; öğrencileriyle doktora sırasında çok beraber çalışmıştık. AT&T Research Labs’da, Princeton’da, 90’larda Yann LeCun ve Leon Bottou ve birkaç arkadaşının daha beraber çıkardıkları “handwritten digit recognition”i aslında convolutional neural networks ile yaptığı sistemle, neural network’ler baya biraz ünlü olmaya başlıyor.
O zaman tabii SVM’cilerle baya bir tartışma içerisinde oluyorlar. Aynı labda çünkü Vladimir Vapnik de vardı; Vladimir Vapnik de SVM’lerin “inventor”ı. Ve tüm bankalarda, Amerika’nın tüm demeyeyim ama sayılı bankalarında bu sistem kullanılmaya başlanmıştı. Yani 2000’lerde falan bu sistem baya bir bankada kullanılıyordu.
Sonra arada büyük bir “gap” var aslında gördüğünüz gibi. Yani o ta 95’lerde oluyor, 98’lerde falan oluyor. Ondan sonra arada baya büyük bir gap var; 2000, 2005’ler geçiyor, 2010, 2015… 2015’te aslında yine çok önemli bir olay oluyor deep learning alanında. Orada da Geoffrey Hinton’ın University of Toronto’daki lab’ından bir şey çıkıyor, bir ürün çıkıyor; daha doğrusu yine CNN’lere dayanan, convolutional neural networks’e dayanan bir “software” ve bu ImageNet datası var, 1,5 milyon kadar image olan bir dataset. Bunun klasifikasyonunda—1000 tane de class var—insandan daha iyi sonuçlar alıyor.
Başka tek CNN’ler midir, tek convolutional networks müdür bizim hayatımızdaki önemli deep learning metotları? Hayır değil. Mesela RNN’ler… Şu biraz su borusu gibi, apartman su borusu tesisatı gibi görünen sistemler de aslında bir deep learning network’ü. RNN’ler mesela “recurrent neural networks” veya LSTM’ler veya GRU’lar bunlar. Time series analizi de çok önemli bir şey yapay zekada. İşte sensör dataları, 1D data diyoruz, tek yönlü data geliyor; sensör datası geliyor ve her şey bir sinyal. O sinyalde benim prediction yapabilmem çok önemli. Veya o sinyaldeki anomalileri anlayabilmem çok önemli veya o sinyaldeki anomalileri classify edebilmem çok önemli. O yüzden çeşitli deep learning teknikleri bu tarz yıllardır kullanılmakta ve geliştirilmekte.
Şimdi tekrar bu grafiğe dönersek, bundan sonra gördüğünüz gibi iş biraz karışıyor. Artık birbirine girmiş falan, böyle halkalar olmaya başlıyor. Burada biraz iş karışmaya başlıyor. Şimdi generative AI var, evet şurada generative AI var; burada “large language models” denen bir şey var. Ama large language modellerin hepsi generative AI değil, generative AI’ın hepsi LLM değil. ChatGPT’yi biliyoruz biz: Hem generative AI olduğunu hem de LLM olduğunu biliyoruz. ChatGPT, şurada gördüğünüz gibi ChatGPT’ye benzer başka modeller var ama burada başka bir mesela generative olmayan large language model var. Bir tane “transformer model” diye bir şey geldi buraya. Aslında transformer modeller de bir deep learning network’ü ve bazı generative AI algoritmaları transformerlarla yapılıyor. Large language modellerin, artık iyi çalışabilir halde, chatbotların iyi çalışabilir halde çalışmasının nedeni de transformer modelleri.
Aradaki fark ne? Şimdi prediction yaparken ne yapıyoruz, generation yaparken ne yapıyoruz? Aslında olay bizim baktığımız “probability”; discriminative, predictive… Bir prediction yapıyorsak biz koşullu probability’ye bakıyoruz aslında: “Bu feature’lar verildiyse bunun class’ının bu olma olasılığı nedir?” gibi. Ama generative modelde üzerinde çalıştığımız genel fikir aslında “joint probability”ye bakmak. Yani X ve Y; feature, o nesneleri temsil eden özelliklerim ve de label’ı aynı anda görmek istiyorum.
The evolution of generative AI derken birçok generative AI algoritması var. Transformer’lar bunlardan bir tanesi. GAN’lar var, çok ünlü “generative adversarial networks”; VAE’ler var, “variational autoencoder”lar; Markov chain’i de generative AI olarak düşünebiliriz. Çok tarihsel, geriye gidersek…
Örneğin generative AI’yı konuşalım, LLM’lere gelmeden önce generative AI ne yapıyor? Bu da generative adversarial networks. Burada aslında iki tane neural network birbiriyle yarışıyor. Bir tanesi generator model, diğeri de discriminator model. Biz bu GAN’ları şeyden biliyoruz: İlk chatbotlardan önce bizi ne heyecanlandırmıştı? Fake fotoğraflar görüyorduk değil mi, veya fake videolar görüyorduk. “Aa o onu demiş mi, bunu demiş mi hakikaten?” diye… GAN’ları oradan biliyoruz; yani image generate etmeye yarayan bir algoritma. Generator model var, discriminator model var; bunların hepsi neural network bu arada.
Generator bir image yaratmaya çalışıyor, image yaratıyor. Discriminator da bunun doğru mu değil mi diye sınıflandırıyor. Aslında şurada da CNN’ler uygulanıyor; bunu bir predictor gibi düşünürsek gerçek dataları biliyor ve generator’dan gelen örneği “hakikaten gerçek bir image midir, değil midir?” diye classify etmeye çalışıyor ve bir feedback veriyor: “Biliyor mu, bilmiyor mu?” Generator da kendini ona göre geliştiriyor. Aslında burada bir “zero-sum game” var, yani “game theory” de var ve “minimax loss function” uygulanıyor.
Burada bizim machine learning örneğinde yaptığımız şey, aslında bizim için loss function’lar çok önemli. Yani loss function’ı değiştiririz, algoritmayı değiştirmiş oluruz ve hep onu optimize etmeye çalışıyoruz; objective function’ımızı optimize etmeye çalışıyoruz. Burada da minimax kullanılıyor. Minimax’te de her iki network de kendi kazancını artırmaya çalışırken diğerinin kazancını azaltmaya çalışıyor, ama diğer taraf da aynı şeyi yapıyor. Bu şekilde bir loss function’la çalışıyor ve daha önceden görmüş olduğumuz şu art’lar… İşte şunlar mesela fake resimler: “thispersondoesnotexist.com” diye sayfalar vardı, olmayan insanların yüzleri gibi resimler. Bunlar hep GAN’la üretiliyordu.
Şimdi biz bu machine learning, deep learning, generative AI bulutlarının arasından geçerken, biz machine learning researcher’lar aslında şu konulara odaklanıyorduk: Ya, biz bir sürü datanın farkındayız. İşte image var, time series’ler var, başka türlü datalar gelebilir, “multimodal inputs” gelebilir. Ben bir şeyi neden sadece image’e bakarak mesela karar vereyim? Bir hastalık tanısı yapmak istiyorum, niye sadece image’e bakayım veya niye sadece hastanın bilgilerine bakayım, laboratuvardan gelmiş kan değerlerine bakarak karar vereyim? Hepsini kullanarak bir şey yapamaz mıyım? Aslında biz bunun peşindeydik.
Başka neyin peşindeydik? Birçok şey için küçük küçük başka modeller oluşturuluyordu. Hepsini ayrı ayrı eğitiyorduk, datasını topluyorduk, etiketliyorduk ama hepsi ayrı ayrıydı. İşte birinde otomobili predict edeceğim, otomobili classify edeceğim, diğerinde gemi diyelim, diğerinde uçak diyelim ama hepsinin için ayrı ayrı modeller oluşturup ayrı ayrı yapmaya çalışıyordum. Fakat insan öğrenmesini de düşününce… Biz bir şeyi öğrendiğimiz zaman, mesela basketbol oynamasını bilen bir kişiye voleybol öğretirken tekrar “bak bu top, bu saha” diye öğretmiyoruz değil mi? Yani bazı şeyleri biliyor aslında. Bazı şeyleri biliyorsa, ben voleybol öğretirken de bunu sıfırdan “from scratch” dediğimiz şekilde başlatmamalıyım.
Bunun için biz bunları düşünürken “Evet, o zaman machine learning researcher’lar ‘transfer learning’ denen bir şey olmalı” dedik. Transfer learning’de şimdi çok büyük dataset’i olan domainler olabilir veya biz hazırlayabiliriz. Mesela ImageNet öyle bir şey; 1,5 milyon tane image’den oluşuyor. Ama benim her domain’de 1,5 milyon tane etiketli image bulmam olası değil. Ben onunla eğitebilirim neural networklerimi, deep learning networklerimi eğitebilirim ve bir tane network’üm olur. Network’üm olur diyorum, modelim olur, çünkü niye? Weight’lerini biliyorum; artık eğittim onu, burada weight’lerim olur.
Ben sonra yepyeni bir alana geçerken, daha az datayı kullanarak buradan sıfırdan başlayacağıma daha az datayla, şöyle aradan girerek, daha önceden kullanılmış weight’leri de bularak… Çünkü o da image yapıyordu; köşeleri bulmayı biliyor, çizgileri bulmayı biliyor, renkleri bulmayı biliyor. O zaman benim bunları tekrardan keşfetmeme gerek yok. Oradan girerek ben daha “high-level feature” dediğimiz esas objeyi belirlemek için kullandığımız feature’ı bulabilirim. Transfer learning bunu yapıyordu.
Başka bir sorunumuz da etiketleme. Biraz öncekinde de yine transfer learning… Tamam, aradan girdim falan ama yine benim etiketli dataya ihtiyacım var. Onu bir insanın oturup “Evet bu budur, bu budur” diye etiketlemesi lazım; gerekirse image’lerde “segmentation” yapması lazım veya “bounding box”ları alması lazım. Bu hakikaten çok büyük bir işti ve özellikle Çin’de mesela bu iş en iyi orada yapılıyordu, çünkü binlerce insanın günlük işi—daily job—oydu: Data etiketlemek. Yani herkes işe gidiyordu ve binlerce kişinin oturduğu hangarlar var, sadece data etiketleyen binlerce insan düşünün; her gün…
Evet, data etiketlemek çok önemli ama “Hadi yapalım, hadi bütçeyi bulduk, insanı da bulduk, yaptık” ama bazı konularda da “expertise” gerekiyor. Yani o uzmanlık alanı olmadan zaten onu bizim etiketleyebilmemiz imkansız. O yüzden “bizim bu etiketli data işinden kurtulmamız lazım” şeklinde bir şey düşünüldü.
Evet, etiketleyen insanlar, bounding box alma olayları, özellikle image… Bunun için o zaman “foundation models” dediğimiz—işte esas bu ChatGPT nedir?—ChatGPT bir foundation model’dir. Foundation models dediğimiz modeller gelişmeye başladı.
Foundation models’da şimdi “traditional ML”de ne yapıyorduk? Traditional ML’de labeled datamız var, etiketli data var; her biri için ayrı bir machine learning modelimiz var ve onunla ben ne yapmak istiyorsam yapıyorum. İşte text generate edebilirim, summarization da yapabilirim, Q&A de yapabilirim; neyse taskım, ona göre hepsini etiketliyorum ve ona göre model oluşturup yapıyorum. Ama burada foundation model… Şuna bakarsak, bir: unlabeled data, çok iyi bir şey. Yani datayı labellamıyorum. İyi, çok güzel; datayı labellamıyorum ve hepsini verebilirim; hem de labelsız verebilirim. Şurası da çok önemli: FM dediğimiz foundational model.
Foundation model’de ne yapıyoruz? Küçük ML modellerinden vazgeçtik. “Tamam, ona gerek yok artık. Foundation model her şeyi alacak, hem de unlabeled alacak. Bir modelle hepsini anlayacak; pattern’leri alacak, relation’ları çıkaracak, önemli feature’ları çıkaracak. Ondan sonra ben bunu downstream’de taskıma göre istediğim taskı yapabilir hale geliyorum.” İşte bu gerçekten aslında yine yeni bir paradigma değişimi oldu.
Bunun için gereken teknolojiler ne? Deep neural networks; deep learning networks olmasaydı bunu yapamazdık. Transfer learning olmasaydı bunu yapamazdık. Ve etiket yok datada, o zaman bana “self-supervised learning” lazım. Kendi kendini etiketleyen datalar gibi düşünebiliriz. Self-supervised learning lazım ve olmazsa olmazı yine computer parallelism lazım. Bunlar olduğu sürece biz foundation modelleri yapabiliyoruz.
Yeni grafiğimize geçersek, eğer biraz daha ortamı basitleştirmek için AI, machine learning, deep learning ve de foundation models’ı artık koyabiliriz. Foundation model, bir modelim var; istediğim text, image, speech, structural data, unstructured data, 3D signals, ne istiyorsanız giriyorsunuz, foundation model oluşturuyor. Sonra benim tasklara göre, değişik tasklara göre ben onu fine-tune ederek burada değişik taskları yapabiliyorum.
Birçok foundation model generative midir? Evet, yani birçok foundation model generative, çünkü neden? Full data distribution’ı biz görmek istiyoruz, çünkü burası unlabeled’tı. Full data distribution’ı görmek istiyorum aradaki pattern’leri çıkarabilmek için ve de text, image, audio, video veya code yaratabiliyorum; yani yeni data generate edebiliyorum. Ve de bu tarz bazı teknolojileri kullanıyorum; bunlar hep generative algoritmalar, yeni data üretebilen algoritmalar.
Burada aslında bizim “How do I generate this data?” sorusu önemli. Yani bu tarz research’le uğraşırken hep şu şekli görürüz: Burada geniş bir şey, burada dar bir şey var, burada yine geniş bir şey var. Bunlar bizim autoencoder’larımız. Autoencoder’lar buradan datayı alıyor, bir şekilde bunları vektörel hale getiriyor, embedding haline getiriyor ve burada önemli feature’ları çıkarıyor. Önemli feature çıkarmak demek ama olan feature’lardan bazılarını seçmek değil; bunlar latent feature’lar. Yani bazıları nonlineer bir şekilde o feature’ları birleştirerek yeni feature da oluşturabiliriz. Latent feature’ı buluyorum. Sonra burada istediğim “head”leri—bunlara head deniyor—istediğim başlıkları kullanarak, istediğim randomization’ı kullanarak, buradan yeni data üretebiliyorum. Yani bu önemli encoder’lar; bunları kullanarak foundation modeller data generate edebiliyor.
Foundation models’da evet, bir tarafında LLM var; başka LLM, large language model var. Bu genelde text üzerine yapılan foundation modeller ama hepsi text üzerine değil. Vision üzerine de olanlar var, değil mi? VLM’ler var, “vision-language models”. Science üzerine olanlar var. Alphafold… Alphafold, Google’ın DeepMind’ının protein yapılarını predict etmek için kullanılan algoritması, Alphafold mesela bir foundation model aslında; sadece o domain’e ait science bilgileriyle besleniyor. Google DeepMind’ın yine GNoME’u var; bunu da materials science’cılarımız bilir. Yeni stable, yeni inorganik bileşikler bulmak için yapılan bir foundation model. Ve hakikaten bu, birkaç milyon tane yeni olabilecek moleküler yapı buluyor. Bunların, eğer sentezleyebilirsek, laboratuvar ortamında bunu yapabilirsek, hakikaten yeni malzemelerimiz, yeni moleküler yapılarımız olacak ve bunların özellikle enerji alanında ve solar cells’lerde ve özellikle de battery alanlarında çok kullanılacağı söyleniyor.
Birçok company bu işlerle uğraşıyor; zaten görüyorsunuz, Google, Meta, OpenAI bunlar hep başı çekiyor ve bunların sadece LLM değil, aynı zamanda VLM de sunduklarını, vision modelleri de sunduklarını görüyoruz. Google’ın DeepMind’ı zaten science foundation modellerle de çok uğraşıyor.
Bunlarla ilgili şimdi “Hangi modeli ne zaman kullanacağım peki? Çok fazla model var.” Hugging Face denen bir portalımız var; machine learning researcher’ların kullandığı. Orada aslında 300.000’den fazla model var, foundation model var. Orada bize uygun olanı biz seçebiliyoruz; büyüklü, küçüklü, kaç parametreli, daha küçük olan, daha büyük olan, çeşitli domain’lerde eğitilmiş olan ve performanslarını da aslında görebiliyoruz. Performanslarını; “intelligence”da nasıl skor almış, “speed”de nasıl skor almış… Bir de “price” önemli tabii ki. Şimdi bunların hepsini de bedava kullanamıyoruz; bunlar için API’larla bağlanıp aslında oradan biz her token için para ödüyoruz. Ha, küçük modelleri indirip kullanabiliriz, evet, onu konuşacağız.
Şimdi foundation modeller o zaman neden önemli? Foundation modelim var benim; ben bunu fine-tune ederek, burada kendime göre bir “enterprise’ın”, mesela bir company’nin, şirket bilgilerine göre eğiterek… Ama bu büyük, massive foundation model, tüm internet, tüm library, tüm kitaplar, aklınıza gelebilecek her türlü text’ten oluşmuş bu massive foundation oluşturulmuş; foundation model kullanarak, onu fine-tune ederek kendi daha küçük—çok çok daha küçük olan dataset’imle onu fine-tune ederek istediğim şeyleri yine yapabilir hale geliyorum.
Foundation modellerin neden önemli olduğunu da yine biraz daha üzerinde durursak: Bir kere efficiency sağlıyor; artık AI development’ta bir verimlilik sağlıyor. Çünkü herkesin o kadar büyük, massive dataya ulaşması imkansız; onu işleyebilmesi de imkansız. Ama eğer bunları yapabilen bir yer varsa ve ben o modeli kullanabiliyorsam, sonra gerek closed-source olarak gerek de open-source olarak API’larla bağlanarak veya open-source olarak kendi bilgisayarıma indirerek bunları kullanabiliyorsam, run edebiliyorsam bu baya bir efficiency sağlıyor.
Improved performance, çünkü burada huge bir model vardı zaten; ben o huge modeli kullanıyorum, oradan baya bir şey öğreniyorum aslında. Transfer learning gibi; yani birçok şey burada öğrenilmiş zaten, benim onları “from scratch” öğrenmeme gerek yok. Öğrenmeye çalışsam da zaten yapamam, bunun kadar iyi yapamam, çünkü burada çok çok daha fazla data kullanıldı.
Bu bir de “democratization of AI” anlamında önemli; yani yapay zeka algoritmalarının veya yapay zeka uygulamalarının birçok kişi tarafından artık kullanılabilir hale gelmesi. Bunu sadece günlük kullanım olarak da düşünmeyelim; herhangi bir company’nin, herhangi bir yapay zeka yapmak isteyen bir company’nin, yine image classify edecek mesela bir mühendisin elinde az data var. Az data varsa zaten yapay zeka yapamayacaktı. Ama şimdi artık yapabilir hale geliyor, çünkü bu foundation modelleri kullanarak, fine-tune ederek kendi datasıyla onları yapabilir hale geliyor. O yüzden democratization of AI; bu çeşitli coğrafi lokasyonlarda da yer alan insanların da bunu kullanabilmesi veya daha küçük company’lerin bunu kullanabilmesi gayet önemli.
Evet, transfer learning… Aslında transfer learning’le ilgili bir slayt daha koymuşum, onu biraz daha detaylı anlatmak için. Yine convolutional layer’larımız var, CNN’lerimiz var. Bir image anlamaya çalışıyorsak eğer, bir CNN’imiz var ve bunun bazı layer’ları—layer dediğimiz o node’ları içeren kısımlar—“frozen” diyoruz; donmuş yani, orayla oynamıyoruz hiç. Ama bir de “dense layer”larımız var, fully connected node’lar var; artık classification’ı anlayacağız, tüm node’lar birbirleriyle bağlı, dense layers. Bu tarafların o kadar dense olmasına gerek yok; son classification, Y, bu dense layer’da. Oraya girerek, araya girerek, kendi datamızla bunları işleyebilir hale geliyoruz.
Bir de diğer teknoloji neydi foundation modeller olabilmesi için? Self-supervised learning dediğimiz şey. Şimdi burada etiketli data yapmak istemiyoruz artık; hepsini etiketleyemeyeceğiz, onu anlıyoruz. O zaman bizim “masking” denen metodumuz var. Masking yapıyoruz ve datanın kendisini de kullanıyoruz. Şimdi ben hem bu resmi hem bu resmi kullanırsam, hem de bu resmin kendisini kullanırsam ama şurayı mask’lemişim; o zaman ben burada missing bölgenin aslında kedinin yüzü olduğunu anlayabiliyorum. Yani algoritma bunu anlayabilir hale geliyor. Bunun gibi milyonlarca data girdiğinizi düşünün.
Text’ten örnek verecek olursak mesela böyle bir cümle var: “Digital transformation is changing the world.” Ben bazı kelimeleri mask’lamak istiyorum; “changing”i sildim, mask. Ama ben şunun ikisini birden veriyorum. Şimdi ben burayı hiçbir şekilde insan kullanmadan yaptım; etiketleme, “bu cümle ne demekti, neyle ilgiliydi” diye hiçbir şey kullanmadım, insan etiketi kullanmadım. Ama şuradaki mask’ı kullanarak ve ikisini de vererek—hem datanın kendisini veriyorum hem de mask’lı halini verirsem—buradaki missing word’ün aslında “changing” olduğunu anlıyoruz. Yani aslında buradaki label kendi orijinal kelime. Burada label “original word” veya şuradaki label “yüz” dediğimiz şey ortaya çıkıyor. Ben burada mask’ı istediğim yere değiştirerek bu label’ları yaratabilir hale geliyorum.
Self-supervision neden önemli? Çünkü semantik kategorilerden kaçıyoruz; yani belki o kategorilerden başka kategoriler de var, insanın belirleyeceği kategorilerden. Fix dataset’lerden kaçıyoruz; çeşitli şekilde ben istediğim gibi mask’layıp istediğim şekilde label’lar üretebiliyor hale geliyorum. Ve de “to get away from fixed objectives”; objective’leri de değiştirebiliyorum. O zaman daha extreme scale’de işler yapabilir hale geliyorum—“extremes”, yani billions or trillions of tokens, images veya audio clips yapabilir hale geliyorum. Çünkü benim o image’leri, her cümleyi, her cümlenin kelimesini “Bundan sonra ne geliyor, bunun içinde ne var?” diye label’latmam gerekmiyor; artık olduğu gibi kendisini kullanabilir hale geliyorum. İşte foundation modelleri mümkün kılan teknolojilerden bir tanesi de o yüzden bu ve daha general task’lar oluşturabiliyoruz ve çok çeşitli multimodal datalarla uğraşabiliyoruz.
Bir de ChatGPT’ler… Yine ben genelde ChatGPT, chatbotları örnek alarak onların kullandığı teknolojileri anlatmaya çalıştım. Aslında çok fazla generative algoritma var ama “autoregressive model” de generative algoritmalardan bir tanesi; ChatGPT’nin kullandığı. O da geçmiş datayı görerek—aslında bildiğimiz bir şey—geçmiş datayı görerek bir sonrakine karar vermesi. Aslında biz bunu zaten yapıyorduk; prediction işi yaparken de, time series prediction yaparken mesela zaten yapıyoruz. İşte burada GPT, PixelCNN gibi birçok şey de autoregressive modelle çalışıyor. Buraya kadar bunları görmüşüz; bundan sonra “next word” ne olacak? Yani LLM’deki next word ne olacak?
Diffusion modelleri de hemen bir koydum, kısaca geçeceğim çünkü VLM’lerde önemli bu da; VLM’lerde önemli ve GAN’ların, hani image yaratmak dedik ya, GAN’lardan çok daha iyi image yaratıyor aslında, çok daha iyi kalite image yaratıyor. Buradaki olayda bilinen bir resme giderek giderek noise, noise, noise, noise koyuyoruz ve tanınmaz hale getiriyoruz. Sonra bu noise’lu tanınmaz halden nasıl koyduğumu biliyorum; çünkü çeşitli varyasyonlar yaparak tekrar aynı resmi elde etmeye çalışıyorum. Ama o varyasyonları yaparken, o reverse engineering, reverse diffusion’ı yaparken aslında orada ben image’i değiştirebiliyorum ve oradan başka bir köpek resmi çıkartabiliyorum.
Transformer’lar zaten apayrı bir konu; transformer’larla ilgili başlı başına bir lecture yapabiliriz. Kısaca bahsetmek gerekirse, gerçekten çok etkili. 2017’de çıkmasıyla her şey değişti. Şu andaki current LLM modelleri, çalışır LLM modelleri, transformer’lar sayesinde mümkün oldu. 2017’de çıktı bunun paper’ı; OpenAI’dan değil, Google’ın researcher’larından çıktı. Bu “transformer” fikri Google researcher’larından çıkmıştır. Yine bir derin öğrenme algoritması fakat “attention” denen bir mekanizmayla çalışıyor. Her kelimenin diğer her kelimeyle ama sadece arkadaki kelimelerle değil—çünkü bazı kelimeler belki ondan sonraki kelimelerle daha alakalı—sadece arkada görmüş olduğu kelimelerle değil, her kelimenin her kelimeyle olan yakınlığını, ilgisini bulan bir mekanizması var. Teknik olarak da incelersek, burada slaytlar ona izin vermeyecek ama söyleyebilirim ki çok “expressive” bir algoritma aslında, çünkü node’lar neredeyse birbirleriyle haberleşerek gidiyorlar. Yani bir node “Ben şuna şuna şuna ihtiyacım var” diye broadcast ediyor; başka bir node, “Bende de şunlar var” şeklinde node’lar arası mesajlaşarak gidiyor. Ve en önemlisi de paralel bir şekilde yapılabiliyor; dolayısıyla çok hızlı bir şekilde bu yapılabilir hale geliyor. RNN’ler ve LSTM’ler de bundan sonra zaten daha az popüler olmaya başladı, çünkü RNN’ler ve LSTM’ler sadece arkaya bakıyorlardı: “Tamam, bu benden önce gelen hangileriyle ne kadar alakalı?” ona bakıyordu. Fakat transformer’lar her tarafa bakıyor.
Evet, şimdi ne dedik? Open-source LLM’ler var, bir de closed-source LLM’ler var. Bu bizim her gün açıp da kullandığımız closed-source taraf; çünkü onun kodu var mı elimizde? Yok. Nasıl çalıştığını, kodunu bilmiyoruz; hangi datayla train etmişler, bilmiyoruz; onu bize söylemediler, vermediler. Kodu da bilmiyoruz ama çok büyük bir model olduğunu biliyoruz ve tamam, kullanabiliyoruz. Biz o modele API’larla da bağlanabiliyoruz; yani ben bunu başka değişik task’larımda kullanabilirim, API’larla bağlanıp. Tabii burada da her token başına para ödüyoruz.
Her token başına para ödüyoruz. Eğer ki… Gerçi şunu anlatmış oldum; şu an closed-source LLM’i kullanmış olduk. Ama güzel bir şey; eğer cutting-edge bir performans istiyorsak, onu kullanarak token parası ödemeye değer. Ama ne oluyor? Datamız dışarı çıkıyor; data dışarı çıkmak zorunda. Bu teknikte bunu çünkü lokalimde run edemiyorum.
Eğer ki ben datamı dışarı çıkarmak istemiyorsam, datam kritikse—ki birçok alanda data kritik, dışarı çıkması istenmeyen çok alan var, çok company var—o zaman open-source LLM kullanmam lazım. Open-source LLM’ler de bunlar; daha küçük modeller. Yine daha küçük modeller ama bunlar da birkaç milyar parametreli şeyler. Mesela “2 milyar parametreliyse çok küçükmüş” falan dediğimiz open-source modeller bunlar. İşte 60 milyarı var, 200 milyarı olan var falan; yine de büyük modele göre çok küçük. En azından bunları indirip güzel bir makinemiz varsa, güzel GPU’larımız varsa biz bunları run edebiliyoruz. Bunları run ediyoruz; bunlar open-source, bunlarla kendimiz oynayabiliyoruz.
Eğer data kritikse ve iyi de makinelerimiz varsa, bunu handle edebiliyorsak ve de o “expertise”e sahipsek, onu kodlayabilecek şekilde bir uzmanlık varsa, biz open-source LLM’leri de kullanabiliriz ve böylelikle de datamız dışarı çıkmamış olur.
Evet, şimdi bu ana teknolojileri verdikten sonra biraz kendi research’ümden, kendi grubumla yapıyor olduğum research’ten bahsetmek istiyorum. Bu research’ü mesela bu yaz başlattım. Bu yaz Harvard Üniversitesi’nin Computational Radiology Lab’inde, Harvard Medical School’da, Computational Radiology Lab’daydım ODTÜ’den bir öğrencimle—bilgisayar mühendisliğinden bir öğrencimle.
Orada radyoloji alanını zaten hepimiz duymuşuzdur; AI’nın en çok kullanıldığı ve en etkin bir şekilde kullanıldığı alanlardan bir tanesi. Orada yapmak istediğimiz, X-ray’lerdeki fracture’ları anlamaya çalışmaktı. Bizim odaklandığımız X-ray alanı bilek X-ray’leriydi. Bu çok önemli, çünkü her X-ray, her bölge aynı değil. O kadar çok mesela ciğer X-ray’i var ki; birçok modelde işte “lung image”leriyle beslenmiş, eğitilmiş. Wrist datası fazla yok ve onunla eğitilmiş model de fazla yok. Zorluk burada başlıyordu.
O yüzden biz burada birkaç teknoloji kullandık. Kullandığımız teknolojilerden biri “contrastive learning” denen bir teknik. Contrastive learning’de objelerimiz var; objelerin embedding modellerini çıkarıyoruz, vektörler. Biz bunları bir encoder kullanarak hepsini bir vektöre çevirebiliriz. Her bir örneği bir vektöre çeviriyoruz; zaten aksi takdirde ne model ne bilgisayar anlar. Vektöre çevirdiğimiz zaman, bunlardan birbirine benzer olanların—yeşiller mesela birbirine benzer olanların—embedding’lerinin birbirine yakın çıkması gerekiyor; tamam, yakın çıkıyor. Fakat ben bunu “iterate” ederken, backpropagation yaparken öyle bir loss function kullanıyorum ki, birbirine yakın olanlar giderek daha da yakınlaşıyor, farklı olanı da itiyor gibi düşünün; farklı olanı da itiyor. Bu loss function ve backpropagation sayesinde contrastive learning kullandık.
Bunu yaparken CLIP modelleri var, CLIP modellerinde pair giriyoruz. Şimdi bizim burada X-ray’lerimiz vardı; bunu aslında şöyle göstereyim: X-ray’imiz var ve raporumuz var; yani hem text’imiz var hem de image’ımız var. Bu güzel bir şey, çünkü ben bunu ikisini birden kullanarak daha iyi bir şey elde edebilirim; sadece image’i veya sadece text’i kullanmaktansa. Burada bu raporları structured bir hale getirdik ve şimdi buradaki amacımız şuydu aslında: Yeni bir X-ray geldi diyelim, o X-ray ile ilgili bir doktor rapor yazmak istiyor. Biz bunu nasıl kolaylaştırabiliriz? Amaç buydu.
Doktor bazen şeyi biliyor; yani hangi tarafta, hangi kemikte kırık olduğunu biliyor. Bu arada biz dört kemikle uğraştık: distal radius, distal ulna, scaphoid ve ulna styloid. Baya bir şey ustası olduk yani yazın; fracture anlama ustası olduk. Hangi kemikte olduğunu biliyor fakat onunla ilgili fracture’ların bir de classification’ı var: Ne tarz bir kırık, ne kırığı şeklinde. Ve “Acaba doğru muyum, değil miyim?” veya çok uzman doktor var, çok yeni başlayan doktor var; bunları kolaylaştırmak gerekiyor. Bu raporu biz yeni gelen image için tekrar nasıl düzenleyebiliriz, amaç aslında buydu.
Burada CLIP modeli kullandık. CLIP modelinde şimdi bir tane wrist image’ımız var, image’ımız geldi bunu embedding’e çevirdik, evet. Şimdi biz fark ettik ki CLIP model kullanmak istiyoruz biz. CLIP modellerde biz pair giriyoruz; hem image hem de image’in text’ini giriyoruz. Image-text, image-text, image-text giriyoruz. Text için ayrı bir embedding yaratıyoruz; bir neural network kullanarak vektörlere çeviriyorum, hem de image için embedding yaratıyorum. Eğer bu text bu image ile ilgiliyse bunların embedding’lerinin birbirine yakın olması lazım deniyor. Yani CLIP modeli bu nosyonla çalışıyor: Bunların embedding’leri ve vektörlerinin birbirine yakın olması lazım.
Fakat biz şunu gördük CLIP modellerinde: Bazı küçük ayrıntılar kaçırılıyor. Burada da fracture ortamı… Fracture ortamı çok küçük ayrıntı; çok küçük ayrıntı olduğu için CLIP modellerinin bunu yakalaması çok zor. Mesela beş tane büyük araba var, arkada bir tane küçük köpek var; CLIP modeller o küçük köpeği kaçırıyor, bulamıyor. Bizim de burada fracture’ı bulmamız gerekiyor; çok küçük bir şeye odaklanmamız gerekiyor.
O yüzden bunu bulabilmemiz için yeni bir metodoloji düşündük. Kemikleri teker teker aldık; yani kemikleri ayrı ayrı da alıp CLIP modeline, kemikleri ayrı ayrı da region-based eğitme yaptık. Yani hem global image’le eğittik hem de bu kemikleri alarak, onları bir yolla, yine normal deep learning, yine transfer learning yaptık aslında; sadece 300–400 tane label’layarak. Bu arada radyolojide labeled yok. Yani çok fazla X-ray var ama labeled yok; hele böyle bounding box’lı falan mümkün değil, bulunmuyor. Biz oturduk, bounding box’ları aldık ve kemikleri alarak, tek tek kemikleri alarak bunları YOLO’dan çıkarıp 30.000 tane falan datayı bunlara bölebildik. Tamam, artık bone’larımız da var; ayrı ayrı bone’larımız var. Ben o bone’ların da ayrı ayrı embedding’ini çıkarabilirim, globalini de çıkarabilirim encoderdan. Ve ben bu ikisini birden CLIP modele embedding olarak sokarak bir retrieval çıkarabilirim database’den: “Bana bu kırığa en çok benzer kırığı getir” diye.
Evet, biz bunu yaptık ve baya aslında güzel sonuçlar aldık. Bunlar da attention heatmap’leri; gerçekten de kırık olan mesela şurada kırık var, şurada kırık var. En belirginleri koyduk tabii, hepsinde bu kadar belirgin değil ama kırık var ve bizim attention mekanizması hakikaten oralara odaklandı ve oraları yakaladı ve güzel accuracy sonuçları aldık. Bu da radiology assessment; radiology assessment’ten de aslında bizim “two-stage retrieval” algoritmamız radiology assessment’ı çok daha iyi verdi.
Evet, bir iki bambaşka bir şeye geçersem… Demiştik ki “Evreni de anlamak istiyoruz” diye. Sonra bir de bir baktım, şu computer scientist’ler fizik alanında Nobel falan almaya başladı. O yüzden dedim, ben de bir particle physics ile ilgili bir iş yapayım. CERN datasıyla—gerçek CERN datasıyla—bir model çıkardık ve burada da GAN’ları kullandık, generative adversarial networks’ü kullandık. Bildiğiniz gibi large collider’da parçacıklar çarpıştırılıyor ve bunları detect etmesi gereken detektörler var ve oralarda bir sürü simülasyon sayesinde o parçacıklar çıkarılabiliyor. Bunlardan bir tanesi çok hızlı ama çok iyi çıkaramayan, çok accurate olmayan; bir tanesi de çok yavaş ama çok iyi çıkarabilen. Biz hem hızlı hem de accurate bir şekilde—yani hızlı çıkanlardan GAN’la yeni parçacık oluşturarak ve onları da doğru çıkarandan doğrulayarak yeni örnekler üreterek—GAN algoritmalarıyla hem hızlı hem de daha accurate bir detector çıktısı çıkarabildik.
Son olarak sürem azalıyor herhalde, burayı da hızlı hızlı geçeceğim. Aslında buradaki uygulamaları çok hızlı geçebilirim. Bildiğiniz gibi ODTÜ’de yeni bir merkez açıldı: METU D-X, METU Dijital Dönüşüm ve İnovasyon Merkezi. Burada üç tane laboratuvarımız var ve daha çok üretim sektörüyle çalışıyoruz; üretim sektörüne dijital dönüşüm teknolojilerini aktarmak üzere kurulmuş bir merkez, BİLTİR merkezinin içerisinde. Burada da mesela yaptığımız şeylerden bir tanesi “industrial anomaly detection”; endüstriyel product’lardaki anomalileri anlamaya çalışıyoruz. Fakat burada işte bir robot var diyelim, bunun çok hızlı bir şekilde akan bir yerde bunu çok hızlı bir şekilde anlaması lazım. Orada anomali varsa çünkü başka bir şey yapılacak; anomali yoksa devam edecek. Bunun hızlı bir şekilde yapılması lazım ve product’ların da çoğunda hata yok aslında; öyle olması lazım zaten. Ama hata olanların da kaçmaması lazım.
Çok “imbalanced” bir datamız var; yani bir sürü örnek normal example aslında. O normal example’larla ben o zaman normal bir prediction mekanizması kuramıyorum orada, çünkü çok az anomali var ama o anomaliler de çok önemli, yakalamam lazım. O yüzden bizim ELITE denen bir sistem geliştirdik ve burada hem fast hem lightweight, yani edge’de çalışabiliyor; çok az parametre kullanan, hem de unsupervised—yani label’lamam da gerekmiyor—hem de efficient, hem de eco-friendly bir algoritma geliştirdik, ELITE. Bunda artık detaya girmiyorum, çok fazla vaktim kalmadı. Ama burada mesela training için enerji consumption yaparken… Artık çünkü “responsible AI”da aslında bu da var. Yani AI algoritmaları çok fazla computation power, dolayısıyla çok fazla elektrik tüketmekte. Yani bizim o modelleri, eğer mümkünse, doğruluktan feragat etmeyecek bir şekilde daha küçük modeller haline getirip, daha lightweight bir şekilde efficient bir şekilde run edebiliyor olmamız gerekiyor.
Evet, enerji consumption’ımız eğitim için 0.05 kW iken—bu sadece training datası için—burada “one-class classification” kullandık, çünkü sadece doğrularla, sadece normal örneklerle kullanarak, anomaly hiç kullanmadık; anomaliler geldikçe anladık. O yüzden bir one-class classification metodu kullanarak hem de buradan biz karbon emisyonunu da hesapladık: “Training için şu kadar karbon emisyonu gitti” diye. Bunu sonra paper’da karşılaştırmalı şeyler olacak; daha büyük modellerin tabii ki çok daha fazla.
Time series çok fazla yapıyoruz, çünkü sensör datası var; her türlü cihazda, motorda, fabrika ortamında sensörler çok fazla. Time series datalar geliyor. Time series dataları, yine kullandığımız mesela burada ilginç, o yüzden koydum; CNN kullanıyoruz, convolutional neural networks’ü time series prediction yapmak için kullanıyoruz ki CNN’ler genelde image’de kullanılır. Ama olsun, biz yine onu tweak ederek time series’leri de kullanıyoruz ve çok efficient, transformer’lardan çok daha küçük modellerle, efficient bir şekilde çalışabilecek, local computer’da run edebilecek ve hızlı sonuç verecek şekilde algoritma çıkarıyoruz. Bu, başka bir time series dataset’imiz burada; burada da LSTM’ler, GRU gibi klasik deep learning metotlarını daha accurate yapan çalışmalar yapıyoruz. Bu da bir application’ımızdı.
Bu da makine mühendisliğinden Hakan hocayla beraber çalıştık; bu makineye AI koyduk. Bu makinede, işte freze makinelerinde veya CNC makinelerinde bir kalıp şeklinde bir malzeme konuyor ve oradaki cutter, onu keserken kesiyor ve sonunda bir ürün ortaya çıkmış oluyor. Orada “chattering problem” denen bir problem var; dalgalanmalar oluyor, o dalgalanmaların olmaması gerekiyor, yoksa ürün hatalı çıkmış oluyor. Bu da üretim ortamları için istenmeyen bir şey. Biz o chattering problem’ini hızlı detect ediyoruz, yeni bir AI algoritmasıyla.
Burada generative AI kullandık. Burada da “paint data”sındaki çizikleri, akmaları, kirleri anlamaya çalışıyorduk; fazla paint datası yoktu o zaman, yoksa biz paint datasını kendimiz generate ettik. GAN’larla kendimiz generate ederek paint datamızı çoğalttık; yani generation’ı aslında yine prediction’ı iyi yapmak için kullandık. Sonra da yine classification yaptık.
Bir tane chatbot’umuz var; bizim de CORDIS dataset’iyle—EU projelerinin olduğu CORDIS database’iyle—conversation bazlı bir search engine’imiz var. Böylelikle herhangi bir EU projeleriyle ilgili bir soru sormak istiyorsanız mesela “Şu şu konuda şunlarla collaborate etmiş başka hangi ülkeden üniversiteyle ben şu konuda collaborate edebilirim?” gibi böyle kompleks query’ler girebileceğiniz bir EU projesi; merkezimizde yürüttüğümüz…
LLM’lere YKS’yi çözdürmesek olmazdı, onu biz de yaptık. Çözdürdük ya, o “–8 netmiş, bilmem ne” falan; öyle bir şey yok yani, çok daha iyi yapıyoruz. Hatta şu an için bu da NeurIPS’te sunulacak; NeurIPS’te, nerede, Kasımdayız evet, Aralık başında San Diego’da NeurIPS konferansında sunacağız. Üçüncüyüz şu an için YKS benzeri soruları çözmede. Bizden öncekiler de şey zaten, closed-form’lar ve data-centric metotlarla artırarak… Henüz ODTÜ’yü kazanamıyor sistem, ama yakında onu da yapabiliriz belki.
Çok enteresan; bu da Amazon’daki user profiling. Amazon’u kullanan user’ların profiling’ini LLM’lerle augment ederek onlara daha doğru, daha iyi tavsiyeler verebildik. Bu yeni uğraştığımız bir şey; insanlarla robotlar arasında LLM’leri kullanıyoruz; ikisinin arasındaki “bridge”… İşte insanların sözle söylediği bir şeyi, “Kırmızı elmayı al, sarı elmayı değil, kırmızı elmayı al, şuraya koy” demesini, biz LLM’ler kullanarak, content ve semantics’i LLM’lerle anlayarak, onları robotlara yaptırmaya çalışıyoruz.
Evet, tüm bunlardan sonra peki AGI mümkün mü? Tüm bunlardan sonra AGI—herkesin aklındaki o soru—işte genel yapay zekaya nasıl ulaşabiliriz? Birçok araştırmacı bu fikirde; ben de onlarla aynı fikirdeyim. Şu an bunlar ne kadar çok kuvvetli şeyler görünse de LLM’lerle bu mümkün değil. Şu an için bizim agentik yapılara geçmemiz gerekiyor, çünkü karar verebilir hale gelmemiz gerekiyor. LLM’lerde olayımız aslında biz yine generate ediyoruz ama yine prediction yapıyoruz aslında orada; “next word ne olacak?” derdindeyiz orada. Ama bizim karar alıp onu da ek aksiyona dökmemiz lazım.
Mesela biz LLM’lere şu an “Yarın İstanbul’a gitmek istiyorum, ilk bana en erken, en ucuz uçak biletini bul” dersek, ChatGPT bunu yapabilir mi? Hiç alakası yok yani, hiç yapamaz değil mi? İşte bizim bu tarz, arkada agent’ların çalıştığı, karar alabilen, gerekirse onların bize tavsiye yapabildiği—“Sen şunu da istiyorsun, bak bu ama, bu var; oraya da gitme, hava durumu da şu da kötüymüş, o yüzden sana oradan ayarlamadım, bunu yaptım” gibi—agentik yapılarla uğraşmamız gerekiyor ki agentik yapılar da zaten şu anda da yine uğraşan bir sürü lab var, yani o konuya da geçildi. Bu gibi lab’lara ulaşmamız, bu gibi çalışmalar yapmamız gerekiyor.
Gördüğünüz gibi çok fazla gelişme var, çok hızlı bir şekilde anlatmaya çalıştım; birçok şeye tabii ki dokunamadım. Zaten insan, en başta da dediğim gibi, hepsi çok heyecanlı konular; en başta neyi anlatacağını insan şaşırıyor. Fakat gerçekten uzun bir yol gelindi ve daha önümüzde de çok yol var aslında ama gerçekten çok heyecanlı. Yani bizim her günümüz gerçekten çok heyecan içerisinde geçiyor: “Şimdi şunu bulmuşlar, bunu bulmuşlar, benchmark’lar ne olmuş?” falan… Sürekli portalları kontrol ediyoruz, yeni model mi çıkmış, bunu yapmış, “Hadi biz de deneyelim” şeklinde.
Tüm bu çalışmaların hepsi tabii ki çok değerli, çünkü her şey—hepimiz biliyoruz—tüm araştırmalar birbirinin üzerine konan bir şey; hiçbir şey bir anda böyle magic gibi ortaya çıkmıyor. Ve de ben buradan tüm beraber çalıştığım hocalarıma, beraber çalıştığım arkadaşlarıma ve de alanın genişlemesine yardımcı olan arkadaşlara ve de bizim kullandığımız, yaptığımız şeylerin de alanlarında kullanılmasına bize izin veren hocalarıma, herkese teşekkür ediyorum. Evet, bol yapay zekalı günler. Teşekkürler.

Hiç yorum yok:
Yorum Gönder