Toolformer (TR)

From Systems analysis Wiki
Jump to navigation Jump to search

Toolformerbüyük dil modelleri (LLM) oluşturmaya yönelik bir yaklaşımdır; bu yaklaşım modellerin API çağrıları aracılığıyla harici araçları bağımsız olarak kullanmasına olanak tanır[1]. Bu yöntem, 2023 yılında Meta AI Research bünyesindeki bir araştırmacı grubu tarafından İspanya'daki Pompeu Fabra Üniversitesi ile iş birliği içinde önerilmiştir. «Toolformer: Language Models Can Teach Themselves to Use Tools» (Timo Schick ve diğerleri, 2023) başlıklı çalışmalarında yazarlar şu paradoksa dikkat çekmektedir: Modern LLM'ler, metin örnekleri aracılığıyla karmaşık ve yeni görevleri çözmede etkileyici yetenekler sergilemekle birlikte, sayma ya da gerçek arama gibi temel işlemleri güvenilir biçimde yerine getiremeye çoğu zaman güçlük çekmektedir[1]. Bu kısıtlamaların üstesinden gelmek amacıyla ekip, Toolformer modelini geliştirmiştir; bu model, çeşitli görevlerde kaliteyi artırmak için arama motorları, hesap makineleri veya çeviri servisleri gibi harici araçları seçmeyi ve çağırmayı kendi kendine öğrenmektedir[1]. Model, Şubat 2023'te arXiv'de bir ön baskı (preprint) olarak yayımlanmış; ardından kabul görerek NeurIPS 2023 konferansında sunulmuştur[2].

Temel Fikir ve Modelin Yetenekleri

Toolformer, hangi aracı çağıracağına, ne zaman çağıracağına, hangi parametreleri ileteceğine ve elde edilen sonucu üretilen metne nasıl dahil edeceğine karar verebilen, fine-tuning uygulanmış bir dil modelidir[3]. Eğitim, self-supervised (öz-denetimli) bir modda düzenlenmiştir; model, API kullanım örneklerini bizzat üretip değerlendirerek her araç için yalnızca küçük bir demonstrasyon kümesine (gerçek anlamda birkaç örnek) ihtiyaç duymaktadır[3]. Önceki yaklaşımların aksine, araçların entegrasyonu için kapsamlı etiketleme ya da insan tarafından tasarlanmış şablonlar gerekmemektedir; model, genel dil yeteneklerini koruyarak ve yalnızca dar kapsamlı görevlerle sınırlı kalmadan, hangi API'yi ne zaman ve nasıl kullanacağını kendi kendine öğrenmektedir[1].

Yazarlar, Toolformer'a basit API çağrıları üzerinden erişilebilen geniş bir araç yelpazesi entegre etmiştir. Deneysel sürümde aşağıdaki yardımcı programlar kullanılmıştır[3]:

  • Hesap makinesi – aritmetik hesaplamalar yapmak için.
  • Soru-Cevap (Q&A) sistemi – bilgi tabanındaki olgusal sorulara yanıt bulmak için.
  • Arama motorları (2 farklı) – internette güncel bilgi aramak için.
  • Makine çevirisi sistemi – metinleri diller arasında çevirmek için.
  • Takvim – tarih ve saat bilgilerine ulaşmak için.

Her araç, metin parçası biçiminde (özel bir metin etiketi olarak) temsil edilmektedir; bu sayede model API çağrısını ürettiği metnin içine doğrudan yerleştirebilmektedir[4]. Örneğin model, bir harici çağrının gerekli olduğunu belirtmek amacıyla geçerli bağlama `[Calculator(...)]` ya da `[Search("sorgu")]` gibi bir yapı ekleyebilir. Toolformer yanıt üretirken özel bir simge (→ oku) oluşturur; bu simgeyle sistem üretimi duraklatır ve ilgili API çağrısını gerçekleştirir; elde edilen sonuç metne eklenir ve ardından bir sonraki parçanın üretimi devam eder[4]. Bu mekanizma, modelin mimari değişiklik gerektirmeksizin tek bir dil modülü olarak kalmasına rağmen harici servislerin olanaklarından dinamik biçimde yararlanmasına imkân tanımaktadır.

Modelin Eğitimi (Metodoloji)

