İçeriğe atla
megapromotingHadi konuşalım

Uzmanlık · Özel AI modelleri

Modeli itibara göre değil, ölçüme göre seçiyoruz — ve en baştan doğru yanıtın hiçbir şey eğitmemek olduğu durumda bunu söylüyoruz.

Çalışma dört bölümden oluşur: aday modelleri sizin verileriniz üzerinde ölçeriz, yapılandırma, belgelerde arama ve ince ayar arasında seçim yaparız, verilerin kullanım haklarını kontrol ederiz, ardından tüketimi anahtar bazında bütçe altında tutarız. Şimdiye kadar üretimde hiçbir model eğitmedik ve bunu sormadan önce söylüyoruz.

Zaten kurduklarımızPartea de măsurare și operare este construită și rulată, cu rezultate păstrate: un banc de probă propriu care a comparat opt sisteme de recunoaștere a vorbirii pe aceleași 200 de enunțuri românești, cu interval de încredere și diferențe pe perechi, plus o descompunere a latenței vocale în șase segmente care se însumează la total cu abatere sub o milisecundă. Partea de operare este un gateway propriu cu 44 de modele configurate, chei per proiect cu listă albă de modele și buget, și o consolidare zilnică a consumului pe utilizator × cheie × model. Partea pe care NU am făcut-o — reglajul fin propriu-zis — e scrisă ca atare: conducta e pregătită și costată, dar nu a rulat niciodată pe GPU. Serviciul rămâne „livrat” pentru că lucrarea pe care o vindem este alegerea informată și operarea, nu antrenarea.

Çoğu “özel model” projesinin eğitilmiş bir modele ihtiyacı yoktur. Doğru modelin, doğru talimatla, doğru veriler üzerinde, birinin takip ettiği çağrı başına maliyetle kullanılmasına ihtiyacı vardır. Çalışma, az kişinin sorduğu soruyla başlar: başarı nasıl görünür, nasıl ölçülür, hangi vaka seti üzerinde? Bu yanıt olmadan, her model karşılaştırması bir zevk tartışmasıdır.

Biz ölçüyoruz, sağlayıcıların rakamlarını kopyalamıyoruz. Konuşulan Romenceyi en iyi neyin tanıdığını bilmemiz gerektiğinde, aynı 200 ifade üzerinde, aynı normalleştiriciyle, bootstrap ile güven aralığı ve ikili hesaplanan farklarla sekiz sistemi çalıştırdık. Sonuçlar rahatsız ediciydi: üretimde kullandığımız sistem, kelime başına %26,26 hata oranına sahipti; işlemci üzerinde çalışan 110 milyon parametreli küçük bir modelin ise %6,83 idi. Hoş olmayan kısmı da yayımladık — Romence doğrulukta ticari sağlayıcılara kıyasla büyük farkla geride kalıyoruz.

İşin ikinci kısmı, sık sık karıştırılan üç yol arasında seçimdir: model yapılandırması (talimat, araçlar, parametreler), belgelerinizde arama ve ince ayar. Bunları deneme sıramız bir tercih değil, ekonomidir: ilk ikisi bir öğleden sonra geri alınabilir, üçüncüsü veri, yetki, GPU ve öncesi-sonrası ölçüm gerektirir. İnce ayarı yalnızca ilk ikisinin yetmediğine dair kanıt olduğunda öneriyoruz.

Üçüncü kısım, yayına çıktıktan sonra kalan: çağrı başı maliyet. Modeller kendi gateway’imizden geçer; burada her anahtarın model beyaz listesi, bütçesi ve süresi vardır. Tüketim günlük olarak kullanıcı, anahtar ve model bazında konsolide edilir; bu da “bu ay fatura neden arttı” sorusunun varsayımlarla değil, satırlarla yanıtlanması demektir.

Neleri kapsıyor

Çalışma, bileşenlerine ayrılmış hâliyle

Bir şeyi karşılaştırmadan önce “daha iyi” ne demek, onu tanımlarız

Sizin gerçeğinizden bir vaka kümesi, sayısal bir ölçüt ve yazılı olarak sabitlenmiş bir normalleştirme yöntemi. Konuşma için kendi normalleştiricimizle kelime hata oranını kullanıyoruz; metin yanıtları için şema uyumu, ardından sağduyu kontrolü ve bir referans yanıtla benzerlik. Bu adım olmadan, işin geri kalanı kimse tarafından doğrulanamaz.

Karşılaştırmayı aynı veriler üzerinde, güven aralığıyla çalıştırıyoruz

