Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Узнайте, как ускорить обучение YOLO с помощью Ultralytics — комплексной среды, созданной для ускорения процесса от обработки данных до развертывания.

Масштабируйте свои проекты в области компьютерного зрения с Ultralytics

Начать

На прошлой неделе Ultralytics платформу Ultralytics — единое рабочее пространство, призванное упростить процесс создания, обучения и развертывания моделей компьютерного зрения. Вместо того чтобы использовать множество различных инструментов, платформа объединяет все в одном месте. Теперь процесс от идеи до развертывания моделей искусственного интеллекта в области компьютерного зрения становится простым и удобным. 

Это имеет решающее значение, поскольку компьютерное зрение стремительно становится ключевым компонентом различных отраслей. Оно лежит в основе таких приложений, как контроль качества на производстве, аналитика в розничной торговле и автономная навигация.

Превращение этих приложений, основанных на технологиях компьютерного зрения, в надёжные системы зависит от качества обучения моделей. Обучение моделей заключается в изучении меченых данных, чтобы модель могла распознавать закономерности и делать точные прогнозы. Как правило, хорошо обученные модели обеспечивают более высокую производительность и более надёжные результаты при применении в реальных условиях.

Однако обучение модели компьютерного зрения не всегда проходит гладко. Этот процесс включает в себя различные аспекты, такие как настройка среды, выбор подходящих вычислительных ресурсов, настройка гиперпараметров и отслеживание нескольких экспериментов по обучению. Когда эти этапы распределены между разными инструментами и системами, рабочий процесс обучения быстро становится сложным и трудноуправляемым.

Ultralytics решает эту проблему, объединяя весь процесс обучения в единой панели управления. Вы можете настраивать, запускать и отслеживать задания по обучению в одном месте, независимо от того, работаете ли вы в облаке, локально или в Google . 

Рис. 1. Краткий обзор процесса обучения модели на Ultralytics (Источник)

В этой статье мы рассмотрим, как Ultralytics упрощает обучение моделей и почему она может дать вам преимущество в ваших проектах в области искусственного интеллекта для систем технического зрения. Приступим!

Модели компьютерного зрения обучаются на данных посредством обучения моделей

Прежде чем углубляться в то, как происходит обучение моделей на Ultralytics , давайте сначала отступим на шаг назад и разберемся, что такое обучение моделей и из чего оно состоит.

Обучение модели — это процесс, в ходе которого модель компьютерного зрения учится интерпретировать визуальные данные. Она анализирует изображения или видео и постепенно корректирует свои внутренние параметры, чтобы точно выполнять задачи компьютерного зрения, такие как обнаружение объектов, классификация изображений и сегментация экземпляров. Со временем модель совершенствуется, извлекая закономерности непосредственно из просматриваемых данных.

Качество обучения во многом зависит от наборов данных. Набор данных можно сравнить с набором карточек, которые учитель использует для обучения ученика: каждый пример помогает модели понять, на что нужно обращать внимание.

Типичный набор данных для компьютерного зрения включает в себя изображения, как правило, в форматах JPG или PNG, а также аннотации, описывающие, что изображено на каждом снимке. Эти аннотации, которые часто хранятся в виде файлов JSON или TXT, содержат метки и контекст, необходимые модели для эффективного обучения.

Однако обучение — это не просто ввод данных в модель. Оно включает в себя несколько ключевых этапов: от подготовки набора данных до выбора подходящей модели и настройки процесса обучения. Давайте подробнее рассмотрим некоторые из этих этапов.

Как готовятся наборы данных

Может показаться, что, получив набор данных, можно сразу приступить к обучению модели, но сначала необходимо выполнить несколько шагов, например, разбить набор данных на части.

Как правило, набор данных делится на три части: обучающий набор, валидационный набор и тестовый набор. Изображения из обучающего набора используются для обучения модели распознаванию закономерностей в данных, а валидационный набор помогает контролировать и оптимизировать эффективность модели в процессе обучения. 

Тестовый набор используется на заключительном этапе для оценки эффективности модели при работе с совершенно новыми, ранее не виденными данными. Такой подход позволяет убедиться, что модель не просто запоминает данные, а способна обобщать их на реальные ситуации.

