Ок, Лариса! Мониторинг проблем производительности с применением нейронных сетей

27.04.20

База данных - HighLoad оптимизация

Проводить мониторинг производительности вручную, выявляя закономерности в куче графиков и десятках таблиц, довольно сложно. Но это не значит, что разбираться с инцидентами нужно только после жалоб от пользователей. О том, как обучить нейронную сеть и заставить ее оповещать о проблемах, на конференции Infostart Event 2019 Inception рассказал начальник сектора разработки ООО «Группа Полипластик» Владимир Крючков.

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

 

 

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

 

Практические задачи, которые мы хотели решать с помощью нейросети

 

 

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

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

Одна из идей, которую я считаю оптимальной – это получать информацию о том, что сейчас происходит в системе буквально в двух словах. К примеру – «Все хорошо» либо «Свистать всех наверх, облачный сервер 1С упал, или отвалился интернет провайдер».

Самый оптимальный вариант для решения этой задачи – это использование нейронных сетей.

 

Что такое искусственная нейронная сеть?

 

 

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

Искусственная нейронная сеть – это упрощение биологической нейронной сети, упрощение структуры мозга. Не обязательно мозга человека, может быть, животного (крысы, мыши).

Основное звено нейронной сети – это нейрон. Он является кирпичиком, из которого выстраивается данная сложная структура.

Нейронная сеть обрабатывает сигналы:

  •  на вход (один или множество входов) нейрона подается сигнал,
  •  дальше происходит его обработка – она может быть сложная или простая;
  •  и этот сигнал передается дальше.

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

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

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

 

Представление искусственного нейрона

 

 

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

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

  • дендриты;
  • тело;
  • и аксон.

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

Соответственно, в упрощении нейрона все эти компоненты присутствуют:

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

 

Нейронные сети в цифрах

 

 

Немного в цифрах, чтобы вы представили, насколько это сложные системы.

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

 

 

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

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

 

Самоорганизующиеся нейронные сети Кохонена (SOM)

 

 

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

 

 

Самоорганизующиеся нейронные сети  (SOM)– они обучаются без учителя.

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

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

  • Используется простой алгоритм, это фактически однослойная нейронная сеть;
  • С помощью этой сети можно обрабатывать информацию без нормирования (нормирование – это стандартная процедура, когда вы переводите все доступные вам информационные сигналы к единой шкале значений от 0 до 1).
  • На вход сети вы можете подать любую информацию для анализа. Например, количество сотрудников или размер выручки (у одного клиента 300 тысяч долларов выручки и 75 сотрудников, у другого 85) – вы  подаете на вход сети эту информацию, и она все это понимает и обрабатывает.

 

 

Сеть устроена просто:

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

 

 

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

 

 

В нашем случае это:

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

 

 

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

Потом, в результате исправления она вернется в нормальное состояние, потом может еще что-то произойти. И тем самым мы можем увидеть эту динамику.

 

 

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

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

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

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

 

Как Лариса думает?

 

 

Итак, как в результате Лариса у нас думает?

Есть регламентное задание, которое запускает некоторую обработку:

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

 

 

В результате мы с вами имеем довольно простое суждение о состоянии нашей системы. Здесь приведена картинка – это динамический список в базе 1С. Цветами выделены различные области:

  • красным – проблемная зона;
  • розовым – критическая;
  • без цвета – это нормальная работоспособная система.

 

Нейронная сеть в 1С

 

 

Вы скажете, что использование нейронных сетей на 1С – это тяжело и нереально, однако на практике некоторые задачи решить на ней возможно.

  • Для нашего случая обработка входной информации по готовой нейронной сети на 1С выполняется очень быстро.
  • Основная проблема для 1С – это процесс обучения. Его лучше вынести на специализированные инструменты, такие, как Tensor Flow или написать какой-нибудь собственный API или обработку. 

 

 

Вот пример кода, который выполняет поиск решения нейронной сетью. Он в себе содержит не более 100 строчек кода и довольно прост.

 

 

Другой вопрос, который всегда возникает – как обучить нейронную сеть?

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

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

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

 

Где взять данные для обучения?

 

 

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

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

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

 

 

На слайде вы видите первую ситуацию, с которой мы столкнулись в процессе обучения. Здесь приведены примеры нагрузки на сервер 1С:

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

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

Соответственно, на нем можно выделить две области:

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

 

 

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

  • одна из групп является аварийной и характеризует проблемную ситуацию;
  • а другая – является нормальной, работоспособной системой.

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

 

 

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

Соответственно, количество анализируемой информации увеличилось – мы стали обрабатывать большее число критических случаев.

 

 

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

Здесь произошла ситуация, когда у одного из провайдеров в оборудовании произошло зависание системы, и она постепенно начала выкидывать клиентов из базы. Часть пользователей продолжала работать (1С показывала, что они в активном состоянии, что-то делают), но постепенно они тоже «отмирали».

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

 

