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

Недавно мне довелось пообщаться с Капитаном. Рави Будвар, капитан, работает в торговом флоте. Капитан Будхвар провел много лет в море и является экспертом во всех тонкостях морской торговли и судоходства. В настоящее время он работает с Fleetship Management, лидером в этой области. Он также получал награды на протяжении всей своей карьеры. Разговор с ним был очень проницательным, потому что, как наземному жителю, легко забыть о доставке. Тем не менее, это важная отрасль. Фактически, мировой торговый флот в 2020 году отгрузил 2 миллиарда тонн дедвейта. Без доставки современные цепочки поставок не существовали бы.

Когда капитан Рави объяснил масштабы судоходной отрасли, я был удивлен. Корабль среднего размера может весить более 90 000 тонн и постоянно находится на воде в течение нескольких месяцев подряд. Экипаж на борту сталкивается с такими проблемами, как плохая погода, постоянно меняющийся морской пейзаж, 24-часовая навигация, смена часовых поясов. Если у корабля возникнут проблемы в середине рейса, ремонт может быть сложным. Больше всего впечатляет то, как они могут управлять всем этим небольшими экипажами (средний размер экипажа на этих кораблях составляет от 20 до 30 человек).

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

Четко определенные обязанности + приоритеты

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

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

Это то, что могут использовать многие организации. По моему опыту, у руководства часто есть недоработанные идеи для проектов. Много времени тратится на получение наборов данных (никто не знает, какие из них будут актуальны), согласование деталей с заинтересованными сторонами и переделывание целых сегментов из-за внезапного изменения требований. Однажды я провел целую неделю в ожидании, чтобы узнать, что мне нужно делать. Более четкое и строгое разделение труда с четко определенными ролями и обязанностями сослужит хорошую службу компаниям/организациям.

Документация

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

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

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

Система планового обслуживания

Глядя на масштаб кораблей, мне было любопытно одно: «Как вы не даете вещам ломаться?» Это особенно важно для кораблей. Помните, что каждый из этих кораблей находится в море, где ремонт в случае возникновения проблем непрост. Размер этих гигантов также означает, что вытаскивание их из глубоких вод будет проблемой (грузовые корабли легко затмевают авианосцы). И есть стоимость. Задержка на день может привести к потере миллионов долларов.

Есть и проблема безопасности. Авария кораблей в глубоком море может создать серьезную опасность для безопасности экипажа. Судя по грузу, это также негативно повлияет на морскую биологию в окрестностях. Таким образом, нет права на ошибку.

Так как же команда из 20 человек обслуживает корабль водоизмещением в тысячи тонн, замысловато сконструированный с тысячами труб, стоков и других движущихся частей? Особенно, когда некоторые из этих частей больше, чем сам экипаж (двигатель на этих кораблях больше, чем большинство домов). Как технический специалист, я ожидал тонны высокотехнологичных систем мониторинга и мониторинга ИИ. Решение было намного проще.

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

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

Избыточность

Безопасность является главным приоритетом для всех моряков. Это проявляется по-разному: от остановки работ (любой член бригады может прекратить работу, если считает ее небезопасной) до настойчивого требования предельного внимания к деталям. Наиболее ярким примером этого является встроенная в корабли избыточность.

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

На каждом корабле также есть 2 спасательные шлюпки. Общая вместимость этих спасательных шлюпок должна (согласно международному праву) составлять 200% от вместимости корабля. На случай отключения электроэнергии на корабле есть несколько генераторов (и резервных копий к ним).

Как вы можете применить это к машинному обучению? Прежде всего: перекрестная проверка всего. Каждый раз, когда вы используете модель ML, вам нужно использовать перекрестную проверку с ней. Это просто, это эффективно, и это серьезно недоиспользуется. После этого начните пробовать разные случаи. Машинное обучение довольно хрупкое, и вы никогда не должны отказываться от него после одной настройки. В статье Почему вам нужно тратить больше времени на оценку ваших моделей машинного обучения представлены более подробные сведения о том, как, казалось бы, произвольные решения при настройке ваших моделей глубокого обучения/ИИ могут значительно исказить результаты.

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

Хотя может возникнуть соблазн броситься к тестированию моделей, убедитесь, что вы сначала покрыли свои базы. Хорошая модель может улучшить вашу производительность на 5%, но если вам придется постоянно переобучать и перестраивать, ваша система потеряет деньги. Тратить много времени на тонны и перекрестную проверку/множественные сплиты не очень сексуально, но это важно.