Выбор подходящей модели для обучения

Еще одним важным шагом перед началом обучения является выбор модели, которую вы хотите использовать. Во многих случаях это означает выбор предварительно обученной модели. Такие модели, какYOLO Ultralytics YOLO , уже прошли обучение на обширных наборах данных и усвоили общие визуальные паттерны, что делает их отличной отправной точкой.

Использование этих моделей является примером переноса обучения, при котором вы опираетесь на имеющиеся знания и адаптируете модель к конкретной задаче. Такой подход помогает ускорить обучение и улучшить результаты, особенно при работе с ограниченным объемом данных.

Эти модели также доступны в различных размерах, и каждый из них представляет собой компромисс между скоростью и точностью. Меньшие модели работают быстрее и эффективнее, тогда как более крупные модели, как правило, обеспечивают более высокую точность, но требуют большего объема вычислений.

Настройка параметров обучения для моделей компьютерного зрения

После того как вы подготовили набор данных и выбрали модель, следующим шагом будет настройка параметров обучения модели.

Модель компьютерного зрения обучается с использованием набора параметров, которые определяют, как она обрабатывает данные, обновляет свои веса и совершенствуется с течением времени. Эти настройки напрямую влияют как на скорость обучения, так и на конечную точность, что делает их крайне важными для достижения высоких результатов.

Вот некоторые из наиболее часто используемых параметров тренировок:

  • Эпохи: этот параметр определяет, сколько раз модель проходит весь набор данных во время обучения. Увеличение количества эпох дает модели больше возможностей для выделения закономерностей в данных.
  • Размер партии: это количество изображений, обрабатываемых одновременно за один этап обучения. Увеличение размера партии может ускорить процесс обучения, но требует большего объёма памяти.
  • Размер изображения: этот параметр определяет разрешение входных изображений, используемых при обучении. Более высокое разрешение может повысить точность распознавания, но при этом увеличит вычислительные затраты.
  • Скорость обучения: это скорость, с которой модель обновляет свои внутренние параметры во время обучения. Слишком высокие или слишком низкие значения могут привести к нестабильности обучения.
  • Оптимизатор: это алгоритм, отвечающий за обновление параметров модели на основе ошибки, рассчитанной в ходе каждой итерации обучения.

В рабочих процессах Ultralytics YOLO эти настройки обычно задаются в файле YAML. В этом файле указываются пути к наборам данных, названия классов и способ разбиения данных. Он выступает в качестве центральной конфигурации, которая указывает модели, как интерпретировать набор данных.

От разрозненных рабочих процессов к единой среде с помощью Ultralytics

Мы только что рассмотрели некоторые ключевые этапы обучения модели компьютерного зрения — от подготовки наборов данных до выбора модели и настройки параметров обучения. На практике этот процесс часто выходит за эти рамки и включает в себя эксперименты по отслеживанию, сравнение результатов нескольких циклов обучения и постоянную доработку моделей с течением времени.

Эти этапы редко выполняются в рамках одной системы. Подготовка наборов данных может осуществляться в одном инструменте, обучение — в другой среде, а отслеживание экспериментов — отдельно. По мере расширения проектов такая фрагментация усложняет работу, замедляет итерации и затрудняет поддержание порядка.

Ultralytics устраняет эту сложность, объединяя весь рабочий процесс обучения в одной среде. Вам больше не нужно переключаться между различными инструментами: вы можете управлять наборами данных, настраивать обучение, проводить эксперименты и отслеживать результаты — и всё это в одном месте.

Далее давайте разберемся, как Ultralytics делает обучение моделей более эффективным. 

Возможности для тренировок, поддерживаемые Ultralytics

В реальных условиях для обучения модели компьютерного зрения часто требуются гибкие среды. В зависимости от объема набора данных, сложности модели и имеющегося оборудования вы можете выбрать обучение в облаке, на локальном компьютере или с помощью внешних среды ноутбуков.

