Edge Computing
Периферийные вычисления обрабатывают данные на устройствах, которые их создают, или рядом с ними, сокращая задержку и нагрузку на сеть. Рассматриваются уровни периферийных вычислений, периферийный ИИ и развёртывание моделей.
Периферийные вычисления — это выполнение вычислений и хранение данных рядом с местом их создания или использования: на устройствах, локальных серверах и шлюзах либо в небольших центрах обработки данных на периферии телекоммуникационных сетей, а не отправка всех данных в удалённый регион облака. Обработка рядом с источником сокращает время отклика, уменьшает объём полосы пропускания, необходимой для передачи исходных данных, позволяет хранить конфиденциальные данные на месте и помогает системам продолжать работу при сбоях сети. Эта идея выросла из сетей доставки контента, которые в конце 1990-х кэшировали веб-страницы рядом с пользователями. В 2009 году исследователи под руководством Махадева Сатьянараянана предложили размещать рядом с мобильными устройствами «облачки» (cloudlets), в 2012 году Cisco ввела термин «туманные вычисления», а европейская организация по стандартизации ETSI в 2014 году начала стандартизировать многодоступные периферийные вычисления для мобильных сетей. Запуск моделей машинного обучения на такой инфраструктуре называется периферийным ИИ.
Уровни периферийных вычислений#
«Периферия» охватывает несколько уровней между датчиком и облаком:
- Периферия устройства: камеры, телефоны, дроны, роботы и транспортные средства, которые обрабатывают данные на собственных процессорах, часто со встроенными ускорителями.
- Локальная периферия: шлюзы и компактные серверы на фабрике, в магазине, больнице или фермерском хозяйстве, которые собирают данные множества устройств, например сервер с одним GPU, анализирующий потоки с десятков камер.
- Сетевая периферия: серверы на базовых станциях операторов связи или региональных точках присутствия, расположенные в нескольких миллисекундах от мобильных пользователей. Они выполняют задачи для устройств, которым не хватает ресурсов для локальной обработки.
- Облако: центральные регионы, где обучают модели, хранят долгосрочные данные и управляют парком периферийных устройств.
Зачем обрабатывать данные на периферии#
Первая причина — задержка. Свет распространяется по оптоволокну со скоростью около 200 километров в миллисекунду, поэтому центр обработки данных в 1 000 км от устройства добавляет как минимум 10 мс задержки туда и обратно — ещё до учёта маршрутизации, очередей и обработки. Автономные транспортные средства и роботы, которым нужно реагировать за миллисекунды, выполняют инференс в реальном времени на борту. Вторая причина — полоса пропускания: один поток с камеры 1080p H.264 требует несколько мегабит в секунду, поэтому объект с 100 камерами непрерывно передавал бы сотни мегабит, тогда как событие обнаружения в формате JSON занимает несколько килобайт. Локальная обработка также позволяет не отправлять исходные изображения людей за пределы объекта: здание покидают только подсчёты, оповещения или анонимизированные результаты. Это упрощает выполнение требований к конфиденциальности данных и помогает системам работать при перебоях сети на фермах, кораблях, в шахтах и удалённых объектах инфраструктуры.
На практике периферия и облако образуют цикл. Устройства локально обрабатывают каждый кадр и отправляют наверх только события и выбранные примеры, а облако использует эти примеры, чтобы переобучать модели и отправлять на устройства улучшенные версии:
Этот подход используют для контроля качества на производственных линиях, где бракованную деталь нужно отбраковать до появления следующей, для мониторинга посевов и скота в полях со слабой связью и для управления дорожным движением, когда светофоры регулируются по данным камер на перекрёстках.
Периферийные вычисления и смежные понятия#
Облачные вычисления централизуют эластичные вычислительные ресурсы в крупных центрах обработки данных, а периферийные вычисления выносят обработку данных за их пределы, поэтому большинство систем используют оба подхода. Периферийный ИИ — это часть периферийных вычислений, в которой запускают модели ИИ. «Туманные вычисления» — термин Cisco, описывающий уровень шлюзов и локальных серверов между устройствами и облаком; по сути, это синоним локального и сетевого уровней периферии. Интернет вещей (IoT) — сеть подключённых датчиков и устройств, а периферийные вычисления — место, где обрабатывается значительная часть создаваемых ими данных.
Развёртывание моделей на периферийных устройствах#
Периферийное оборудование располагает лишь частью памяти, вычислительных ресурсов и энергобюджета серверного GPU: от микроконтроллеров с потреблением милливатт до модулей NVIDIA Jetson и плат Raspberry Pi. Модели уменьшают и ускоряют с помощью квантования моделей до 8-битных целых чисел, прореживания и дистилляции знаний, а затем компилируют для среды выполнения и ускорителя целевого устройства, например TensorRT на GPU NVIDIA, OpenVINO на CPU и NPU Intel, LiteRT на Android или Core ML на устройствах Apple. Режим экспорта Ultralytics YOLO создаёт эти форматы из одной обученной модели. В этом примере YOLO26 экспортируется в NCNN — среду инференса Tencent для мобильных устройств и ARM CPU, — после чего запускается экспортированная модель:
from ultralytics import YOLO
# Export YOLO26n to NCNN, a lightweight runtime for ARM CPUs and mobile devices
model = YOLO("yolo26n.pt")
ncnn_path = model.export(format="ncnn") # writes the yolo26n_ncnn_model folder
# Load the exported model and run it on this machine's CPU
ncnn_model = YOLO(ncnn_path)
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
print(f"Inference: {results[0].speed['inference']:.1f} ms")При экспорте создаётся папка yolo26n_ncnn_model, содержащая model.ncnn.param со структурой сети, model.ncnn.bin с весами и metadata.yaml с названиями классов и размером входных данных. Выведенное время — это задержка инференса для одного изображения на машине, где выполняется модель. По этому значению определяют, укладывается ли модель в бюджет частоты кадров приложения на периферии.










