Запуск локальных языковых моделей в браузере с использованием WebGPU сталкивается с серьезными ограничениями, которые выходят за рамки простого определения поддержки API. Разработчики, пытающиеся внедрить инференс моделей на мобильных устройствах, обнаружили, что наличие поддержки WebGPU не гарантирует стабильную работу нейросетей. Основная проблема кроется в различиях между спецификациями API и их реальной реализацией в конкретных браузерах и на мобильных чипсетах.
Ключевым препятствием стало управление памятью и лимиты на размер буферов. Многие мобильные GPU имеют жесткие ограничения на объем памяти, доступной для одного процесса, что приводит к сбоям при попытке загрузить даже небольшие квантованные модели. Кроме того, наблюдаются значительные расхождения в производительности шейдеров и поддержке специфических типов данных, таких как float16, которые критически важны для скорости генерации текста. В результате код, успешно работающий на десктопных видеокартах, часто оказывается неработоспособным или крайне медленным на смартфонах.
Для обеспечения кроссплатформенности разработчикам приходится внедрять сложные системы проверки возможностей устройства в реальном времени, выходящие за пределы стандартных проверок WebGPU. Это включает в себя тестирование лимитов памяти, проверку доступности специфических инструкций и адаптацию графов вычислений под конкретные архитектуры чипов. Без такой глубокой оптимизации попытки запуска LLM в веб-среде на мобильных устройствах часто заканчиваются ошибками инициализации или принудительным закрытием вкладок браузером из-за превышения лимитов ресурсов.