FUTO Swipe: オープンソースのスワイプ入力モデルとデータセット
FUTO Swipe: オープンソースのスワイプ入力モデルとデータセット
FUTO Swipeは、プライバシーを侵害するようなキーボードアプリを必要とせずに、高精度なスワイプ入力を提供するために設計された、オープンソースのモデルとアルゴリズムのファミリーです。レイアウトに依存しないエンコーダー、言語特有のデコーダー、および文脈のための小型言語モデルを組み合わせることで、FUTO Swipeはテストセットにおいて約4%のトップ4失敗率(top-4 fail rate)を達成し、主要なプロプライエタリなキーボードソリューションの性能に匹敵しています。
モデルのアーキテクチャとコンポーネント
FUTO Swipeは、汎用性と高い精度のバランスをとるために、3層のモデルアーキテクチャを利用しています:
- Encoder Model: 一般的なスワイプ入力の予測に使用される、汎用的でレイアウトに依存せず、言語にも依存しないモデルです。多用途ですが、最高レベルの精度は提供しません。
- Decoder Model: 特定のキーボードレイアウトの特性を考慮した、言語特有かつレイアウト特有のモデルです。現在、最も高い精度を提供するQWERTY Englishのデコーダーが利用可能です。
- ContextLM: 単一の言語のテキストデータでトレーニングされた小型言語モデルです。文中の前の単語に基づいて、意味をなさない単語予測をフィルタリングして、全体的な品質を向上させます。
ビーム幅(beam width)を300としてこれら3つのモデルをすべて使用すると、システムは(語彙外のケースを除いて)1%未満のエラー率を達成します。
データセットとトレーニング
これらのモデルをトレーニングし評価するために、FUTOは100万件以上のQWERTY Englishのスワイプデータを収集しました。このデータは、2024年8月にswipe.futo.orgドメインにおけるボランティアユーザーの寄付を通じて収集されました。参加者はWikipediaの文章を単語ごとにスワイプしました。
2025年3月、FUTOは、スワイプ入力システムの開発のための公開リソースとして、この100万スワイプのデータセットをHuggingFace上でMITライセンスの下でリリースしました。
パフォーマンスとリソースのフットプリント
FUTO Swipeは、最小限のレイテンシと低いハードウェア要件で、デバイス上での実行を想定して設計されています:
- Parameter Count: システムは1,364,271個のアクティブなパラメータと2,494,767個の総パラメータで構成されています。ContextLMは最大のコンポーネントであり、150万パラメータ(埋め込み用の110万を含む)に達します。
- Hardware Efficiency: モデルは、低スペックのデバイスでもミリ秒単位で動作するほど十分に小型です。トレーニングプロセスは非常に効率的で、単一のワークステーション用GPUを必要としませんでした。
実装と統合
生のスワイプパスを単語予測に変換するために、FUTOは推論、デコード、および辞書制約付きビームサーチを処理するC++ライブラリであるswipe-libraryを提供しています。
ライセンスと可用性
- Models: FUTO Model Licenseの下で利用可能です(エンドユーザーへの帰属表示が必要です)。
- Inference Library: GPLライセンスの下でリリースされています。
- Dataset: HuggingFace上でMITライセンスの下で利用可能です。