AI-инжиниринг

Edge AI: запускаем модели в браузере и на мобилках - WebLLM, ONNX, CoreML

Цели урока

  • Понять когда Edge AI выигрывает у Cloud AI: latency, privacy, cost, offline
  • Запустить LLM в браузере через WebLLM и Transformers.js с WebGPU acceleration
  • Разобрать mobile AI: CoreML, ONNX Runtime, llama.cpp для iOS/Android
  • Спроектировать hybrid подход: edge router + cloud fallback + quality check

Парадокс: iPhone 15 Pro содержит специализированный AI-чип мощностью 35 TOPS - при этом большинство приложений отправляют каждый AI-запрос в облако за 300ms. Весь потенциал Neural Engine простаивает, пока данные путешествуют туда-обратно через интернет. Edge AI - это разворот: inference происходит там, где живут данные, со скоростью 10-50ms вместо 300ms.

  • Apple Intelligence (iPhone 15 Pro+): Llama-архитектура 3B параметров через CoreML + 16-ядерный Neural Engine - транскрипция, writing tools, Siri без единого байта в облако
  • Whisper on-device: OpenAI открыл Whisper, llama.cpp портировал на мобилки - приложения типа Superwhisper транскрибируют речь за <200ms без сервера и без утечки аудио
  • Llama.cpp + GGUF: формат quantized-весов превратил 7B-модели из 14GB в 4GB файл - теперь Llama-3.2 запускается на MacBook Air M2 со скоростью 40 tok/s без GPU
  • Qualcomm Snapdragon X Elite NPU: Android-флагманы 2024-2025 несут 45 TOPS NPU - Google ML Kit и TFLite используют его для on-device translation, OCR, face detection в реальном времени

Модели переезжают в браузер

До 2023 года запуск нейросети означал Python-сервер с GPU. Затем Joshua Lochner выпустил Transformers.js (под именем Xenova на Hugging Face), перенеся привычный pipeline из библиотеки Transformers в JavaScript через ONNX Runtime - модели заработали прямо в браузере. В том же году в Chrome появился WebGPU API, давший веб-страницам реальный доступ к GPU, а команда MLC выпустила WebLLM, запускающий полноценные chat-модели на стороне клиента поверх WebGPU. Вместе это превратило браузер из тонкого клиента в движок inference.

Предварительные знания

  • Local LLM: Ollama, llama.cpp, vLLM - Running Models on Your Own Hardware

Зачем запускать AI на устройстве: latency, privacy, cost

Cloud AI имеет три фундаментальные проблемы: **латентность** (сетевой roundtrip 100-500ms + inference), **приватность** (данные покидают устройство), **стоимость** (каждый запрос складывается в счёт). Edge AI решает все три: inference происходит прямо на устройстве - так работает Whisper on-device (транскрипция за <200ms) и Apple Intelligence (writing tools без сетевого roundtrip).

ХарактеристикаCloud AIEdge AIHybrid
Латентность (TTFT)200-2000ms10-100ms10ms (edge) / 200ms (cloud)
ПриватностьДанные на сервереДанные на устройствеSensitive → edge, rest → cloud
Стоимость/запрос0.001-0.100 (hardware already paid)Оптимизированная
Размер модели7B-405B+0.5B-7BЛюбой
OfflineНевозможноПолноценноDegraded mode
КачествоState-of-the-artОграниченноеBest of both
Начальная загрузкаМгновенноDownload 0.5-4GBЗависит от стратегии

**Use cases для Edge AI:**

  • **Autocomplete / typing assistance** - нужна латентность < 50ms, невозможно с cloud
  • **Sensitive data processing** - медицинские записи, финансовые данные, personal journals
  • **Offline-first apps** - самолёт, плохое соединение, remote areas
  • **Real-time processing** - камера, микрофон, sensor data (слишком много данных для cloud)
  • **Cost-sensitive** - бесплатные/freemium приложения, где платить за API невозможно

**Apple Intelligence (2024)** - массовый пример Edge AI. Siri, writing tools, image generation - всё работает on-device на iPhone 15 Pro+ и M-серии Mac. Apple скачивает модели 1-3B параметров, которые запускаются через CoreML на Neural Engine.

Какое главное преимущество Edge AI для autocomplete/typing assistance?

AI в браузере: WebLLM, Transformers.js, WebGPU

Браузер - самая доступная платформа для Edge AI: установка не нужна, работает на любом устройстве. WebLLM использует **WebGPU** (compute shaders для matrix ops), Transformers.js падает на **WebAssembly** как fallback, Chrome 130+ добавил **WebNN** - Neural Network API с доступом к hardware accelerator. Именно так Whisper-tiny запускается в браузере через Transformers.js: 150MB модель, транскрипция без сервера.

**WebGPU поддержка (2026):** Chrome 130+, Edge 130+, Safari 18+ (partial), Firefox - в разработке. Для браузеров без WebGPU - fallback на WebAssembly (CPU), но в 5-10x медленнее. Всегда проверять `navigator.gpu` перед загрузкой.

