Sentetik veri ile model eğitimi: ne zaman işe yarar, nasıl yapılır?
Sentetik veri, gerçek kullanıcılardan toplanmak yerine bir dil modeliyle üretilen eğitim ve test örnekleridir; kurumsal projelerde çoğunlukla kendi belgelerinizden üretilen soru-cevaplar ve konuşmalar anlamına gelir. Elinizde belge olup örnek konuşma olmadığında, bir modeli göreve uyarlamanın (fine-tuning, ince ayar) en pratik yoludur. İşe yaraması için örneklerin kaynağa bağlı, çeşitli ve kontrol edilmiş olması, sonucun da eğitimde kullanılmamış ayrı bir test setiyle ölçülmesi gerekir.
Sentetik veri ne işe yarar?
Sentetik veri şu işlerde kullanılır:
- SFT verisi: modele görevi öğretecek soru-yanıt çiftleri ve çok adımlı konuşmalar (SFT, denetimli ince ayar).
- Değerlendirme seti: cevabının hangi belge parçasında olduğu bilinen sorular. ALTAI, damıtılmış embedding modellerini bu yolla üretilmiş sorularla karşılaştırdı.
- Yapılandırılmış çıktı ve araç çağrısı: JSON gibi sabit biçimli yanıtlar ve araç kullanma örnekleri.
- Tercih verisi: DPO gibi yöntemler için yanıt çiftleri.
Asıl sorun, kurumların çoğunda belgelerin olup konuşmaların olmamasıdır. Belgelerden düz soru-cevap çiftleri üretmek kolaydır; ama yalnız tek adımlı veriyle eğitilen modeller kalıp gibi konuşur, ek soruları ve açıklama isteklerini iyi karşılayamaz.
Nasıl çalışır: belgeden konuşmaya
ALTAI’nin açık kaynak aracı AfterImage iki rolü birbiriyle konuşturur:
- Correspondent (soran): kullanıcı tarafı. Ton, uzmanlık ve niyetiyle tanımlanmış personalar (kullanıcı profilleri) adına soru ve takip sorusu yazar.
- Respondent (yanıtlayan): asistan tarafı. Sizin yazdığınız sistem istemiyle davranır; RAG kurgusunda yanıt vermeden önce ilgili belge parçaları ona eklenir.
Akış şöyledir: kaynak belgelerden bir bağlam seçilir, bu bağlamdan kullanıcı soruları üretilir, gerekirse yanıt için arama yapılır, iki rol konuşur ve sonuç izlenen bir JSONL dosyasına yazılır. Soranın gördüğü bağlam ile yanıtlayanın arama sonuçları ayrı tutulur; sorular gerçekçi, yanıtlar kaynağa dayalı olur.
Çeşitliliğin ne demek olduğunu bir örnek gösterir. Bakım kılavuzunda filtrenin her ay kontrol edileceği yazıyor. Aynı soru farklı kişilerin ağzından gelir:
- Müşteri: “Filtreyi ne sıklıkla kontrol etmeliyim?”
- Teknisyen: “Filtre kontrol periyodu nedir?”
- Aceleci yönetici: “Filtre: kaç ayda bir?”
- Yazım hatalı: “filitreye ne zman bakıcam”
Hepsi aynı kaynaklı yanıtla eşlenir: “Kılavuza göre filtreyi her ay kontrol edin.”
Ne zaman işe yarar, ne zaman yaramaz?
İşe yarar:
- belgeleriniz var, etiketli konuşmanız yoksa,
- görev dar ve beklenen yanıt biçimi belliyse,
- hızla bir değerlendirme seti gerekiyorsa,
- öfkeli müşteri ya da yazım hatalı soru gibi seyrek durumları kapsamak istiyorsanız.
Yaramaz ya da dikkat ister:
- doğru yanıt belgelerde değil, uzmanların deneyimindeyse,
- elinizde yeterli gerçek veri varsa (sentetik veri onu tamamlar, yerini almaz),
- üretici model görevin gerektirdiğinden zayıfsa,
- bilgi sık değişiyorsa; bu durumda RAG daha uygundur (bkz. Fine-tuning mi, RAG mı?).
Adım adım nasıl yapılır?
- Görevi tanımlayın. Kim soruyor, model nasıl ve hangi biçimde yanıt vermeli? Bu, yanıtlayanın sistem istemi olur.
- Belgeleri hazırlayın. PDF ve DOCX dosyalarını metne çevirin (llm-food), gereksiz bölümleri ayıklayın, kişisel verileri maskeleyin.
- Personaları belirleyin. Yeni kullanıcı, uzman, aceleci yönetici, yazım hatası yapan kullanıcı.
- Küçük başlayın. Yapılandırmayı model çağırmadan doğrulayın; sonra az sayıda konuşma ve düşük eşzamanlılıkla deneyin, JSONL çıktısını okuyun.
- Kaliteyi kontrol edin. Otomatik filtreler ve yargıç model kullanın, bir örneklemi insanlara okutun.
- Durdurma ölçütü koyun. Örnek sayısı, bağlam kapsamı, token sayısı ya da bütçe.
- Dışa aktarın ve eğitin. Veriyi eğitim aracınızın beklediği biçime çevirin, modeli eğitin ve eğitimde kullanılmamış test setiyle temel modelle karşılaştırın.
AfterImage ile ilk deneme:
git clone https://github.com/altaidevorg/afterimage.git
cd afterimage
python -m pip install .
# Validate the configuration without calling a model
afterimage generate -c examples/configs/basic.yaml --dry-run
# Inspect supported export formats
afterimage export --list-formats
Dry-run (deneme çalıştırması) model çağırmaz; gerçek üretim için bir sağlayıcı anahtarı ya da yerel model gerekir.
Çeşitlilik ve kalite kontrolü
- Bağlamı kapsayın. Aynı birkaç belgeden değil, koleksiyonun tamamından örnek alın ve kapsamı izleyin.
- Konuşmaları kısa tutun. AfterImage dokümanına göre kalite 5–6 turdan sonra düşer.
- Güçlü bir üretici seçin. Aynı dokümana göre 20B sınıfının altındaki modeller tekrar eden döngüler ya da yüzeysel yanıtlar üretir.
- Otomatik sinyalleri kullanın. Embedding tabanlı tutarlılık, ilgililik ve kaynağa bağlılık kontrolleri hızlı eleme sağlar; LLM-as-a-judge ölçütleri ikinci geçiş içindir. Eşiği geçemeyen örnekler yeniden üretilebilir, ama her deneme ek model çağrısı demektir.
- Yinelenenleri ayıklayın. Neredeyse aynı soruları embedding benzerliğiyle bulup çıkarın.
- Türkçesini okuyun. Çeviri kokan ifadeler ve tekrar eden “-mektedir” kalıpları modele de geçer. Akana’nın yapay zekâ metni tespiti bu izleri işaretlemek için kullanılabilir; ayrıntılar Türkçe doğal dil işleme rehberinde.
SFT verisi neye benzer?
JSONL dosyasının her satırı bir konuşmadır. Hugging Face mesaj biçiminde tek turluk bir örnek (okunsun diye satırlara bölündü):
{"messages": [
{"role": "system", "content": "Bakım kılavuzuna göre yanıt veren bir destek asistanısın."},
{"role": "user", "content": "Filtre kontrol periyodu nedir?"},
{"role": "assistant", "content": "Kılavuza göre filtreyi her ay kontrol edin."}
]}
AfterImage veriyi ShareGPT ve Hugging Face mesaj biçimleri gibi yaygın eğitim formatlarına dışa aktarır.
Riskler
- Uydurma bilginin taşınması. Üretici model kaynakta olmayan bir şey yazarsa eğitilen model de onu öğrenir (halüsinasyon). Yanıtın kaynakla tutarlılığını kontrol edin.
- Değerlendirici yanlılığı. Örnekleri seçen yargıç modelin tercihleri veri setine sızabilir.
- Test sızıntısı. Test setini aynı üreticiyle aynı belgelerden üretirseniz skorlar şişer. Sentetik örnek doğruluk kanıtı değildir; mümkünse insanların yazdığı ayrı bir test seti kullanın.
- Çeşitliliğin çökmesi. Personalar dikkatle seçilmezse karikatüre döner; yalnız model çıktısıyla tekrar tekrar eğitmek çeşitliliği azaltır.
- Sağlayıcı şartları. Bazı model sağlayıcıları çıktılarının başka modelleri eğitmek için kullanılmasını kısıtlar. Damıtmaya açıkça izin veren modelleri ya da yerel modelleri tercih edin.
- Kişisel veri. Belgeler üretim sırasında modele gönderilir. Kişisel verileri önceden maskeleyin ya da üretimi vLLM, Ollama veya llama.cpp gibi OpenAI uyumlu bir yerel sunucuda çalıştırın (bkz. Yerel LLM kurulumu). KVKK yükümlülükleriniz bu teknik önlemlerden ayrı değerlendirilmelidir. Bu metin hukuki danışmanlık değildir; kendi durumunuz için bir hukukçuya danışın.
ALTAI’de nasıl yapıyoruz
AfterImage ile müşterilerimizin görevlerine uygun eğitim verisi üretiyoruz: örnekleri kontrol ediyor, modeli eğitiyor ve eğitimde kullanılmamış test verisiyle karşılaştırıyoruz. AfterImage, Python 3.11+ ile çalışan, Apache-2.0 lisanslı bir kütüphane ve komut satırı aracıdır; konuşma, belgeye dayalı soru-cevap, araç çağrısı, yapılandırılmış çıktı ve tercih verisi üretebilir. Kaynak kodu ve kurulum AfterImage sayfasında, kullanım belgeleri afterimage.altai.dev adresinde; eğitim verisinden modele giden bir örnek için FunctionGemma uygulama örneğine bakabilirsiniz. ALTAI platformunda (app.altai.dev) dosyalarınızı yükleyip görev türlerini, asistan istemini ve durdurma koşulunu seçerek sentetik veri seti üretebilir, ardından bir model eğitebilirsiniz. Kendi göreviniz için bize yazın.
Sık sorulan sorular
Sentetik veri gerçek verinin yerini tutar mı?
Tamamen tutmaz. Gerçek veri yokken başlamayı ve seyrek durumları kapsamayı sağlar; gerçek kullanıcı sorularıyla birleştirildiğinde en iyi sonucu verir. Değerlendirmeyi mümkün olduğunca gerçek sorularla yapın.
Sentetik veri üretmek için hangi model kullanılmalı?
Görevi iyi yapabilen ve şartları çıktılarının eğitimde kullanılmasına izin veren bir model. AfterImage dokümanı, 20B sınıfının altındaki modellerin tekrar eden ya da yüzeysel konuşmalar ürettiğini belirtir. Veri kurum dışına çıkmamalıysa güçlü bir yerel model kullanın.
Kaç örnek üretmeliyim?
Sabit bir sayı yoktur. Küçük bir setle başlayın, modeli eğitip ayrı test setinde ölçün; sonuç iyileşmeyi bırakana kadar kapsamı ve çeşitliliği artırın. Durdurma ölçütü olarak örnek sayısı, bağlam kapsamı ya da bütçe kullanabilirsiniz.
Sentetik veri kişisel veri sorununu çözer mi?
Kendiliğinden çözmez. Kaynak belgelerdeki kişisel veriler üretilen örneklere ve üretim sırasında model sağlayıcısına geçebilir; bu yüzden maskeleme ya da yerel üretim gerekir. Hukuki değerlendirme için bir hukukçuya danışın.
AfterImage ücretsiz mi?
Evet, Apache-2.0 lisanslı açık kaynak bir projedir ve pip install afterimage ile kurulur. Gerçek üretim için bir model sağlayıcısının API anahtarı ya da OpenAI uyumlu bir yerel sunucu gerekir; sağlayıcının ücretleri ve şartları ayrıca geçerlidir.