Aynı ifadeler, aynı makine, her seferinde yalnızca bir model yüklü, her biri kendi sürecinde. Yalnızca ortalamayı değil, bootstrap ile güven aralığını ve ikili farkları raporluyoruz — çünkü iki modelin ortalamaları farklı olabilir ve yine de istatistiksel olarak berabere kalabilir. Tam da bunu yaşadık: ikili karşılaştırmalarda 66 üzerinden 66’da eşitlik olan iki sistem, ortalama tablosu bir kazanan ima etmesine rağmen.

Gecikmeyi toplamı veren segmentlere ayırıyoruz

Bir ses akışında altı segmenti ayrı ayrı ölçtük — tur kararı, konuşma tanıma, gate, modelin ilk metne kadar süresi, ilk sentez bloğu, kuyruk ve taşıma. Önemli doğrulama: altı segmentin toplamı, geçerli her turda bir milisaniyeden küçük sapmayla ilk sese kadar olan toplam süreyi veriyor. Buradan sorunun nerede olduğu görülüyor: ölçülen durumda sürenin %68,7’si modelden gelen ilk metni beklemeye gidiyordu, konuşma tanıma ise %2,9 alıyordu.

Yapılandırma, belgelerde arama ve ince ayar arasında seçim yapıyoruz

Belgelerde arama uygulanmış ve çalışıyor: hibrit arama, %70 anlamsal ve %30 kelime eşleşmesi, 0,70 benzerlik eşiği, soru başına beş parça, skorları ve süreleri tutan sorgu başına günlük kayıt. İnce ayarı yalnızca ilk ikisinin yetmediğine dair kanıtla öneriyoruz — ve bütçe ile yetkiler önce masada, sonra değil.

Verileri herhangi bir eğitimden önce kullanım hakları açısından kontrol ediyoruz

Bu bir formalite değil, projeleri durduran şeydir. Hesaba kattığımız 1.746 saatlik Rumence bir korpus, ticari olmayan lisanslı olduğu ortaya çıktı — dolayısıyla ticari bir model için kullanılamaz. 270.946 örnekten oluşan bir setin kodu izin verici bir lisans altındaydı, ancak verilerin üzerinde herhangi bir beyan edilmiş lisans yoktu. Bir ses sağlayıcısının kullanım politikası da, modelin kendi çıktısı üzerinde eğitilmesini açıkça yasaklıyor. Her kaynak, bir makalede yazana göre değil, kendi sayfasında kontrol edilir.

Tüketimi faturaya değil, anahtar bazında bütçeliyoruz

44 yapılandırılmış model içeren kendi gateway’imiz var; her birinin yapılandırmada token başına maliyeti ve bağlam sınırı bulunuyor. Proje anahtarında izinli model listesi, bütçe ve dönem var; geçmişi koruyarak döndürülebiliyor. Tüketim günlük olarak kullanıcı × anahtar × model bazında birleştiriliyor. Yönlendirme, „en az meşgul” stratejisini, iki yeniden denemeyi ve 120 saniyelik azami süreyi kullanır.

Sağlayıcının faturalandırdığı tokenleri dikkate alıyoruz, ama gateway bunları görmüyor

Akıl yürütme tipi modeller, maliyet izleme platformunun görmediği ama sağlayıcının faturalandırdığı dahili adımlar üretir. Pratik sonuç: anahtar üzerinde ayarlanan brüt bütçe, istenen üst sınırdan daha küçük olmalı; bir akıl yürütme faktörüne bölünmelidir. Bu düzeltmeyi yapmazsanız, anahtar bütçede görünür ama fatura öyle değildir.

Veriler dışarı çıkamıyorsa modelleri yerelde çalıştırıyoruz

İşlevsel bir yerel zincirimiz var: 0,6 milyar parametreli bir modelle CPU üzerinde konuşma tanıma ve yine yerelde 99 milyon parametreli bir modelle ses sentezi. Bir radyo izleme ürününde transkripsiyon yerelde yapılıyor ve gateway üzerinden olan sürüm paralel olarak mevcut — yani yerel ile barındırılan karşılaştırması varsayılmıyor, yapılmış durumda. Makineden çıkan şey ses değil, metindir.

Lansmandan sonra sapmayı izliyoruz

Sabit vakalar üzerinde haftalık bir regresyon bankı; şemaya uygunluğu karşılaştırır, sağduyu testinden geçirir ve referans cevaplara benzerliği ölçer. Altınızdayken değişen — ve değişen — bir model, müşteri şikayetlerinde değil, tabloda görünür.

