Ek D — Bitirme Projesi Görev Tanımı ve Değerlendirme Ölçütleri
D.1 Kapsam
Temel sistem gereksinimi: en az bir gerçek aracı çağıran, çalışan bir sistem. Gerçek, modelin dışında bir şeye ulaşması demek — bir API, bir veri tabanı, bir dosya sistemi, bir arama dizini. Sabit kodlanmış bir dizgi döndüren bir araç bir mock’tur (gerçek bileşenin yerine geçen, önceden belirlenmiş yanıt döndüren bileşen) ve tümüyle mock’lar üzerine kurulmuş bir proje bu dersin konusu olan şeyi gösteremez. (Testleriniz kesinlikle fixture (testin önceden hazırlanmış verisi ve başlangıç durumu) kullanmalı — onları hızlı ve tekrarlanabilir yapan şey o. Gereksinim demo ile değerlendirme koşusuna, her kod yoluna değil.)
Bir ajan döngüsü olmak zorunda mı? Dersin öğrenme hedefi, değerlendirebildiğiniz araç kullanan sistemler; dolayısıyla ajan döngüsü varsayılan ve projelerin çoğunun aldığı biçim. Denetim akışı gerçekten veriye bağlı değilse — Bölüm 23’ün kendi ölçütü — sabit bir hat da uygundur, yeter ki bunu söyleyip savunun. Bu kitabın savunduğu yaklaşım da budur; bir kuralı karşılamak için ihtiyacınız olmayan bir döngü kurmak, gereksinimin önlemek için var olduğu kusur biçiminin ta kendisi. Demoda keşfetmek yerine 5. haftada eğitmeninizle netleştirin.
Diğer her şey pazarlığa açık ve küçük olan daha iyi. Düzgün yapılmış tek bir görev, gösterilmiş üç görevi yener.
Açık yapılmayacaklar, çünkü kapsamı aşırı büyütmek bir bitirme projesinin başarısız olmasının en yaygın tek yolu:
- Bir model eğitmiyorsunuz. Fine-tuning’e (ince ayar) izin var ve asla gerekli değil. Ona hiçbir puan bağlı değil.
- Bir ürün kurmuyorsunuz. Kimlik doğrulama yok, dağıtım yok, sistemi göstermek için gerekenin ötesinde kullanıcı arayüzü yok.
- Bir benchmark’ı (kıyaslama) yenmeniz beklenmiyor. Ölçülmüş ve olduğu gibi raporlanmış olumsuz bir sonuç, olumlu bir sonuç kadar puan alıyor.
- Bir derleme yazmıyorsunuz. Teslim edilecek şey bir literatür taraması değil, bir sistem ve onun hakkında bir argüman.
Takım boyutu bir ilâ üç. Tek kişilik projelere izin var ve aynı değerlendirme ölçütleriyle (rubric), aynı beklentilerle notlandırılıyorlar — kapsam buna göre küçülmeli ve onu küçültmek sizin vereceğiniz ve gerekçelendireceğiniz karar.
D.2 Akademik dürüstlük ve LLM kullanımı
LLM yardımı kullanabilirsiniz ve bunu beyan etmelisiniz. Bu, modellerin üzerine sistem kurmakla ilgili bir ders; kullanmadığınızı iddia etmek saçma olurdu. Notlandırılan şey akıl yürütmeniz ve yapmadığınız bir akıl yürütme notlandırılamaz.
Her teslim, deponun kökünde her kullanım için bir satır içeren bir AI-USE.md taşır:
| ne | hangi araç | sonrasında neyi kontrol ettiniz |
|---|---|---|
| erişim sarmalayıcısının taslağı | adını yazın | koşturdum, her satırı okudum, aşağıdaki iki testi yazdım |
Yukarıdaki beyan şartına tabi olarak serbest. Kod tamamlama, yeniden düzenleme, hata ayıklama, bir hatayı açıklatma, kalıp kod taslağı, düzyazı çevirisi, tablo biçimlendirme.
Beyanla serbest. Aday değerlendirme maddeleri üretmek — sonra onları kendiniz etiketlemeniz ve ne kadarını yeniden yazdığınızı söylemeniz gerekir — ve sonradan düzenlediğiniz rapor bölümlerinin taslağı.
Serbest değil. Referans etiketlerinizi (ground truth) modele ürettirip onları referans olarak kullanmak; koşmadığınız ölçümleri raporlamak; okumadığınız sayıların analizini yazdırmak. Üretmediğiniz bir sayı, savunabileceğiniz bir kanıt değildir ve gösterimde sorulacak.
Ekipteki herkes teslimdeki her satırı açıklayabilmeli. Bir bileşeni açıklayamamak, o bileşenin yokluğu olarak notlandırılır; bu bir puan kaybıdır. Uydurulmuş ölçümler ise bambaşka bir şeydir ve üniversitenin akademik dürüstlük kuralları kapsamında bölüme gider.
D.3 Teslim edilecekler
Tek bir depo artı kısa bir gösterim olarak teslim edilen dört ürün.
1. Depo. Başkasının koşturabileceği bir yerleşim:
README.md ne yaptığı, nasıl koşturulacağı, neye ihtiyaç duyduğu
src/ sistem
evals/ değerlendirme kümesi ve onu koşturan düzenek
report.md yazılı argüman (aşağıda)
requirements.txt ya da eşdeğeri, sürümler sabitlenmiş
2. Değerlendirme düzeneği. Her projenin sahip olması gereken ikinci şey ve kodunuz için bir test süiti de değil. Cevapları bilinen bir vaka kümesi, bir puanlayıcı ve onları koşturup bir sayı yazdıran bir betik (Bölüm 30, Bölüm 35). Sonradan değil, sistemle birlikte teslim edin.
Boyutunu bilerek seçin ve o boyutun neyi görüp göremediğini söyleyin. Rehber, Bölüm 22’nin aritmetiği: %80 doğrulukta bir sisteme karşı, iki bağımsız örneklemle ve %80 güçte, 30 madde kusursuz bir yenisi için bile o güce ulaşamıyor, 100 madde 13,4 puanı, 1.000 madde 4,8’i saptıyor. Aynı maddeler üzerinde eşleştirilmiş bir tasarım, iki sürümün ne sıklıkla ayrıştığına bağlı bir miktar daha iyisini yapabilir. Yani kurulabilecek iki meşru şey var ve hangisini kurduğunuzu söylemek zorundasınız:
- Küçük bir süit — en fazla elli madde civarı, 8. hafta asgarisi kırk — kusur biçimlerini bulmak için kurulur. Gerçek ve yararlı bir ürün — her çıktıyı elle okuyun, hiçbir toplamın ortaya çıkarmayacağı yanlışlık kategorileri bulursunuz. Bazen büyük bir eşleştirilmiş farkı da gösterebilir, ama onu kurulma amacıyla raporlayın: bu süit bozuğu bulur; iki sürümü sıralamak için boyutlandırılmadı.
- Bir güç analiziyle boyutlandırılmış ve eşleştirilmiş olarak puanlanmış bir süit — aynı maddeler iki sürümden geçirilerek — önemsediğiniz büyüklükteki bir gerilemeyi ya da iyileşmeyi iddia etmenizi sağlayan şeydir. Eşleştirilmiş bir tasarımda birkaç puan için bu genellikle yüz madde ya da daha fazlasıdır; sayıyı bu satıra değil, metriğinize ve beklediğiniz ayrışma oranına dayandırın.
Değerlendirme ekseninden tam puan, raporunuzun bu ikisinden hangisini kurduğunuzu adlandırmasını ve saptayabileceği en küçük farkı söylemesini gerektiriyor.
3. Rapor. Üç ilâ beş sayfa ve yapısı aşağıdaki ölçüt tablosu: hangi problem, ne kurdunuz ve neyi reddettiniz, ne ölçtünüz, ne söylüyor ve sonra ne yapardınız. Yapılmayacaklarınızı da ekleyin.
4. Gösterim. On dakika: sistemin işi yapması, bir arıza örneği ve öne çıkardığınız ana ölçüm sonucu. Canlı ya da kayıtlı — kayıtlı daha güvenli ve eşit derecede kabul edilebilir.
Nasıl teslim edilir. Öğretim üyesi ve asistanın ortak çalışan olarak eklendiği tek bir özel depo; herkese açık yapmayı ancak notlar açıklandıktan sonra ve ekipteki herkes kabul ederse yapın. Depo adresini ve gösterim bağlantısını dersin olağan kanalından, öğretim üyesinin 14. hafta için ilan ettiği son tarihten önce teslim edin. Kayıtlı gösterimler, bağlantının hesap gerektirmeden çalıştığı bir yere yüklenir.
Geç teslim. Üç ara kilometre taşı telafi edilemez: bir projenin 13. haftada batmasını önlemek için varlar ve geç kalan biri o işte zaten başarısız olmuştur. Nihai teslimin notu, başlayan her gecikme günü için öğretim üyesinin belirlediği oranda düşürülür — bu oranı 14. haftada değil 1. haftada teyit edin.
D.4 Değerlendirme ölçütleri
Bu ders bilgisayar mühendisliği dışından gelen mühendislik ve istatistik öğrencilerine yönelik; bu yüzden notlandırma kodun zarafetine değil, akıl yürütmeye bakar. Basit bir sistem için açık bir argüman ve onu çürütebilecek bir ölçüm, kimsenin değerlendiremeyeceği ayrıntılı bir sistemi yener.
| eksen | ağırlık | tam puan neye benzer |
|---|---|---|
| Problem çerçeveleme | %15 | Görev, yanlış olabilecek kadar kesin ifade edilmiş. Yapılmayacaklar yazılmış. Bunu kimin kullanacağını ve onun yerine ne yapacağını söyleyebiliyorsunuz. |
| Veri ve referans etiketler | %20 | Her maddenin nereden geldiğini ve doğru cevabını nasıl bildiğinizi söyleyebiliyorsunuz. Etiketleyici uyuşmazlığı varsayılarak geçiştirilmiyor, ölçülüyor (Bölüm 5). |
| Değerlendirme tasarımı | %25 | Gerçek bir değerlendirme kümesi, cevabı bilinen bir girdide doğruladığınız bir puanlayıcı, karşılaştırılacak bir baseline (karşılaştırma modeli) ve raporlanmış belirsizlik (Bölüm 22). |
| Mühendislik | %20 | Sizinki olmayan bir makinede README’den koşuyor. Araçlar gerçek. Arıza kipleri gizlenmiyor, ele alınıyor. |
| Yazım | %20 | Argüman izlenebilir, iddialar kanıtla örtüşüyor ve olumsuz sonuçlar içeride. |
O sütun yalnızca tam puanı tarif ediyor ve bu bir puanlama aleti değil — Bölüm 5’in uyardığı kusurun, notlandırmayı yapan şeye uygulanmış hâli. Bu yüzden her eksen dört gözlemlenebilir bantta puanlanıyor. En ağır eksen tam hâliyle; diğerleri aynı biçimi izliyor:
| bant | değerlendirme tasarımı, %25 |
|---|---|
| 23–25 | Belirtilmiş bir güç analiziyle boyutlandırılmış, eşleştirilmiş bir değerlendirme kümesi ya da sınırlaması açıkça söylenmiş, kusur biçimlerini bulmaya yönelik 40–50 maddelik bir süit. Cevabı bilinen bir girdide doğrulanmış puanlayıcı ve kaydı. Raporlanmış bir baseline. Bir aralık ya da açıkça söylenmiş bir saptanabilir en küçük fark. |
| 18–22 | Değerlendirme kümesi gerçek ve puanlayıcı doğrulanmış. Baseline var. Belirsizlik anılıyor ama nicelenmiyor. |
| 13–17 | Bir değerlendirme kümesi var ama baseline ya da puanlayıcı doğrulaması yok ve sayı kesinmiş gibi raporlanıyor. |
| 0–12 | Değerlendirme kümesi yok — ya da sistemden sonra yazılmış ve maddeleri sistemin geçtiği için seçilmiş bir küme. |
Her teslimi iki değerlendirici bu bantlarda bağımsız olarak puanlıyor. Bir banttan fazla uyuşmazlıklar tartışmayla çözülüyor ve uyuşmazlık oranı sınıfa raporlanıyor — çünkü Bölüm 5’in sizden istediği standart tam da budur ve kimsenin doğrulamadığı bir ölçüt, kimsenin doğrulamadığı bir metriktir.
Orantısız biçimde puana mal olan ve hepsi kaçınılabilir dört şey:
- Kimsenin doğrulamadığı bir metrik. Puanlayıcınıza kusursuz bir öngörü verin ve kusursuz bir puan döndürdüğünü doğrulayın. Sonra puanlayıcıları gerçekten bozan durumları verin: yanlış bir cevap, boş bir dizgi, eksik bir alan, ayrıştırılamayan çıktı ve — veriniz Türkçeyse — içinde
ı,şveİgeçen doğru bir cevap. Ayrıştırılamayan çıktı için sessizce sıfır döndüren bir puanlayıcı ile çöken bir puanlayıcı iki farklı sistemdir ve hangisine sahip olduğunuzu bilmelisiniz. Bölüm 16 bir bölümlük gerekçe. - Aralığı olmayan bir iddia. “Ajanımız destek taleplerinin %80’ini çözüyor”un bir küme boyutuna ve çözülmenin bir tanımına ihtiyacı var.
- Baseline yok. Hiçbir şeyle karşılaştırılmadığında hiçbir sayı okunamaz. Bir çoğunluk sınıfı baseline’ı ya da bir anahtar kelime kuralı bir saat sürüyor.
- Ölçüm yerine gösterim. Üç etkileyici örnek bir anekdottur.
Öğrencilerin beklediğinden daha fazla puan kazandıran iki şey: işe yaramayanı raporlamak ve kendi aletinizde bir hata bulmak. İkisi de kitabın baştan sona savunduğu davranış.
D.5 Takvim
Ek bir dönem değişikliğinden sağ çıksın diye Ek E’deki hafta numaralarına bağlanmış.
| ne zaman | ne teslim edilecek | ne içermeli |
|---|---|---|
| 5. hafta | Öneri, bir sayfa | Görev, çağıracağınız araç, referans etiketlerin nereden geldiği ve yapılmayacaklarınız |
| 8. hafta | Değerlendirme kümesi, teslim edilmiş | Cevapları bilinen en az kırk madde, puanlayıcı, puanlayıcıyı doğruladığınıza dair kanıt ve bu kümenin çözebileceği en küçük farkı söyleyen bir cümle |
| 11. hafta | Ara kontrol | Ne kadar kaba olursa olsun çalışan uçtan uca bir yol ve ilk ölçüm sonucu |
| 14. hafta | Depo, rapor, gösterim | Yukarıdaki her şey |
8. hafta son tarihi bilerek çoğu sistem çalışmadan önce. Değerlendirme kümesini erken teslim etmek projeyi odakta tutuyor ve ilerlemeyi değerlendirilebilir kılıyor — bu dersin deneyiminde, çalışıp çalışmadığını bilen bir projeyi bunu 13. haftada öğrenen bir projeden ayıran şey bu — ve Bölüm 39’un üretim ölçeğinde savunduğu alışkanlık da bu.
D.6 İşe yarayan proje biçimleri
Anonimleştirilmiş ve sonuca göre değil biçime göre anlatılmış; böylece sizinkinin bunlardan birine benzeyip benzemediğini görebilirsiniz.
Gerçek bir belge kümesi üzerinde bir destek ajanı. Bir şirketin kendi politika PDF’leri üzerinde erişim, bir arama aracı, cevapları bilen biri tarafından yazılmış sorularla değerlendirilmiş. İşe yaradı, çünkü referans etiketler sistemden önce vardı.
Türkçe formlar için yapılandırılmış bilgi çıkarma hattı. Faturalardan JSON’a, elle kontrol edilmiş değerlere karşı alan bazlı puanlanmış. İşe yaradı, çünkü alan bazlı puanlama hangi alanın arızalandığını gösterdi, ki bir sayıyla bir bulgu arasındaki fark budur. Biçimine dikkat: bu bir döngü değil bir hat ve yukarıdaki gereksinimi, gerçek bir belge deposunu çağırarak ve raporunda görevde hiçbir şeyin önceki bir adımın döndürdüğüne göre dallanmadığını savunarak karşıladı.
Bir literatür ayıklama ajanı. Bir araştırma sorusu verildiğinde ara, süz, özetle. İşe yaradı, çünkü öğrenci erişimi özetlemeden ayrı ölçtü ve hangi yarının problem olduğunu söyleyebildi.
Gerçek bir depo üzerinde bir kod inceleme asistanı. İşe yaradı, çünkü baseline — bir linter — sağlam ve yenmesi zordu ve rapor nerede yenilemediğini söylüyordu.
Ve işe yaramayan iki biçim, nedeniyle birlikte:
Beş rollü bir çok ajanlı sistem, hiçbiri ayrı ayrı değerlendirilemiyordu. Düzenlemenin yardım edip etmediğini anlamanın hiçbir yolu yoktu, çünkü karşılaştırılacak hiçbir şey yoktu.
Değerlendirme kümesi olmayan bir sohbet botu, olay sonrasında seçilmiş örneklerde gösterilmiş. Sistem pekâlâ iyi olabilirdi; teslimattaki hiçbir şey bunu ortaya koyamıyordu.
İkisi de aynı biçimde başarısız oldu ve bu kitabın karşısına yazıldığı arıza da o: kimsenin ölçemediği bir sistem, kimsenin iyileştiremeyeceği, savunamayacağı ya da güvenemeyeceği bir sistemdir.