1 puan yazan GN⁺ 2024-07-02 | Henüz yorum yok. | WhatsApp'ta paylaş
  • ISAF basın bültenlerinden yapılandırılmış veri çıkarma yapılan 724 testte, birden fazla ince ayarlı model GPT-4 ailesinden daha yüksek doğruluk elde etti
  • Karşılaştırmaya GPT-4o, GPT-4 Turbo, GPT-3.5 Turbo ile TinyLlama, Mistral, Llama3, Solar ve GPT-3.5 tabanlı ince ayarlı modeller dahil edildi
  • OpenAI modelleri her zaman geçerli JSON üretti; Mistral ve Llama3 ince ayarları da kararlıydı, ancak TinyLlama’da şablona bağlı olarak eksik değerler ve JSON kalitesi büyük farklılık gösterdi
  • Nihai toplamda OpenPipe ile ince ayar yapılmış Mistral-7B birinci oldu; Solar LLM ve Llama3-7B onu çok küçük farkla izledi
  • İnce ayar; gizlilik, kontrol ve maliyet iyileştirme potansiyeli sunar, ancak farklı ortamlara dağılmış modellerin çıkarımını, değerlendirmesini ve yeniden üretilebilirliğini yönetmenin MLOps karmaşıklığını da artırır

Deneyin hedefi ve veri kümesi

  • Hedef, ISAF basın bültenlerinden etkinlik bilgisi çıkarma görevinde ince ayarlı LLM doğruluğunu değerlendirmekti
  • Veri Hugging Face Hub’daki herkese açık bir depoda bulunuyor; değerlendirme, modelin görmediği test split üzerinde yapıldı
    • Test verisi 724 satırdan oluşuyor
    • Alanlar arasında name, eventrefnumber, text, StartDate, eventtype, province, targetgroup, minkilled, mincaptured, killq, captureq, killcaptureraid, airstrike, noshotsfired, minleaderskilled, minleaderscaptured vb. yer alıyor
  • Her satır, doğrulamayı ve işlemeyi kolaylaştırmak için Pydantic nesnesine dönüştürüldü
  • Model çıktısında aşağıdaki JSON yapısı bekleniyor
    • name
    • start_date
    • event_type
    • province
    • target_group
    • min_killed
    • min_captured
    • killq
    • captureq
    • killcaptureraid
    • airstrike
    • noshotsfired
    • min_leaders_killed
    • min_leaders_captured

OpenAI referans modellerinin değerlendirme yöntemi

  • Referans karşılaştırma olarak GPT-4o, GPT-4 Turbo ve GPT-3.5 Turbo kullanıldı
  • GPT modelleri, ince ayarlı modellerle aynı prompt’u doğrudan kullanamadığı için daha uzun bir prompt gerekti
    • Çıkarılacak alanların listesi açıkça belirtildi
    • Etkinlik tipi, vilayet ve hedef grup için izin verilen değerler sağlandı
    • Sayısal anotasyon kuralları dahil edildi
    • Örnek basın bülteni ve beklenen JSON çıktısı birlikte eklendi
  • Sayısal anotasyon kurallarında şu ölçütler kullanıldı
    • a couple 2 olarak yorumlanır
    • several en az 3 olarak yorumlanır
    • a few, some, a group, a small group, multiple en az 3 olarak yorumlanır
    • numerous, a handful en az 4 olarak yorumlanır
    • a large number en az 5 olarak yorumlanır
    • facilitator leader değildir
  • Toplu tahminler asenkron çalıştırıldı ve GPT-3.5 Turbo’nun rate limit’i nedeniyle yeniden deneme mantığı eklendi
  • Tahmin sonuçları her etkinliğin predictions alanında model adına göre kaydedildi

