FUTO Swipe: Açık swipe giriş modeli
(swipe.futo.tech)- Mobil klavyelerdeki swipe giriş yöntemini açık model + algoritma ile hayata geçirme girişimi
- Mevcut yüksek kaliteli swipe girişi, gizliliği ihlal eden klavye uygulamalarına ya da lisanssız kapalı kütüphanelere bağlı olduğundan bir alternatife ihtiyaç vardı
- Tamamen çevrimdışı Android uygulaması FUTO Keyboard içinde yer alıyor; modeli indirip kendiniz derlemek de mümkün
- Ağustos 2024'ten itibaren QWERTY İngilizce swipe verileri toplanarak 1 milyondan fazla örnek elde edildi ve Mart 2025'te MIT lisanslı veri seti olarak HuggingFace'te yayımlandı
- Yapı; genel amaçlı Encoder, dile özgü ContextLM ve dil/düzen bazlı Decoder olarak ayrılıyor; test setinde top-4 başarısızlık oranı yaklaşık %4, OOV hariç hata oranı %1'in altında
- Tüm model yaklaşık 2,5 milyon parametre ölçeğinde; yaklaşık 1,36 milyon aktif parametreye sahip küçük bir model olarak C++ çıkarım kütüphanesi swipe-library üzerinden düşük donanımlı cihazlarda bile milisaniye düzeyinde çalışmayı hedefliyor
Açık swipe giriş modeliyle çözülmek istenen sorun
- FUTO Swipe, swipe yolunu kelime tahminine dönüştüren bir model ve algoritma ürün ailesidir
- Şu anda tamamen çevrimdışı Android klavye uygulaması FUTO Keyboard içinde kullanılabiliyor
- Web sayfası demosu, sayfa boyutunu küçültmek için sunucu tarafında çalıştırılıyor; ancak gerçek ürün ortamında cihaz üzerinde çalıştığı için gecikme daha düşüktür
- FUTO bu sistemi öncelikle FUTO Keyboard için geliştirdi, ancak daha geniş topluluğun modeli kullanmasını da memnuniyetle karşılıyor
- Bu uzun vadeli bir yatırımın sonucu olduğu için, son kullanıcıya görünen biçimde atıf talep ediliyor ve model lisansı FUTO Model License kapsamında sunuluyor
Veri seti ve model yapısı
- Ağustos 2024'te swipe.futo.org üzerinden QWERTY İngilizce swipe verisi toplamaya başlandı
- Kullanıcılar mobil web sayfasını gönüllü olarak ziyaret edip yönergeleri ve veri seti bilgilerini inceledi
- Onay verdikten sonra çoğunlukla Wikipedia'dan alınan cümleleri kelime kelime swipe ederek girdi
- Sonuçta 1 milyondan fazla swipe üretildi ve düşük kaliteli bazı swipe örnekleri filtrelendi
- Mart 2025'te 1 milyon swipe veri seti MIT lisansıyla HuggingFace'te yayımlandı
- Model mimarisi, farklı rollere sahip üç modele ayrılıyor
- Encoder: Düzen ve dilden bağımsız genel amaçlı model; genel swipe giriş tahmini için kullanılıyor, ancak en ileri düzey doğruluğu sağlamıyor
- ContextLM: Tek dil için çok küçük bir dil modeli; önceki kelimelere bakarak anlamsız adayları eliyor ve tahmin kalitesini artırıyor. Eğitim için yalnızca metin verisi gerekiyor
- Decoder: Dile ve düzene özel model; düzen özelliklerini öğrenerek üst düzey doğruluk sağlıyor ve şu anda yalnızca QWERTY İngilizce Decoder bulunuyor
Performans ve çalışma ölçeği
- Performans değerleri büyük ölçüde benchmark'a bağlı olduğundan gerçek kullanım sonuçları değişebilir
- 3 model ve beam width 300 kombinasyonunda test setinde top-4 başarısızlık oranı yaklaşık %4
- Sözlükte olmayan kelimeler hariç tutulduğunda hata oranı %1'in altında
- FUTO bunu büyük teknoloji şirketlerinin klavyeleriyle yarışan bir seviye olarak değerlendiriyor
- Model, mobilde çalıştırma düşünülerek küçük ölçekte tasarlandı
- Encoder: 635.140 parametre
- Decoder: ek 304.155 parametre
- ContextLM: 1,5 milyon parametre; bunun 1,1 milyonu embedding
- Aktif parametre sayısı 1.364.271, toplam parametre sayısı 2.494.767
- Düşük donanımlı cihazlarda bile milisaniye düzeyinde çalışabiliyor ve eğitim için bir iş istasyonu GPU'sundan fazlası gerekmedi
Çıkarım kütüphanesi ve lisans
- Yalnızca model tahmini yeterli olmadığından, kelime adaylarını puanlayıp en olası adayı bulan sözlük kısıtlı beam search gerekiyor
- Bunun için C++ kütüphanesi swipe-library yayımlandı
- swipe-library; tüm çıkarım, decoding ve beam search süreçlerini yöneterek swipe yolundan kelime tahminine kadar olan akışı sağlıyor
- Model FUTO Model License ile, çıkarım kütüphanesi ise GPL ile sunuluyor
- FUTO, eğitim ve mimariyi daha ayrıntılı ele alacak bir makale hazırlıyor
2 yorum
Bu şirketin ses tanımalı klavyesini kullanıyorum, gayet iyi.
Hacker News yorumları
Hız nedeniyle kaydırarak girişi seviyorum. Dokunarak yazmaya göre genelde daha hızlı ve tek elle kullanması daha kolay, ama benzer kelimeleri sürekli yanlış algılıyor ve tek/çift harf ayrımında da zayıf kalıyor
Uzun zamandır kaydırma için özel yeni bir klavye düzeni istiyordum. Dvorak İngilizce yazmanın ergonomisini nasıl optimize ettiyse, kaydırırken kelime çakışmasını ve belirsizliği azaltan bir düzen olsa harika olurdu
Bunun illa 26 tuş olması da gerekmiyor; v/w/x/z tek tuşta toplanabilir ve tek harfler uzun basmayla girilebilir. Tersine,
eileeeayrılabilir ya da “önceki harfi tekrarla” gibi özel bir tuş gerekebilirSorunların çoğu QWERTY'nin kaydırma için fazla uygunsuz olmasından kaynaklanıyor; bu yüzden İngilizcede doğruluğu şu an hissedilen %90-95 seviyesinden %99,9'a çıkaran optimal bir düzen çıkarsa yeni bir düzen öğrenmeye fazlasıyla razıyım
https://github.com/futo-org/futo-keyboard-layouts/issues/163
Model yapısı gereği her düzen için yaklaşık 50 bin kelimelik sentetik kaydırma üretip bunları modelden geçirerek tanıma doğruluğunu doğrudan optimize edebildik; bu yöntemle yaklaşık 800 bin düzen test edildi
QWERTY'nin en büyük sorunu, çok fazla kelimenin düz çizgi ya da geniş açılı 3 harflik ardışık desenlerle kaydırılması. Bu tür desenleri hem tanımak zor hem de kullanıcının hangi harfleri kastettiğini jestle açıkça belirtmesi zor
Sinir ağı tabanlı kaydırma modeli, algoritmik şekil eşleştirmede olduğu gibi jest şeklini birebir uydurmaktan ziyade, kullanıcının belirli harfleri hedeflediğine dair sinyalleri jest deseninde arıyor
Klavyenin şeklini değiştirirseniz jestler daha iyi oluşabilir ve harf sinyali daha belirgin hale gelebilir. Model, şekil eşleştirmenin aksine zaman bilgisini de kullandığı için bekleme süresine de tepki verebilir, ama beklemek akışı bozduğu için kaydırma düzenlerinde bunun mümkün olduğunca azaltılması daha iyi olur diye düşünüyorum
Modern bir devamı da var gibi görünüyor: https://play.google.com/store/apps/details?id=inc.flide.vi8
Bu klavyeyi bir süredir ara ara kullanıyordum ama hep gboard'a geri dönüyordum; bu güncellemeden sonra tamamen geçiş yaptım. Gerçekten çok iyi
Cümle ortasındaki kelimeleri rastgele büyük harfle başlatma sorunu var ve kelime önerilerinde bağlamı pek dikkate almıyor gibi; bu yüzden bir önceki kelimeden sonra gelmesi imkânsız olan öneriler sık çıkıyor
Henüz gboard kadar iyi değil ama sürekli kullanacak kadar yaklaştı
Daha güçlü bir cihaz kullanırsanız siteden daha büyük ses modeli ve daha büyük bir sözlük indirebiliyorsunuz; hissedilen fark epey belirgin
Temelde can sıkıcı olan şey, GIF araması eklemeye ideolojik olarak karşı görünüyor olmaları; o özelliği bazen özlüyorum: https://github.com/futo-org/android-keyboard/issues/293#issu...
Harika. FUTO klavyesini 2 yıldır kullanıyorum ve şimdiye kadar bulduğum ücretsiz, gizlilik dostu klavyeler arasında en iyisiydi, ama bu tür klavyelerde kaydırma o kadar kötüydü ki kaydırmayı çok kullanan biri olarak tam bir işkenceydi
Veri setine katkı olsun diye yaklaşık bir saat kaydırarak giriş yapmıştım; gerçekten işe yaramış gibi görünmesine sevindim. Şimdi denedim, Google klavye kadar iyi hissettiriyor
Yalnız
what'syerine sürekliwhatsyazması biraz komik. Sonradan düzelirse güzel olurLisansı merak edenler için söyleyeyim: kütüphane GPLv3, bu güzel; ama Android klavye Futo License, bu pek iyi değil
https://gitlab.futo.org/keyboard/swipe-library/-/blob/master...
https://github.com/futo-org/android-keyboard/blob/master/LIC...
Acaba şu madde mi: dağıttığınız kopyalarda lisans sağlayıcısına ödeme yapılan özelliği kaldıramaz veya gizleyemezsiniz
Birkaç yıl önce iOS'ta Nintype deneyimledikten sonra başka hiçbir swipe klavyeyi kullanamaz oldum. Şimdi normalde varsayılan klavyeyle yazıyorum ve yalnızca iki elimi kullanamadığımda ara sıra bir iki kelimeyi swipe ile giriyorum
Telefonu iki elle tutarken tek parmakla swipe yapmak bana doğal gelmiyor ve yavaş hissettiriyor. Keşke Apple, Nintype'ı satın alıp ya da Sherlock'layıp varsayılan klavyeye entegre etseydi
Apple resmi olarak üçüncü taraf klavyelere izin vermeden önce bile kullanıyordum
keyboard 69adlı hatalarla dolu bir Android Nintype portu yapmıştı ve onu yıllarca kullandımKullanıcı deneyimi inanılmazdı; ondan sonra denediğim tüm swipe sistemleri bunun yanında gerçekten hantal hissettiriyor. İki parmakla swipe ergonomi açısından zirve ama ne yazık ki fazla niş bir yenilik gibi görünüyor
Yeni swipe modelini ekleyen Futo, denediğim Android klavyeler arasında ilk kez GBoard karşısında taviz veriyormuşum gibi hissettirmiyor
Entegre sesli giriş, iyi otomatik düzeltmeli yazım ve iyi otomatik düzeltmeli swipe sunuyor
Düzeltme: Ücretsiz ve açık olacağı garanti değil. Lisans yapısı kafa karıştırıcı. Yine de iyi çalıştığı için Gboard yerine kullanmayı düşünüyorum
Bu gerçekten çok büyük bir şey. Bana göre bu, kullanılabilir ilk ücretsiz açık swipe modeli olmaya en yakın şey. iOS ve Android dışındaki platformlarda swipe ile yazmanın önünü açıyor ve yeni işletim sistemi girişimcileri için büyük bir sıkıntı olan bir alanı hafifletiyor
Tam da Microsoft, SwiftKey'e reklam ve Bing'e yönlendiren dark pattern yönlendirmeleri eklemeye başladığı için onu silmiştim; zamanlama iyi olmuş
Yedekleme özelliğini kullanmam için çıkan panel durmadan geri geliyordu; o kadar bunaltıcıydı ki sonunda GBoard'a geçtim. Aynısı değil ama alışıyorum
Muhtemelen para yüzünden ama Microsoft'un yaptığı her şeyin devasa para kazanmak zorunda olduğunu düşünmüyorum
İyi görünüyor ama Futo klavyenin büyük sorunu, aynı anda yalnızca tek dil desteklemesi. Gboard'da kullandığım 3 dil arasında sürekli geçiş yapmadan swipe ile yazabiliyorum. Keşke Futo da böyle olsa
Sesle dikte şimdiye kadar kullandığım GBoard'dan çok daha iyi. Ben uğraşmadan cümle başı büyük harfleri ve noktalama işaretlerini hallediyor, birden fazla cümleyi sonradan düzenleme gerektirmeden kusursuz çıkardı ve bunların hepsi yerel modelde çalışıyor
Eksisi, gerçek zamanlı güncellenmemesi; konuşmayı bitirdikten sonra topluca dönüştürüyor. Ayrıca en son 1-2 yıl önce denediğim zamana kıyasla backspace swipe ve boşluk çubuğunun aşırı hassas olması düzeltilmiş gibi görünüyor ve artık biraz özelleştirme de mümkün