**Стратегия загрузки модели:** скачивание 1-3GB при первом визите неприемлемо. Решение: 1. Progressive loading - показать интерфейс сразу, модель загружается в фоне. 2. Service Worker caching - модель хранится в Cache API. 3. Quantization - q4f16 вместо fp16 сокращает размер в 4 раза.

Какая технология обеспечивает GPU-ускорение для AI-моделей в браузере?

Mobile AI: CoreML, ML Kit, ONNX Runtime Mobile

Мобильные устройства несут **специализированные Neural Processing Units**: Apple ANE (16-ядер, 35 TOPS в A17 Pro), Qualcomm Hexagon NPU (45 TOPS в Snapdragon X Elite), Google Edge TPU. iOS Core ML автоматически маршрутизирует inference на ANE - именно поэтому llama.cpp с n_gpu_layers=32 на iPhone 15 Pro даёт 15 tok/s вместо 4 tok/s на CPU. ONNX Runtime на Android делает то же через NNAPI backend для Qualcomm Hexagon.

МодельРазмер (Q4)RAMSpeed (iPhone 15 Pro)Качество
Llama-3.2-1B700MB~1.2GB~25 tok/sБазовое, simple tasks
Phi-3.5-mini (3.8B)2.0GB~2.5GB~15 tok/sХорошее для reasoning
Gemma-2-2B1.5GB~2.0GB~20 tok/sХорошее, multilingual
Llama-3.2-3B1.8GB~2.3GB~18 tok/sСбалансированное
Qwen2.5-7B4.0GB~5GB~8 tok/sВысокое, но тяжёлая

Почему CoreML на iPhone быстрее чем generic CPU inference для AI-моделей?

Hybrid Approach: Edge + Cloud для оптимального баланса

В production Edge AI и Cloud AI не конкурируют, а **дополняют друг друга**. Показательный пример - Apple Intelligence: транскрипция Siri и writing tools работают через ANE on-device, но сложные запросы уходят в Private Cloud Compute на Apple Silicon серверах. Тот же принцип: sensitive data → всегда edge (llama.cpp или Core ML), complex reasoning → cloud (Claude/GPT-4), routing-решение принимает сервис на основе task type, device state, network availability.

**Model Compression Techniques** для Edge AI:

  1. **Quantization** - снижение precision весов: FP16 → INT8 → INT4. Размер ×2-4 меньше, скорость ×2-3 выше, качество -2-5%
  2. **Knowledge Distillation** - маленькая модель обучается имитировать большую. Phi-3.5-mini (3.8B) ~ GPT-3.5 качество
  3. **Pruning** - удаление наименее важных весов/нейронов. До 50% compression с минимальной потерей качества
  4. **Architecture optimization** - MobileNet, EfficientNet - архитектуры, изначально оптимизированные для edge

**Practical recommendation:** начинать с cloud-only, затем добавлять edge для конкретных use cases. Не пытаться заменить весь cloud на edge - это преждевременная оптимизация. Edge AI оправдан когда: 1. критична латентность 2. критична приватность 3. нужен offline 4. огромный объём запросов (cost).

В hybrid подходе, когда AI-запрос должен ВСЕГДА идти на edge, даже при наличии cloud?

Итоги

  • Edge AI побеждает в трёх сценариях: latency <50ms (autocomplete), sensitive data (медкарты, дневники), offline (самолёт, метро) - в остальном cloud сильнее
  • WebLLM + WebGPU: Llama-3.2-1B запускается прямо в Chrome с OpenAI-совместимым API - 15-40 tok/s без сервера и без установки приложения
  • Выбор фреймворка по платформе: iOS Core ML (использует ANE автоматически), Android ONNX Runtime (NNAPI backend), кросс-платформа - llama.cpp через llama.rn
  • Hybrid router - не выбор между edge и cloud, а правила маршрутизации: sensitive data → всегда edge; latency <100ms → edge; reasoning/quality-critical → cloud
  • Q4 quantization через GGUF: модель 4x меньше, скорость 2-3x выше, деградация качества ~3% - единственный способ уместить 7B в мобильный RAM

Что дальше

Edge AI открывает новые возможности, но и новые юридические вопросы. Следующий урок - AI Ethics и Legal: EU AI Act, copyright на AI-generated content, data privacy, ответственность за AI-решения.

  • AI Ethics и Legal — EU AI Act, copyright, liability - юридическая сторона AI-продуктов
  • Local Models — Запуск open-source моделей локально - предпосылка для Edge AI

Связанные уроки

  • aie-39-local-models — Edge AI запускает локальные модели на устройстве
  • aie-38-distillation — Сжатие и дистилляция уменьшают модели для устройств
  • aie-29-cost-management — Инференс на устройстве убирает API-стоимость токенов
  • net-40-cdn — Edge-инференс приближает вычисления к пользователю как CDN
  • ml-46-model-serving — Сервинг на устройстве расширяет серверные паттерны
  • ml-01
Edge AI: запускаем модели в браузере и на мобилках - WebLLM, ONNX, CoreML

0

1

Войти