Navegar y curiosear por páginas o foros relacionados con la privacidad, muchas veces comporta el bendito problema de descubrir aplicaciones o servicios interesantes aunque no los estés buscando. Y eso es justamente lo que me ha ocurrido con la App Android para teclado de Futo Keyboard.
Futo se basa, como muchos otros teclados de código abierto, en el discontinuado proyecto de Gboard encontrándose en estos momentos en fase pre alfa. Lo que significa que aún restan por implementar bastantes funcionalidades y que algunas de las presentes no se encuentren plenamente operativas. No obstante, se puede utilizar sin problemas si somos conscientes de todo ello – lo llevo utilizando a nivel personal más de una semana.
A nivel estético y de la distribución de menús es muy similar al fantástico HeliBOARD que analizamos hace poco en esta página:
Como peculiaridad, presenta un bloque -aún en desarrollo- para moverse e interactuar con el texto (copiar y pegar, undo, redo) que se puede mostrar ocupando toda la superficie del teclado o en su parte superior:
El resto de las opciones de configuración son las más habituales en éste tipo de App:
Tema
Diccionarios
Predicción de texto
Preferencias de escritura
Los dos aspectos donde Futo pretende marcar diferencias son en lo relativo al dictado por voz y la inclusión de una IA para el diccionario y predicción de texto.
Su propuesta para el dictado por voz, pasa por utilizar un modelo propio – que hay que descargar aparte- al margen del incluido en nuestro terminal móvil, usualmente el de Google. Aunque también permite usar éste último:
Está basado en OpenAI Whisper y aseguran que no se almacena ningún dato en la nube. Su desempeño en español es bastante bueno, máxime teniendo en cuenta que a fecha de hoy, sólo está optimizado para el idioma inglés:
En lo referente a las capacidades de IA para el diccionario y la predicción de texto, se encuentra limitado al idioma inglés y en fase de pruebas. Para todo ello se basa en una versión muy reducida (80 Mb) del modelo Llama:
El transformador LM es el nuevo algoritmo que se está desarrollando. En lugar de un modelo de bigram, utiliza un modelo de lenguaje transformador con la arquitectura Llama. Actualmente tiene algunas fortalezas y debilidades sobre el algoritmo basado en diccionario:
Es mucho mejor para predecir las siguientes palabras y tener en cuenta el contexto circundante.
Puede ser mucho mejor para corregir la ortografía muy aproximada.
Actualmente no puede aprender nuevas palabras al instante como lo hace el algoritmo basado en diccionario (técnicamente, podría hacerlo mediante indicaciones, pero existen límites de tamaño de las indicaciones).
No se adapta fácilmente a diseños que no sean QWERTY y por ahora seguirá siendo solo QWERTY.
Todavía es muy experimental y por ahora solo admitimos el inglés, pero mantenemos las cosas abiertas para permitir que otros creen sus propios modelos.
Para mitigar algunas de estas debilidades, el algoritmo del diccionario se ejecuta en paralelo con el transformador y sus resultados se fusionan; el peso de la fusión se puede editar en el menú Parámetros avanzados.
Si bien usamos la arquitectura Llama, no usamos ninguno de los modelos públicos como Llama 2 principalmente porque son demasiado grandes (miles de millones de parámetros). Nuestro modelo actual tiene 36 millones de parámetros. También utilizamos un tokenizador personalizado no convencional con sufijos de espacio en lugar de prefijos para hacer que la inferencia basada en palabras sea más eficiente. Para la autocorrección, utilizamos un formato de mensaje específico.
Aquí toda la información actual al respecto.
Vistas todas las funciones que ofrece actualmente, paso a desglosar los inconvenientes que personalmente le encuentro. Enfatizando nuevamente que esto, cambiará con el tiempo:
Las opciones de configuración están muy por detrás de HeliBOARD
No hay personalización de la barra de menú
El menú “Texto Editor” es poco práctico; por tamaño y prestaciones
No mantiene historial de texto copiado
No hay tecla directa para cambio de idioma
Habrá que ver el tamaño y consumo de batería del modelo IA, pero todo apunta a que será elevado
Los modelos de IA más sencillos para ejecutarse localmente ocupan del orden de 1Gb, y para un uso fluido requieren de GPU. Resta por ver como se comportará en un dispositivo móvil y si demandará algún tipo de requisito mínimo
Conclusiones
Pienso que la idea tras Futo Keyboard es realmente muy potente: Aunar código abierto con un modelo tokenizado de IA para ofrecer un teclado que supere el actual modelo estático de diccionarios y predicciones de texto.
El problema en éste caso, es que todo dependerá del acierto y ritmo de desarrollo del proyecto. Si quedará en un limbo como el que se encuentra por ejemplo FlorisBoard, o alcanzará un grado de usabilidad tan brillante como el que ofrece HeliBOARD. Lo que es seguro, es que merece seguirle la pista.