İnce ayarlı model yapılandırması

  • OpenAI referans model tahminlerinden sonra, daha önce ince ayar yapılmış yerel modellerin ve tek tıkla ince ayar hizmetlerine dayalı modellerin tahminleri aynı veri kümesine eklendi
  • Dahil edilen ince ayarlı modeller şunlardı
    • tinyllama-templatefree
    • tinyllama-sharegpt
    • mistral-lora-templatefree
    • finetuned-openai-gpt-3.5-turbo-1106
    • finetuned-mistral-7b-optimised-openpipe
    • ft-solar-1-mini-chat-240612-predibase
    • finetuned-llama3-7b-32k-openpipe
  • Mistral yerel ince ayarlı modeli yerelde çalıştırmak zor olduğu için çıkarım Modal’ın A100 ortamında yapıldı
    • Sonraki değerlendirmede neredeyse tüm öğelerde başarısız oldu
    • Grafikte mistral-lora-templatefree olarak gösteriliyor
  • OpenAI’ın tek tıkla ince ayar hizmetiyle gpt-3.5-turbo-1106 modeline ince ayar yapıldı
  • OpenPipe ile Mistral 7B, Mistral 8x7B ve Llama3 model tahminleri oluşturuldu
  • Predibase’de Upstage’in Solar LLM tabanlı modeli değerlendirildi
    • Solar LLM, yapılandırılmış veri çıkarma gibi ince ayarın sık kullanıldığı görevlerde güçlü olacak şekilde eğitilmiş bir model olarak tanıtılıyor
    • Temel modelin Hugging Face Hub’daki upstage/SOLAR-10.7B-v1.0 olduğu tahmin ediliyor
  • Qwen2’nin Predibase çıkarımı çalışmadığı için bu değerlendirmeden çıkarıldı
  • Nihai tahmin veri kümesi Hugging Face Hub’daki herkese açık veri kümesinde yayımlandı

JSON geçerliliği ve eksik değerler

  • İlk değerlendirme, her model çıktısının geçerli JSON olup olmadığını kontrol ederek yapıldı
  • OpenAI modelleri her seferinde geçerli JSON üretti
  • İnce ayarlı Mistral ve Llama3 modelleri de kararlı biçimde geçerli JSON verdi
  • TinyLlama’da şablon seçimine bağlı olarak sonuçlar büyük ölçüde değişti
    • tinyllama-sharegptte 38 eksik değer var
    • Eksik değerler olmasaydı 724 tahminin ve geçerli JSON’un tamamına sahip olacağı değerlendiriliyor
  • Eksik değer dökümü şu şekilde
    • gpt-4o: 0
    • gpt-4-turbo: 0
    • gpt-3.5-turbo: 0
    • tinyllama-templatefree: 0
    • tinyllama-sharegpt: 38
    • finetuned-openai-gpt-3.5-turbo-1106: 0
    • finetuned-llama3-7b-32k-openpipe: 0
    • mistral-lora-templatefree: 0
    • finetuned-mistral-7b-optimised-openpipe: 0
    • ft-solar-1-mini-chat-240612-predibase: 0

