Развертывание на краю
Тема дорожной карты · Основы машинного обучения
Edge deployment (развертывание на краю) — это запуск машинного обучения непосредственно на конечных устройствах, таких как смартфоны, IoT-сенсоры или встроенные системы, без необходимости отправлять данные на удалённый сервер. Этот подход снижает задержки, сокращает затраты на передачу данных и уменьшает риски для конфиденциальности. Перед развертыванием модели обычно сжимаются через quantization (квантование), pruning (обрезку) или knowledge distillation (передачу знаний), чтобы уменьшить их размер и улучшить производительность. Используются фреймворки, такие как TensorFlow Lite, PyTorch Mobile и ONNX Runtime, для экспорта моделей на устройства.
Как это работает
Развертывание на краю включает в себя training/serving (обучение/запуск), когда данные и модели выходят за пределы одной машины. Распределённое обучение (data parallel, model parallel, pipeline parallel — подробности в дорожной карте Deep Learning) используется для обработки больших данных. Large-scale data processing (обработка больших данных) с использованием инструментов, таких как Spark, Dask и Ray, позволяет предобработать терабайты данных. Model compression (сжатие моделей) с помощью quantization, pruning и knowledge distillation позволяет уменьшить размер моделей для развертывания на краю. Edge deployment (развертывание на краю) с помощью TensorFlow Lite, ONNX Runtime и Core ML позволяет размещать модели на телефонах, браузерах и сенсорах. Ограничения по задержкам, памяти и энергии влияют на дизайн и оптимизацию моделей.
Когда применять
Не масштабируйтесь преждевременно — single-GPU training (обучение на одном GPU) и Pandas/Polars могут обрабатывать намного больше данных, чем кажется. Spark/Dask полезны для обработки данных, превышающих 100 миллионов строк. Quantise модели для inference (вывода), когда задержки или потребление памяти являются критичными факторами. Edge deployment (развертывание на краю) — это отдельная дисциплина: требуется hardware-aware оптимизация, конвертация моделей и on-device профайлинг. Всегда измеряйте производительность перед тем, как применять.
Типичные ошибки
Типичные ошибки в развертывании на краю включают использование Spark для обработки 1 миллиона строк (переход к Spark может привести к увеличению overhead, что делает его менее эффективным по сравнению с Polars/DuckDB); использование распределённого обучения на данных, которые помещаются на одну GPU (это может привести к сложностям в отладке без значительных преимуществ); агрессивное quantising, которое может привести к потере качества; развертывание на краю без on-device evaluation (модель может работать на разработческом ноутбуке, но валиться на реальном оборудовании).
Связанные понятия
Полезные ресурсы
Проверить знания (1)
Загрузка вопросов…