Model Soups
Узнай, как «супы моделей» (Model Soups) повышают точность и надежность путем усреднения весов моделей Ultralytics YOLO. Научись повышать производительность без увеличения задержки.
Model Soups — это метод машинного обучения, при котором веса нескольких нейронных сетей, дообученных на основе одной и той же предобученной модели с использованием различных гиперпараметров, усредняются для создания одной, более устойчивой модели. Этот подход позволяет тебе повысить общую точность и обобщающую способность без увеличения вычислительных затрат во время инференса.
При дообучении модели разработчики обычно проводят масштабный подбор гиперпараметров, чтобы найти конфигурацию с наилучшей производительностью. Традиционно выбирается одна лучшая модель, а остальные отбрасываются. Однако создание model soup позволяет задействовать разнообразные признаки, изученные всеми моделями в ходе перебора. Путем прямого усреднения их весов модели результирующая нейросеть часто превосходит по эффективности единственную лучшую модель, эффективно объединяя их сильные стороны и минимизируя переобучение. Этот процесс отличается высокой эффективностью и легко управляется в средах для совместной работы вроде Ultralytics Platform.
Реальные приложения#
Model Soups чрезвычайно эффективны в сценариях, где вычислительные ресурсы ограничены, но требуются высокая точность и надежность.
- Зрение автономных транспортных средств: При развертывании систем обнаружения объектов в самоуправляемых автомобилях модели должны хорошо обобщать данные при различных условиях освещения и погоды. Усредняя несколько моделей, обученных с использованием разнообразных аугментаций данных и скоростей обучения, инженеры создают исключительно устойчивую сборку (soup), которая сохраняет низкую задержку инференса. Это гарантирует, что критически важная для автономной навигации скорость обработки в реальном времени останется неизменной.
- Мобильная медицинская диагностика: В задачах краевого (edge) ИИ, таких как запуск классификации изображений на смартфонах для первичного дерматологического скрининга, вычислительная мощность крайне ограничена. Model soup обеспечивает повышенную точность, необходимую для клинической надежности, гарантируя при этом, что итоговый размер легко поместится на мобильных периферийных устройствах без разряда батареи и без необходимости подключения к облаку.
Разграничение связанных понятий#
Чтобы ориентироваться в мире оптимизации глубокого обучения, важно отличать Model Soups от похожих подходов:
- Ансамбль моделей: Ансамблирование объединяет предсказания (выходные данные) нескольких независимых моделей. Хотя это повышает точность, оно требует запуска каждой модели во время инференса, умножая вычислительные затраты. Model Soups усредняют веса до инференса, сохраняя вычислительные затраты на уровне одной модели.
- Слияние моделей: Это более широкий термин для объединения моделей, которые могли быть обучены на совершенно разных задачах или датасетах. Model Soups представляют собой частный случай слияния, при котором все модели происходят из одной и той же предобученной базовой архитектуры и дообучаются на одной целевой задаче.
Пример реализации#
Создание унифицированного model soup подразумевает доступ к словарю состояния PyTorch нескольких обученных моделей и математическое усреднение их тензоров. Ниже приводится краткий пример того, как этого можно добиться с помощью рабочего процесса Ultralytics YOLO26, нативно поддерживаемого фреймворком PyTorch.
import torch
# Load the PyTorch state dictionaries from two fine-tuned YOLO26 models
model1 = torch.load("yolo26_run1.pt")["model"].state_dict()
model2 = torch.load("yolo26_run2.pt")["model"].state_dict()
# Create a uniform model soup by averaging the model weights
soup_dict = {key: (model1[key] + model2[key]) / 2.0 for key in model1.keys()}
# The resulting soup_dict can now be loaded into a new YOLO26 instanceИспользуя эту технику, специалисты по компьютерному зрению могут легко улучшить такие показатели производительности, как возможности zero-shot обучения и общую надежность, не жертвуя скоростью развертывания, которая необходима для современных архитектур ИИ с ориентацией на периферийные вычисления.






