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, смогли им воспользоваться».
Хотите ли вы вообще видеть «ИИ» в браузере — вопрос отдельный. Но если такие функции все же есть, то локальные инструменты дают дополнительные преимущества для приватности, а добиться того, чтобы они работали максимально эффективно, — разумный шаг.
Обновления программ, что нового
• Умные устройства Яндекса в апреле: обновления Станции 3, ТВ Станций и запуск MiniLED
• NVIDIA выпустила прошивку G-SYNC Pulsar 1.1.6 для мониторов AOC и MSI
• Обновление Intel Killer Performance Suite 40.26.403.2234 с Wi-Fi-драйвером 24.40.0.4 и поддержкой новых адаптеров BE1735x и BE1730x
• Opera 131 Stable: обновление Chromium 147, новый блокировщик рекламы и доработки интерфейса
• Firefox 150.0.1: обновления безопасности, устранение сбоев с Bitdefender, увеличение лимита Relay до 50 масок
• Клиент Steam получил индикатор заряда геймпадов и быстрые сообщения в режиме Big Picture, удалённое управление загрузками
