На смартфонах Google Pixel 6 в клавиатуру встроено автоматическое обнаружение и исправление грамматических ошибок с помощью нейросети. Обработка текста производится в реальном времени и полностью выполняется на устройстве.
Создание такой функциональности требовало от разработчиков учесть ограничения на оперативную память, требования к времени задержки и необходимость обработки неполных предложений.
Нейросеть с seq2seq-архитектурой была обучена принимать на вход предложение или его часть и выдавать грамматически корректную версию. Если исходный текст не содержит ошибок, то предложения на входе и выходе совпадают. Модель использует гибридную архитектуру, которая сочетает в себе энкодер трансформера и LSTM-декодер — комбинацию, которая обеспечивает требуемый баланс качества и времени задержки. Модель занимает 20 МБ памяти и обрабатывает 60 входных символов менее чем за 22 мс на процессоре Pixel 6.
Для обучения модели использовался датасет пар предложений, одно из которых содержало грамматические ошибки, а второе нет. Для его сбора несколько сотен миллионов предложений, взятых в Интернете, исправлялись крупной облачной моделью, используемой в Google Docs.
В настоящее время эта функция способна исправлять только предложения на английском (в ближайшем будущем планируется расширить ее функционал на большее количество языков) и работает в любом приложении.