Geliştiriciler, Toolformer'ın eğitim sürecini sentetik veri üretmek için in-context learning (bağlam içi öğrenme) tekniğini kullanarak birkaç aşamada tanımlamıştır[4][1]:

  1. API çağrı adaylarının üretilmesi. Öncelikle büyük bir korpustan (örneğin makale veya web sayfalarından) alınan metinlere, metni sürdürmeye veya tamamlamaya potansiyel olarak yardımcı olabilecek araç çağrıları yapay olarak eklenmektedir. Bu eklemeleri model, her API için elle belirlenmiş birkaç örneğe dayanarak N-shot prompting yöntemiyle bizzat üretmektedir[1]. Örneğin model şu tür bir parçayı alabilir: «2024 yılında şehrin nüfusu [QA("Bu şehrin nüfusu nedir?") → ...] kişiydi», burada QA( ) eksik veriyi döndürmesi beklenen bir soru-cevap sistemi çağrısıdır. Her araç için uygun bağlamlar seçilmektedir; örneğin hesap makinesi için model, aritmetik sonucun gerçekten gerekli olacağı yerlerde, birden fazla sayı ve «eşittir» ya da «toplam» gibi sözcükler içeren cümleleri tercih etmektedir[4].
  2. API çağrılarının gerçekleştirilmesi ve veri zenginleştirme. Ardından model tarafından üretilen tüm çağrılar gerçek anlamda yürütülmektedir — örneğin arama motoruna sorgular gönderilmekte ya da hesap makinesinde ifadeler hesaplanmaktadır. Elde edilen yanıtlar metinlere geri eklenerek `{yanıt}` biçiminde ekler içeren tamamlanmış cümle varyantları oluşturulmaktadır[4][4]. Aynı zamanda «boş» varyantlar (yanıt eklemeden) ve herhangi bir çağrı içermeyen orijinal metinler de sonraki karşılaştırma için saklanmaktadır.
  3. Filtreleme ve yararlılığın öz-değerlendirmesi. Bu aşamada Toolformer, üretilen API eklerinden hangilerinin metnin devamını tahmin etmede gerçekten yararlı olduğunu bağımsız biçimde değerlendirmektedir[4]. Dil modelinin metni üç senaryoda devam ettirme olasılığı karşılaştırılmaktadır: (a) herhangi bir çağrı olmadan, (b) araç çağrısıyla ancak sonuç eklenmeden, (c) çağrı ve eklenen sonuçla birlikte[4]. Belirli bir API yanıtının eklenmesi, ifadenin doğru şekilde devam ettirilme olasılığını artırıyorsa (yani model sonraki sözcükleri tahmin etmede bu yanıttan gerçekten yararlanıyorsa) söz konusu örnek yararlı sayılmaktadır. Yalnızca olasılık kazancı sağlayan ekler örneklem içinde tutulmaktadır. Bu sayede araç çağrısının gereksiz olduğu ya da yeni bilgi katmadığı durumlar ayıklanmaktadır. Son olarak model, gerçek metin örnekleri ve en uygun API çağrılarını içeren bu filtrelenmiş dataset üzerinde fine-tuning (ince ayar) yapılarak yeniden eğitilmektedir[1]. Eğitim, araç çağrılarının sonuçlarını gösteren token'lar da dahil olmak üzere dizinin bir sonraki token'ını tahmin etme şeklindeki standart dil modelleme hedefiyle gerçekleştirilmektedir.

Her yeni aracın eklenmesi için yalnızca birkaç manuel örneğin yeterli olduğunu ve bunun ardından eğitim verisi üretiminin otomatik olarak sürdüğünü vurgulamak önemlidir[3]. Bu sayede Toolformer yaklaşımı, özelleşmiş etiketlenmiş korpusların varlığına neredeyse hiç bağımlı değildir ve veri etiketleme iş yükünü en aza indirmektedir. Model, API çağrılarının biçimini ve uygunluğunu kendi kendine öğrenerek evrenselliğini korumaktadır: araçları yalnızca verilen görevi çözmek için gerçekten gerekli olduğunda devreye sokmaktadır[1].

Deneysel Sonuçlar

Yöntemi deneysel olarak doğrulamak amacıyla araştırmacılar, The Pile korpusu üzerinde eğitilmiş açık kaynaklı bir LLM olan mevcut GPT-J modelini (6,7 milyar parametre) baz almıştır[4]. Bu model, açıklanan prosedür doğrultusunda fine-tuning'e tabi tutularak GPT-J tabanlı Toolformer elde edilmiştir. Yeni yaklaşımın performansı; matematiksel metin problemleri çözme, olgusal bilgi arama ve soru cevaplama (QA), çeviri ve metindeki boşlukları doldurma gibi bir dizi standart görevde zero-shot (örnek verilmeksizin) modunda değerlendirilmiştir. Test verileri olarak, örneğin olgusal bilgi değerlendirmesine yönelik Natural Questions ve TriviaQA açık soru kümeleri, aritmetik içeren matematiksel metin görevleri için ASDiv, MAWPS ve SVAMP veri kümeleri ile çok dilli QA benchmark'ları olan MLQA ve LAMA kullanılmıştır[5].