Nasıl görünüyor

Süreç, adım adım.

01

Kriteri yazıyor ve vaka setini oluşturuyoruz

Vakalar, genel bir test setinden değil, sizin gerçekliğinizden gelir. Sayısal kriter, normalizasyon yöntemi ve sonucun kabul edilebilir olduğu eşik sabitlenir. Teslim ediyoruz: vaka seti, yazılı kriter ve onu hesaplayan betik.

02

Karşılaştırmayı çalıştırıyor ve bizi çürüten sonuçları da yayımlıyoruz

Aday modeller, güven aralığıyla birlikte aynı veriler üzerinde çalışır. Teslim ediyoruz: test edilen tüm sistemlerin tablosu, reddedilenler ve nedeni dahil, ayrıca birebir yeniden üretim komutu. Rumence için reddettiğimiz bir model, İtalyanca’ya kaydığı için %99,69 hata oranına sahipti — Rumence, beyan edilmiş dilleri arasında değildi. O sonuç tabloda yer alıyor.

03

Yolu seçiyor ve yazılı olarak gerekçelendiriyoruz

Yapılandırma, belgelerde arama veya ince ayar — gerekçesi, maliyeti ve seçimle ne kaybedildiğiyle birlikte. Teslim ediyoruz: gerekçeli karar ve onu destekleyen ölçüm. Öneri „hiçbir şey eğitmiyoruz” ise, onu da aynı açıklıkla yazarız.

04

Anahtar, bütçe ve izinli model listesiyle devreye alıyoruz

Proje anahtarı, akıl yürütme tokenleri için düzeltme uygulanmış halde bütçe, dönem ve izinli model listesiyle verilir. Teslim ediyoruz: anahtar, tüketim панosu ve birinin alarm aldığı eşik.

05

Yayın sonrası yeniden ölçeriz

Aynı vakalar, aynı ölçüt, üretimdeki model üzerinde. Şunları teslim ederiz: önce/sonra karşılaştırması ve her bir değişikliğin gerekçesiyle birlikte değişiklik listesi. Tekrarlayan bir regresyon bankı, sağlayıcı modelinin davranış değişikliklerini yakalar.

Traseul unei alegeri de model1criteriu scris și setde cazuri2comparație pe dateidentice, cu intervalde încredere3decizia întreconfigurare, căutareîn documente șireglaj fin4punere în funcțiunecu cheie, buget șilistă albă5remăsurare periodică
Traseul unei alegeri de model

Veriler

Neye dokunuyoruz, nerede duruyorlar ve ne kadar kalıyorlar

Veri koruma sorumlusu olan herkesin soracağı sorular — o sormadan önce burada sorulmuş hâliyle.

Hangi verilere dokunuyoruz ve nerede duruyorlar
Değerlendirme seti sizde kalır ve talimatlar ya da örnekler için kullanılan setten ayrı tutulur. Değerlendirmenin kamuya açık veriler üzerinde yapılabildiği durumda — Romence benchmarkımızın durumu budur — bunu orada yaparız ve müşteri verilerine hiç dokunmayız.
Ölçümün bir şey ifade etmesi için setlerin ayrılması
Ayar yaptığımız set ile ölçüm yaptığımız set birbirine dokunmaz. Bir örnek talimatı yazmak için kullanıldıysa, artık değerlendirme setinde yer alamaz. Bir sayı ile anlam taşıyan bir sayı arasındaki farkı yaratan tek kural budur.
Her kaynağın menşei ve lisansı
Her eğitim verisi için kaynak, materyalin zamanı, tam lisans ve okunduğu sayfa not edilir. Bizim ölçtüğümüz ile tahmin ettiğimizi ayrı ayrı işaretleriz; hesaplama temeli yanına yazılır. Bu uygulama, bir projeye gidecek üç lisans hatasını şimdiden yakaladı.
Sorgu günlüğü
Belgelere arama için, her sorgu bazında dönen parçalar, skorları ve süreler — arama süresi ve toplam süre — saklanır. Bu günlük olmadan, „neden böyle cevap verdi” sorusunun yanıtı yoktur. Onunla, ayar veriler üzerinde yapılır.
Consumul
Her kullanıcı × anahtar × model birleşimi için günde bir satır, ayrıca anahtar durumu: azami bütçe, 24 saat, 7, 14 ve 30 günde harcanan tutar, kullanılan yüzde, istek sayısı ve fiilen dokunulan modellerin listesi.