Деньги лежат в масштабе

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

Когда вы пытаетесь работать с машинным обучением, помните об этом. Ваши решения не будут по-настоящему ценными, пока они не смогут масштабироваться. Когда я работал с ICICI Bank, наш набор данных добавлял 10 миллионов образцов каждый день. Моя работа с ForeOptics носила глобальный характер (анализ цепочки поставок). Университет Джона Хопкинса потребовал от меня оценить политику здравоохранения всего штата.

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

Капитан может все (врач, навигация и т.д.)

Это было, пожалуй, самым неожиданным аспектом. Капитан Рави сказал мне, что капитаны кораблей также выполняют функции медицинских работников, навигаторов и всех остальных, кому это необходимо. Они имеют право подписывать свидетельства о рождении, смерти и браке. Им также приходится иметь дело с таможенными и портовыми властями. У них есть высшая власть (и ответственность) над кораблем. Если у одного из членов экипажа возникают какие-либо проблемы (в том числе технические), капитан заступается за них.

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

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

Это относится и к вам на личном уровне. Чем больше вы знаете о различных идеях, тем лучше вы будете решать проблемы. Несмотря на то, что я специализируюсь на машинном обучении, я знаком с разработкой для Android (JavaScript и Kotlin), веб-разработкой (JS, React, Python), функциональным программированием (Haskell) и программированием на стороне сервера (Java). Это помогло мне с моим машинным обучением, так как я могу проявлять большую свободу действий и пробовать больше вещей в своих проектах.

Именно поэтому я говорю о важности основ математики, программирования и компьютерных наук в своей статье Как научиться машинному обучению в 2022 году. Все это даст вам перспективы, которые имеют решающее значение для ML (машинное обучение/глубокое обучение/искусственный интеллект являются пересечением этих областей). Если вы хотите развить свои навыки в двух последних аспектах, ознакомьтесь с Интервью по программированию — это просто. Это еженедельный информационный бюллетень по программированию, созданный мной. Это проверенный способ использовать открытия, которые я сделал во время репетиторства, чтобы помочь вам легко повысить свою производительность. Узнайте больше об этом здесь

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

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

Если вам понравилась эта статья, посмотрите мой другой контент. Я регулярно публикую сообщения на Medium, YouTube, Twitter и Substack (все ссылки ниже). Я занимаюсь искусственным интеллектом, машинным обучением, технологиями и разработкой программного обеспечения. Если вы готовитесь к собеседованиям по кодированию, ознакомьтесь с моим бесплатным еженедельным информационным бюллетенем Coding Interviews Made Simple.

Чтобы помочь мне лучше писать статьи и понять вас, заполните этот опрос (анонимно). Это займет максимум 3 минуты и позволит мне улучшить качество моей работы.

Не стесняйтесь обращаться, если у вас есть какие-либо интересные работы/проекты/идеи для меня. Всегда рад вас выслушать.

Для денежной поддержки моей работы следуют мои Venmo и Paypal. Любая сумма приветствуется и очень помогает. Пожертвования открывают эксклюзивный контент, такой как анализ бумаги, специальный код, консультации и специальные тренировки:

Венмо: https://account.venmo.com/u/FNU-Devansh

Paypal: paypal.me/ISeeThings

Свяжитесь со мной

Вы можете связаться со мной на любой из платформ или ознакомиться с любым другим моим контентом. Если вы хотите обсудить репетиторство, напишите мне в LinkedIn, IG или Twitter. Проверьте бесплатную реферальную ссылку Robinhood. Мы оба получаем свободный сток (денег вкладывать не надо), и никакого риска для вас нет. Таким образом, если вы не используете его, вы просто потеряете бесплатные деньги.

Ознакомьтесь с другими моими статьями на Medium. : https://rb.gy/zn1aiu

Мой Ютуб: https://rb.gy/88iwdd

Свяжитесь со мной в LinkedIn. Подключаемся: https://rb.gy/m5ok2y

Мой Инстаграм: https://rb.gy/gmvuy9

Мой Твиттер: https://twitter.com/Machine01776819

Если вы готовитесь к программированию/техническим интервью: https://codinginterviewsmadesimple.substack.com/

Получите бесплатный сток на Robinhood: https://join.robinhood.com/fnud75