Related Posts
- Оценка и планирование проекта
- Мысли о видах информационных систем…
- Конфигурация "Выдача пропусков и учет рабочего времени"
- Управление ИТ-проектами. Модуль 3: продвинутый курс по гибкому управлению проектами. Agile. Первый поток. Вебинары проходят с 11 сентября по 27 ноября 2024 г.
- Загрузка/Выгрузка Excel для справочника "Графики работы сотрудников"
- Онлайн-курсы по управлению ИТ-проектами от Марии Темчиной
Язык Python это не специализированный язык для создания нейросетей. Это язык общего назначения.
Операции с матрицами в numpy выполняются на 3 порядка быстрее вашей реализации в 1С.
Не нужно писать нейросети на 1С для продакшен процессов. Нужно брать готовые библиотеки и их использовать.
(0) для каких задач в 1с требуется machine learning , только планирование ?
Хорошая статья.
Подскажите пожалуйста, «digital-трансформация, digital-мир» это цифровая-трансформация / мир, или есть какой-то иной смысл непереводимости фраз на русский язык?
(2) Спасибо за вопрос! В разделе «С чего начать» статьи перечисляются еще несколько задач, кроме планирования.
(1) В момент редактирования документа в 1С, до его сохранения в базе данных, внешняя сеть на Python не увидит изменений в информации, которую вводит пользователь. Так что для многих задач в 1С ограничиться только внешней нейросетью будет сложнее.
(3) Главный смысл, как бы, в сочетании Python со средствами 1C — для применения нейросетей в компаниях, где есть 1С.
(5) Если исходить из
то да.
Но это не самый лучший вариант.
Лучше и практичнее: выносим обученную модель в микросервис и уже из 1С обращаемся к этому сервису.
не насилуйте 1ску, ей итак не легко ))
используйте инструменты, предназначенные для этих хадач, а в 1с готовый результат подгружайте.
Nvidia gpu в 1с не будет никогда, продолжения не будет, огромный мозговой потенциал работает над созданием библиотек и алгоритмов, реализовывать все снова и на лад 1сников это конечно весело
Имхо, статья похожа на курсовую, возможно имел место «укус Белокаменцева»
(9)Да когда первые несколько страниц — вступление, очень похоже, что так оно и есть. Мадам действительно разобралась с нейросетями и даже (ну ничего себе) научила 1с складывать два плюс два. Действительно очень важно и нужно особенно если учесть, что и алгоритмы и практическое применение нейросетей уже было на ИС.
(9)
О новый термин ввели..
(3) Смысл в том, что автор думает, что используя англицизмы она будет казаться умнее.
По мне так ровно наоборот, пихать англицизмы везде, даже не к месту, это полная пошлятина.
А прикольно почитать приличную современную
курсовуюнаучную работу.Так сказать с высоты нашего опыта осознать глубину своего невежества.Тезис о том, что нельзя сделать систему управляемой, если она не наблюдаема весьма интересен.
Особенно в свете тенденций отделения разработчика информационной системы от данных системы и приучение его работе с функциональной моделью как воспитание привычки к идеальному состоянию бизнеса.
Ох… Ну конечно не «нейросетей» а машинного обучения. Особенно для приведённых примеров задач… Логистическая регрессия и градиентный бустинг дали бы лучший результат. В 1С это можно делать посредством ВК или http сервисов. Даже если на python написали…. LLVM вам в помощь. А так очень много красивых букв конечно
(13)Позвольте полюбопытствовать, разработчик информационной системы — это кто ? Не кодер на плюсах, часом ? Нейросети больше любят математиков, как бы. Да, и 1С-разработчик больше сориентирован на предметную область, чем кодер на «языке общего назначения». Поэтому сети для 1С-ников — это true 🙂 Они быстрее разберутся и будут применять.
(14) «А так очень много красивых букв конечно» Это вы про LLVM ? 🙂 Кстати, я при использовании методов ML всегда обобщаю их до нейросетей. Так что всё таки нейросети. И только нейросети 🙂
(10)Статья для управленцев, однако. Для выдающихся ученых в следующий раз напишу компактно: 2 страницы диффур и анализ DNC для Neural ODE 🙂
(7)То, о чем вы говорите — это идеальный вариант. Но для компании, в которой есть только 1С, «На чём писать сеть ?» — это вопрос №3, т.к. вопрос №2 — это «Готов ли ваш ИТ-директор сразу брать специалистов по Python или он вначале посмотрит несколько простых примеров для простых задач на 1С?». Не все еще уверовали в ML 🙂 Вопрос же №1 — «Есть ли в компании кто-то, у кого всё в порядке с матано-функаном для корректной интерпретации результатов и построения моделей ?»
Библиотеки для нейросетей в меньшем приоритете, чем модели и данные, железо. Это не ООП. Сеть любой архитектуры со всеми видами оптимизации вы и сами напишите за вполне приемлемое время. А группа разработчиков — подавно.
О варианте «с микросервисом» будет следующая статья, с практическим примером. Будут только регистры и внешняя сеть.
(15) встречный вопрос а 1с разработчик он кто?
Если факультет прикладной математики, а не переученный бухгалтер или монтажник с неоконченным средне специальным то ваша статья это только начало.
Но вообще 2 + 2 это проблема, тут думать надо, яблоки считать, кубики, баранов. Можно и пропустить что то и дважды посчитать.
А таблицу умножения достаточно вызубрить.
(18) у вас какое-то смещенное мнение. Все строится от нейросетей. Т.е. все остальные алгоритмы машинного обучения у вас уже априори в проигрыше. На данный момент не существует алгоритма, который работает одинаково хорошо во всех задачах.
Чтобы получить какие-то результаты для понимания полезности внедрения ML, не нужен
, а нужен человек, который готов это все продвигать в компании.
И если речь идёт о найме, то нужно брать специалиста по машинному обучению, а не разработчика. Разработчики понадобятся уже после.
Вот вы говорите, что модели, данные и железо первично, а потом уже библиотеки. Но при этом предлагаете с нуля писать нейросети в 1С. Как я уже писал, numpy работает на 3 порядка быстрее реализации на 1С. Переводя на понятный язык: обучение нейросети, которое занимает 10 мин, например, в библиотеке tensorflow, у вас на 1С займёт от 7 часов до 7 дней. Чтобы получить что-то полезное на выходе, нужно прогнать десятки, сотни или даже тысячи моделей. На 1С же это займёт вечность.
И еще, почему вы в статье пишите «.. используя машинное обучение и искусственный интеллект..»?
Это тоже самое что писать «… используя колеса и автомобиль…»
Интересная статья даже если не соглашаться с выводами. Очень много примеров больших и маленьких открытий в современной математике. Чтобы искать каждый факт по отдельности, может быть, подскажете, откуда это все в основном взято. Может быть книга (чья?) или лекции (чьи?) или что-то еще. То есть где про все это почитать подробнее? Имеется ввиду не азбука, а вот типа этого «методы нейроматематики позволяют заглянуть в восемь раз дальше по сравнению с классическими методами прогнозирования»
профессия библиотекарь на сегодняшний день уже может быть переквалифицироваться в хранителя музея.
(20)Ну, чтобы в философию не уходить, давайте просто вы вывесите код сети в 1С и код на Python этой же сети для Tensorflow: опишем железо, параметры данных и замерим время вычислений, сравним результаты.
А то просто словами можно кидаться бесконечно. Простые нейросети в 1С легко реализуемы и быстро обучаются. Это факт. А против фактов не попрешь 🙂 Поэтому нейросети могут быть взяты на вооружение любой компанией, где есть 1С. Пишите сети в 1С. Это легко и надежно. Ну, и конечно их архитектуры планируйте с учетом доступных ресурсов системы и нагрузки. От этой задачи никто не освобождал.
(21) Это взято из моей презентации для компании, в которой я внедряла сеть на 1С 🙂
А про результаты «в восемь раз дальше» , т.е. о Reservoir computing данные исследований приведены подробно здесь:
Возможно, через 2-3 месяца выложу сюда Reservoir computing, обобщенный до нейросети в 1С.
Так себе информация я Вам скажу. Не очень яркие примеры использования нейросетей в 1С. Для того, чтобы ИИ правильно анализировал и принимал решения по работе в системе, необходима приличная база с данными, а также систематизация. Допустим, кладовщик должен отгружать товары сразу, после того как он попал в систему, но кладовщик у нас лентяй и делает с опозданием на час. А иногда вообще нужно действовать по обстоятельствам. Что тогда? ИИ будет выдавать такие же отвратительные результаты. Думаю для 1С ИИ не очень подходит.
(4) В реальности просто никто не придет и не скажет » сделай мне модель классификации того то по такому то набору признаков «, т.е. это либо в пределах самодеятельности и проф. любопытства ,либо какая то другая должность, не программист 1с (имо)
Ну а в техническом плане наверное действительно проще не изобретать велосипед на 1с а взять готовые библиотеки на питоне.
(0) Код конечно… Вообще не читабельный. Сонара на вас нет.
Что касается тематики — я используюhttps://github.com/BVLC/caffe через NativeAPI и не заморачиваюсь этим вашим питоном
А для любителей питона я уже год назад показывал — уже все готовоhttps://blog.dataiku.com/deep-learning-with-dss
(8)С точки зрения бизнеса, временные издержки по изменению ИТ-инфраструктуры воспринимаются компанией более болезненно, чем постоянные издержки, связанные с отставанием этой инфраструктуры от какого-то субъективного идеала, известного, к примеру, только вам. Это я про ошибочность распространенного в среде любителей компиляторов и ООП утверждения о том, что ML в 1С не может быть по определению.
Знаете продакшн-пословицу «Нафиг индукцию, давай продукцию»? Она на пальцах поясняет причину, почему все работают в 1С, а не, к примеру, в Dynamics AX. Работали, работают и будут работать. И все довольны 🙂 Потому, что у 1С с MVP всё в порядке.
По этой же причине все будут строить сети в 1С, пока кто-то в это время рассказывает о смысле жизни и высоких возможностях в параллельных мирах. Каждому своё 🙂 Зарабатывайте на внедрение нейросетей в 1С!
Всё, что большими коллективами людей из сферы AI и ML придумано и написано, к примеру, для Tensorflow, может быть отобрано под конкретную задачу и легко переписано под 1С. Нейросеть — это простой «алгоритм». Никаких аналогий, к примеру, с гигантскими веб-фреймворками там нет. На нейросетях кодеры в таком объеме не нужны. А недостающие несколько обработок для вычисления функций матана написать для 1С или вывести перемножение матриц в ВК на GPU — это, вы считаете, проблема ?
(20)Вас пугает только вычисление матриц 1С-нейросетью ? Или еще что-то является критичным ? Матрицы выносим в ВК. Что еще там пересчитывается также часто ? Вынесите матрицы через NativeAPI и сравните с numpy — разрыв значительно сократится.
(29) интересненько, а расскажите как n мерные массивы передавать в ВК что бы там умножать?!
(31) повторю вопрос: «интересненько, а расскажите как n мерные массивы передавать в ВК что бы там умножать?»
Спасибо!
Явно интересная статья, которая может пригодиться — в том числе, в той сфере, которой я занимаюсь.
Жаль, что моих знаний математики и тем более программирования недостаточно для того, чтобы сходу понять ее.
Спасибо за статью!
Помню, когда ещё был студентом — баловался нейросетями на страших курсах. Экспертную систему делал. И всё на 1С. Ну побаловался и забросил — не предназначена платформа для этого — хотя да, может, в силу своей некоторой, базовой универсальности, и лёгкой соединённости данных и алгоритмов. Но что, требуется от нейросети — скорости! А 1С Платформа её предоставить не сможет А так…. нейросеть можно и на СУБД построить, например на MS SQL Server через Transact SQL — и никакой посредник не нужен будет. Но скорости этого не особо прибавит. Тут нужен специальный движок, который сможет очень быстро и легко (для разработчика):
1. Совершать параллельные вычисления
2. Осуществлять гигантские выборки статистических данных
3. Совершать короткие но массовые апдейты весовых-ресурсов
4. Осуществлять быстрый массовый сетевой поиск (тут кстати, реляционные СУБД не шибко производительны)
5. Иметь удобны средства по настройке и тестированию нейросети
Обучение это хорошо. Научить бы ИИ придумывать что-то новое…
Интересней было бы почитать не то как реализовать, про это уже много чего написано, а то что с помощью этого уже реализовано и работает. И желательно в сравнении с другими способами.
Например планируем закупки и сравниваем несколько подходов: пальцем в небо, от результата прошлого периода + 10%, нейросетью и тд. Что бы понимать какие задачи и на сколько эффективно можно решать с помощью нейросетей.
Так же возникает вопрос а кто будет отвечать за неверный прогноз?
(32) А что, вы не знаете, как работать с тензорами ? Выносите их данные в ВК и дальше делаете с ними всё, что захотите.
ВК для матриц и GPU со всеми библиотеками выложу со следующей статьей.
(33)Для хранения и передачи n-мерных матриц все элементы матрицы могут быть представлены в виде n+1-мерных векторов, которые будут содержать на 1-м месте значение соответствующего элемента матрицы, все остальные n-параметров (со 2-го по n+1-ый) — это его соответствующие n-индексов в матрице.
(36) Чтобы не перегружать систему 1С и не блокировать работу пользователей, делается зеркальная копия базы (например, распределенная база данных и т.п.) с определенной периодичностью производим обмены.
Все вычисления, касательно обучения нейронной сети, переносим в копию базы, и далее готовую сеть переносим в рабочую базу.
Для ускорения формирования выборок, поиска в базе — индексируем использующиеся при поиске реквизиты, это увеличит размер базы данных, но значительно сократит время поиска.
(40)понятно, спасибо
Жду в следующей статье упаковку массива в строку и обратный парсинг в numpy массив
С удовольствием проголосую за номинацию «теоретик-хайповед», спасибо за то, что дали понять утопичность дальнейшего взаимодействия
(41) крутяк, можно мне к вам на работу?
(26)Ну, да. Это задачи для датасайнтиста. Кому интересен ML, тот и будет его продвигать и внедрять.
Проще сделать нейросеть на 1С, с разными костылями на ВК, чем приучить работать в Tensorflow всех начальников торговых и производственных подразделений, экономистов, главного бухгалтера и финансового директора компании, и еще нанять несколько Python-разработчиков.
(38)Спасибо за дополнения и поддержку дискуссии! Планирую получить собственные экспериментальные результаты применения Reservoir computing на полноценной выборке в ближайшие месяцы. Результаты выложу здесь.
Насчет термина «нейробум»… Судя по количеству реально работающих приложений ИИ, сложно назвать это данью моде.
(43) Подобные фантазии со строкой слегка удручают 🙂 Вам надо, как бы это сказать, наверное знания немного подтянуть.
Для того, чтобы нейросеть могла работать on-line и использоваться в текущей работе пользователя, т.е. корректировать действия пользователя до того, как данные будут записаны в базу данных 1С, необходимо хранить саму нейронную сеть в sql-таблицах 1С (например, в виде регистров).
В момент заполнения документов, система сама отслеживает прописанные события формы и обращается к существующей на этот момент нейронной сети в 1С.
Нейронная сеть в 1С (n-мерная матрица) хранится в виде регистра сведений в sql-таблице базы данных. Эта таблица/регистр содержит n+1 реквизит, каждый элемент n-мерной матрицы (n+1-мерный вектор) — это запись в sql-таблице. Первый реквизит содержит значение соответствующего элемента матрицы, остальные n-реквизитов — соответствующие n-индексов в матрице.
Для того чтобы нейросеть могла обучаться на реальных примерах, для пользователя создается обработка. На форме обработки задается шаблон создания и заполнения примеров для обучающей выборки. Вся эта информация так же фиксируется в sql-таблицах 1С (регистр сведений).
После того, как обучающий пример в 1С зафиксирован, 1С вызывает внешнюю компоненту, которая запускает расчеты на Python. Python обращается к sql-таблицам 1С, в которых хранятся записи обучающей выборки. Python, произведя расчеты для нейронной сети, записывает полученный результат в sql-таблицу баз данных, в которой хранится нейронная сеть. В дальнейшем при работе пользователей on-line, 1С обращается к нейронной сети, которая является результатом, полученным в результате работы Python.
(45) вк или python — дело вкуса (хотя вы сами упомянули последний в заголовке) .
1с =>python можно сделать , например, через rpc
на скриншоте 2х2 на питоне через 1с (без ml )) )
Насколько могу судить по примерам из интернета , там нет многостраничного сложного кода . Любой разберется. Даже я хоть и не настоящий
сварщикпитонист ))ну уж точно не надо)) Им нужен готовый продукт , красиво упакованый и перевязаный ленточкой. Полезные отчетики , кнопочки в 1с , экономистам можно картинки из Matplotlib
(38) Собственно, последний абзац у Горбаня своей ошибочностью перечеркивает все предыдущие размышления.
Вообще, для любой задачи можно построить специализированную машину, которая будет решать задачу лучше, чем универсальный компьютер (нейро или классический). В теории. На практике для огромного количества задач экономически необоснованно конструировать специализированные машины. А, к примеру, для шахмат, для распознавания голоса и изображений многолетние вложения в разработку алгоритмов уже практически влет разгромлены нейросетями. Да, это не философский камень. Но и давно уже не игрушки.
Так что учите ML или вас ждут перспективы разработчиков на фоксбейз.
(39) «кто будет отвечать за неверный прогноз» — вообще никак не относится к применяемым алгоритмам.
А про планирование я вам скажу. Если нет жесткого линейного алгоритма расчета, то нейросети — единственный вариант, который дает хоть какую-то надежду на результат, все остальное мало отличается от «пальцем в небо». Это по личным наблюдениям за полугодовым процессом попыток подобрать метод планирования продаж, причем в достаточно тепличных условиях.
(42)Всё это капля в море — а перенос в другую базу — никак не прибавит аппаратных мощностей!
(42)Всё это — капля в море. А перенос в другую базу — никак не прибавит аппаратных мощностей!
А вот интеграция с проектом MS Azure Machine Learning — вполне была бы интересна — коли у компании 1С (ну или, например, Яндекса) пока нет ещё своего аналогичного проекта.
(47) Я думаю, из приведенного выше описания понятно: нейросеть находится в 1С, обучается в режиме online, а все «тяжелые» вычисления производятся в Python, в первую очередь матрицы, в т.ч. и на GPU. Вялые контраргументы еще остались у кого-то ?
(48) С rpc вариант стоит использовать. Сделаю, сравню с ВК. Спасибо!
Я ниже, в ответе на комментарий, описываю архитектуру связки «1С-нейросеть + Python», с выносом основных вычислений в Python.
(51) Аппаратные мощности прибавит использование GPU, после того как мы вынесем основные вычисления в Python. Но только вычисления, а не сеть. Сеть остается в 1С. Я ниже, в ответе на комментарий, описываю всю связку «1С-нейросеть + Python». И проблема с производительностью уменьшается до допустимой.
(52)Главное интеграцию организовать так, чтобы нейросеть могла обрабатывать не сохраненные в базе данных данные о работе пользователя. Это важно для многих задач. Т.е. в момент редактирования документа в 1С, до его сохранения в базе данных, нейросеть должна видеть изменения.
(54) да я потом прочитал коментарии ниже , но было поздно исправлять
текст запроса для xmlrpc
Показать
Крикливые заголовки, а также цитирование себя в соседстве с Кантом и Винером (причем себя впереди них), утонули в бессодержательном бла-бла-бла.
Это курсовая экономиста или маркетолога?
(58)
«Так сказал я и сегодня, ну ещё Кант, но давно».
Мне нравится напор автора.
Надо продолжать копать с такой же энергией в этом направлении.
Воды можно поменьше, а конкретики побольше.
(58)
Да, уж от скромности автор точно не простудится))
Каждый ИТ директор должен защитить свою кандидатскую диссертацию!
(62)И начать это делать на Инфостарте с виде статей и лирических отступлений от оных. И главное отвечать в комментах. 🙂
(63) или с преподавания информатики в младших классах с репетиторством.
.
(64) Кхм, я параллельно преподаю детворе информатику и роботоехнику)) Я бы рекомендовал попреподавать ИТ или что-то близкое детворе возрастом от 5 до 14 лет — получите бесценные знания и опыт по понимаю и использованию социальных инстинктов людей для работы в команде что, несомненно, поможет в становлении ИТ-директора))
приветствую , тема интересная, но в статье отсутствует важный момент, а сколько это денег стоит?
Ответ, начинайте на тех серверах, что есть и своими силами — не устраивает.
Так к примеру, наша БД далеко за ТБ и вешать на нее джобы, которые будут бегать и анализировать кучу данных нельзя.
Это значит, репликация, отдельная БД, , отдельный сервер, отдельный саппорт всего этого.
К примеру сколько будет стоить это история на данных размером хотя бы 1 ТБ?
(37) в том-то и проблема… ни какого ИИ не существует… и даже не известно с какой стороны к нему подойти…
я еще в 80-е в СССР читал в журнале «Наука и жизнь» статьи про экспертные системы и системы искусственного интеллекта… с тех пор мало что поменялось, за исключением увеличения производительности и миниатюризации компьютеров…
увеличение размера и сложности программ в совокупности с резким увеличением скорости их выполнения дают ложное ощущение, что машина думает, но она как и 40 лет назад просто считает….
Весьма спорное утверждение. Вектор бизнеса, фанатично направляемый, например, методами науки эконометрики, может довести до банкротства, а не до совершенства.
Отдельный вопрос: Какие методы управления считать научными?
Сколько букв, и ничего по существу. Бизнес нуждается в диджи…, диги…, дижи… Нуждается, в общем, наш бизнес, значит. Спасибо, кэп.