FUTO Swipe: Model Input Swipe Terbuka
(swipe.futo.tech)- Upaya untuk mengimplementasikan metode input swipe pada keyboard mobile sebagai model + algoritme terbuka
- Input swipe berkualitas tinggi yang ada selama ini terikat pada aplikasi keyboard yang invasif terhadap privasi atau library tertutup tanpa lisensi, sehingga dibutuhkan alternatif
- Akan disematkan ke aplikasi Android sepenuhnya offline FUTO Keyboard, dan modelnya juga bisa diunduh lalu dibangun sendiri
- Sejak Agustus 2024, FUTO mengumpulkan data swipe QWERTY bahasa Inggris dan telah memperoleh lebih dari 1 juta sampel; pada Maret 2025 data tersebut dirilis di HuggingFace sebagai dataset berlisensi MIT
- Strukturnya dibagi menjadi Encoder umum, ContextLM per bahasa, dan Decoder per bahasa/tata letak; pada test set, tingkat kegagalan top-4 sekitar 4%, dan tingkat kesalahan di luar OOV tercatat di bawah 1%
- Seluruh model berukuran kecil dengan sekitar 2,5 juta parameter dan sekitar 1,36 juta parameter aktif, menargetkan eksekusi dalam hitungan milidetik bahkan di perangkat kelas rendah melalui library inferensi C++ swipe-library
Masalah yang ingin dipecahkan dengan model input swipe terbuka
- FUTO Swipe adalah rangkaian model dan algoritme yang mengubah jalur swipe menjadi prediksi kata
- Saat ini sistem ini dapat digunakan di aplikasi keyboard Android sepenuhnya offline FUTO Keyboard
- Demo halaman web dijalankan di sisi server untuk mengurangi ukuran halaman, tetapi di lingkungan produk nyata sistem ini berjalan on-device sehingga latensinya lebih rendah
- FUTO mengembangkan sistem ini terutama untuk FUTO Keyboard, tetapi juga menyambut pemanfaatan model oleh komunitas yang lebih luas
- Karena ini merupakan hasil investasi jangka panjang, FUTO meminta atribusi dalam bentuk yang terlihat oleh pengguna akhir, dan lisensi model mengikuti FUTO Model License
Dataset dan susunan model
- Pada Agustus 2024, FUTO mulai mengumpulkan data swipe QWERTY bahasa Inggris di swipe.futo.org
- Pengguna secara sukarela mengunjungi halaman web mobile, lalu memeriksa panduan dan informasi dataset
- Setelah menyetujui, mereka melakukan swipe per kata pada kalimat yang sebagian besar berasal dari Wikipedia
- Hasilnya, terkumpul lebih dari 1 juta swipe, dan sebagian swipe berkualitas rendah difilter
- Pada Maret 2025, dataset 1 juta swipe tersebut dirilis di HuggingFace dengan lisensi MIT
- Arsitektur model dibagi menjadi tiga model dengan peran berbeda
- Encoder: model umum yang independen terhadap tata letak dan bahasa; digunakan untuk prediksi input swipe secara umum, tetapi tidak memberikan akurasi terbaik mutakhir
- ContextLM: model bahasa yang sangat kecil untuk satu bahasa, yang meningkatkan kualitas prediksi dengan menghapus kandidat yang tidak masuk akal berdasarkan kata-kata sebelumnya. Pelatihannya hanya memerlukan data teks
- Decoder: model yang dikhususkan untuk bahasa dan tata letak, mempelajari karakteristik tata letak untuk menghasilkan akurasi tingkat tertinggi; saat ini baru tersedia Decoder QWERTY bahasa Inggris
Kinerja dan skala eksekusi
- Angka performa sangat bergantung pada benchmark, sehingga hasil penggunaan nyata bisa berbeda
- Pada kombinasi 3 model dan beam width 300, tingkat kegagalan top-4 pada test set adalah sekitar 4%
- Jika kata yang tidak ada di kamus dikecualikan, tingkat kesalahannya di bawah 1%
- FUTO menilai performanya sebanding dengan keyboard dari perusahaan teknologi besar
- Model ini berukuran kecil dengan mempertimbangkan eksekusi di perangkat mobile
- Encoder memiliki 635.140 parameter
- Decoder menambahkan 304.155 parameter
- ContextLM memiliki 1,5 juta parameter, dan 1,1 juta di antaranya adalah embedding
- Parameter aktif berjumlah 1.364.271, dengan total parameter 2.494.767
- Bahkan di perangkat kelas rendah, sistem ini dapat berjalan dalam hitungan milidetik, dan pelatihannya tidak memerlukan lebih dari satu GPU workstation
Library inferensi dan lisensi
- Prediksi model saja tidak cukup; diperlukan beam search dengan kendala kamus untuk memberi skor pada kandidat kata dan menemukan kandidat yang paling mungkin
- Untuk itu, FUTO merilis library C++ swipe-library
- swipe-library menangani seluruh proses inferensi, decoding, dan beam search untuk menghubungkan jalur swipe ke prediksi kata
- Model tersedia dengan FUTO Model License, sedangkan library inferensinya disediakan di bawah GPL
- FUTO juga sedang menyiapkan makalah yang akan membahas pelatihan dan arsitektur ini dengan lebih rinci
2 komentar
Saya memakai keyboard pengenalan suara dari perusahaan ini, dan bagus.
Komentar Hacker News
Saya suka input swipe karena kecepatannya. Umumnya lebih cepat daripada tap dan mudah dipakai dengan satu tangan, tetapi sering salah pada kata-kata yang mirip dan juga lemah dalam membedakan huruf tunggal/ganda
Sudah lama saya menginginkan tata letak keyboard baru khusus swipe. Seperti Dvorak mengoptimalkan ergonomi pengetikan bahasa Inggris, akan bagus kalau ada tata letak yang mengurangi tumpang tindih kata dan ambiguitas saat swipe
Tidak harus 26 tombol juga; v/w/x/z bisa digabung ke satu tombol dan huruf tunggal dimasukkan dengan tekan lama. Sebaliknya, mungkin perlu memisahkan
edanee, atau tombol khusus “ulang huruf sebelumnya”Sebagian besar masalah muncul karena QWERTY sangat tidak cocok untuk swipe, jadi kalau ada tata letak optimal yang bisa menaikkan akurasi bahasa Inggris bukan cuma sekitar 90–95% seperti yang saya rasakan sekarang tetapi sampai 99,9%, saya sangat bersedia mempelajari tata letak baru
https://github.com/futo-org/futo-keyboard-layouts/issues/163
Dari struktur modelnya, kami bisa membuat sekitar 50 ribu swipe sintetis untuk tiap tata letak lalu menjalankannya ke model untuk langsung mengoptimalkan akurasi pengenalan, dan dengan cara itu kami menguji sekitar 800 ribu tata letak
Masalah terbesar QWERTY adalah terlalu banyak kata yang di-swipe sebagai pola tiga huruf berurutan yang lurus atau bersudut tumpul. Pola seperti ini sulit dikenali, dan juga sulit bagi pengguna untuk menandai dengan jelas huruf mana yang dimaksud lewat gestur
Model swipe berbasis jaringan saraf tidak mencari kecocokan bentuk gestur seperti pencocokan bentuk algoritmis, tetapi mencari sinyal dalam pola gestur bahwa pengguna sedang membidik huruf tertentu
Jika bentuk keyboard diubah, gestur bisa terbentuk lebih baik sehingga sinyal huruf menjadi lebih jelas. Berbeda dari pencocokan bentuk, model ini juga memakai informasi waktu sehingga bisa merespons durasi berhenti, tetapi berhenti mengganggu aliran jadi menurut saya sebaiknya diminimalkan dalam tata letak swipe
Sepertinya ada penerus modern juga: https://play.google.com/store/apps/details?id=inc.flide.vi8
Saya sudah cukup lama memakai keyboard ini sesekali, tetapi selalu kembali ke gboard; setelah update ini saya benar-benar pindah. Bagus sekali
Masih ada masalah yang membuat kata di tengah kalimat kadang diubah jadi huruf kapital secara acak, dan rekomendasi katanya tampak kurang mempertimbangkan konteks sehingga sering muncul kata yang jelas tidak mungkin mengikuti kata sebelumnya
Memang belum setara gboard, tetapi sudah cukup dekat sampai saya mau terus memakainya
Jika memakai perangkat yang lebih bertenaga, Anda bisa mengunduh model suara yang lebih besar dan kamus yang lebih besar dari situs mereka, dan bedanya cukup terasa
Satu hal yang secara mendasar masih saya sayangkan adalah mereka tampaknya secara ideologis menolak menambahkan pencarian GIF, padahal kadang saya kangen fitur itu: https://github.com/futo-org/android-keyboard/issues/293#issu...
Keren. Saya sudah 2 tahun memakai keyboard FUTO, dan sejauh ini itu keyboard gratis dan ramah privasi terbaik yang pernah saya temukan, tetapi swipe di keyboard seperti ini terlalu buruk sehingga menyiksa bagi saya yang sering memakai swipe
Senang rasanya satu jam lebih melakukan swipe untuk menambah dataset ternyata benar-benar membantu. Setelah saya coba sekarang, rasanya sudah sebagus Google Keyboard
Hanya saja agak lucu karena ia terus menggesek
whatsalih-alihwhat's. Semoga nanti bisa diperbaikiBuat yang penasaran soal lisensinya, library-nya memakai GPLv3 jadi bagus, tetapi keyboard Android-nya memakai Futo License jadi kurang bagus
https://gitlab.futo.org/keyboard/swipe-library/-/blob/master...
https://github.com/futo-org/android-keyboard/blob/master/LIC...
Apakah mungkin klausul ini: dalam salinan yang didistribusikan, Anda tidak boleh menghapus atau menyembunyikan fitur untuk membayar pemberi lisensi
Sejak beberapa tahun lalu merasakan Nintype di iOS, aku jadi tidak bisa memakai keyboard swipe lain. Sekarang aku mengetik dengan keyboard bawaan, dan hanya sesekali swipe satu-dua kata saat tidak bisa memakai kedua tangan
Saat memegang ponsel dengan dua tangan, melakukan swipe dengan satu jari terasa tidak alami dan lambat. Andai Apple membeli atau men-Sherlock Nintype lalu mengintegrasikannya ke keyboard bawaan
Aku sudah memakainya bahkan sebelum Apple resmi mengizinkan keyboard pihak ketiga
keyboard 69, dan aku memakainya selama beberapa tahunPengalaman penggunanya luar biasa, dan semua sistem swipe yang kucoba setelah itu benar-benar terasa tumpul jika dibandingkan. Swipe dua jari adalah yang terbaik secara ergonomis, tapi sayangnya tampaknya ini inovasi yang terlalu niche
Futo dengan model swipe baru adalah keyboard Android pertama yang pernah kupakai yang tidak terasa seperti kompromi dibanding GBoard
Ada input suara terintegrasi, auto-correct saat mengetik yang bagus, dan auto-correct swipe yang bagus
Koreksi: belum tentu gratis dan terbuka. Susunan lisensinya membingungkan. Meski begitu, ini bekerja dengan baik jadi aku berniat memakainya menggantikan Gboard
Ini hal yang sangat besar. Menurutku ini yang paling mendekati model swipe open source gratis pertama yang benar-benar layak pakai. Ini membuka jalan agar swipe typing bisa tersedia di platform selain iOS dan Android, dan mengurangi salah satu titik sakit terbesar bagi pendatang sistem operasi baru
Kebetulan sekali Microsoft mulai menambahkan pengalihan dark pattern ke iklan dan Bing di SwiftKey, jadi aku menghapusnya, timing-nya pas
Panel yang menyuruh memakai fitur backup terus muncul lagi, sampai akhirnya terlalu parah dan aku pindah ke GBoard. Tidak sama, tapi aku mulai terbiasa
Mungkin karena uang, tapi rasanya tidak semua yang dilakukan Microsoft harus menghasilkan uang besar
Kelihatannya bagus, tapi masalah besar keyboard Futo adalah hanya mendukung satu bahasa pada satu waktu. Di gboard, aku bisa swipe dalam 3 bahasa yang kupakai tanpa harus terus berpindah. Andai Futo juga dibuat seperti itu
Dikte suara jauh lebih baik daripada GBoard yang kupakai selama ini. Ia menangani kapitalisasi awal kalimat dan tanda baca tanpa perlu kupikirkan, menyalin beberapa kalimat dengan sempurna tanpa penyuntingan lanjutan, dan semuanya berjalan di model lokal
Kekurangannya, hasilnya tidak diperbarui secara real-time, melainkan dikonversi sekaligus setelah selesai bicara. Sepertinya mereka juga sudah memperbaiki swipe backspace dan spasi agar tidak terlalu sensitif seperti saat terakhir kali kucoba 1-2 tahun lalu, dan sekarang ada beberapa opsi kustomisasi