Sonuçlar, Toolformer'ın aynı büyüklükteki temel modeli birçok görevde belirgin biçimde geride bıraktığını ortaya koymuştur[1]. Üstelik araçların entegrasyonu sayesinde nispeten küçük bir model (6,7 milyar parametre), bazı ölçütlerde çok daha büyük olan GPT-3 modelini (175 milyar parametre) geride bırakmayı başarmıştır[1][6]. Örneğin, hassas hesaplama gerektiren matematiksel metin problemlerinde Toolformer, hesap makinesi sayesinde bu tür görevleri doğru biçimde çözerek standart LLM'lere kıyasla özellikle dikkat çekici bir ilerleme sergilemiş; GPT-3 bile bu tür problemlerde hata yaparken Toolformer başarılı olmuştur[1]. Olgusal soru-cevap (QA) testlerinde ise GPT-J tabanlı Toolformer, güncel bilgiler için internet araması yapabildiğinden GPT-3'e eşit ya da daha iyi sonuçlar elde etmiştir[1]. Öte yandan, yeni yaklaşımın modelin genel dil yeteneklerini zayıflatmadığını vurgulamak önemlidir; örneğin olağan veriler üzerinde tutarlı metin devam ettirme gibi özellikler korunmuştur: Toolformer, araçsız doğal dil üretimi düzeyini orijinal GPT-J'nin seviyesinde muhafaza etmiştir[3]. Başka bir deyişle, API çağırma işlevselliğinin eklenmesi modelin temel becerilerini «azaltmamış», aksine onları ek yeteneklerle zenginleştirmiştir.

Çalışmanın Önemi ve İlerleyen Araştırmalar

Toolformer'ın geliştirilmesi, neredeyse hiç manuel etiketleme gerektirmeksizin, sentetik veri üretimi ve yararlılığın öz-değerlendirmesi yoluyla bir modeli harici araçları kullanacak şekilde eğitmenin mümkün olduğunu göstermiştir. Bu başarı, daha verimli ve güvenilir büyük dil modellerine giden yolu açmaktadır: gerçekleri ya da matematiksel kuralları ezberlemek için milyarlarca parametreyi artırmak yerine, nispeten küçük bir model kendi eksiklerini gidermek amacıyla dinamik biçimde harici kaynakları (bilgi tabanları, hesap makineleri, servisler) devreye sokabilmektedir[1]. Bu yaklaşım, tüm modeli baştan geliştirmeksizin «halüsinasyon» miktarını (modelin var olmayan bilgileri uydurması) azaltmaya, yanıt doğruluğunu artırmaya ve bilgileri güncel tutmaya olanak tanımaktadır. Özünde Toolformer, büyük bir modelin dil becerilerini özelleşmiş araçların hassasiyetiyle birleştirerek «her iki dünyanın da en iyisini» elde etmektedir[3].

Schick ve meslektaşlarının çalışması, LLM'lerin harici API'leri bağımsız biçimde benimsemesini gösteren ilk çalışmalardan biri olmuş ve toplulukta büyük ilgi uyandırmıştır. Bu fikri geliştiren sonraki araştırmalar ortaya çıkmıştır. Örneğin 2023 yılında, Toolformer'ın ilkelerini graf verileriyle çalışmaya uyarlayan Graph-ToolFormer modeli önerilmiştir. ChatGPT tarafından üretilen ipuçlarından yararlanan Graph-ToolFormer, bir dil modelinin graf analizi görevlerini (örneğin graf özelliklerinin elde edilmesi, bilgi ağlarıyla çalışma vb.) çözmek için harici araçları çağırmayı öğrenmesini sağlamaktadır[7]. Bir diğer dikkat çekici gelişme ise çok sayıda üçüncü taraf yazılım API'sinin doğru biçimde kullanılmasına odaklanan Gorilla modelidir (Univ. of California, Berkeley, 2023)[8]. Gorilla, kapsamlı bir belgelenmiş fonksiyon kümesi üzerinde fine-tuning uygulanmış bir LLaMA modelidir; görev açıklamasına göre doğru API çağrıları üretebilmekte ve bunu o denli başarılı yapabilmektedir ki deneylerde kütüphane ve servis çağrılarını oluşturma doğruluğu açısından GPT-4'ü bile geride bırakmıştır[8]. Gorilla'da dokümantasyon üzerinde arama yapan bir mekanizma entegre edilmiştir; bu mekanizma, API değişikliklerine ilişkin bilgilerin güncellenmesine olanak tanıyarak araçların kullanımında hataları ve halüsinasyonları önemli ölçüde azaltmaktadır[8]. Bu çalışmalar, Toolformer'ın açtığı yönün önemini doğrulamaktadır: LLM'leri harici araçlarla birleştirmek, daha güçlü ve güvenilir AI sistemleri oluşturmanın umut verici bir yolu olarak değerlendirilmektedir.