Alan bazında doğruluk

  • Doğruluk değerlendirmesi toplam 13 özellik üzerinden yapıldı
    • start_date
    • province
    • target_group
    • event_type
    • min_killed
    • min_captured
    • killq
    • captureq
    • killcaptureraid
    • airstrike
    • noshotsfired
    • min_leaders_killed
    • min_leaders_captured
  • Tüm grafiklerde toplam görev sayısı 724
  • start_date

    • start_date doğruluğunda Solar ve ince ayarlı GPT-3.5 modeli en iyi performansı gösterdi
    • Skorlar şöyle
      • gpt-4o: 527
      • gpt-4-turbo: 522
      • gpt-3.5-turbo: 492
      • tinyllama-templatefree: 231
      • tinyllama-sharegpt: 479
      • finetuned-openai-gpt-3.5-turbo-1106: 646
      • finetuned-llama3-7b-32k-openpipe: 585
      • mistral-lora-templatefree: 0
      • finetuned-mistral-7b-optimised-openpipe: 636
      • ft-solar-1-mini-chat-240612-predibase: 649
    • En iyi model bile tarihi 75 kez yanlış çıkardı; tarih çıkarma hâlâ geliştirmeye açık
  • province

    • Vilayet (province) tahmininde ince ayarlı modeller OpenAI modellerinin önüne geçti
    • Skorlar şöyle
      • gpt-4o: 649
      • gpt-4-turbo: 645
      • gpt-3.5-turbo: 595
      • tinyllama-templatefree: 335
      • tinyllama-sharegpt: 660
      • finetuned-openai-gpt-3.5-turbo-1106: 704
      • finetuned-llama3-7b-32k-openpipe: 707
      • mistral-lora-templatefree: 0
      • finetuned-mistral-7b-optimised-openpipe: 711
      • ft-solar-1-mini-chat-240612-predibase: 704
  • target_group ve event_type

    • target_group, birden fazla grup içerebildiği için puan, modelin doğru gruplar içinde tutturduğu oranla hesaplandı
    • İnce ayarlı modeller hedef grup belirleme konusunda OpenAI modellerinden anlamlı ölçüde daha iyi performans gösterdi
    • Ancak eğitim verisinde olmayan yeni bir grup eklenirse performans düşebilir
    • event_type, anlamsal olarak örtüşen kategoriler içerdiği için insan anotatörler açısından da zor bir öğe olarak ele alınıyor
    • İnce ayarlı modeller bu zor öğede de iyi performans gösterdi
  • Sayısal ve Boolean alanlar

    • min_killed gibi sayısal tahminlerde ince ayarlı modeller ile OpenAI modelleri arasındaki fark azaldı
    • Mistral en yüksek skoru aldı, ancak fark büyük değildi; OpenAI modelleri de bu öğede iyi performans gösterdi
    • Uzun prompt’a eklenen sayısal anotasyon kurallarının yardımcı olmuş olması mümkün
    • killq gibi Boolean özelliklerde çoğu model yüksek doğruluk kaydetti
    • İnce ayarlı Mistral bu öğede de GPT-4o’nun en yüksek skorunu aştı
    • killcaptureraid, OpenAI modellerinin dezavantajlı göründüğü bir öğe oldu
      • kill-capture raid, etiketlemede belirli bir biçimde kullanılan uzmanlık terimiydi
      • OpenAI modelleri bu etiketleme karar ölçütünü bilmiyor
    • noshotsfired, belirli bir döneme ait basın bültenlerinin “ateş açılmadığı” olgusunu vurgulamasından ortaya çıkan bir alan
    • OpenAI modelleri beklenenin tersine bir performans sıralaması gösterdi; nedeni anlamak için ek inceleme gerekiyor
    • min_leaders_killed ve min_leaders_captured alanlarında genel olarak yüksek skorlar elde edildi
    • LLM’lerin sayılarda zayıf olduğu yönündeki yaygın algının aksine, bu görevde yüksek performans görüldü; yine de en iyi sonuçları ince ayarlı modeller verdi

Nihai toplam sonuçlar

  • 13 ayrı doğruluk skoru toplanıp ortalaması alınarak 0–100 ölçeğinde nihai toplam doğruluk hesaplandı
  • Nihai sonuçlarda ince ayarlı modeller OpenAI GPT ailesi modellerini geçti
  • TinyLlama bile GPT-3.5 Turbo’dan daha yüksek toplam doğruluk gösterdi
  • En iyi performanslı model, OpenPipe üzerinde ince ayar yapılmış Mistral-7B oldu
  • Solar LLM ve Llama3-7B, Mistral-7B’yi çok küçük farkla izledi
  • Yapılandırılmış veri çıkarma ince ayarında Mistral-7B, Solar 7B ve Llama3-7B ile başlayıp hangi modelin en uygun olduğunu karşılaştırmak makul bir yaklaşım gibi görünüyor
  • Yalnızca doğruluğa bakıldığında bu üç model neredeyse benzer olabilir
  • Model sunumu, verimlilik ve gecikme süresinde ayrı trade-off’lar olabilir