Неизвестные режимы работы. Аномалии

 

 

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

 

 

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

 

 

Например, на графике приведено состояние системы, где у вас есть зона нормальной работы – нагрузка порядка 50-60%, и произошел скачок очереди к процессору совместно с повышением загрузки процессора до 90-100%. Это является отклонением, о чем Лариса нам успешно сообщила.

 

 

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

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

 

Организация оповещений

 

 

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

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

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

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

 

Структура решения

 

 

Итак, структурно данная схема довольно проста.

  • В центре находится конфигурация «Мониторинг производительности», которая хранит в себе фактическую информацию о сигналах либо решениях.
  • И два класса обработок, которые используются.
    • Первый класс – это обработки, которые загружают данные. Эти данные могут быть взяты из Zabbix, из «Центра контроля качества», данных технологического журнала, либо другие сигналы, которые вы сможете понять, получить и обработать.
    • И второй класс обработок – анализируют данные и оповещают о проблемах. В этот класс входят две обработки, работающие по регламентному заданию.
      • Первая обработка интерпретирует ситуацию с помощью нейронных сетей.
      • И вторая – логическая, которая принимает определенные решения и что-то делает.

 

Проблемы нейронных сетей

 

 

Однако у самих нейронных сетей есть ряд проблем.

 

 

Конечно же, одна из проблем – это вопрос обучения. Замечательный пример – это диван леопардовой расцветки.

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

 

 

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

 

 

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

 

 

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

 

Выводы

 

 

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

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

 

 

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

У нейронных сетей, как я говорил, есть определенная возможность – она видит закономерности там, где мы не можем увидеть. Вы в голове не можете удержать 20-30-40-50 параметров для тысяч контрагентов и понять, чем контрагенты схожи между собой, а чем отличаются и почему.

 

Где найти проект?

Проект у нас открытый, выложен на GitHub https://github.com/Polyplastic/1c-parsing-tech-log . Если есть желание, можете присоединяться.

 

Вопросы:

  • Я понял, что на первый слой вашей нейросети подаются данные из Zabbix или других систем мониторинга. Если меняется количество входных параметров, сеть приходится каждый раз переобучать? Или вне зависимости от того, какие системы мониторинга мы к ней подключаем, она продолжает так же хорошо определять аномальные ситуации?
  • Конечно, ей требуется переобучение, либо она будет игнорировать поданные вами данные.
  • А переобучение у вас происходит в каком-то другом модуле, не в 1С-ном?
  • Если мы берем сеть Кохонена, но ее можно переобучить и в рамках 1С. Конечно же, это будет немного долго. Но если вы возьмете Tensor Flow, то там обучение производится через аппаратное ускорение GPU – это буквально минуты. А на 1С мы обучали порядка часа.
  • А почему вы выбрали такую простую структуру нейронной сети? Почему не используете сверточные, рекурентные?
  • Нейросети такого типа широко применяются для решения задач кластеризации. У вас есть наборы данных. И есть некоторое фазовое пространство, которое состоит из N-координат (30-40 координат). И в этом пространстве у вас есть наборы областей, в которых находится система. Она занимает не все пространство, а располагается шариками. Соответственно, данный подход удобно, просто и быстро обрабатывает эту сеть. Относительно использования других типов сетей – здесь есть сложности. Чем больше промежуточных слоев, тем тяжелее ее обучить, тем сложнее вопрос переобучения. И в итоге получается не столь эффективно.
  • А можете привести качественные показатели – сколько у вас правильных срабатываний, сколько ложных срабатываний в процентном отношении
  • У нас есть два варианта использования – сеть на нечеткой логике, и искусственная нейронная сеть. Нейронная сеть – порядка 90% срабатываний великолепно отрабатывает. А из-за влияния каких-то других параметров, которые мы не учли – мы можем неправильно интерпретировать, в результате мы просто заводим новые данные, которые позволяют скорректировать данное отклонение, соответственно, она будет лучше ловить. Все зависит еще и от настройки – сколько у вас данных и какого они качества.

 

****************

Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2019.

 

30 мая - 1 июня 2024 года состоится конференция Анализ & Управление в ИТ-проектах, на которой прозвучит 130+ докладов.

Темы конференции:

  • Программная инженерия.
  • Инструментарий аналитика.
  • Решения 1С: архитектура, учет и кейсы автоматизации на 1С.
  • Управление проектом.
  • Управление продуктом.
  • Soft skills, управление командой проекта.

Конференция для аналитиков и руководителей проектов, а также других специалистов из мира 1С, которые занимаются системным и бизнес-анализом, работают с требованиями, управляют проектами и продуктами!

Подробнее о конференции.

 


См. также

Заполнение описания номенклатуры с помощью ChatGPT

