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

BOOX

Стаж на ФС с 2012 года
Команда форума
Служба безопасности
Private Club
Регистрация
23/1/18
Сообщения
29.050
Репутация
11.695
Реакции
61.868
RUB
50
Уже в 2023 году ИИ-решениями пользовались около половины крупных компаний в России, и еще около 20% планировали начать.

За год качество и доступность интеллектуальных систем выросли, как и спрос на них, особенно на нейросети. Как выбрать ту «самую» даже если вы не ИИ-специалист, рассказывают эксперты.

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

II_v_hanoe_na_sajt.jpg


Готовимся к выбору нейросети. Самое сложное — понять, а точно ли она нужна

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

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

Когда задача ясна, разберитесь, какие данные сможете собрать, чтобы обучить нейросеть решать именно ее. Данных должно быть много, они должны быть хорошего качества и структурированы: если «скормить» ИИ устаревшую или перепутанную информацию, система не выдаст адекватный результат. Так что проверьте источники данных, протоколы сбора и хранения. Убедитесь, что нет пробелов и необъяснимых аномалий. Датасета должно хватить на обучение и тесты нейросети: обычно на обучение отводят 70-80%, а на тесты — 20-30%.

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

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

Приступаем к поиску и выбору. Ликбез по характеристикам нейросетей

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

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

Самые распространенные типы архитектур

Однонаправленные или прямого распространения (feedforward neural networks, FNN). В таких сетях информация передается строго в одном направлении — от входных слоев к выходным. И поэтому они не могут «помнить»: учитывать контекст или анализировать с учетом прошлого. Это самый простой вид (после перцептрона — праотца нейросетей, который сейчас используют только для классификации входных данных).

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

Рекуррентные (recurrent neural networks, RNN). В этих нейросетях данные могут путешествовать туда-обратно. За счет этого сеть помнит недавнее прошлое: как человек помнит, посолил ли суп (только нейросеть не ошибается, в отличие от человека).

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

ИИ может помнить не только события минутной давности: у новых поколений рекуррентных нейросетей есть и долгосрочная память. Они называются сети долгой краткосрочной памяти (long short-term memory, LSTM) и управляемые рекуррентные сети (gated recurrent unit, GRU). Обычно их используют для работы с длинными последовательностями данных, например, в робототехнике.

Сверточные (convolutional neural networks, CNN). Как и однонаправленные нейронные сети, они не имеют памяти, но детальнее распознают визуальные объекты (с фото и видео) и другие двумерные/трехмерные данные (например, 3D-графики). Сверточные модели используют, чтобы находить сложные объекты даже на движущихся кадрах: в системах умного видеонаблюдения, автопилотах, медицинских изображениях.

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

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

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

Еще один момент, на который стоит отдельно обратить внимание, если ваша задача тесно связана с обработкой больших массивов текстовых данных, — это количество токенов, которые модель способна принимать на вход.

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

Во-первых, смотрите, сколько вычислительных ресурсов требует модель: она должна эффективно нагружать графические процессоры. Хорошо оптимизированная модель должна стремиться к высокой загрузке GPU (в идеале — выше 80 %).

Если ваш GPU используется недостаточно (например, загрузка составляет около 50%), это указывает на неэффективность загрузки данных или архитектуры модели. Инференс — применение уже обученной модели и обучение. Везде важно сокращать косты.

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

Как гарантировать точность и безопасность

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

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

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

Когда не обойтись без масштабирования

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

Какие расценки на рынке

Не изобретайте велосипед — построить свою фундаментальную ИИ-модель сейчас могут только корпорации. К примеру, OpenAI вложили в обучение GPT-4 более $100 млн, по Сэма Альтмана. Так что лучше купите подписку на готовую нейросеть или возьмите открытый код (в библиотеках вроде TensorFlow, PyTorch и Keras это можно сделать бесплатно) разработанных исследовательскими институтами моделей, интегрируйте к себе по API и дообучите.

Минимальный «джентльменский набор» выглядит так: 2 хорошие видеокарты, например, A100 или H100. На них вы сможете провести небольшие эксперименты, а если данные «легкие», то и довести до конечного решения. В идеальном варианте нужно иметь 8 карт на 1 дата-сайентиста, но это доступно не всем участникам рынка.

Если вы не можете купить их самостоятельно, воспользуйтесь облачными провайдерами. Такие сервисы есть у Cloud.ru, МТС, «Яндекса» и других. Для тренировки относительно простых сетей можно задуматься о найме 1-3 дата-сайентистов.

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

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

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

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

Когда определитесь с нейросетью, заготовьте метрики

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

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


 
  • Теги
    нейросети
  • Сверху Снизу