Ultralytics поддерживает следующие варианты обучения для удовлетворения этих потребностей:

  • Обучение в облаке: обучение выполняется на графических процессорах (GPU), Ultralytics. Этот вариант идеально подходит для больших наборов данных или более сложных моделей, требующих значительных вычислительных ресурсов.
  • Локальное обучение: этот вариант использует аппаратное обеспечение вашего компьютера и отлично подходит для быстрых экспериментов, тестирования конфигураций или работы с небольшими наборами данных. Для более масштабных рабочих нагрузок обучение также можно запускать в вашей собственной облачной среде, например в AWS или GCP.
  • Google : с помощью Ultralytics вы можете запускать обучение в хостинговой среде ноутбуков Google , что обеспечивает гибкий рабочий процесс на основе браузера без необходимости настройки локального компьютера.

Ознакомление с обучением по работе с облачными технологиями на Ultralytics

Когда речь заходит о проектах в области компьютерного зрения, обучение моделей локально или в среде ноутбука не всегда бывает простым делом.

Например, при локальном обучении производительность полностью зависит от вашего оборудования, что может ограничивать вычислительную мощность и замедлять проведение экспериментов. Графические процессоры (GPU) необходимы для эффективного обучения, но не у всех есть надежный доступ к ним. 

Хотя такие среды для работы с ноутбуками, как Google , предлагают альтернативу в виде облачных графических процессоров, сеансы работы в них зачастую носят временный характер и могут прерывать длительные циклы обучения. По мере роста объёма наборов данных и усложнения рабочих процессов эти ограничения могут быстро превратиться в узкие места, что приведёт к замедлению и снижению надёжности обучения.

Ultralytics решает эту проблему с помощью опции обучения в облаке. Она предоставляет готовую к использованию среду, в которой Python и фреймворки, такие как PyTorch , что позволяет приступить к обучению без дополнительной настройки.

С помощью единой панели управления вы можете запускать задания на обучение и отслеживать их ход в режиме реального времени. Это позволяет сосредоточиться на улучшении моделей, а не на управлении инфраструктурой.

А теперь давайте посмотрим, как начать обучение работе с облачными технологиями на Ultralytics .

Шаг 1: Выберите базовую модель

Первый шаг — выбор базовой модели для обучения. Вы можете выбрать предварительно обученную YOLO Ultralytics YOLO , клонировать модель из сообщества или загрузить собственные предварительно обученные веса для удовлетворения индивидуальных требований.

Платформа поддерживает всеYOLO Ultralytics YOLO , включая Ultralytics , Ultralytics YOLO11, Ultralytics YOLOv8и Ultralytics YOLOv5, каждая из которых доступна в различных вариантах размера, таких как nano (n), small (s), medium (m), large (l) и extra-large (x). Благодаря различным вариантам моделей, предлагающим компромисс между скоростью и точностью, вы можете выбрать модель, которая соответствует вашим требованиям к производительности и вычислительным ресурсам.

Эти модели поддерживают целый ряд задач компьютерного зрения, с которымиYOLO Ultralytics YOLO уже хорошо знакомы, в том числе обнаружение объектов, сегментацию экземпляров, классификацию изображений, обнаружение ориентированных ограничительных рамок (OBB) и оценку позы.

Если у вас есть индивидуальные требования, вы также можете загрузить собственные веса предварительно обученной модели. Это означает, что вы можете продолжить обучение или дооптимизировать существующую модель, например детектор объектов, прямо на платформе, вместо того чтобы начинать с нуля. Это особенно полезно, если вы уже обучили модель в другом месте или хотите адаптировать модель для более конкретного сценария использования.

Шаг 2: Выберите набор данных

Следующим шагом является выбор набора данных для обучения. На Ultralytics вы можете использовать готовые наборы данных, такие как COCO , клонировать наборы данных из сообщества или загрузить собственный набор данных, адаптированный к вашим конкретным задачам.

Платформа поддерживает распространенные форматы аннотаций, такие как Ultralytics YOLO COCO, а также позволяет загружать необработанные изображения, если вы планируете аннотировать собственные данные непосредственно на платформе.

После загрузки наборы данных автоматически обрабатываются: проводится их проверка, нормализация, разбор меток и формирование статистических данных. Это позволяет сразу же получить представление о данных, включая распределение классов и структуру набора, а также помогает убедиться, что всё готово к обучению.

