Palette: Küçük Bir Modele Kendi Tasarım Dilinizde Sunumlar Hazırlamayı Öğretmek
Kaynak: Hugging Face Blog
İçindekiler 2 başlık
Öncü (frontier) bir yapay zeka modelinden bir sunum (slide deck) istediğinizde iyi bir sonuç alırsınız. Ancak on tane istediğinizde hepsi birbirine benzemeye başlar: aynı zevkli varsayılanlar, aynı kurum içi stil ve hafif bir "yapay zeka tarafından üretilmiş sunum" görüntüsü. Sunumun kendi şablonunuza benzemesini isteyene kadar bu durum sorun yaratmaz. Öncü modellerin kendi yerleşik stilleri vardır ve ne kadar istem (prompt) yazarsanız yazın, kendi varsayılan stillerine geri kaymalarını engelleyemezsiniz. Ayrıca bazen içerik gizlidir ve sistemlerinizin dışına hiç çıkmaması gerekir.
Her iki durum da size ait olan bir modele işaret eder: açık ağırlıklı (open-weight), kendi altyapınızda çalışan ve kendi tasarım dilinizle eğitilmiş bir model. Buradaki zorluk, kendi sunucunuzda barındırabileceğiniz küçük açık modellerin bu işte kötü olmasıdır. Ürettikleri sunumlar bozuk çıkar: arkalanda kaybolan başlıklar, slayttan taşan metinler ve üst üste binmiş şekiller.
Palette tek bir iddiayı test ediyor: kendi tasarım dilinizdeki sentetik verilerle eğitilmiş ve bir kontrol mekanizması (harness) tarafından denetlenen küçük, açık ağırlıklı bir model, sonucun mülkiyeti sizde kalırken öncü sistemlerle rekabet edebilir.
20 milyar parametreli (20B) bir modeli, insanların yaptığı gibi sunum hazırlaması için ince ayardan (fine-tuning) geçirdik: bir tasarımcı sunumu planlar ve bir kodlayıcı her bir slaytı çizer. Eğitim verileri IBM Tasarım Dili'ni takip eder ve modelimiz PresentBench üzerinde ölçüm yaptığımız üç alandan ikisinde birinci sırada yer alır. Yazılım geliştirme açısından bu yaklaşım, tek bir devasa model yerine özelleşmiş, denetlenebilir boru hatları (pipelines) kurmanın gücünü gösterir.
Küçük Modeller İçin Sunum Hazırlamak Neden Zordur?#
Bir sunum basit görünür, ancak bir modelden bunu yapmasını istemek, küçük modellerin başarısız olduğu üç şeyi talep etmek demektir:
- Slaytı görmeden yerleşim (layout) yapar: Model slaytları doğrudan çizmez; her öğeyi belirli bir
x,y, genişlik ve yazı tipi boyutuna yerleştiren kodlar yazar. 75 karakterlik bir başlığın 56 puntoda iki satıra sığıp sığmayacağı, modelin zihninde yaptığı bir aritmetiktir ve yanıldığını ancak kod çalıştırılıp görselleştirildikten sonra anlar. Küçük modeller bunu sıkça yanlış yapar; üst üste binen şekiller ve taşan metinler buradan kaynaklanır. - Aynı anda iki tür karar verir: Her slaytın ne söyleyeceğine ve bunu nasıl göstereceğine (grafik mi, tablo mu? ne çıkarılmalı?) karar vermek editoryal bir yargıdır. Bunu hassas bir şekilde yerleştirmek ise geometridir. Tek bir geçişte (single pass), renk paleti, yazı tipi ve yerleşim tutarlılığını korurken 10-20 slayt boyunca her ikisini de yapmak zorundadır.
- Sunumların nasıl yapıldığını gösteren veri yoktur: Ortada çok sayıda bitmiş sunum vardır, ancak tasarım seçimlerinin arkasındaki mantığı veya bunları üreten kodu gösteren veri bulunmamaktadır.
Bir İnsan Gibi İnşa Etmek: Bir Tasarımcı ve Bir Kodlayıcı#
Kimse bir sunumu tek seferde yapmaz. Önce hikayeye karar verirsiniz (kaç slayt olacak, her biri ne anlatacak, hangisinde grafik veya tablo bulunacak) ve ancak ondan sonra her slaytı inşa edersiniz.
Palette, işi aynı şekilde, tek bir LoRA adaptörü tarafından sunulan iki role böler:
- Tasarımcı (Designer): Planı okur ve yapılandırılmış bir JSON özeti (brief) yazar; renk paletini, yazı tipi sistemini ve her slayt için yerleşimi, tam içeriği ve kısa bir tasarım gerekçesini belirler.
- Kodlayıcı (Coder): Özetten tek bir slaytın spesifikasyonunu alır ve öncesinde kendi akıl yürütmesini (reasoning) belirterek, slaytı çizen
pptxgenjsJavaScript kodunu yazar.
Artık her rol tek bir karar türüyle ilgilenir: tasarımcı editoryal yargıyı, kodlayıcı ise geometriyi yönetir. Aralarındaki özet okunabilir ve düzenlenebilir olduğundan, geliştiriciler sürece kolayca müdahale edebilir. Pratik bir çıkarım olarak; karmaşık yazılım görevlerini "planlama (yapılandırılmış JSON çıktısı)" ve "uygulama (kod üretimi)" olarak iki aşamaya bölmek, küçük modellerin bilişsel yükünü azaltarak üretim kalitesini doğrudan artırır.
Kaynak ve atıf
Bu yazı, Hugging Face Blog üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- huggingface.co/blog/ibm-research/palette-deck-building