Pendant que Google et Microsoft se livraient une bataille très médiatisée sur la réinvention des moteurs de recherche au travers des « grands modèles de langage » (LLM), Apple travaillait discrètement sur la réinvention du clavier par les mêmes moyens. Dans iOS 17 et macOS Sonoma, un petit fantôme dans la machine anticipe toutes les phrases que vous pourriez écrire, que vous parliez français ou japonais.
Un clavier transformé
Qu’il est loin, le temps où le système corrigeait votre frappe en fonction de la manière dont votre doigt touchait l’écran ! Depuis plusieurs années, les suggestions et les corrections reposent sur des mécanismes de traitement automatique des langues (NLP). La vectorisation lexicale, aussi appelée « prolongement » pour traduire le terme anglophone embedding, consiste à représenter les mots par des vecteurs. Les mots apparaissant dans des contextes similaires possèdent des vecteurs similaires : « chien » est proche de « cheval », « voiture » est proche de « bus », et « carriole » est quelque part entre les deux.
La vectorisation statique revient à établir un grand tableau de vecteurs avec des indicateurs de proximité. La vectorisation dynamique est plus contextuelle : le mot « chien » ne possède pas le même vecteur dans la phrase « mon chien s’appelle Médor » que dans la phrase « il fait un temps de chien ». Lorsque le modèle est bien entrainé, qu’il « connait » bien sa langue, il est plus facile de transférer ses compétences génériques à des tâches génériques. Or depuis l’apparition des réseaux de neurones LSTM, et plus récemment des LLM, les modèles de langage sont extraordinairement affutés.
Create ML, le framework de machine learning d’Apple, prend en charge la vectorisation avec les modèles ELMo, qui utilisent un réseau LSTM, depuis 2019. Il incorpore maintenant le modèle BERT, l’une des premières applications du concept de transformeur inventé par Google, repris avec le succès que l’on sait par le modèle GPT1. Les transformeurs reposent sur un mécanisme d’attention : le modèle peut simultanément prendre en compte différentes parties du texte de différentes manières, une approche qui offre une grande flexibilité, et permet de traiter de grandes quantités de texte.