Mozilla признала, что ее Firefox AI Runtime — локальный движок Firefox Browser, отвечающий за работу таких функций, как «Умные группы вкладок» и автоматическая генерация альтернативного текста, — работал медленнее, чем ожидалось.
Проще говоря, производительности не хватало, и пользователи это явно ощущали.
Инженеры решили проблему за счет смены технологии: вместо сборки Microsoft ONNX Runtime на WebAssembly (WASM), которая использовалась для функций Firefox на базе Transformers.js, они внедрили нативную реализацию на C++, встроенную прямо в код браузера.
Ранние тесты показывают «ускорение от 2 до 10 раз» при выводе моделей. Кроме того, исчезла дополнительная задержка при первом запуске, связанная с «прогревом» WASM, из-за чего многие функции ИИ раньше казались особенно медленными. Об этом рассказали инженеры Mozilla Тарек Зиаде (Tarek Ziade), Пол Адено (Paul Adenot) и Серж Гюльтон (Serge Guelton).
Почему отказались от WebAssembly?
В блоге Mozilla отмечается, что конвейер выполнения изначально был неэффективным: предобработка шла на JavaScript, затем запускалась в WASM, а после результат снова передавался обратно в JavaScript для постобработки. Даже при «теплых кэшах» (когда данные уже загружены в память) постоянные переключения замедляли работу.
Для встроенного переводчика Firefox задачи машинного обучения уже решаются с помощью нативного подхода на C++, поэтому команда AI решила использовать тот же принцип — и, судя по результатам, это себя оправдало.
Например, генерация альтернативного текста в PDF.js ускорилась с 3,5 секунды до 350 миллисекунд на том же оборудовании, что означает десятикратный рост производительности. А функция «Умные группы вкладок», которая раньше заметно подтормаживала при первом запуске, теперь работает гораздо быстрее.
Команда Mozilla признает, что до идеала еще далеко, и «многое можно и будет улучшено в будущем» для развития ML-функций в Firefox.
Главный прирост скорости ожидается за счет GPU-ускорения, поэтому сейчас ведется работа по добавлению его поддержки. Также в планах многопоточные операции и кеширование вычислительных графов, что позволит ускорить запуск моделей.
До тех пор функции «ИИ» в Firefox продолжают работать на CPU — именно поэтому некоторые пользователи недавно заметили чрезмерную загрузку процессора.
Когда улучшение будет внедрено?
Если вы обновились до Firefox 142, то уже пользуетесь новым подходом: функция интеллектуальной группировки вкладок (Smart Tab Grouping) работает на нативном бэкенде.
Дальше Mozilla планирует «постепенно распространять новый движок и на другие функции в течение лета, чтобы все возможности, построенные на Transformers.js, смогли им воспользоваться».
Хотите ли вы вообще видеть «ИИ» в браузере — вопрос отдельный. Но если такие функции все же есть, то локальные инструменты дают дополнительные преимущества для приватности, а добиться того, чтобы они работали максимально эффективно, — разумный шаг.
Обновления программ, что нового
• Samsung Galaxy A17 5G: бюджетный смартфон с AMOLED-экраном 90 Гц и 6 годами обновлений Android
• В RuStore для Android появилась функция бета-тестирования приложений
• Mozilla ускорила функции локального ИИ в Firefox в 10 раз
• Samsung выпустила бета-версию One UI 8 для Galaxy S24 с интеграцией функции Now Brief
• Vivaldi выступила против «ИИ-браузеров»: компания отказалась идти по пути Google и Microsoft
• Battlefield 6: Разработчик о мерах античитера и обязательном Secure Boot