İnce ayarın avantajları ve maliyetleri

  • OpenAI modellerinin performansı da prompt’a daha fazla örnek ve kural eklenerek artırılabilir
  • Ancak prompt uzadıkça istek başına maliyet artar
  • Kendi ince ayarlı modeliniz şu avantajları sağlar
    • Gizli bilgileri OpenAI’a göndermek zorunda kalmama sayesinde veri gizliliği
    • Daha küçük modelden kaynaklanabilecek potansiyel performans iyileşmesi
    • Daha fazla kontrol
    • Maliyet iyileştirme olasılığı
  • Maliyet karşılaştırması şu anda net biçimde kesinleştirilemez
    • Büyük bulut sağlayıcıları ölçek ekonomisinden yararlanabilir
    • Uzun vadede tekrarlı çıkarım yapılan gerçek kullanım senaryolarında kendi modelinin maliyet mantığı daha ikna edici olabilir
    • OpenAI çağrılarını iyileştirmek için çok sayıda örnek ve açıklama eklemek gerektiğinden sorgu başına maliyet artabilir

Değerlendirme operasyonu ve MLOps karmaşıklığı

  • İnce ayar, görece az ayarla GPT-4’ten daha iyi performans verdi
    • Kullanılan modeller, eldeki verilerle oluşturulan ilk ince ayarlı modellerdi
    • Çoğunlukla varsayılan ayarlar kullanıldı
  • Bundan sonra Solar, Llama3 ve Mistral 7B modellerine odaklanma planı var
  • Değerlendirme Jupyter notebook merkezli olarak uygulandı ve operasyon süreci zahmetliydi
    • Bazı modeller yerelde çalışıyor
    • Bazı modeller farklı hizmet ve ortamlara dağıtılmış durumda
    • 724 satır üzerinde döngüyle ilerlemek yavaştı
  • Bir sonraki iterasyonda değerlendirmeyi yerelde çalıştırılabilir hâle getirmek, önce verinin bazı dilimlerini değerlendirip ardından tüm veriye genişletmek gerekiyor
  • Aynı projede birden fazla modelle çalışırken standart çıkarım arayüzü gerekiyor
  • Modeller birden fazla konuma dağılmışsa, ince ayar ve güncellemeler tekrarlanıyorsa ve veri sürekli değişiyorsa, bunları yönetecek bir sisteme ihtiyaç var
  • İnce ayarlı LLM’lerin başlıca trade-off’u, kararlı ve tekrarlanabilir operasyon için çok sayıda bileşeni yönetme gerekliliği

Değerlendirmenin sağladığı değer ve sonraki adımlar

  • Değerlendirmeyi uygulamak zahmetliydi, ancak eğitim verisi veya model iyileştirmelerinin gerçekten ilerleme sağlayıp sağlamadığını görmek için göreve özgü bir ölçüt sundu
  • Değerlendirme yoksa iyileşme olup olmadığını anlamak zor
  • Birden fazla aşırı özelleşmiş modeli ayrı ayrı oluşturma fikri şu an için net bir sonraki adım değil
    • Örneğin: yalnızca yakalanan kişi sayısını iyi tahmin eden ayrı bir model
    • Mevcut model performansına bakıldığında bu yaklaşımın doğruluğu büyük ölçüde artırıp artırmayacağı belirsiz
  • Öncelikli sonraki adım, doğruluk dışındaki değerlendirmeleri çalıştırmak
    • Önceki yazıda bahsedilen out-of-domain veri değerlendirmesi buna örnek
    • Tamamen farklı konudaki sahte verilerde nasıl davrandığını görmek istiyorum
  • Bir başka sonraki adım, ilk 3 modelin LLM serving tarafını daha derinlemesine incelemek
    • LLM serving, LLM olmayan model serving’den farklı araçlara, trade-off’lara ve tekniklere sahip
  • Sorunun daha derinine inilecekse, yanlış örnekleri Lilac veya Argilla gibi web arayüzlerine yükleyip hata örüntülerini analiz etmek yararlı olur
  • Hata senaryolarını anlamak, doğruluğu iyileştirmede ince ayar parametrelerini kurcalamaktan daha faydalı olabilir

Henüz yorum yok.

Henüz yorum yok.