Bir vaka

Üretimdeki seçimi çürüten bir deneme bankı

Durum

Romence için çalışan bir konuşma tanıma sistemimiz vardı ve açık bir soru vardı: eldeki en iyi sistem mi, yoksa yalnızca ilk entegre ettiğimiz sistem mi? Kendi ölçümümüz yoktu; sadece sağlayıcıların yayımladığı, başka diller ve başka setler üzerinde ölçülmüş sayılar vardı.

Ne kurduk

Bir bank kurduk: kamuya açık bir setten alınmış 200 Romence ifade, seçim için aynı tohum, 35,1 dakika ses, tüm sistemler için aynı normalleştirici, bootstrap ile güven aralığı, çiftler halinde hesaplanan farklar. Sekiz sistem, her biri tek başına, kendi sürecinde, aynı makinede yüklendi. Rapora hem makinenin yapılandırmasını hem de yeniden üretim için tam komutu yazdık.

Ne çıktı

Üretimdeki sistemin kelime hata oranı %26,26 idi. Bir dil modeli yanında, işlemci üzerinde çalışan 110 milyon parametreli bir modelin oranı %6,83 oldu. Çok övülen bir model %99,69'a çıktı, çünkü İtalyancaya kayıyordu — Romence, beyan ettiği diller arasında değildi. Ve ortalamaya göre farklı görünen iki sistem, ikili karşılaştırmada istatistiksel olarak berabere çıktı. Bizi seçimimizle çelişen satır da dahil, tüm tabloyu yayımladık.

Vakanın söylemedikleri

Ölçüm, gerçek telefon görüşmeleri üzerinde değil, gürültü ve üst üste binmeler içermeyen kamuya açık bir okuma seti üzerinde yapıldı. Bu set üzerinde iyi bir sonuç, telefonda aynı sonucu garanti etmez. Bu yüzden, bir müşteri için bank onun kayıtları üzerinde yeniden kurulur — aksi halde onun ilgilendiğinden başka bir şeyi ölçmüş oluruz.

Sorular

İnsanların aramadan önce bize sordukları

Hiç kendi modelinizi eğittiniz mi?

Hayır. Bizim tarafımızdan ince ayar yapılmış ya da eğitilmiş hiçbir model üretimde çalışmıyor ve depolarımızda kayıtlı hiçbir checkpoint yok. Elimizde olanlar: GPU makinesini başlatmak için tam komuta kadar yazılmış eğitim hattı, üç senaryo için hesaplanmış bütçe, hazırlanmış veriler ve doğrulanmış lisanslar — ve ilk çalıştırmadan önce karar verilmesi gerekenlerin yazılı listesi. Yapmadığımız bir yetkinliği satmak yerine bunu söylemeyi tercih ederiz.

O zaman neden birinden “özel modeller” için para istesiniz?

Çünkü çoğu durumda sonucu getiren iş eğitim değildir. İşi sizin verilerinizde hangi modelin yaptığını, hangi gecikmeyle ve çağrı başına hangi maliyetle yaptığını bilmektir — ve bu, neredeyse kimsenin yapmadığı bir ölçüm gerektirir. İşimizden bir örnek: bir model yapılandırmasındaki tek bir yanlış varsayılan değer (1,0 yerine 1,2 olarak ayarlanmış bir tekrar cezası) 4,3 yüzde puanı hata maliyetine yol açtı. Eğitime değil, ölçüme ihtiyaç vardı.

İnce ayar mı, yoksa belgelerde arama mı?

Neredeyse her zaman belgelerde aramayla başlayın. Geri alınabilir, bir dosya değiştirerek güncellenir ve yanıtın kaynağını gösterebilir. İnce ayar, modelin davranışını denetleyemeyeceğiniz biçimlerde değiştirir, etiketli veri, kullanım hakları ve önce-sonra ölçümü ister. İnce ayarı, ilk seçeneğin yetmediğine dair kanıtımız olduğunda öneririz — örneğin, bir offline modelin yalnızca yapılandırmayla akış içi model haline gelmediğini gösterdiğimizde: dikkat penceresini yeniden eğitim olmadan daraltınca hata %8,81’den %22,26’ya ve ardından %48,95’e çıktı.

Bana belirli bir doğruluk garantisi veriyor musunuz?

