GPT-3.5 Turbo İnce Ayarı ve API Güncellemeleri
(openai.com)- Geliştiriciler artık kendi verileriyle GPT‑3.5 Turbo’yu kullanım senaryolarına göre uyarlayabiliyor; GPT‑4 ince ayarının sonbaharda sunulması planlanıyor
- İlk testlerde ince ayarlı GPT‑3.5 Turbo, bazı dar kapsamlı görevlerde temel GPT‑4 seviyesine eşit ya da ondan daha iyi performans gösterdi; API giriş/çıkış verileri müşteriye ait kalıyor
- Private beta müşterileri talimatlara uyma, çıktı biçimi kararlılığı ve marka tonuna uyarlamada iyileşmeler gördü; GPT‑3.5 Turbo ince ayarı 4k token işliyor
- Bazı early tester’lar talimatları modele öğreterek prompt boyutunu en fazla %90 azalttı; bu da çağrı hızında artış ve maliyet düşüşü sağlayabilir
- Mevcut GPT‑3 base modellerinin kullanımdan kaldırılmasına paralel olarak
babbage-002vedavinci-002yedek modeller olarak sunuluyor; yeni/v1/fine_tuning/jobs, mevcut/v1/fine-tunesyerine geçiyor
GPT‑3.5 Turbo ince ayarı sunuldu
- Geliştiriciler artık kendi verilerini getirerek GPT‑3.5 Turbo’yu kullanım senaryolarına göre özelleştirebiliyor
- GPT‑3.5 Turbo ince ayarı şu anda sunuluyor; GPT‑4 ince ayarının sonbaharda sunulması planlanıyor
- İlk testlerde ince ayarlı GPT‑3.5 Turbo, bazı dar kapsamlı görevlerde temel GPT‑4 seviyesindeki yeteneklerle eşit ya da daha iyi sonuçlar gösterdi
- İnce ayar API’siyle gönderilip alınan veriler müşteriye aittir; OpenAI veya başka kuruluşlar tarafından diğer modellerin eğitimi için kullanılmaz
- İlgili politika: API data privacy
Performansı iyileşen kullanım senaryoları
- Private beta müşterileri, gözetimli ince ayar (supervised fine-tuning) ile çeşitli yaygın kullanım senaryolarında performansı iyileştirdi
- Talimatlara daha iyi uyma: Çıktıyı kısa tutmak veya her zaman belirli bir dilde yanıt vermek gibi talimatları daha iyi izlemesini sağlayabiliyor
- Kararlı çıktı biçimi: Kod tamamlama veya API çağrısı oluşturma gibi belirli bir yanıt biçimi gerektiren uygulamalarda tutarlı formatı daha iyi koruyor
- Özelleştirilmiş ton: Model çıktısının tonunu şirket markasının sesine daha tutarlı biçimde uyarlayabiliyor
- İnce ayar, yalnızca performansı artırmak için değil, benzer performansı korurken prompt’ları kısaltmak için de kullanılıyor
- GPT‑3.5 Turbo ince ayarı 4k token işliyor; bu, OpenAI’ın önceki ince ayar modellerinin yaklaşık iki katı seviyesinde
- Early tester’lar talimatları modelin kendisine öğreterek prompt boyutunu en fazla %90 azalttı; bu da API çağrı hızını artırmaya ve maliyeti düşürmeye yardımcı oluyor
- İnce ayar, prompt engineering, bilgi erişimi, function calling gibi diğer tekniklerle birleştirildiğinde en güçlü hâline geliyor
- Kullanım yöntemi fine-tuning guide üzerinden görülebilir
- Function calling ve
gpt-3.5-turbo-16kiçin ince ayar desteğinin sonbaharın ilerleyen dönemlerinde sunulması planlanıyor
Güvenlik işlemleri ve fiyatlandırma
- OpenAI, temel modelin güvenlik özelliklerini korumak için eğitim verilerini Moderation API ve GPT‑4 tabanlı moderation system’den geçiriyor
- Bu moderation süreci, güvenlik standartlarıyla çelişen güvenli olmayan eğitim verilerini tespit etmeye yönelik bir prosedürdür
- GPT‑3.5 Turbo ince ayar maliyeti, eğitim maliyeti ve kullanım maliyeti olarak ayrılır
- Eğitim: 1K token başına $0.008
- Kullanım girişi: 1K token başına $0.012
- Kullanım çıktısı: 1K token başına $0.016
- Örneğin 100.000 token’lık bir eğitim dosyasını 3 epoch boyunca eğiten bir
gpt-3.5-turboince ayar işinin tahmini maliyeti $2.40’dır
GPT‑3 model değişimi ve API değişiklikleri
- OpenAI, Temmuz 2023’te mevcut GPT‑3 base modelleri olan
ada,babbage,curie,davincimodellerinin 4 Ocak 2024 tarihinde kullanımdan kaldırılacağını duyurdu babbage-002vedavinci-002, bu modellerin yerini alan modellerdir ve base model veya ince ayarlı model olarak kullanılabilir- Müşteriler Completions API çağırarak
babbage-002vedavinci-002modellerine erişebilir - Bu modeller, yeni API endpoint’i
/v1/fine_tuning/jobsüzerinden ince ayarlanabilir - Yeni endpoint, sayfalama ve daha yüksek ölçeklenebilirlik sağlayarak fine-tuning API’sinin gelecekteki evrimini destekliyor
- Mevcut
/v1/fine-tunesendpoint’inden yeni endpoint’e geçiş yöntemi fine-tuning guide içinde özetlenmiştir - Mevcut
/v1/fine-tunesendpoint’i deprecated duruma geçecek ve 4 Ocak 2024 tarihinde kullanımdan kaldırılması planlanıyor
1 yorum
Hacker News yorumları
Fine-tuning tam olarak ne yapıyor, basitçe açıklayabilir misiniz?
Modele soruları nasıl yanıtlayacağını göstermek mi, yeni bilgi vermek mi, yoksa ikisi birden mi, merak ediyorum.
Örneğin büyük bir özel bilgi tabanı hakkında sorular için LLM kullanmak istersem, modeli o bilgi tabanıyla fine-tune etmek doğru olur mu; öyleyse halüsinasyonlar nasıl azaltılır ve her seferinde prompt'a ilgili belgeleri koyma yönteminden daha mı iyidir?
Yeni bir prompt'ta “benzer”in tam olarak ne olduğu, genellemenin kara büyüsüne yakındır.
Stil, bilgi veya ikisini birden öğretmek için kullanılabilir; ancak yalnızca fine-tuning verilerine dayanarak yanıt vermesini sağlayan eksiksiz bir yöntem yoktur.
X ile ilgisiz konuları reddeden çok sayıda örnek eklerseniz bir ölçüde performans beklenebilir.
Büyük özel bilgi tabanları için genellikle fine-tuning önermem, arama tabanlı bir yaklaşım öneririm.
Bilgiyi girdiye koyduğunuzda kaynakları doğrulayabilirsiniz ve modelin halüsinasyon olmadan yanıt vermesi kolaylaşır.
Ancak arama, bilgi getirme türü sorularda güçlüdür; birden çok kaynağı karşılaştırmayı veya harmanlamayı gerektiren sorularda zayıf kalabilir, bu yüzden fine-tuning'in bazı avantajları olabilir.
Bu blog yazısı da aynı yönde görünüyor.
OpenAI'ın fine-tuning'i nasıl yaptığını da merak ediyorum; LoRA olmadığını düşünüyorum.
Dil modelleri, halüsinasyonlarda görüldüğü gibi veriyi saklamak veya ona erişmek için araçlar değildir.
Veriyi saklamak ve erişmek için embedding + vektör veritabanı kullanmak daha doğru.
Fine-tuning, modelin ne tür bir dil ürettiğini değiştirmek içindir.
Gazeteci gibi yazan bir yapay zeka istiyorsanız gazete haberleriyle, inceleme yazan bir yapay zeka istiyorsanız incelemelerle fine-tune etmek gibi.
Bkz. https://huyenchip.com/2023/05/02/rlhf.html
Bu, temel modelin kendisini fine-tune etmekten veya RLHF yapmaktan oldukça farklı.
Genel bir sohbet botu yerine belirli bir şekilde davranması veya başka görevler yapması için hedefini ayarlamada işe yarayabilir.
Buna karşılık bota bilgi eklemek, grounded generation veya retrieval-augmented generation (GG/RAG) tarafına daha yakındır; temel modeli yeni verilerle, örneğin gizli verilerle desteklemeye yönelik bir yaklaşımdır.
Büyük özel bilgi tabanı soru-cevapları için uygun değil; GG/RAG'ın daha doğru olduğunu düşünüyorum.
Bununla ilgili yakın zamanda yazdığım bir yazı da var: https://vectara.com/fine-tuning-vs-grounded-generation/
Üst düzeyden bakıldığında, prompt'a sığmayan daha fazla veriyi modelin içine koymanızı sağlıyor.
Büyük özel bilgi tabanı, derste verilen başlıca örneklerden biriydi; alan özelleştirme veya gizliliğin önemli olduğu senaryolarda fine-tuning, prompting'e göre daha mantıklı olabilir.
“Fine-tuning eğitim verileri Moderation API ve GPT-4 tabanlı denetim sisteminden geçer” ifadesi oldukça maliyetli olacak gibi.
API fiyatlarına bakınca model eğitmekten çok GPT-4 inference çalıştırmak daha pahalı; bu yüzden GPT-4'ü yalnızca güvenlik kararının muğlak olduğu durumlarda kullanıyorlardır.
İstediğim dil türünü zaten biliyorsam, OpenAI'ın parametre ayarlama veri kümemi denetlemesine neden izin vereyim, anlamıyorum.
Llama2 13B veya 70B'yi fine-tune ederken genelde bulut GPU kiralamak gerekiyor; OpenAI'ın fine-tuning'iyle karşılaştırıldığında nasıl olduğunu merak ediyorum.
OpenAI'da altyapıyı doğrudan kiralamanız gerekmiyor, ücret kullanım bedeline dahil; Llama2 model fine-tuning'i deneyimi olanların gözünden bir karşılaştırma duymak isterim.
GPT'nin “fine-tuning”inin Llama2 gibi modelleri fine-tune etmekten farklı olduğunu düşünüyorum.
Ağın tüm ağırlıklarını ayarlamak yerine muhtemelen çok küçük bir kısmını ayarlıyorlar; OpenAI'ın bunu tam olarak nasıl yaptığı ise tescilli teknoloji.
Ödünleşim şu: OpenAI fine-tuning'i daha ucuz, ama “gerçek” fine-tuning'e göre daha az güçlü.
Özellikle 13B yeterliyse daha da öyle; modal.com'da fine-tune edilmiş llama2 13B model inference'ını kabaca 1K token başına $0.003 düzeyinde kullanabilirsiniz.
Kesinlikle daha ucuz seçenekler de var.
Veriniz aşırı fazla değilse llama2 eğitim maliyeti de genelde birkaç dolar seviyesinde olur.
davinci-002'yi completion modeli olarak sunduklarını görünce yine “güvenli olmayan” model de mi sunuyorlar diye düşündüm; ama davinci-002 ve babbage-002'nin ikisi de “güvenli olmayan” completion isteklerinde sonsuz döngüye giriyor.
text-davinci-003 ve text-curie-001 sorunsuzdu; OpenAI gerçekten sansürsüz modelleri kullanım için sunmak istemiyor gibi.
İnce ayar yapılmış GPT-3.5 Turbo’nun üretim maliyeti temel modele göre 8 kat olduğundan, maliyet verimliliği için OpenAI’ın söylediği “prompt boyutunda %90 azalma” aralığına girmeniz gerekiyor.
Bunun yerine her prompt’a birkaç örnek koyan few-shot prompting ile çıktıyı yönlendirmek daha iyi olabilir.
Elbette her kullanım senaryosuna uymaz ama denemeye değer.
Üstelik function calling de bu yıl sonbahardan sonrasına kadar desteklenmeyecek.
Şu anda kullanımımın çoğu function calling olduğu için şimdilik pas geçeceğim gibi görünüyor.
OAI ince ayarıyla ilgili sonuçları merak ediyorum; eskiden bu thread’de bunun mutlaka gerekli olmadığı yönünde bir hava vardı: https://news.ycombinator.com/item?id=37174850
Bu %90’ın yukarıdaki hesaplamadan çıkan sayı olup olmadığını merak ediyorum.
Yalnızca GPT-3.5-turbo ile ince ayarlı GPT-3.5-turbo’yu karşılaştırınca bu doğru; ama Llama-2 modellerinin ince ayarına benziyorsa SQL sorgusu üretimi gibi birçok pratik kullanım senaryosunda GPT-4 düzeyi performans verebilir.
Ancak matematik ya da kodlama, ciddi miktarda veriyle ince ayar yapılmadıkça muhtemelen zor olacaktır.
Nitekim 7B Llama-2 modeli bile ince ayardan sonra GPT-4 düzeyi performans göstermişti: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
GPT-3.5 benim için o kadar kötü ki işe yaramıyor.
Yazıda aynı tür jargonları tekrarlıyor, kodlamada çok sık hata yapıyor ve doğal dil işlemede de daha açık konuşmak gerektiğinden sıradan bir chatbot gibi hissettiriyor.
GPT-4 aylık $20 her açıdan çok daha iyi ve Angular işlerinde de kullanıyorum.
Yapay zeka her gerekçeyi açıkladığında, bu aşırı tasarlanmış framework de gerçekten anlaşılmaya başlıyor.
Çevirmen, öğretmen ve problem çözme yardımcısı olarak yanınızda bulundurmak iyi; bu daha da iyileşirse bir sorunun cevabını Google’da aramayı hayal etmek zor.
İstediğim özellik yerleşik prompt bölme.
Eski GPT sürümlerini ve sahte etik tartışmalarını bırakıp bu teknolojinin en iyi sürümüne odaklanarak aylık $20’ye satarlarsa milyarlar kazanabileceklerini ve çevrim içindeki pek çok şeyi sarsabileceklerini düşünüyorum.
Cevaplar tekrarcı ve yavan hâle geliyor.
Bunu bir ürüne dönüştürmeyecekseniz uğraşmaya pek değmez.
Ancak değerli birçok LLM ürünü ya da özelliği daha dar kapsamlıdır ve ince ayarla büyük iyileşme görebilir.
Örneğin SQL sorgusu üretiminde, 7B Llama-2 modeline ince ayar yapıldığında bile GPT-4’ü geçtiği bir deney vardı: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
Google’a uygun soruyu sormanın zor olduğu durumlarda LLM parlıyor.
“Eskiden Google’ın yeni işe alınanlar ve GPA hakkında yaptığı bir araştırmayı duymuştum; GPA 3.0’ı geçtiğinde fark kalmadığını söylüyordu. Bu araştırmanın bağlantısını verebilir misin? Devam araştırması var mıydı?” gibi bir soruyu Google’da bulmak zordur ve asgari GPA ile istihdamla ilgili bağlantıların arasında kaybolması kolaydır.
Bard, Laszlo Bock ve kitabı hakkında bilgi vererek “Laszlo Bock Google GPA” gibi daha rafine bir arama yapmayı mümkün kıldı.
Aynı cümleyi birkaç LLM’e verdim; ChatGPT bilgi sınırı cevabı verdi, Bard hemen buldu, Hugging Face Chat ise Bock’ın yanı sıra Project Oxygen ve Project Aristotle’ı da vererek en iyisi oldu.
Claude araştırmayı bulamadı ama başka adaylar önerdi; LLaMa da bulamadı ama Google araştırmasını ve birkaç isim sundu.
Doğruluk için ince ayarın sonuçları kötüleştirdiği sözüne katılıyorum.
Alignment aynı zamanda misalignmentdır da; çünkü olasılık dağılımını kaydırır ve bu yüzden mutlaka bir ödünleşim doğar.
Ne yazık ki bu alandaki araştırmalar popüler değil; gerekli yöntemler de tartışmalı ağlar ve olasılık/dağılımlar üzerine derin tartışmalar gerektirdiğinden şu anda üst düzey konferanslarda reddedilmesi kolay görünüyor.
İnsan tercihine göre yapılan tuning aslında bilgiye göre tuning değil, insanların hoşuna giden sonuçlara göre tuning’dir.
Değerlendirme ölçütü olan insanı hackleyen bir önyargıyı modele koymuş oluyorsunuz; bu yüzden ortalama olgusal doğruluk artsa bile yanlış bilgiyi daha ikna edici biçimde sunmasına yol açarak LLM’i kötüleştirebilir.
Veri birleştirme biçimi yüzünden değerlendirmenin bozulduğu Simpson paradoksu ve Berkson paradoksu konusunda çok dikkatli olmak gerekir; pratikte Goodhart yasası üzerinden tuning yapıyoruz.
Böylesine büyük bir modeli fine-tune etmiş biri varsa, genelde etki elde etmek için ne kadar veriye ihtiyaç duyulduğunu merak ediyorum.
Dokümanda geçen 100k token’ın temel model davranışını gerçekten ciddi ölçüde etkileyip etkileyemeyeceğini, yoksa bunun oyuncak bir örnek mi olduğunu bilmek istiyorum.
Kesin sayı kullanım senaryosuna göre büyük ölçüde değişiyor.
Önce iyi hazırlanmış 50 demo ile başlayıp iyileşme sinyali olup olmadığına bakılması öneriliyor.
Yeterli olmasa bile iyileşme görülüyorsa daha fazla veri eklendikçe gelişmeye devam etme olasılığı var; iyileşme yoksa örnek sayısını artırmadan önce görev kurgusunu veya veri yapısını yeniden düşünmek gerekiyor.
Sadece birkaç bin örnek bile modelin davranışını ve çıktısının içeriği ile biçimini oldukça büyük ölçüde değiştirebiliyor.
LoRA gibi mekanizmalar, doğruluk kaybı pahasına çok verimli fine-tuning yöntemleri; üstteki birkaç katmanı değiştirmek bile modeli oldukça ciddi şekilde dönüştürüyor.
Örnekler arasında https://huggingface.co/datasets/b-mc2/sql-create-context ve https://huggingface.co/datasets/GEM/viggo var.
Buna karşılık ilkokul matematik problemleri çözmeyi öğrenmek için 8K örnek bile yeterli olmadı; dolayısıyla probleme bağımlılık çok yüksek.
Referans: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe..., https://huggingface.co/datasets/gsm8k
1000 token’dan itibaren iyileşme görülmeye başlıyor.
Başta yayımlanacağı söylenen şeyi ücretsiz beta olarak çıkarıp hataları düzelttikten sonra daha güçlü kardeşini abonelik hizmeti olarak sunmak, sonra ikisini de ciddi şekilde zayıflatmak, ardından fine-tuning’i çıkarıp zayıflatılmış GPT-3.5’i ancak doğru fine-tune edilirse çıkıştaki seviyesine yakın hale getirmeye imkân tanımak; zayıflatılmamış sürümü de Microsoft iç kullanımı için saklayıp kâr etmek gibi bir akış görünüyor.
Google en azından daha dürüst.
En iyi ürüne sahipler ama dahili araç olarak değeri daha yüksek olduğu için kamuya açmama tarafındalar; GPT çıktıktan sonra hisse fiyatını savunmak için Bard’ı duyurdular ama pek iyi değildi ve muhtemelen doğru düzgün piyasaya da sürmeyecekler.
Yine de Meta, zayıflatılmış bir sürüm de olsa open source olarak yayımladı.
Birkaç ay önce GPT-4 ile gerçekten üretkenlik inanılmazdı; şimdi tekrar tek kişilik geliştiriciye dönmüş gibi hissediyorum.
Şu an kullanınca hataları düzeltmeye harcadığım süre, kazandığım süreden fazla oluyor; çoğu zaman doğrudan kendim yapmak daha iyi.
Bu yüzden başkalarına vermek istememelerinin nedenini anlıyorum.
“Zayıflatılmadı” gibi bariz yanlış cevaplar verecekseniz lütfen zamanımı boşa harcamayın.
Gizlilik tarafını merak ediyorum.
OpenAI, API çağrılarını model eğitimi için kullanmadığını söylüyor ama OpenAI veya Microsoft’un metni hâlâ saklayıp saklamadığını, saklıyorsa ne kadar süre sakladığını bilmek istiyorum.
Genel olarak harika ve 16k fine-tuning’i dört gözle bekliyorum.
Bu gereklilikten muafiyet istiyorsanız bir başvuru formu var.
https://learn.microsoft.com/en-us/legal/cognitive-services/o...
Saklanan verilerle şüpheli işler yapılmıyor; kelimenin tam anlamıyla yalnızca olaydan sonraki kısa süre boyunca olası güven ve güvenlik ihlallerini araştırma amacı taşıyor.
Öyleyse OpenAI’ın bunu daha sonra GPT-5’i genişletmek için kullanmayacağına dair gizlilik güvencesi nedir, merak ediyorum.
Oldukça ilginç.
OpenAI’ın “Chat” modelinin fine-tune edilebilir hale gelmesi ilk kez oluyor.
Şu anda AI detector’leri fine-tune edilmiş bir modelle atlatmayı deneyen biri var mı merak ediyorum.
Mümkün olduğunu biliyorum ama veri setini nasıl kurgulamak gerektiğine dair fikir edinmek istiyorum.
Buna para veren dolandırılıyor; gerçek karar süreçlerinde kullananlar ise ciddi hata yapıyor.
Bazı okulların öğrencilerin makaleleri ChatGPT ile yazıp yazmadığını yakalamak için AI detector kullanması gerçekten üzücü.
Açıkça insan tarafından yazılmış makaleleri AI üretimi diye işaretleyen çok sayıda vaka var.
ChatGPT’ye makale yazdırıp 30 dakika oynasanız bile ChatGPT üslubunu anlayabilirsiniz.
İyi prompt verirseniz farklı stillerde de yazdırabilirsiniz ama dürüst olmak gerekirse ödevini ChatGPT ile yapan biri genelde metnin ChatGPT gibi görünmemesi için çaba harcamıyor.
Çalışmıyorlar ve zaten GPT tarafından üretilmiş metin tespit edilemiyor.
Bir metnin insan mı yoksa ChatGPT tarafından mı üretildiğini güvenilir kesinlikle tespit etmek imkânsız.
Bu tür detector’ler tamamen bozuk ve basit bir düşünme süreci yönlendirmesiyle bile ChatGPT gibi “duyulmayan” sonuçlar elde edilebiliyor.
Ondan sonra AI olarak tespit edilme olasılığı, insan tarafından yazılmış bir yazı kadar oluyor.