Мастера заполнения Нейросети Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ ChatGPT. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ. Прошло аудит на 1cfresh.com. Версия для автоматического заполнения

5000 руб.

13.03.2023    16195    43    49    

74

Потоковая предметная фотосъемка c удалением фона (Canon & Nikon)

Нейросети 8.3.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Обработка подключения фотокамер Canon и Nikon к Управление торговлей 11.4 для потоковой загрузки фотографий в карточки товаров с автоматическим удалением фона

22800 руб.

24.06.2021    9278    2    3    

11

Заполнение описания номенклатуры с помощью GigaChat

Нейросети Мастера заполнения Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ GigaChat от Сбера. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ.

5000 руб.

08.11.2023    1534    7    0    

15

Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    3590    spyke    28    

47

Библиотека искусственного интеллекта для 1С

Инструментарий разработчика Нейросети Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Уже год с лишним, как большие языковые модели (LLM GPT) находятся в центре внимания. За это время появилось понимание, как можно использовать данную технологию в связке с 1С. Кроме того, теперь у нас есть множество провайдеров. Среди них не только зарубежные, но и местные. Данная библиотека обобщает опыт использования искусственного интеллекта в 1С и дает вам возможность создавать собственные решения, не отвлекаясь на второстепенные технические детали.

10 стартмани

11.03.2024    10560    32    mkalimulin    15    

54

Анализируем SQL сервер глазами 1С-ника

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить

1 стартмани

15.02.2024    8317    169    ZAOSTG    74    

101

Удаление строк из таблицы значений различными способами с замером производительности

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    6604    doom2good    48    

65

Опыт оптимизации 1С на PostgreSQL

HighLoad оптимизация Бесплатно (free)

При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.

20.11.2023    9440    ivanov660    6    

76
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user1089020 27.04.20 17:17 Сейчас в теме
2. protexprotex 115 28.04.20 08:23 Сейчас в теме
Ну в том виде, в котором сейчас существуют нейронные сети - качество мышления будет всегда на уровне микроба. Даже не таракана. Количественно можно в сеть хоть 300 миллиардов нейронов, но от этого качественный скачок не произойдет. Нужны качественно новые алгоритмы обучения сети. Т.к. при росте глубины сети возникает проблема синхронизации слоев сети между собой. Это решается путем остаточного обучения, но скорость сходимости оставляет желать лучшего. Чтобы обучить такую сеть даже на супермощных кластерах видеокарт нужно время - недели. А еще нужно выбирать оптимальную структуру сети - т.е. нужно запускать обучение несколько раз. В мозге все происходит по другому (пока точно не знает никто как). Т.е. об online обучении таких сетей пока и речи нет. Да и то - только распознавание кошек, собачек, голоса. А вот именно чтобы сделать online систему реагирующую на внешний мир хотя бы как таракан - тут бедааа... Но это не умаляет нейронные сети как аппроксиматор функции - и применение их в решении (например) указанным автором. Т.е. нейроныне сети - это не панацея (счас СМИ раздули из них чуть не аналог человеческого мозга (да и ученые специально подогревают интерес к ним чтобы финансирование получить)), а просто очередной инструмент решения определенного круга задач. Мне, например более близки алгоритмы бустинга - они более стабильны к переобучению.
vakham; wowik; +2 Ответить
3. wowik 886 28.04.20 12:47 Сейчас в теме
+1 за старания, картинки, изложение материала!
4. утюгчеловек 38 29.04.20 14:28 Сейчас в теме
Я пока не весь репозиторий вычитал. Интересно, но не понятно:

1. Есть ли вообще в индустрии ИТ кейсы применения карты кохонена для задачи мультиклассовой классификации? Я про карты Кохонена уже лет 8 точно не слышал. Кажется, что это древность покрытая пылью)

2. "90% великолепных срабатываний" - как измеряли и какая это метрика? Какой итоговый F1 для каждого класса (work/high/critical/overload)?

3. Было ли сравнение и по каким метрикам с базовыми решениями (простыми правилами на условиях, другими методами классификации - кажется в 1С есть дерево решений и К средних)

В публикации очень много воды. Зачем мне знать про аксоны и то как видит сеть (тем более что однослойная Лариса точно так не видит)?
troubleshooter; TerveRus; +2 Ответить
5. TerveRus 04.05.20 11:10 Сейчас в теме
Прочитать такую статью - лучший способ почувствовать себя тупой амебой)

Тема очень интересная, но и кажется невероятно сложной. Недаром даже Big Data в отельную профессию выделяют, а тут ИИ на стыке различных знаний и технологий. Даже не знаю, как найти время все это изучить и осознать, и получится ли)
6. maksa2005 534 17.01.22 15:30 Сейчас в теме
Мой главной вопрос!
Прикрепленные файлы:
Оставьте свое сообщение