# 7 - Сходны ли ваши проблемы с проблемами остальной отрасли?

Как важно перестать изобретать велосипед.

Это рассказ №7 из серии Летные проверки любого (большого) проекта машинного обучения.

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

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

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

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

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

Некоторые триггеры, которые могут помочь:

  • Спросите себя, как компания, которой вы больше всего восхищаетесь (Google, Facebook, Amazon, Tesla, Mercado Libre), решит эту проблему. Что мешает мне решить ее таким же образом?
  • Сколько времени в проекте уходит на поддержку или интеграцию унаследованных систем? Можно ли масштабировать в будущем?
  • Есть ли какие-нибудь документы, подтверждающие то, как я моделирую проблему? Есть ли еще какие-нибудь обновленные статьи по этой теме?
  • Готово ли мое решение для конвейера данных? Разве не стоит провести небольшое исследование решений для конвейеров данных, чтобы увидеть, как разные компании решили эту проблему?

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

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

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

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

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

Возникает вопрос: можно ли превратить компоненты текущего решения в товар?

Осталось еще 3 чека! Не отставайте и наслаждайтесь полетом!