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.
Предварительные знания
Зачем запускать AI на устройстве: latency, privacy, cost
Cloud AI имеет три фундаментальные проблемы: **латентность** (сетевой roundtrip 100-500ms + inference), **приватность** (данные покидают устройство), **стоимость** (каждый запрос складывается в счёт). Edge AI решает все три: inference происходит прямо на устройстве - так работает Whisper on-device (транскрипция за <200ms) и Apple Intelligence (writing tools без сетевого roundtrip).
| Характеристика | Cloud AI | Edge AI | Hybrid |
|---|---|---|---|
| Латентность (TTFT) | 200-2000ms | 10-100ms | 10ms (edge) / 200ms (cloud) |
| Приватность | Данные на сервере | Данные на устройстве | Sensitive → edge, rest → cloud |
| Стоимость/запрос | 0.001-0.10 | 0 (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) | RAM | Speed (iPhone 15 Pro) | Качество |
|---|---|---|---|---|
| Llama-3.2-1B | 700MB | ~1.2GB | ~25 tok/s | Базовое, simple tasks |
| Phi-3.5-mini (3.8B) | 2.0GB | ~2.5GB | ~15 tok/s | Хорошее для reasoning |
| Gemma-2-2B | 1.5GB | ~2.0GB | ~20 tok/s | Хорошее, multilingual |
| Llama-3.2-3B | 1.8GB | ~2.3GB | ~18 tok/s | Сбалансированное |
| Qwen2.5-7B | 4.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:
- **Quantization** - снижение precision весов: FP16 → INT8 → INT4. Размер ×2-4 меньше, скорость ×2-3 выше, качество -2-5%
- **Knowledge Distillation** - маленькая модель обучается имитировать большую. Phi-3.5-mini (3.8B) ~ GPT-3.5 качество
- **Pruning** - удаление наименее важных весов/нейронов. До 50% compression с минимальной потерей качества
- **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