Dil modellerine araç entegrasyonu fikrinin yalnızca araştırma düzeyinde değil, sektörde de geliştiği belirtilmelidir. Nitekim Mart 2023'te OpenAI, ChatGPT için eklenti (plugin) sistemini tanıtmıştır; bu özel arayüz, modelin web tarayıcısı, bilgi tabanları, hesaplama motorları ve benzeri harici servislere bağlanarak güncel bilgiye erişmesine ve hesaplamalar yapmasına olanak tanımaktadır[9]. Kullanıcılar bu tür bir işlevselliği uzun süredir talep etmekteydi ve eklentilerin kullanıma sunulması Toolformer'ınkine benzer bir kavramı pratikte hayata geçirmiştir: model, çeşitli kullanıcı isteklerini karşılama kapasitesini genişletmek amacıyla «araçlarla» zenginleştirilmektedir[9]. Böylece Toolformer, büyük dil modellerinin talep üzerine harici bilgi ve hesaplama kaynaklarını devreye alabilen bir platform haline geldiği genel yapay zeka gelişim trendinin içine yerleşmektedir. Meta AI ve UPF ekibi tarafından yürütülen araştırma, LLM'lerin neredeyse hiç manuel yönlendirme gerektirmeksizin araçlarla çalışmayı nasıl öğrenebileceğini göstererek ve bu sayede daha evrensel ve güvenilir bir yapay zeka asistanına bir adım daha yaklaşarak bu alanın önemli temellerini atmıştır[1][3].

Dış bağlantılar

  • arXiv'deki orijinal makale «Toolformer: Language Models Can Teach Themselves to Use Tools»
  • Synced Review'da Toolformer incelemesi
  • OpenReview'da Toolformer sayfası
  • Medium'da Toolformer incelemesi
  • arXiv'deki Gorilla modeli makalesi
  • OpenAI'nin resmi sitesinde ChatGPT eklentileri sayfası

Kaynakça

  • Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
  • Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. NeurIPS 2023. OpenReview.
  • Li, M. et al. (2023). API-Bank: A Comprehensive Benchmark for Tool-Augmented LLMs. arXiv:2304.08244.
  • Zhang, T. et al. (2023). Graph-ToolFormer: To Empower LLMs with Graph Reasoning Ability via Prompt Augmented by ChatGPT. arXiv:2304.11116.
  • Patil, S. G. et al. (2023). Gorilla: Large Language Model Connected with Massive APIs. arXiv:2305.15334.
  • Qin, Y. et al. (2023). ToolLLM: Facilitating Large Language Models to Master 16 000+ Real-World APIs. arXiv:2307.16789.
  • Li, Y. et al. (2024). Tool Learning with Large Language Models: A Survey. arXiv:2405.17935.
  • OpenAI (2023). ChatGPT Plugins. OpenAI Blog.
  • Brown, T. B. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
  • Schick, T. et al. (2023). Meta AI & UPF's Toolformer: Enabling Language Models to Teach Themselves to Use External Tools. Synced Review.

Notlar

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 Schick, T. et al. «Meta AI & UPF's Toolformer: Enabling Language Models to Teach Themselves to Use External Tools». Synced. [1]
  2. Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». OpenReview. [2]
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». arXiv. [3]
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 OXEN AI. «Arxiv Dives Toolformer: Language models can teach themselves to use tools». Medium. [4]
  5. «Toolformer: Language Models Can Teach Themselves to Use Tools». Papers With Code. [5]
  6. Brown, Tom B. et al. «Language Models are Few-Shot Learners». arXiv. [6]
  7. Zhang, Tingkai et al. «Graph-ToolFormer: To Empower LLMs with Graph Reasoning Ability via Prompt Augmented by ChatGPT». arXiv. [7]
  8. 8.0 8.1 8.2 Patil, Shishir G. et al. «Gorilla: Large Language Model Connected with Massive APIs». arXiv. [8]
  9. 9.0 9.1 «ChatGPT plugins». OpenAI. [9]