· kaynak Hacker News – Front Page (native)
Geliştirici, ücretli bir API'nin yerine geçecek 459M parametreli GLiNER'ı 9 dolarlık Gemini etiketiyle fine-tune etti
Uygulamalı bir yazı, 9 dolarlık LLM üretimi etiket ve 2,50 dolarlık GPU süresiyle, varlık çıkarımı için yorum başına ücret alan Gemini API'nin yerine geçebilen, 0.83 F1'e ulaşan bir fine-tune edilmiş GLiNER'ın nasıl üretildiğini gösteriyor.
Ne oldu
Bir geliştirici, ücretli bir Gemini API hattını toplam yaklaşık 11,50 dolar maliyetle küçük bir fine-tune edilmiş modelle değiştirdiği uygulamalı bir hesap yayımladı. Hacker News'te öne çıkan Peter Vijeh'in yazısına göre, 9 dolar Gemini 3.1 Pro ile 4.290 Reddit yorumunun tek seferlik etiketlenmesine, yaklaşık 2,50 dolar ise bir Tesla T4 üzerindeki 24 dakikalık eğitime gitti. Sonuç olan, 459 milyon parametreli fine-tune edilmiş GLiNER large v2.5 modeli, Gemini'nin kendi çıktılarına göre değerlendirildiğinde 0.83 F1 puanı aldı.
Sorun
Vijeh, meraklıların üst düyz şef bıçakları hakkında tartıştığı Reddit başlıklarını kazıyarak geçen her marka, model ve çeliği çıkarıyor — buna adlandırılmış varlık tanıma deniyor. Gemini bu işi iyi yapüyordu ama kazıyıcı çalıştığı sürece yorum başına faturalandırıyordu; yani maliyetler insanların ne kadar gönderi paylaştığıyla büyüyordu ve bunu sınırlamanın tek yolu yorumları atlamakti. Açık kaynak GLiNER modelini zero-shot çalıştırmak hiçbir şeye mal olmuyordu ama Gemini'nin cevaplarına karşı yalnızca tahmini 0.65 F1'e ulaşabiliyordu. Proje, tek bir ücretli etiketleme turunun küçük modele bu açığı kapatmayı öğretip öğretemeyeceğini sordu.
Yaklaşım
Gemini, 4.290 yorumın tamamını OpenRouter üzerinden temperature 0 ile 25 dakikada, yorum başına 0,0021 dolara etiketledi. Bu fiyatla Vijeh, sonraki yorumların benzer uzunlukta olduğu ve çıkarımın zaten sahip olduğu donanımda çalıştığı varsayımıyla, eğitilmiş modelin yaklaşık 4.291. yorumda kendini amorti ettiğini hesaplıyor.
Ona göre en çok fark yaratan prompt kararı, modele karakter ofsetleri yerine tam alt dizgiler istemek oldu; çünkü Gemini karakterleri kötü sayıyor ve aralıkları iki-üç konum kaydırarak döndürüyor. Kodu ofsetleri hesaplıyor ve dizgisi bulunamayan her varlığı atıyor. Özel bir regex tokenizasyonu, VG-10, CPM-154 ve 1.4116 gibi ürün adlarının bölünmesini önlüyor ve token sınırına denk gelmeyen aralılar tahmin edilmek yerine çöpe atılıyor.
Nihai veri kümesi 2.250 örnek içeriyordu — 1.575 pozitif, 675 negatif — 2.029 eğitim ve 225 doğrulama yorumuna bölünmüş, marka, model ve malzeme sınıfları boyunca 3.907 varlık aralığıyla. Yüzde 30'u bilinçli negatiflerdi: gyuto, carbon, handle ve patina gibi bilinen yanlış-pozitif tetikleyicileri içeren ama gerçek bir ürün içermeyen yorumlar boş olarak etiketlendi. Doğrulama kümesi, herhangi bir ayarlama başlamadan önce kilitlendi.
On denemeden beş başarısızlık
Eğitim koşularının yarısı kullanılabilir bir model üretmedi ve başarısızlıkların hiçbiri modellemeyle ilgili değildi. Üçü Hugging Face Trainer ile yapılandırma sorunlarıydı: istenen epoch'ları geçersiz kılan varsayılan adım sayısı, açık bir değerlendirme stratejisi gerektiren bir checkpoint-yükleme bayrağı ve GLiNER'ın yükleyicisinin beklediği önekten yoksun kayıtlı state-dict anahtarları. Bir koşu, negatif örneklerin etiket listesinden yoksun olması yüzünden başarısız oldu.
Pahalı başarısızlıklar, words_mask adlı bir tensörün batırdığı iki koşuydu. Attention mask'in yanında durur, onunla aynı şekli paylaşır ve Vijeh onu onun gibi doldurdu. Eğitim loss'un yaklaşık 130'dan 70'e kaymasıyla tamamlanana kadar koştu; checkpoint'lar zamanında kaydedildi, değerlendirme F1'i sıfıra yakındı ve hiçbir çökme ya da uyarı yoktu. GLiNER'ın eğitim döngüsünü okumak, bu tensörün aslında bir maske değil, span-puanlama başının alt token'ları tekrar kelimelere havuzlamak için kullandığı artımlı bir kelime indeksi olduğunu ortaya çıkardı; onunla birlerle doldurmak modele tüm yorumun tek bir kelime olduğunu söylüyordu. İndeks düzeltildiğinde, sonraki koşu ilk denemede öğrendi.
Sonuçlar ve uyarılar
209M model 0.800 F1'e ulaştı; yalnızca gradient accumulation ile T4'e sığan 459M model 0.83'e ulaştı. Tek bir global eşikten sınıf başına eşiklere geçmek, malzeme hatırlamasını 0.787'den 0.911'e çıkardı; çünkü MagnaCut ve S35VN gibi çelik adları markalardan daha düşük güven puanı alıyor. On kat daha fazla çelişkili negatif aslında zarar verdi ve F1'i 0.799'a düşürdü. Vijeh dürüst bir sınırlamaya da dikkat çekiyor: kimse Gemini'nin etiketlerini elle kontrol etmedi, yani model Gemini'ye göre değil, gerçek değere göre değerlendiriliyor — öğretmenin hatalarını kopyaladığı için doğru sayılıyor.
Neden önemli
Yazı, özel amaçlı NLP'nin ne kadar ucuzladığının somut bir kanıtı: tek seferlik bir LLM etiketleme faturası ve yarım saatin altında kiralanmış bir GPU, yinelenen bir API maliyetinin yerini aldı ve sistemin tamamı artık tüketici donanımında yerel olarak çalışıyor. Az önce öğretici olduğu kadar, emeğin nereye gittiğidir — on başarısızlıktan beşi yapılandırma ve tensör semantiğiydi ve en kötüsü sessizce başarısız oldu; bu da küçük model fine-tuning'indeki kıt becerinin model tasarlamak değil, tesisatı debug etmek olduğunu düşündürüyor. Aynı zamanda damıtmanın öğretmenin kör noktalarını miras aldığının bir hatırlatıcısı; çünkü başka bir modele göre değerlendirilen bir model, hatalarını ancak eşleştirebilir, düzeltemez.
- #fine-tuning
- #named-entity-recognition
- #gemini
- #gliner
- #machine-learning
İlgili yazılar
- Pangram, üniversite araştırmacılarına dayanarak 26 modelde yüzde 99,7 yapay zeka tespit doğruluğu iddia ediyor
- TypeSafe AI'nin Jev'i, tipli olasılıksal kararları Vercel'ın AI Gateway'ine getiriyor
- Açık kaynak Jev benzeri model metin seçeneklerini tek geçişte puanlıyor, TypeSafe'in Jev modelini yankılıyor