Наборы данных также автоматически привязываются к циклам обучения, что позволяет track данные использовались для каждой модели, и обеспечивать согласованность результатов в рамках различных экспериментов.

Шаг 3: Настройте параметры обучения

После выбора набора данных можно настроить параметры обучения, которые определяют процесс обучения модели. К ним относятся количество эпох, размер партии, размер изображения и имя запуска для журнала обучения. Многие из этих параметров влияют как на продолжительность обучения, так и на конечную эффективность модели.

Для более точного управления процессом обучения платформа также позволяет настраивать такие расширенные параметры, как скорость обучения, тип оптимизатора, настройки цветового расширения и другие параметры обучения. Эти настройки позволяют точно настроить процесс обучения с целью повышения точности и стабильности модели.

Шаг 4: Выберите GPU процессор

Далее вы можете выбрать GPU для обучения. Выбор подходящего GPU от таких факторов, как размер набора данных, размер партии, разрешение изображений и сложность модели. Нахождение оптимального баланса помогает обеспечить эффективность обучения, не затрачивая при этом больше вычислительных ресурсов, чем необходимо.

Ultralytics предлагает 22 GPU с различными объёмами видеопамяти ( GPU) и вычислительной мощностью, что позволяет решать как небольшие задачи, так и крупномасштабные рабочие нагрузки.

Благодаря этому вы сможете подобрать оборудование в соответствии со своими конкретными потребностями, независимо от того, занимаетесь ли вы обучением небольших моделей или работаете с большими и сложными наборами данных. Чтобы узнать больше, ознакомьтесь со списком доступных графических процессоров на страницедокументации по обучению на платформе Ultralytics .

Рис. 2. Некоторые GPU процессора, доступные через Ultralytics (Источник)

Шаг 5: Начните обучение по работе с облачными технологиями

После выбора модели, набора данных, параметров обучения и варианта вычислений запуск цикла обучения занимает совсем немного времени. С панели управления можно запустить обучение одним щелчком мыши, а платформа сама позаботится обо всем остальном: инициализирует среду и запустит задание на выбранном GPU.

С началом обучения вы можете отслеживать его ход прямо на платформе. На вкладке «Обучение» в режиме реального времени отображаются ключевые показатели, в том числе показатели эффективности, кривые потерь, загрузка системы и журналы обучения в реальном времени.

Чтобы узнать больше о локальном обучении или использовании Google с Ultralytics , вы можете ознакомиться с другими учебными материалами в официальнойдокументации по платформе Ultralytics .

Оценка и сравнение моделей на Ultralytics

После завершения обучения следующим шагом становится оценка эффективности вашей модели. На Ultralytics вы можете сравнивать результаты нескольких циклов обучения в рамках одного проекта, что позволит вам получить четкое представление о результатах различных экспериментов.

При разработке моделей обучение часто повторяется несколько раз с различными настройками, такими как изменение скорости обучения, размера партии или размера модели, с целью улучшения результатов. Каждый из этих прогонов дает модель, которая немного отличается от других, поэтому их сравнение имеет решающее значение.

Проекты служат центральной платформой, на которой объединены модели и эксперименты. Вы можете track , просматривать результаты и не отвлекаться, не переключаясь между различными инструментами или окнами.

В этом едином окне вы также можете проанализировать ключевые показатели эффективности, такие как точность, полнота и mAP средняя точность), чтобы понять, как ваша модель работает с различными классами. Кроме того, вы можете сравнить результаты обучения в режиме параллельного просмотра, чтобы определить, какие конфигурации дают наилучшие результаты. 

В дополнение к этим показателям вы можете воспользоваться вкладкой «Predict», чтобы быстро протестировать обученные модели на образцах изображений или данных, что поможет вам визуально оценить их эффективность и выявить возможные проблемы.

Используя эти данные, вы можете выбрать модель с наилучшими результатами, которая, как правило, сохраняется в контрольной точке «best.pt», и перейти к следующему этапу — будь то дальнейшая оценка, использование модели для инференции или развертывание модели через платформу.