Hayır, ve dürüst hiçbir sağlayıcı da veremez; çünkü doğruluk sizin verilerinize bağlıdır. Bizim garanti ettiğimiz yöntemdir: sizin vakalarınız üzerinde ölçeriz, güven aralığını gösteririz ve iki seçenek arasındaki farkın istatistiksel olarak anlamlı olmadığı zaman bunu söyleriz. Bir modelin yazarları tarafından yayımlanan bir sonucun bizde yeniden üretilemediği bir vaka yaşadık — onlar %20,70 raporluyordu, biz aynı model üzerinde %26,68 ölçtük. Uygun olan sayıyı seçmek yerine nedenini bilmediğimizi yazdık.

Verilerim model sağlayıcılarına gidiyor mu?

Seçilen yola bağlıdır ve bu bir karardır, kaza değil. Gateway üzerinden istek model sağlayıcısına ulaşır. Bu kabul edilebilir değilse, yerel zincirimiz işlevseldir: konuşma tanıma ve ses sentezi sizin makinenizde çalışır; makineden yalnızca metin çıkar, asla ses çıkmaz. Bir radyo izleme ürününde, yerel transkripsiyon ve gateway üzerinden transkripsiyon ikisi de uygulanmıştır; dolayısıyla ikisi arasındaki ödünleşimi sayılarla gösterebiliriz.

Sağlayıcı modelimizi altımızdan değiştirirse ne olur?

Olur. Bu yüzden çalışma, sabit vakalar üzerinde periyodik olarak çalıştırılan, şemaya uygunluğu karşılaştıran, sağduyu testinden geçen ve referans yanıtlarla benzerliği ölçen bir regresyon bankası içerir. Ve bu yüzden entegrasyon gateway üzerinden geçer: model bir alan üzerinden değiştirilir, kod yeniden yazılarak değil.

Maliyeti somut olarak nasıl kontrol ederim?

Projenin anahtarında beyaz liste modeli, bütçe ve süre vardır ve geçmişi korunarak döndürülebilir. Tüketim günlük olarak kullanıcı, anahtar ve model bazında konsolide edilir. Başta düzelttiğimiz bir tuzak şudur: akıl yürütme modelleri, izleme sisteminin görmediği iç adımlar üretir, ancak sağlayıcı bunları faturalandırır — dolayısıyla anahtar üzerindeki brüt bütçe, istenen üst sınırdan daha düşük, bir akıl yürütme faktörüne bölünmüş olarak ayarlanır. Düzeltmeyi yapmayan kişi, anahtarı bütçede ve faturayı üstünde görür.

Veri lisansı neden önemli, madem zaten kamuya açık?

Çünkü “kamuya açık” ile “ticari olarak kullanılabilir” farklı şeylerdir ve fark geç ve pahalı biçimde ortaya çıkar. Doğrulamalarımızdan üç örnek: ticari olmayan lisanslı büyük bir Romence korpusu, dolayısıyla ticari bir ürün için hariç tutulur; kodu izin verici lisans altında olan ancak veriler için hiçbir beyan edilmiş lisansı olmayan yüz binlerce örneklik bir set; ve bir ses sağlayıcısının kullanım politikası, çıktısı üzerinde bir modelin eğitilmesini açıkça yasaklar. Doğrulama, bir makalenin tekrarladığı şeye değil, kaynağın sayfasına bakılarak yapılır.

Bu hizmet ne yapmaz?

Bugün temel modeller eğitmiyor ve üretimde kendi modelini vaat etmiyor. İyileşme yüzdeleri garanti etmiyor. Bir modeli rakibin yayımladığı sayılara dayanarak rakibiyle karşılaştırmıyor — karşılaştırmayı biz çalıştırmadıysak, bunun bizce ölçülmüş değil, onların beyan ettiği bir sayı olduğunu söyleriz.

Yukarıdaki iddialar neye dayanıyor (26 kaynak)

Bunlardan 26 tanesi depolarımızdaki kod ve dosyalardır. Adlarını ya da satırlarını yayımlamıyoruz: hepsi bir arada, tek bir sayfada, yalnızca bize ait olmayan sistemlerin nasıl kurulduğunu fazla net anlatırdı. İstek üzerine, depoda sizinle birlikte gözden geçiriyoruz — doğrulama hâlâ mümkün, sadece bir görüşme içinde yapılıyor.

Neyin daha iyi çalışmasını isterdiniz?

Bize sürecinizi anlatın. Neyin kurulmaya değer olduğuna, neyi bağlayabileceğimize ve sonucu nasıl doğrulayacağımıza birlikte karar verelim.

Hadi konuşalım