|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Добрый день, коллеги. На локальном компьютере в Developer версии сервера поднял SSAS. Компьютер мощный (SSD, i7). Сделал локально же куб (от миллиона до 5 миллионов записей, 10 измерений), пытаюсь на основе этого куба построить "структуру интеллектуального анализа данных" на деревьях (самый базовый алгоритм), для прогнозирования. Куб считается минут за 5, но модель обрабатывается очень долго - почти сутки. Можете подсказать, где можно почитать что происходит, когда идёт обработка модели интеллектуального анализа данных и каким образом можно её ускорить? В интернете, к сожалению, подробной информации не нашёл - на MSDN очень мало информации и она очень поверхностная, нигде не могу найти более глубокую информацию... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 16:58 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев, 1) смотрим загрузку памяти/процессоров, 2) уменьшаем размер выборки если есть достаточная репрезентативность и хватает статистической значимости (влияние на качество модели). что за алгоритм используется хоть? есть довольно тяжелые, есть очень лёгкие (по расчётным мощностям) имхо - не стоит так настойчиво ставить цель научиться наступать на как можно больше расставленных граблей описания принципов работы алгоритмов есть на docs.microsoft.com где явно написано ! Important Data mining is deprecated in SQL Server Analysis Services 2017 т.е. то что они там есть - это всего-лишь для совместимости (и повторю - не развивалось с 2008го года, т.е. 10 лет, кроме того перестало развиваться практически сразу после выпуска, попросту не взлетело {хотя в некоторых местах на тот короткий момент прижилось}) легче будет на распределённых кластерах считать типа https://community.cloud.databricks.com/ (или не бесплатное - коммерческое, там расчётные мощности получше) https://www.kaggle.com/ ну и как ранее советовали: a) R / Python (внутри SQL Server) b) облака Azure / AWS / Google ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 17:36 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышевна деревьях у decision trees есть https://docs.microsoft.com/en-us/analysis-services/data-mining/microsoft-decision-trees-algorithm-technical-reference#customizing-the-decision-trees-algorithm ]параметры настройки, можно подёргать параметры support, split, score сколько факторов используется? если есть непрерывные (continious) то можно их разложить в bin (на диапазоны) - превратив в дискретные, очень облегчает нагрузку ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 17:47 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 17:48 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Понятно, спасибо. Видимо делать прогнозирование на SSAS - было очень плохой идеей... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 19:09 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев, ну очень это слишком конечно как расчётная часть - есть легкодоступные инструменты намного более производительные, современнее, перспективней и гибче (в плане алгоритмов/настроек/автоматизации) хотя если есть желание и ограничения - SSAS Data Mining тоже вполне пока подходит, но это уж чисто на любителя, планировать новую архитектуру на этом - сильно не по IT фэн-шую (т.к. перспективы/альтернативы, современные стандарты/практики в IT, прогнозы по технологиям) в том-же SSAS MD есть пользовательские assemblies/dll на которые можно прикрутить любые функции взаимодйствующие с внешими приложениями/сервисами/библиотеками (с тем-же SQL Server, R/Python и т.д.) в табличной модели их нет но есть direct_query который тоже-самое может делать на уровне SQL (.NET/ C# / CRL) (т.к. часто все комбинации предварительно материализовывать нет смысла, легче запрос в тренированную модель послать и получить ответ, есть и scalar и bulk варианты) Так что SSAS как self-service BI и аналитика - вполне подходит даже для прогнозирования/планирования с т.зр. элемента front-end цепи где прогнозная часть считается на лету (не важно: с полной тренировкой модели по запросу или на основании предварительно подготовленнойй модели) или подставляется из заранее расчитанных/материализованных исходов , а вот как его разумней готовить - это уже каждому по способностям/возможностям, на усмотрение и риск архитектора (если есть). вкратце - можно и использовать SSAS DM/DMX, вопрос нужно-ли.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 19:37 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр, тут вопрос в том, что Вы прогнозируете. И сколько факторов учитываете при прогнозе (я так понял, порядка десятка). Т.е. одно дело - ритейл, другое - потребление электроэнергии или курс валют. Есть множество алгоритмов (и решений), каждый из которых лучше подходит для той или иной задачи, как и набор наиболее влияющих факторов. Есть "универсальные" инструменты (навскидку назову Oracle Demantra, т.к. IBM SPSS требует более детальной подготовки данных потому как многофакторный анализ во весь рост, JDA больше заточен под дистрибуцию и ритейл, тем более - легкие решения типа ForecastPro, сотни их), которые прогоняют разные модели с различным набором параметров, потом "разворачивают назад" регрессионным анализом, смотрят какой алгоритм лучше ложится на исходные данные, строят доверительный интервал прогноза и подбирают наилучший алгоритм. В любом случае, очень много зависит от качества исходных данных - их надо готовить (убирать выбросы, связанные с маркетинговыми кампаниями и т.д., где не было остатков и были нули - заполнять по среднему) и кол-ва параметров - если вы в данные не запихнете календарь / сезон / праздники (постоянные и с "мягкой" датой) - их не один алгоритм не учтет, хоть R хоть databricks. Что за задача? Ритейл? С Уважением, Георгий ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 09:29 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
George Nordic, Задача - логистика. Машины ездят туда-сюда, грузы возят. По одному направлению могут за месяц 5 раз проехать, а потом за год ни разу. А есть очень популярные направления. Поток машин и стоимость зависят от сезонности и даже дня недели - будни или выходные. Цена перевозки зависит от веса, типа груза, и ещё кучи параметров. Хотел алгоритм - чтобы просто в него загнал все данные, он долго-долго думал, а потом построил модель, которая идеально всё прогнозировала. Но насколько понял - так не бывает - нужно будет самому искать закономерности, делать модель и долго муторно её отлаживать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 13:02 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр БердышевХотел алгоритм - чтобы просто в него загнал все данные, он долго-долго думал, а потом построил модель, которая идеально всё прогнозировала.Да, мы все хотим большую красную кнопку... ты ему курс акций и фазы луны, а она - когда покупать блокчейн Александр БердышевНо насколько понял - так не бывает - нужно будет самому искать закономерности, делать модель и долго муторно её отлаживать.Да, увы. Плюс акции конкурентов, а то Грузовичков или ДелЛин как запустят акцию - модель может поехать. Кстати, если корпоратов много, надо еще договора грузить.. Цены конкурентов, их акции. Можно, конечно, и без этого, но точность модели будет меньше. Вам даже еще сложнее - производная от спроса. т.е. надо смотреть что перевозят, а потом - сколько из этого Вами. Удачи! С Уважением, Георгий ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 16:51 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев Понятно, спасибо. Видимо делать прогнозирование на SSAS - было очень плохой идеей... На будущее потомкам: весь анализ данных и машинное обучение - делать только на питоне. Просто потому что. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 20:08 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев, питон оказался той красной кнопкой? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 20:47 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев весь анализ данных и машинное обучение - делать только на питоне. Странно. Сколько ни тестировал, Python уступал R по производительности. Причем существенно. Что я не так делал? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 20:58 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Нативная поддержка на всех основных платформах, SAS, Azure ML, DataBricks. элементарное сравнение количества библиотек например с тем-же R: на порядок больше ( >100К+) один только PySpark чего стоит (чтобы на Scala /Java не писать) динамика развития популярности и т.д. даже поддержка в Power BI Service (отчётность в облаке, правда с оговорками/ограничениями) Pandas/NumPy/matplotlib уже со школы пора-бы преподавать с родной Jupyter(ipykernel/IPython) средой/форматом. в колледжах/универах добавлять NumPy, MLFlow/MLlib/SciPy/Sci-Kit Learn, может даже TensofFlow / PyTorch а то застряли в excel-ьках прошлого века, которые в нынешнем мире уровень сразу после начальных классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 21:11 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128, библиотеки разные есть, у большинства с параллельностью проблемы (многопоточность/многоядерность/threads), R на больших объёмах будет вываливаться с ошибкой (если памяти не хватает, хотя некоторые коммерческие пакеты эту проблему в некотором плане решают), на Py с этим полегче. Оба языка всё равно сктиптовые а не компилируемые, так что отличие производительности на порядок(00 порядки?) вполне ожидаемо по ср. с тем-же C# и немногим больше c C/C++ numpy/pandas вроде как немного получше, pyspark и того производительнее на многих операциях (но как-бы и не вопрос, всё-таки просто прямой интерфейс к спарку) на R у MS вроде-бы нормально прикручены MKL библиотеки с их revoscaler , но он как-бы legacy в некотором смысле.. для Python тоже есть BLAS и пр. так что производительность в общем часто зависит от того как скрипты писать да какие библиотеки использовать.. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 21:21 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
vikkiv, букв много, даже все прочитал. Но не нашел ответа на посталенный вопрос. Меряться пиписьками не собираюсь. Вопрос не в том, сколько школьников изучило Python. А в том, что я не так делал, что у меня R существенно по производительности обгонял Python? Причем, чем длиннее были вектора, больше фильтраций (медианная, скользящим средним, ql-нормальным), трансформаций (Power, BoxCox), интерполяций (Seasonal Decomposition, Kalman Smoothing), кроссвалидаций и т.п. - тем больше по производительности выигрывал R. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 21:32 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
vikkiv у большинства с параллельностью проблемы (многопоточность/многоядерность/threads) Проблемы с параллельностью решаются средствами PostgreSQL и dblink. То есть, R даже принудительно заставляю работать в один поток, но этих потоков запускаю из PostgreSQL функциями на plr по количеству доступных ядер. vikkiv Оба языка всё равно сктиптовые а не компилируемые Подозреваю, что есть разница в реализации векторов R и массивов Python. vikkiv на R у MS вроде-бы нормально прикручены MKL библиотеки с их revoscaler , но он как-бы legacy в некотором смысле.. для Python тоже есть BLAS и пр. OpenSource R под Linux без проблем собирается с BLAS и MKL. Но зато MS умудряется на один вызов R через sp_execute_external_script тратить почти 30 мс, тогда как plr в PostgreSQL вызывается меньше, чем 1 мс. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 21:40 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128, Ну не знаю, значит выходит для вашего круга задач больше подходит R техническая часть - вполне возможно в каком-то узком сегменте и R лучше, где-то в др. расчётных вопросах - Python много на чём можно написать (не только R/Python), оставить всё равно придётся что больше подходит по целому ряду причин. напр. для меня вот один из основных критериев : размер рынка.. (как-бы взаимозависимое, платформы/вакансии/кандидаты) если нет особых серьёзных перспектив найти работу (или сотрудников с необх. знаниями под проект) - то и технология идёт лесом как-бы перспективна по производительности она не была хотя с др. стороны если затраты на все эти заморочки с поиском экзотики существенно окупаются (конкурентными) преимуществами (напр. обеспечивают лидирующую роль на рынке по ср. с другими) то почему-бы и нет (с поправкой на риски).. но ровно до тех пор пока всё это окупается лучше против других альтернатив... ... по MS смотреть архитектуру внутренностей надо (SQL Server/LaunchPad/BxlServer), это запуск отдельного чистого/изолированного процесса/контейнера который вызывает R (или Py) среду (даже казалось-бы в прогретом варианте) так что задержка ожидаема.. для некоторых сценариев в SQL Server подходят sp_rxpredict / predict() (если модели легковесные) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 21:58 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
vikkiv библиотеки разные есть, у большинства с параллельностью проблемы (многопоточность/многоядерность/threads), R на больших объёмах будет вываливаться с ошибкой (если памяти не хватает, хотя некоторые коммерческие пакеты эту проблему в некотором плане решают), на Py с этим полегче. разве там есть разница ? python с его пандасами же точно так же тупо тащит весь датасет в память. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 22:08 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
H5N1 python с его пандасами же точно так же тупо тащит весь датасет в память. Если вызывать plr или plpython, как функции из PostgreSQL, используя параметры-массивы и для исходных данных, и для результатов, то ни pandas ни dataframe просто не нужны. И быстре получается, чем тащить данные из БД средствами R или Python. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2021, 22:35 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 Если вызывать plr или plpython, как функции из PostgreSQL, используя параметры-массивы и для исходных данных, и для результатов, то ни pandas ни dataframe просто не нужны. И быстре получается, чем тащить данные из БД средствами R или Python. вряд ли это имеет смысл, это не spark, значит алгоритму питона данные нужно скормить целиком. это значит если данные в память не влазят, то и смысла нет. ну и есть сомнение, что plpython смогут несколько тредов запустить и хоть какая-то либа через такой костыль запуститься. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 11:46 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
H5N1 вряд ли это имеет смысл, это не spark, значит алгоритму питона данные нужно скормить целиком. это значит если данные в память не влазят, то и смысла нет. ну и есть сомнение, что plpython смогут несколько тредов запустить и хоть какая-то либа через такой костыль запуститься. Вы не заметили, что сами себе противоречите? Если задачу можно решать в несколько потоков, то совсем не обязательно одним вызовом скармливать ей весь объем данных сразу. Вам просто сложно осознать в голове концепцию того, что массу черновой работы по трансформации и очистке данных можно оставить на стороне SQL, отдавая plr/plpython только те задачи, которые они решают лучше, чем plpgsql. На практике, функции plr/plpython получаются довольно небольшими и простым. Ведь сам алгоритм реализуется в plpgsql. Бессмысленно кормить ту же ARIMA временной серией длиней нескольких сотен элементов. А вот подготовить временную серию длиной не более, чем в 300 элементов из миллиона - с этой задачей справляется plpgsql, задействуя оконные и/или агрегативные функции на R только в некоторые моменты. Необходимое количество потоков не сложно реализовать через dblink средствами того же PostgreSQL. Это не менее эффективно, чем многопоточность средствами R или Python и позоволяет без особых проблем разпределять задачи не только между локальными ядрами, но и между серверами. Что касается Spark, я его тоже рассматривал. Но для нашей задачи он оказался мало пригоден. Суть в том, что имея на входе свыше миллиарда событий, ML для тренинга достаются два миллиона разных по составу временных серий. Поэтому затраты на коммуникацию со Spark оказались существенно выше, чем передача в памяти массивов из PostgreSQL в R. Ведь и исходные данные и результаты все равно надо хранить в SQL БД. P.S. plpython ограничений, по сравнению python почти не имеет. Точнее, это просто использование pyhton на прямую через so. Объективные ограничения возникают только из того, что консоли у такого python нет по определению. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 12:11 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
На R вакансий нет. Слабое комьюнити. Всё машинное обучение, с которым сталкивался - было на питоне. Так же на питоне куча либ и куча учебной информации. Выучив питон - можно заниматься не только машинным обучением и аналитикой - но и бэкенд писать. Питон гораздо универсальнее и востребованнее. Для большинства задач можно сходу найти пример кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 13:04 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев Питон гораздо универсальнее и востребованнее. Опять золотой молоток ? Когда передо мной встала реальная задача, в которой потребовался ML я знал Python, но не знал R. Но это мне совершенно не помешало за несколько дней изучить R в достаточном для НИОКР объеме. Когда же я оценил производительность решений на R и Python, то оценил эффективность работы с векторами и матрицами в R и для этого конкретного проекта был выбран R. На этом же проекты возникли проблемы с производительностью связки MS SQL+R Service. Зная PostgreSQL весьма поверхностно, я не поленился потратить несколько дней на его изучение и сравнить в данном применении связку PostgreSQL+R (plr). Последний выиграл с большим отрывом. Если на следующем проекте на фазе НИОКР окажется эффективней Python - буду использовать его. Если вдруг окажется эффективней Julia - разберусь и с ней. Если эффективней окажется Spark или ClickHours - буду использовать их. Никакого желания ограничивать себя "золотым молотком" не испытываю, чего и Вам желаю. Я всегда искренне считал, что на этапе НИКОР просто необходимо рассматривать альтернативные варианты решения и сравнивать их. А не пытаться подогнать задачи проекта под уже освоенный "золотой молоток". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 13:37 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128, Ну, удачи тогда всё это поддерживать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 14:50 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев, так только первую версию в продуктив в декабре запустили. Даже еще не открыли вакансии для ТП. Сам я собираюсь только помочь в организации поддержки. Все результаты НИОКР обсуждались с руководством, риски учитывались и выбор технологий был санкционирован. Так что, строго говоря, это уже давно не моя головная боль. Для R специалист уже есть. River Logic + Gurobi тоже. Для PostgreSQL нужно нанимать. Но там тупая арифметика сработала. Попытка решить задачу на MS SQL требовала обязательно Enterprise из-за ограничения на 4 ядра у R Service у Standard. А это свыше 7 тыс. вечнозеленых ежемесячно за 32 ядра, которые еще планируется нарастить до 64-х (на двух серверах). За такие деньги нанять специалиста на поддержку более чем реально. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 14:56 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 Если на следующем проекте на фазе НИОКР окажется эффективней Python - буду использовать его. Если вдруг окажется эффективней Julia - разберусь и с ней. Если эффективней окажется Spark или ClickHours - буду использовать их. Никакого желания ограничивать себя "золотым молотком" не испытываю, чего и Вам желаю. Я всегда искренне считал, что на этапе НИКОР просто необходимо рассматривать альтернативные варианты решения и сравнивать их. А не пытаться подогнать задачи проекта под уже освоенный "золотой молоток". Работал я как-то на одном проекте, где нашёлся тоже любитель не ограничивать себя "золотым молотком". Дело усложняло то, что он был аж целым тимлидом соседней команды. В итоге ядро системы работало на MS SQL Server, штук 15 подсистем тоже на MS SQL, а одна подсистема на MongoDB. При том, что там вообще не было никаких предпосылок использовать монгу, да и нагрузка в том месте была на 3 порядка ниже, чтобы о монге вообще стоило задумываться. И всё взаимодействие с остальными системами и ядром - через API и "шину данных" Стоит ли говорить, что во первых из-за такого подхода пришлось городить кучу костылей, зато ребята типа "напряжённо работают" и каждый спринт делают трудовые подвиги, которых можно было бы избежать, выбрав нормальный инструмент. Во вторых отчётность и аналитика просто накрылась неприличным местом - потому что монга с MS SQL очень плохо интегрируется. Вместо одного пакета на SSIS за неделю пришлось через шину данных и апи делать привлек ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 15:01 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
привлекать ещё 2 команды и 2 месяца разработки. В итоге вместо нормального подхода получилось ужасное чудовище, которое очень неудобно поддерживать и искать где ошибка - т.к. несколько команд пришлось задействовать. Резюмируя: зоопарк разных технологий на одном проекте - плохо. Использовать непопулярные технологии - тоже плохо, т.к. будут проблемы с интеграцией данных, поддержкой, поиском новых сотрудников. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 15:06 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Александр Бердышев Работал я как-то на одном проекте, где нашёлся тоже любитель не ограничивать себя "золотым молотком". Дело усложняло то, что он был аж целым тимлидом соседней команды. Эти два предложения противоречат друг другу. Тимлид не имеет никакого права выбирать технологии. Он может только произвести прототипирование и предоставить руководству его результаты. Тот же PostgreSQL у нас санкционировался на уровне совета директоров. Даже IT директор сам не решился включить его в инфраструктуру. Как писал уже выше, сработала финансовая сторона, а так же давление со стороны госорганов на импортозамещение. Все же предприятие стратегического значения. С R, как я уже писал выше, проблем не было, так как он уже использовался в инфраструктуре для финансовой дирекции. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 15:21 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 Вы не заметили, что сами себе противоречите? Если задачу можно решать в несколько потоков, то совсем не обязательно одним вызовом скармливать ей весь объем данных сразу. нет, я не противоречу. если задачу можно в теории распараллелить, это вовсе не значит, что это в самом деле реально провернуть в реальной жизни. в реальной жизни у тебя фреймворк обучает датасет, который на вход получает train set, test set. по мне колхозить свои алгоритмы, которые смогут построить модель получая данные кусками не самая здоровая идея. ptr128 Вам просто сложно осознать в голове концепцию того, что массу черновой работы по трансформации и очистке данных можно оставить на стороне SQL, отдавая plr/plpython только те задачи, которые они решают лучше, чем plpgsql. На практике, функции plr/plpython получаются довольно небольшими и простым. Ведь сам алгоритм реализуется в plpgsql. Бессмысленно кормить ту же ARIMA временной серией длиней нескольких сотен элементов. А вот подготовить временную серию длиной не более, чем в 300 элементов из миллиона - с этой задачей справляется plpgsql, задействуя оконные и/или агрегативные функции на R только в некоторые моменты. Необходимое количество потоков не сложно реализовать через dblink средствами того же PostgreSQL. Это не менее эффективно, чем многопоточность средствами R или Python и позоволяет без особых проблем разпределять задачи не только между локальными ядрами, но и между серверами. ну и что на выходе с таким подходом ? по мне так солюшен из говна и палок, при этом ни первое, ни второе не решают задачу полноценно. PG все равно, если не сдохнет то чудовищно проиграет на больших данных в задачах по трансформации и очистки данных альтернативам, ну а многопоточность через dblink, мне кажется оффтопик на этом форуме. это куда-то в медицинский нужно. прелесть спарка в таких задачах, что там на входы, выход подаются датафреймы и это уже дело либы и спарка как это все порубить, разбросать на узлы и где-то собрать поток данных. но тут кто-то должен заморочиться и реализовать алгоритмы поверх датафрейма, который в связке со спарк распараллелится. но даже тут все равно большинство ML алгоритмов потребую где-то собрать где-то в одном месте большую матрицу и оно где-то упадет с OM. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 15:53 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 так только первую версию в продуктив в декабре запустили. Даже еще не открыли вакансии для ТП. Сам я собираюсь только помочь в организации поддержки. Все результаты НИОКР обсуждались с руководством, риски учитывались и выбор технологий был санкционирован. Так что, строго говоря, это уже давно не моя головная боль. что, реально кто-то на это смотрел и в самом деле санкционировал многопоточность через dblink колхозить ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 15:58 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
H5N1 что, реально кто-то на это смотрел и в самом деле санкционировал многопоточность через dblink колхозить ? А это то при чем? dblink родной и штатный компонент PostgreSQL. Его то зачем санкционировать? А эксперименты показали, что многопоточность все равно надо управляемым делать. Чтобы не оказалось, что последней было запущенно обучение модели, которое длится час, тогда как остальные, параллельные ей завершились за 5 минут. H5N1 на вход получает train set, test set И какого размера они могут быть, для того, чтобы был смысл скармливать их той же ARIMA? ))) H5N1 PG все равно, если не сдохнет то чудовищно проиграет на больших данных в задачах по трансформации и очистки данных альтернативам "Чукча не читатель, чукча писатель?" (с) Он уже выиграл у альтернатив. 4ТБ БД, свыше миллиарда атомарных событий на входе, фильтрация и трансформация производится за 30 минут. Прогнозирование по выбранным кластеризацией моделям двух миллионов временных серий - за 4 часа. Кластеризация временных серий кроссвалидацией при подборе моделей - за 15 часов. На данный момент второй сервер не запущен, а первый ограничен 24 ядрами. То есть, прогнозируется не менее, чем двукратное сокращение времени на прогнозирование и кластеризацию. Хотя в целевые показатели (8 часов на прогнозирование и 24 часа на кластеризацию) мы и так вписываемся. H5N1 прелесть спарка в таких задачах, что там на входы, выход подаются датафреймы и это уже дело либы и спарка как это все порубить, разбросать на узлы и где-то собрать поток данных И в этом, как выяснилось, его недостаток. 1. В него надо данные загрузить, тогда как они у меня так и остаются в одной БД 2. Порубить тоже надо с умом, чтобы равномерно грузить узлы, а не долго ждать, пока последняя задача закончится на последнем узле. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 16:22 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
H5N1 что, реально кто-то на это смотрел и в самом деле санкционировал многопоточность через dblink колхозить ? Сорри. Только что дошло, что Вы обыкновенный тролль. Это же надо быть полным дебилом, что задавать такой вопрос без целей троллинга. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 16:29 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 И в этом, как выяснилось, его недостаток. 1. В него надо данные загрузить, тогда как они у меня так и остаются в одной БД plr/plpython это внешние по отношению к субд процессы. plpython запускает из папочки /bin питончик, делает коннекцию к субд и тащит каждый битик в питон. при этом затрачиваются гигантские ресурсы на конвертирование типов из субд в питоновские. никакой принципиальной разницы со спарком и его jdbc коннекции нет. постгрес не умеет клатеризоваться, там нет колончатых структур, в посгресе нет компрессии. 4Тб постгреса выгрузятся в отсилы в 2Тб csv, т.к. блоках данных постгреса туча лишней для аналитики служебной информации. для аналитики использую greenplum, вариация массивно-параллельного постгреса с колончатой структурой. 2Тб csv упакуются в колончатый формат parquet всего в 0.7Тб ptr128 2. Порубить тоже надо с умом, чтобы равномерно грузить узлы, а не долго ждать, пока последняя задача закончится на последнем узле. у тебя уже натренированы модели, там нечего уже считать. для таких задач принято в реалтайме выдавать ответ имея уже натренированные модели. обычно читают из кафки и в реалтайме пишут в туже кафку ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2021, 21:16 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
H5N1, H5N1 plr/plpython это внешние по отношению к субд процессы Ложь. И то, и другое выполняется в среде PostgreSQL. Внешние языки подключаются к PostgreSQL через so и выполняются в его среде. H5N1 делает коннекцию к субд Ложь. Обмен данныеми происходит через параметры. В крайнем случае - через SPI (Server Programming Interface). H5N1 затрачиваются гигантские ресурсы на конвертирование типов из субд в питоновские. никакой принципиальной разницы со спарком и его jdbc коннекции нет Ложь, так как трансформация данных в памяти на порядок менее ресурсоемка, чем пересылка этих же данных через JDBC. H5N1 постгрес не умеет клатеризоваться Ложь. Средств для этого более чем достаточно, начиная с примитивных Crunchy Proxy, Pgpool2 с Kubernetes и т.п. и заканчивая готовыми решения для бизнес аналитики, как CitusDB. H5N1 там нет колончатых структур Ложь. Даже если не нравится cstore, то есть тот же CitusDB. H5N1 в посгресе нет компрессии Ложь, так как TOAST так же и компрессиия, а если мы храним данные в массивах, то они точно будут попадать под сжатие TOAST, если специально с этим не бороться. H5N1 4Тб постгреса выгрузятся в отсилы в 2Тб Ложь, так как в БД в основной своей массе массивы четырехбайтовых real, каждый элемент которых при преобразовании в текст станет занимать в два раза болььше места. Прошу прощения, но зачем Вы нагло лжете с умным видом? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2021, 02:39 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
H5N1 у тебя уже натренированы модели Днем да. Но это мне даже не интересно, так как взяв из них прогноз на следующие 8 недель я больше к ним не обращаюсь. Но модели надо, во-первых, обучать/дообучать каждую ночь, во-вторых, надо кластеризовать вектора, заново выбирая модель кроссвалидацией каждую неделю. Больше всего волнует распределение по вычислительным узлам как раз обучаемых моделей. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2021, 03:10 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 H5N1 4Тб постгреса выгрузятся в отсилы в 2Тб Ложь, так как в БД в основной своей массе массивы четырехбайтовых real, каждый элемент которых при преобразовании в текст станет занимать в два раза болььше места. На всякий случай, чтобы не быть голословным, приведу пример на одной из табличек. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Row Count Estimate: 1 866 021 Disk Space: 2,2G Rel Size: 771M Код: plsql 1.
Код: plaintext 1. 2. 3.
Разница в 18 раз. Устроит? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2021, 05:12 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 .опытка решить задачу на MS SQL требовала обязательно Enterprise из-за ограничения на 4 ядра у R Service у Standard. А это свыше 7 тыс. вечнозеленых ежемесячно за 32 ядра Таки реально ежемесячно? Какой вид лицензии, можно со ссылкой на их сайт? Или это премьер-поддержка? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2021, 18:41 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Критик, Вроде если в лоб то похоже на это: (13'748+(15x5'434))/12=$7'938 https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15#Programmability FeatureEnterpriseStandardBasic R integration 1 YesYesAdvanced R integration 2 YesNoBasic Python integrationYesYesAdvanced Python integrationYesNo1 Basic integration is limited to 2 cores and in-memory data sets. << (т.е. 4 "ядра" это наверное с HT, . . . ну или больше если процессора другого класса,{где-то читал что работают над такими архитектурами}) 2 Advanced integration can use all available cores for parallel processing of data sets at any size subject to hardware limits. https://www.microsoft.com/en-gb/sql-server/sql-server-2019-pricing EditionsOpen no level price (US$)Licensing modelEnterprise$13'748 [1] 2 core packStandard – per core$3'586 [1] 2 core packStandard – server$899 [1] Server [2] Standard - CAL$209CAL Subscriptions and add-onsPrice (US$)Licensing modelSQL Server Enterprise5434 USD/year2 core packSQL Server Standard1418 USD/year2 core pack [1] Pricing represents open no level (NL) estimated retail price. For your specific pricing, contact your Microsoft reseller. [2] Client access licences (CALs) are required for every user or device accessing a server in the Server + CAL licensing model. See the product use rights for details. Но с SA конечно дешевле, а если действительно корпоративный клиент - то там ещё меньше. зависит от версии конечно (на 2014/2016/2017 другие цены были) A если все физические ядра лицензировать - то виртуалки на них уже без ограничений. (по операционкам конечно другой вопрос) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2021, 19:24 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
А вот, "вспомнил"/нагуглил: у IBM с десяток лет (начиная с POWER7 платформы) х3 тредов, на POWER10 уже x8 тредные на каждое ядро.. правда непонятно насколько это аналогичные трэды в обычном понимании и как там с совместимостью для SQL Server Кстати - а что помешало при таких-то навыках написать свою собственную CLR побыстрее под SP для интеграции R/Python с SQL Server в обход всех ограничений безопасности из-за контейнерной изоляции процесса? хотя наверное понятно - если уже есть готовое и проверенное стандартное решение на рынке то зачем изобретать велосипед с кучей возможных проблем себе на будущее ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2021, 19:59 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
vikkiv Кстати - а что помешало при таких-то навыках написать свою собственную CLR побыстрее под SP для интеграции R/Python с SQL Server в обход всех ограничений безопасности из-за контейнерной изоляции процесса? Во-первых, решение на PostgreSQL не надо было писать. Оно есть. Во-вторых, если PostgreSQL порождает под каждое соединение свой отдельный процесс (fork) и падение интерпретатора приведет к падению только этого процесса, то MS SQL монолитен, и там есть риск падения всего сервера. Уверен, что в MS не дураки сидят, и, похоже, сделали такую архитектуру вызова внешних скриптов именно для их изоляции от Database Engine. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2021, 20:37 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
vikkiv, Ну, амортизировать ПО за год - этот вариант только для миллиардеров ) Есть корп скидки - там цена часто падает до 2х раз. Плюс есть всякие акции, когда можно обменять ненужные лицензии Oracle на нужные MS. Можно банально арендовать ПО, или арендовать ПО сразу с железом в облаке. Вариантов куча, только коллега рассмотрел самый дорогой ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2021, 18:54 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Критик, не тупите. Явно же написано 5434 USD/ year за 2 ядра. Посчитайте для 32 и 64 уже сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2021, 19:31 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Куда катится этот мир..... Одних только аббревиатур и технологий - на страницу. Неужели кто-то верит, что затратив кучу времени и космический бюджет, эти новомодные модельки дадут бизнесу выигрыш хотя бы на 5% больше затраченного бюджета ? Не говоря уже про 20%. Не надоело забивать гвозди платиновым молотком ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 10:37 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
L_argo новомодные модельки дадут бизнесу выигрыш хотя бы на 5% больше затраченного бюджета ? Не говоря уже про 20%. Поясните Ваш метод расчета рентабельности, пожалуйста. Обычно, считают сначала сокращение затрат, а уже потом сравнивают их со стоимостью разработки. Например, в моем случае, уже подтвержденные 5% сокращения затрат на логистику есть 10 миллиардов рублей в год. При том, что бюджет еще 100 миллионов не превысил. То есть достигнутая рентабельность 9900% ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 10:54 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 L_argo новомодные модельки дадут бизнесу выигрыш хотя бы на 5% больше затраченного бюджета ? Не говоря уже про 20%. Поясните Ваш метод расчета рентабельности, пожалуйста. Обычно, считают сначала сокращение затрат, а уже потом сравнивают их со стоимостью разработки. Например, в моем случае, уже подтвержденные 5% сокращения затрат на логистику есть 10 миллиардов рублей в год. При том, что бюджет еще 100 миллионов не превысил. То есть достигнутая рентабельность 9900% Это вы должны пояснить свой метод расчета рентабельности и профита. Откуда эти фантастические 9900% взяты ? Кто решил, что сокращение затрат на логистику именно благодаря новым алгоритмам, без которых ранее это сокращение было невозможным ? Помниццо в одной компании не вели учет ГСМ. Выдавали просто, кто сколько заявлял. Потом ввели обязательную и простую процедуру отчета о потраченных ГСМ. "Неожиданно" расход ГСМ упал более чем в 2 раза. Очень вероятно, что в Ваших 9900% имел место похожий феномен: просто навели порядок в БП, а ИИ и ИТ-хипстеры на самом деле не при чем. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 12:02 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
ptr128 Во-первых, решение на PostgreSQL не надо было писать. Оно есть. Во-вторых, если PostgreSQL порождает под каждое соединение свой отдельный процесс (fork) и падение интерпретатора приведет к падению только этого процесса можешь пояснить, если ты понимаешь то это совершенно сторонний от субд процесс, нафига клоунаду с "ложь" устроил ? и лапоть, csv файлик упакуй. ptr128 Уверен, что в MS не дураки сидят, и, похоже, сделали такую архитектуру вызова внешних скриптов именно для их изоляции от Database Engine. в мс не дураки, потому для задач ML они mssql2019 big data clusters выкатили со spark поверх hdfs. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 12:26 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
H5N1, потому что незачем лгать публично. Это все равно выясниться, так как легко проверяемо. Или Вы просто тролль, который несет пургу о том, чего даже не знает? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 13:26 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
L_argo ptr128уже подтвержденные 5% сокращения затрат на логистику есть 10 миллиардов рублей в год. При том, что бюджет еще 100 миллионов не превысил. То есть достигнутая рентабельность 9900% Откуда эти фантастические 9900% взяты ? Вы местный клоун или считать не умеете? Если при бюжете проекта в 100 млн. затраты сократились на 10 млрд, то какая рентабельность проекта? L_argo Кто решил, что сокращение затрат на логистику именно благодаря новым алгоритмам, без которых ранее это сокращение было невозможным ? Этот вопрос в сфере деятельности дирекции по логистике. Я даже не вникал в те документы, которые они предоставили на совет директоров. Только удивился, что так мало, но потом уже разобрались, что ряд диспетчеров саботировали рекомендации по адресации из модели, адресуя вагоны по своему личному разумению, как это делали предыдущие 20 лет. Но это уже отдельная история. L_argo просто навели порядок в БП Точно клоун ))) Да, научились в Excel оптимизировать адресацию вагонов ))) Причем 20 лет не могли это сделать, а как только систему внедрили вдруг сумели ))) L_argo Я должен пояснять ??? Естественно. Вы же как-то считали рентабельность только исходя из бюджета проекта, не учитывая сокращения затрат )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 13:40 |
|
SSAS Структуры интеллектуального анализа данных
|
|||
---|---|---|---|
#18+
Вы же как-то считали рентабельность только исходя из бюджета проекта, не учитывая сокращения затратЯ вообще ничего не писал про расчет рентабельности. Рентабельность не такой простой вопрос, как Вы тут пишете. Я всего лишь сказал, что затратив на проект 10млн. нужно получить за некий период хотя бы 10.5 млн экономии. А еще лучше, если превысить ставку банковского депозита, т.к. просто положив 10 млн. в банк можно получить гарантированную прибыль и без всяких ИТ-проектов. :) В противном случае - пустая трата времени и ресурсов. Методика расчета экономии может быть очень сложной. И при этом надо правильно оценивать истинные причины этой экономии. Очень часто "экономический эффект" - банальная подмена понятий и присвоение себе чужих заслуг. Что полюбляют делать разного рода эффективные менеджеры и внедренцы. зы: Раз уж пошло дело про вагоны и РЖД, то можно погулить про "белорусский метод". Когда "эффективные менеджеры" начали сокращать обходчиков, помощников машинистов и связистов. rus-etrain.ruПомощников машинистов тогда и убрали. Именно на это время и приходится самая страшная катастрофа в истории Белоруссии - столкновение пасс. поезда с хвостовой частью электрички. Крыжовка, май 1977 года. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 14:48 |
|
|
start [/forum/topic.php?all=1&fid=49&tid=1857209]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 159ms |
0 / 0 |