Рис. 3. Пример просмотра показателей на Ultralytics (Источник)

Расчет затрат на обучение в Ultralytics

Обучение моделей распознавания объектов в облаке сопряжено с расходами на вычислительные ресурсы, особенно при использовании высокопроизводительных графических процессоров. Чтобы упростить этот процесс, Ultralytics предоставляет предварительную оценку затрат до начала обучения.

Это дает вам четкое представление о предполагаемом объеме использования, помогая планировать рабочие нагрузки, управлять бюджетами и избегать непредвиденных расходов до запуска задания обучения. Вот как можно проверить ориентировочную стоимость перед началом обучения.

Как рассчитывается продолжительность обучения

Чтобы точно рассчитать затраты, платформа сначала определяет, сколько времени займет одна эпоха обучения. Это зависит от таких факторов, как размер набора данных, размер модели, разрешение изображений, размер партии и скорость выбранного GPU.

На основе этих данных система определяет примерное время на одну эпоху и экстраполирует его на весь цикл обучения. Общая продолжительность рассчитывается путем суммирования времени всех эпох с небольшим запасом на запуск.

Эти накладные расходы связаны с такими задачами, как инициализация среды, загрузка наборов данных и подготовка GPU, что позволяет обеспечить отражение в оценке всего процесса обучения, а не только самого цикла обучения.

Как рассчитывается стоимость обучения

После расчета общего времени обучения платформа пересчитывает его в денежное выражение, используя почасовую ставку выбранного GPU.

Сопоставив продолжительность обучения со GPU , мы можем получить четкую оценку стоимости задачи еще до ее запуска.

Благодаря наличию предварительной информации можно легко скорректировать настройки, например настроить параметры обучения или выбрать другой GPU, что позволяет более эффективно сбалансировать производительность и затраты.

Рис. 4. Настройка обучения модели и расчет затрат в Ultralytics (Источник)

Основные преимущества использования Ultralytics для обучения моделей

До сих пор мы рассмотрели основные этапы обучения моделей компьютерного зрения и то, как они взаимодействуют на Ultralytics . 

Помимо этих основных функций, существуют дополнительные возможности, которые оптимизируют процесс обучения. Ниже представлен обзор некоторых ключевых преимуществ использования Ultralytics для обучения моделей:

  • Встроенная возможность воспроизведения экспериментов: каждый цикл обучения автоматически регистрируется с указанием полной конфигурации, включая модель, набор данных, параметры и настройки вычислений. Это позволяет легко возвращаться к экспериментам и надежно воспроизводить результаты.
  • Аналитика обучения в динамике: вместо того, чтобы просто просматривать итоговые результаты, вы можете track показатели меняются по ходу обучения, что поможет вам лучше понять поведение модели во время обучения.
  • Снижение эксплуатационных затрат: благодаря тому, что платформа в фоновом режиме занимается настройкой среды, управлением зависимостями и инфраструктурой, вы можете уделять больше внимания разработке моделей, а не настройке.
  • Централизованная организация экспериментов: проекты служат единым центром управления моделями, наборами данных и циклами обучения, что помогает сохранять структурированность экспериментов по мере усложнения рабочих процессов.

Основные выводы

Обучение — один из важнейших этапов жизненного цикла модели машинного обучения. От него зависит, насколько точно модель сможет распознавать и интерпретировать визуальные данные. 

Объединяя настройку обучающих данных, мониторинг, сравнение экспериментов и оценку затрат в одной среде, Ultralytics оптимизирует процесс создания высокопроизводительных моделей компьютерного зрения и их подготовки к развертыванию.

Познакомьтесь с нашим растущим сообществом и репозиторием на GitHub, чтобы узнать больше о компьютерном зрении. Если вы планируете создавать решения в области компьютерного зрения, ознакомьтесь с нашими вариантами лицензирования. Посетите страницы с описанием наших решений, чтобы узнать больше о преимуществах компьютерного зрения в производстве и искусственного интеллекта в сельском хозяйстве.

Давайте вместе создадим будущее искусственного интеллекта!

Начните свой путь в будущее машинного обучения