2 poin oleh GN⁺ 4 jam lalu | 2 komentar | Bagikan ke WhatsApp
  • 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

 
wedding 3 jam lalu

Saya memakai keyboard pengenalan suara dari perusahaan ini, dan bagus.

 
GN⁺ 4 jam lalu
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 e dan ee, 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

    • FUTO Swipe memang mendukung tata letak keyboard yang dioptimalkan untuk swipe seperti itu, yaitu ClearFlow: https://clearflowkeyboard.github.io/
      https://github.com/futo-org/futo-keyboard-layouts/issues/163
    • Perkiraan 90–95% itu cukup akurat, dan di test set juga terukur sekitar segitu. Postingan blog terkait akan segera terbit
      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
    • Ini barang lama jadi mungkin sekarang kurang relevan, tetapi sebagai contoh penataan ulang antarmuka gestur yang keren ada https://www.the8pen.com/
      Sepertinya ada penerus modern juga: https://play.google.com/store/apps/details?id=inc.flide.vi8
    • Saya juga sudah lama menginginkan ini. Sekarang saya memakai Dvorak dalam mode split yang muncul saat ponsel diputar ke lanskap demi kecepatan input yang baik
  • 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...

    • Sepertinya situasinya mirip. Speech-to-text saya kadang tiba-tiba mulai memuntahkan emoji terus-menerus; penasaran apakah Anda pernah mengalami itu
  • 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 whats alih-alih what's. Semoga nanti bisa diperbaiki

  • Buat 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...

    • Untuk menambah kerumitan lisensi, modelnya memakai lisensi lain lagi yang ditulis terpisah oleh FUTO, tetapi setidaknya tidak terlihat seburuk lisensi keyboard-nya: https://huggingface.co/futo-org/futo-swipe/blob/main/LICENSE...
    • Saya penasaran bagian mana dari Futo License yang dianggap paling bermasalah
      Apakah mungkin klausul ini: dalam salinan yang didistribusikan, Anda tidak boleh menghapus atau menyembunyikan fitur untuk membayar pemberi lisensi
    • Itu lebih mirip lisensi komersial dengan syarat yang sangat longgar
  • 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 juga pernah memakainya. Aku penasaran apakah FUTO punya fitur untuk memasukkan satu kata dengan beberapa swipe simultan atau non-simultan, tapi sepertinya tidak ada. Aku bahkan sudah lupa nama aplikasinya, jadi ini benar-benar membangkitkan nostalgia
      Aku sudah memakainya bahkan sebelum Apple resmi mengizinkan keyboard pihak ketiga
    • Sangat setuju. Pembuatnya pernah membuat port Nintype untuk Android yang penuh bug dengan nama keyboard 69, dan aku memakainya selama beberapa tahun
      Pengalaman 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

    • Kalau maksudmu dihapus, aku juga melakukan hal yang sama karena alasan itu
      Panel yang menyuruh memakai fitur backup terus muncul lagi, sampai akhirnya terlalu parah dan aku pindah ke GBoard. Tidak sama, tapi aku mulai terbiasa
    • Maksudmu dihapus, kan? Sangat disayangkan betapa kuatnya tim Bing di dalam Microsoft. Mereka merusak produk demi kejayaan dan uang untuk Bing
      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