LLM fine-tuning (ince ayar) için veri hazırlarken amaç, modelin hangi girdiye nasıl yanıt vermesi gerektiğini gösteren örnekler oluşturmaktır. Eldeki kayıt ve belgeler bu amaçla düzenlenir, ardından eğitimde modele nasıl aktarılacakları kontrol edilir. İşin beş temel adımı var:
- Modelden beklenen davranışı ve bir yanıtın doğru sayılması için gereken koşulları yazın.
- Örnekleri hazırlamak için kullanılacak kaynakları toplayın: mevcut kayıtlar, belgeler, uzmanların yazdığı yanıtlar veya modelle üretilmiş örnekler.
- Bu kaynaklardan girdi ve çıktı çiftleri oluşturun. Modelin tekrarlamasını istemediğiniz yanıtları düzeltin.
- Tekrarları ayıklayın, çelişen yanıtları düzeltin ve kişisel verileri maskeleyin.
- Örnekleri modelin beklediği formata getirin, değerlendirmede kullanılacakları ayırın ve eğitim başlamadan önce modele verilecek son halini inceleyin.
Rehberlerde veri toplama ve temizleme üzerinde çok durulur. Üçüncü adım genellikle daha az yer bulur; oysa modelin ne öğreneceğini büyük ölçüde bu adım belirler. Mevcut kayıtlar, işlerin geçmişte nasıl yapıldığını gösterir. Bu kayıtlar olduğu gibi kullanılırsa model yapılan hataları da öğrenir. Bu yüzden her yanıt, eğitim kümesine girmeden önce modelden beklenen yanıta uygun şekilde düzenlenmeli.
Bu yazıda, girdilerin istenen çıktılarla eşleştirildiği supervised fine-tuning (denetimli ince ayar) için veri hazırlamayı ele alıyoruz. Kaç örnek gerektiğini LLM fine-tuning için 50 örnek yeter mi? yazısında konuşmuştuk. Burada ise örneklerin nasıl hazırlanacağına ve eğitimden önce nelerin kontrol edilmesi gerektiğine bakacağız.
Önce modelden beklenen yanıtı tanımlayın
Veri toplamaya başlamadan önce modelin ne yapacağı ve hangi yanıtın doğru kabul edileceği belli olmalı. Ekipte iki kişi aynı girdiye farklı yanıtlar veriyorsa bu tutarsızlık veri kümesine de yansır. Model de her iki yanıtı öğrenir.
Başlamak için mevcut verileri bir kenara bırakıp on örnek girdi ve her biri için ideal yanıtı elle yazmak yeterli. “Prosedürlerimizle ilgili soruları yanıtla” gibi bir tanım, sonucu değerlendirmek için fazla belirsizdir. “Satın alma onayı sorulduğunda kimin onay vermesi gerektiğini, tutar sınırını ve prosedürün sürümünü iki cümlede belirt” dendiğinde ise yanıtın doğruluğunu kontrol etmek mümkündür. Hazırlanan bu on örnek, sonraki örnekleri değerlendirmek için de referans olur.
Fine-tuning’in uygun yöntem olup olmadığına da bu aşamada karar vermek gerekir. Belirli bir formatta yanıt vermek, bir üslubu benimsemek, sınıflandırma yapmak veya belli türdeki talepleri ele almak gibi zamanla pek değişmeyen davranışlar fine-tuning ile öğretilebilir. Fiyat, stok durumu veya o dönemde geçerli şirket kuralları gibi değişken bilgileri ise bu yolla saklamak uygun değildir. Model bu bilgilere yanıt verirken bir sorguyla ya da retrieval (bilgi getirme) sistemiyle erişmeli. Kendi verilerinizle yapay zeka destekli chatbot nasıl geliştirilir? yazısında bu konuyu anlatmıştık. Modelin bilmesi istenen bilgilerin çoğu her ay değişiyorsa önceliği eğitim dosyasına değil, güncel bilgiye erişimi sağlayacak sisteme vermek daha doğru olur.
Fine-tuning verisi hangi formatta olmalı?
Fine-tuning araçlarının çoğu veriyi JSONL formatında alır. Bu metin dosyasının her satırında bir JSON nesnesi bulunur; her nesne bir eğitim örneğidir. Sohbet modelleri için örnekler genellikle kısa konuşmalar şeklinde hazırlanır. Her mesajda rol (system, user veya assistant) ve mesajın içeriği yer alır:
{"messages": [{"role": "system", "content": "Extract the supplier, invoice date, and total. Reply in JSON."}, {"role": "user", "content": "Invoice from Nordline Logistics, dated 3 March 2026. Total due: 4,180.00 EUR."}, {"role": "assistant", "content": "{\"supplier\": \"Nordline Logistics\", \"date\": \"2026-03-03\", \"total\": 4180.00, \"currency\": \"EUR\"}"}]}
Kullanılan alan adları platforma göre değişebilir. Bu yüzden eğitimde kullanılacak servisin veya kütüphanenin dokümanına bakmak gerekir. Örneğin Hugging Face’in TRL kütüphanesi, messages formatının yanında girdi ve çıktıyı ayrı alanlarda tutan prompt ve completion formatını da destekliyor. TRL veri kümesi formatları
Dosya formatını ayarlamak genellikle uzun sürmez. Ancak iki ayrıntı daha dikkatli kontrol edilmeli: chat template (sohbet şablonu) ve hangi token’ların eğitim kaybı (loss) hesabına dahil edildiği. Bu ayarlar yanlış olsa bile eğitim hata vermeden devam edebilir.
Chat template, kullanılan modele uygun olmalı. Model JSON dosyasını doğrudan almaz. Önce mesajlar tek bir metne dönüştürülür; mesajların başlangıcını ve sonunu belirtmek için özel işaretler eklenir. Bu işaretler model ailesine göre değişir. Mistral’ın talimatlarla eğitilmiş modellerinde kullanıcı mesajları [INST] etiketleri arasına alınırken başka modeller <|user|> ve <|assistant|> gibi etiketler kullanır. Hugging Face dokümanında, yanlış kontrol token’larının performansı ciddi ölçüde düşürdüğü belirtiliyor. Hugging Face chat template dokümanı Bu yüzden şablonu modelin kendi tokenizer’ı uygulamalı; eğitim sırasında da model kullanıma alındıktan sonra da aynı şablon kullanılmalı.
Loss hesabına ise yalnızca asistan yanıtındaki token’lar dahil edilmeli. Eğitim sırasında modelin token tahminlerindeki hatalar bu hesapla ölçülür. Kullanıcı mesajı ve system prompt (sistem talimatı) da hesaba katılırsa model, eğitim boyunca bunları yeniden üretmeyi de öğrenmeye çalışır. Kütüphanelerin çoğunda loss hesabını asistan yanıtıyla sınırlamak mümkündür, ancak bu ayar her zaman varsayılan olarak açık değildir. Örneğin TRL’in güncel sürümlerinde, konuşma formatındaki veri kümelerinde bu seçenek açılmazsa loss bütün mesajlar üzerinden hesaplanır. TRL SFTTrainer Varsayılan ayara güvenmek yerine bu seçeneği eğitim yapılandırmasında açıkça belirtmek gerekir.
Şirket belgeleri fine-tuning için kullanılabilir mi?
Kullanılabilir, ancak genellikle önce eğitim örneklerine dönüştürülmeleri gerekir. Prosedürler, raporlar, e-postalar ve sistem kayıtları insanların kullanması için hazırlanmıştır. Bir prosedürde kural yazılı olabilir, ama o kuralla ilgili bir sorunun nasıl yanıtlanacağı gösterilmeyebilir. Fine-tuning için bu belgelerden, modelin karşılaşacağı girdileri ve vermesi gereken yanıtları içeren örnekler hazırlamak gerekir.
Asıl düzenleme işi de burada başlar. Eski kayıtlarda o gün yazılmış yanıtlar bulunur; bunların bir kısmı artık geçerli değildir, bir kısmı birbiriyle çelişir, bir kısmı da baştan yanlıştır. Olduğu gibi kullanılırlarsa model aynı hataları tekrarlayabilir. Aşağıdaki örnekte bir şirket prosedüründeki ifadenin eğitim için nasıl düzenlendiği görülüyor:
Prosedürdeki kuraldan, gerçek hayatta sorulabilecek bir soru ve güncel bilgiye dayanan bir yanıt hazırladık. Yanıt, başta belirlenen formata da uyuyor: onay verecek kişi, tutar sınırı ve prosedür sürümü. Yani kaynak metnin formatını değiştirmek yetmedi; içeriğini de güncellemek gerekti.
Diğer kaynakları da aynı gözle incelemek gerekir. Eski raporlar, ekibin yıllar önce kullanmayı bıraktığı bir formatta olabilir. E-postalarda gerekli bilgi, selamlaşmaların, imzaların ve konu dışı yazışmaların arasında kalabilir. Farklı kişiler aynı kararı farklı biçimlerde kaydetmiş olabilir. Güncel kuralları bilen biri bu kayıtları inceleyerek hangi kısımların korunacağına, hangilerinin yeniden yazılacağına veya çıkarılacağına karar vermeli. Her örneğin yanına kaynağını, dayandığı kuralı ya da sürümü ve kim tarafından kontrol edildiğini belirten kısa bir not eklemek de işe yarar. Böylece gelecek yıl bir kural değiştiğinde hangi örneklerin güncelleneceği belli olur; kaynağı bilinmeyen verilerle yeniden eğitim yapılmaz.
Yanıtları yeniden yazarken kullanılan dile de dikkat etmek gerekir. Uzmanların yazdığı metinler bazen alışılmadık ifadeler, yoğun jargon veya uzun akıl yürütme zincirleri içerir; model kendi başına böyle bir yanıt üretmeyebilir. Instruction-tuning (talimat odaklı eğitim) verileri üzerine yapılan araştırmalar, hedef modelin üretebileceği yanıtlara yakın örnekleri daha kolay öğrendiğine işaret ediyor. Bu yaklaşıma dayanan bir veri seçme yöntemi, 4,5 kat daha fazla veriyle yapılan eğitimden daha iyi sonuç verdi. GRAPE, 2025 Yanıtın doğruluğunu ve formatını düzeltirken anlatımı modelin üretebileceğinden uzaklaştırmamak gerekir.
Tekrarlar ve çelişen yanıtlar nasıl ayıklanır?
Veriyi temizlerken birebir kopyalara, birbirine çok benzeyen örneklere ve çelişen yanıtlara ayrı ayrı bakmak gerekir.
Birebir kopyaları bulmak kolaydır. İki kez dışa aktarılmış bir kayıt veya aynı bilgilerle doldurulmuş bir şablon, boşluklar ve büyük-küçük harf kullanımı standartlaştırıldıktan sonra basit bir karşılaştırmayla bulunabilir.
Birbirine çok benzeyen örnekleri (near-duplicate) ayıklamak daha zordur ve bunların eğitim üzerindeki etkisi daha büyük olabilir. Farklı sözcüklerle yazılmış iki örnek aslında aynı şeyi öğretebilir: aynı talebin iki farklı ifadesi, yalnızca tarihi değiştirilmiş bir rapor veya tek bir örnekten türetilmiş on farklı metin. Bunları bulmak için embedding (vektör gösterimi) benzerliğine ya da ortak kelime dizilerine bakılabilir. Ardından benzer örnekler arasından hangilerinin tutulacağına bir kişi karar vermeli. Her tekrar, o örnekteki kalıbın eğitimde daha fazla ağırlık kazanmasına yol açar. Böylece veride sık geçen kalıplar, iş açısından daha önemli olanların önüne geçebilir. Dil modeli eğitim verileri üzerine yapılan bir çalışmada, tekrarları ayıklanmış verilerle eğitilen modellerin ezberledikleri metinleri on kat daha az tekrarladığı görüldü. Bu modeller aynı veya daha iyi doğruluğa daha az eğitim adımında ulaştı. Lee vd., ACL 2022
Çelişen yanıtlar daha da önemli bir sorun, üstelik kolayca gözden kaçabilir. Bir örnekte talep finans birimine, neredeyse aynı başka bir örnekte satın alma birimine yönlendiriliyorsa model her iki yanıtı da doğru kabul etmeyi öğrenir. Bu yüzden benzer girdileri gruplandırıp yanıtlarını karşılaştırmak gerekir. Çelişki varsa doğru yanıta karar verilmeli, gerekçesi kaydedilmeli ve diğer örnekler buna göre düzeltilmeli. Ekip hangi yanıtın doğru olduğu konusunda anlaşamıyorsa veri temizliğiyle ilerlemek mümkün olmaz. Eğitimden önce bu kararı verecek birine ihtiyaç vardır.
LIMA çalışması da örneklerin kalitesinin ve çeşitliliğinin önemini gösteriyor. Araştırmacılar 65 milyar parametreli bir modele, özenle seçip düzenledikleri yalnızca 1.000 örnekle fine-tuning uyguladı. Değerlendirmeye katılan kişiler bu modelin yanıtlarını, 52.000 talimatla eğitilmiş bir modelin yanıtlarına tercih etti. Ablasyon deneylerinde de çıktı kalitesinin ve girdi çeşitliliğinin örnek sayısından daha belirleyici olduğu görüldü. LIMA, NeurIPS 2023 Kontrol etmeden yeni veriler eklemektense önce eldeki örnekleri incelemek daha yararlı bir başlangıçtır.
Kişisel veriler eğitimden önce nasıl maskelenir?
Örneklerdeki kişisel ve hassas bilgiler eğitimden önce tespit edilip uygun yer tutucularla değiştirilmelidir. İsimler, e-posta adresleri, telefon numaraları, müşteri ve çalışan numaraları, hesap numaraları ve açık adresler buna dahildir. Belgelere ya da mesajlara yapıştırılmış parolalar ve erişim anahtarları da gözden kaçmamalı. Önce otomatik bir araçla tarama yapılıp ardından seçilen örneklerin bir kişi tarafından kontrol edilmesi gerekir. Otomatik araçlar, alışılmadık biçimde yazılmış bilgileri veya ancak metnin bağlamından kişisel olduğu anlaşılan ayrıntıları atlayabilir.
Bu bilgileri metinden silmek yerine [CUSTOMER_NAME] veya [ORDER_ID] gibi yer tutucular kullanmak, cümlenin anlaşılır kalmasını sağlar. Metinden parçalar silindiğinde cümle bozulabilir ve model bu bozuk cümleyi örnek alabilir. Aynı kişi bir örnekte birden fazla kez geçiyorsa her seferinde aynı yer tutucu kullanılmalı.
Kişisel bilgileri maskelemek, veriyi eğitimde kullanmak için tek başına yeterli değildir. Kullanım izni de kontrol edilmelidir. Müşteri kayıtlarının, sözleşmelerin ve lisanslı içeriklerin hangi amaçla, nerede ve nasıl kullanılabileceğine dair kısıtlamalar olabilir. Kullanım koşulları, eğitim sonrasına bırakılmadan, veri kümesi hazırlanmadan önce verinin sahibiyle netleştirilmeli.
Eğitimi yalnızca yanıtlarla sınırlamak kişisel verileri korur mu?
Hayır. Fine-tuning uygulanmış modeller, eğitim verisinde az geçen ayrıntıları bile ezberleyip daha sonra tekrarlayabilir. Bu yüzden maskeleme adımı atlanamaz. Yalnızca girdide bulunan bilgilerin güvende olduğu düşünülebilir; sonuçta model bunları üretmek üzere eğitilmiyordur. Ancak 2026’da yayımlanan bir çalışmada, yalnızca girdilerde yer alan kişisel bilgiler de eğitilmiş modelden elde edilebildi. Araştırmacıların denediği gizlilik yöntemlerinin hiçbiri, başka açılardan ödün vermeden bu riski ortadan kaldıramadı. Szep vd., EACL 2026 Format bölümünde anlattığımız gibi, loss hesabını asistan yanıtıyla sınırlamak eğitim açısından yararlıdır. Ancak bu ayar kişisel verilerin gizliliğini garanti etmez.
Fine-tuning için sentetik veri kullanılmalı mı?
Veri kümesinin temelini gerçek örnekler oluşturmalı. Sentetik veri, elde yeterince örnek bulunmayan durumlar için kullanılabilir: alışılmadık girdiler, uç durumlar, reddedilmesi gereken istekler, yeni desteklenecek formatlar veya az örneği bulunan diller gibi. Ancak bütün veri kümesini sentetik örneklerden oluşturmak zayıf bir başlangıç olur. Bu örnekler, onları üreten modelin görevi nasıl yorumladığına bağlıdır. Gerçek kullanımda karşılaşılacak girdiler farklı olabilir.
En sık görülen sorun, örneklerin birbirine benzemesidir. Bir modelden 500 örnek istendiğinde çoğu zaman birkaç kalıbın 500 farklı versiyonu gelir; cümle yapıları, uzunluklar ve konular birbirini tekrar eder. Bu yüzden önce farklı durumları kapsayan gerçek örnekler seçilmeli, ardından modelden eksik kalan durumlar için örnek üretmesi istenmeli. Üretilen veriler de diğerleri gibi benzerlik kontrolünden geçirilmeli. Çeşitliliği artırmanın da bir sınırı var: 2025 tarihli bir çalışmada, etiketli veri az olduğunda orta düzeyde çeşitliliğe sahip sentetik verinin fine-tuning sonuçlarını iyileştirdiği, aşırı çeşitliliğin ise performansı düşürdüğü görüldü. Zhu vd., 2025 Örnekler, modelin yapacağı işte karşılaşabileceği durumlarla sınırlı kalmalı.
Modelin ürettiği yanıt akıcı olsa da yanlış olabilir. Bu nedenle sentetik örnekler de diğer örnekler kadar dikkatle incelenmeli. Değerlendirme kümesinde ise gerçek girdiler kullanılmalı. Test örnekleri de eğitim verisiyle aynı şekilde üretilmişse yüksek bir puan, yalnızca örnekleri üreten modelin kalıplarının öğrenildiğini gösterebilir.
Eğitimden önce hangi kontroller yapılmalı?
Kontroller, verinin modele verilecek son hali üzerinde yapılmalı. Veri hazırlama hatalarının çoğu hata mesajına yol açmaz. Eğitim tamamlanır, loss eğrisi normal görünür, ancak modelin performansı beklenenin altında kalır. Bu sorunları güvenilir biçimde yakalamak için veriyi eğitim başlamadan incelemek gerekir.
Önce birkaç örneğe modelin alacağı haliyle bakılmalı. Bunun için şablon uygulanıp token’lara ayrılmış metin yeniden okunabilir metne çevrilir. Doğru chat template işaretlerinin kullanıldığı, her yanıtın sonunda tek bir mesaj sonu işareti bulunduğu ve bu işaretlerin tekrarlanmadığı kontrol edilir. Yaklaşık on dakikalık bu kontrol, bir eğitim çalışmasını boşa çıkarabilecek şablon hatalarını yakalayabilir.
Ardından hangi token’ların loss hesabına dahil edildiğine bakılır. Çoğu kütüphane bu bilgiyi gösterir. Birkaç örnekte yalnızca asistan yanıtının hesaba katıldığını kontrol etmek gerekir.
Değerlendirmede kullanılacak örnekler eğitim kümesinden ayrılmalı. Bu ayrım yapılırken aynı örnekten türetilen metinler, aynı belgeden hazırlanan örnekler veya aynı müşteriye ait kayıtlar bir arada tutulmalı. Bir grubun bir kısmı eğitimde, diğer kısmı değerlendirmede yer alırsa model eğitimde gördüklerinin neredeyse aynısıyla sınanmış olur. Bu da yeni girdilerdeki başarısını ölçmek yerine ezberlediği örnekleri ne kadar iyi tekrarladığını ölçer.
Son bölümde anlatıldığı gibi, rastgele seçilen örnekleri elle incelemek de gerekir. Ayrıca örneklerin uzunluğu kontrol edilmeli; uzun örneklerin kırpıldığı eğitim loglarında çoğu zaman görünmez.
Uzun örnekler neden uyarı verilmeden kırpılır?
Eğitim araçları, uzunluk sınırını aşan örnekleri çoğu zaman uyarı vermeden keser. TRL’in güncel sürümlerinde varsayılan sınır 1.024 token’dır. TRL SFTTrainer Yanıt bu sınırdan sonra başlıyorsa örnekten tamamen çıkarılabilir; yanıtın bir kısmı sınırı aşıyorsa da yarım kalır. Model böylece eksik yanıtlarla eğitilir. Bunu önlemek için her örneğin token sayısı ölçülmeli, ardından ya sınır yükseltilmeli ya da uzun örnekler kısaltılmalı.
Verileriniz fine-tuning için hazır mı?
Eğitimde kullanılacak veriyle ilgili yedi kısa soru.
1 / 7
Modelden beklenen yanıtlar tanımlandı mı?
Sonraki soru
Eğitime başlamadan yirmi örneği okuyun
Son kontrol için bir öğleden sonrayı örnekleri okumaya ayırmak işe yarar. Önceden incelenmemiş yirmi örneği rastgele seçip modelin gerçek bir talebe vereceği yanıtlarmış gibi okumak yeterli. Bu yanıtı kullanıcıya göndermek uygun olur mu? İlgili kuraldan sorumlu kişi yanıtı onaylar mı? Diğer on dokuz örnekle çelişiyor mu?
Yirmi örnekte de sorun yoksa ve önceki kontroller tamamlandıysa veri kümesi büyük olasılıkla ilk eğitim için hazırdır. Kalan eksikler değerlendirmede görülecektir. Birkaç örnekte bile sorun çıkarsa eğitime başlamadan neyin düzeltilmesi gerektiği bellidir. Şimdi düzeltmelere ayrılan bir saat, modeli yeniden eğitme masrafından kurtarabilir. Aynı hataların model kullanıma girdikten sonra ortaya çıkması ise genellikle daha pahalıya mal olur.


