powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS Структуры интеллектуального анализа данных
49 сообщений из 49, показаны все 2 страниц
SSAS Структуры интеллектуального анализа данных
    #39859451
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги.
На локальном компьютере в Developer версии сервера поднял SSAS. Компьютер мощный (SSD, i7).
Сделал локально же куб (от миллиона до 5 миллионов записей, 10 измерений), пытаюсь на основе этого куба построить "структуру интеллектуального анализа данных" на деревьях (самый базовый алгоритм), для прогнозирования.
Куб считается минут за 5, но модель обрабатывается очень долго - почти сутки.

Можете подсказать, где можно почитать что происходит, когда идёт обработка модели интеллектуального анализа данных и каким образом можно её ускорить?
В интернете, к сожалению, подробной информации не нашёл - на MSDN очень мало информации и она очень поверхностная, нигде не могу найти более глубокую информацию...
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859473
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев,

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
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859480
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышевна деревьях

у 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 (на диапазоны) - превратив в дискретные, очень облегчает нагрузку
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859481
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859539
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, спасибо.
Видимо делать прогнозирование на SSAS - было очень плохой идеей...
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859556
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев,

ну очень это слишком конечно

как расчётная часть - есть легкодоступные инструменты намного более производительные,
современнее, перспективней и гибче (в плане алгоритмов/настроек/автоматизации)
хотя если есть желание и ограничения - 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, вопрос нужно-ли..
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859684
Фотография George Nordic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр, тут вопрос в том, что Вы прогнозируете. И сколько факторов учитываете при прогнозе (я так понял, порядка десятка).

Т.е. одно дело - ритейл, другое - потребление электроэнергии или курс валют.

Есть множество алгоритмов (и решений), каждый из которых лучше подходит для той или иной задачи, как и набор наиболее влияющих факторов. Есть "универсальные" инструменты (навскидку назову Oracle Demantra, т.к. IBM SPSS требует более детальной подготовки данных потому как многофакторный анализ во весь рост, JDA больше заточен под дистрибуцию и ритейл, тем более - легкие решения типа ForecastPro, сотни их), которые прогоняют разные модели с различным набором параметров, потом "разворачивают назад" регрессионным анализом, смотрят какой алгоритм лучше ложится на исходные данные, строят доверительный интервал прогноза и подбирают наилучший алгоритм. В любом случае, очень много зависит от качества исходных данных - их надо готовить (убирать выбросы, связанные с маркетинговыми кампаниями и т.д., где не было остатков и были нули - заполнять по среднему) и кол-ва параметров - если вы в данные не запихнете календарь / сезон / праздники (постоянные и с "мягкой" датой) - их не один алгоритм не учтет, хоть R хоть databricks.

Что за задача? Ритейл?

С Уважением,
Георгий
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859806
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George Nordic,
Задача - логистика.
Машины ездят туда-сюда, грузы возят.

По одному направлению могут за месяц 5 раз проехать, а потом за год ни разу.
А есть очень популярные направления.

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

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

Но насколько понял - так не бывает - нужно будет самому искать закономерности, делать модель и долго муторно её отлаживать.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #39859952
Фотография George Nordic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр БердышевХотел алгоритм - чтобы просто в него загнал все данные, он долго-долго думал, а потом построил модель, которая идеально всё прогнозировала.Да, мы все хотим большую красную кнопку... ты ему курс акций и фазы луны, а она - когда покупать блокчейн Александр БердышевНо насколько понял - так не бывает - нужно будет самому искать закономерности, делать модель и долго муторно её отлаживать.Да, увы. Плюс акции конкурентов, а то Грузовичков или ДелЛин как запустят акцию - модель может поехать. Кстати, если корпоратов много, надо еще договора грузить.. Цены конкурентов, их акции. Можно, конечно, и без этого, но точность модели будет меньше. Вам даже еще сложнее - производная от спроса. т.е. надо смотреть что перевозят, а потом - сколько из этого Вами. Удачи!

С Уважением,
Георгий
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
SSAS Структуры интеллектуального анализа данных
    #40033925
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев
Понятно, спасибо.
Видимо делать прогнозирование на SSAS - было очень плохой идеей...

На будущее потомкам: весь анализ данных и машинное обучение - делать только на питоне.
Просто потому что.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033933
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев,

питон оказался той красной кнопкой?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033935
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев
весь анализ данных и машинное обучение - делать только на питоне.

Странно. Сколько ни тестировал, Python уступал R по производительности. Причем существенно.
Что я не так делал?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033939
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нативная поддержка на всех основных платформах, 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-ьках прошлого века, которые в нынешнем мире уровень сразу после начальных классов.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033942
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128,

библиотеки разные есть, у большинства с параллельностью проблемы (многопоточность/многоядерность/threads), R на больших объёмах будет вываливаться с ошибкой (если памяти не хватает, хотя некоторые коммерческие пакеты эту проблему в некотором плане решают), на Py с этим полегче.
Оба языка всё равно сктиптовые а не компилируемые, так что отличие производительности на порядок(00 порядки?) вполне ожидаемо по ср. с тем-же C# и немногим больше c C/C++
numpy/pandas вроде как немного получше, pyspark и того производительнее на многих операциях (но как-бы и не вопрос, всё-таки просто прямой интерфейс к спарку)

на R у MS вроде-бы нормально прикручены MKL библиотеки с их revoscaler , но он как-бы legacy в некотором смысле..
для Python тоже есть BLAS и пр.

так что производительность в общем часто зависит от того как скрипты писать да какие библиотеки использовать..
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033945
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv,

букв много, даже все прочитал. Но не нашел ответа на посталенный вопрос.

Меряться пиписьками не собираюсь. Вопрос не в том, сколько школьников изучило Python. А в том, что я не так делал, что у меня R существенно по производительности обгонял Python?
Причем, чем длиннее были вектора, больше фильтраций (медианная, скользящим средним, ql-нормальным), трансформаций (Power, BoxCox), интерполяций (Seasonal Decomposition, Kalman Smoothing), кроссвалидаций и т.п. - тем больше по производительности выигрывал R.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033947
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 мс.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033948
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128,

Ну не знаю, значит выходит для вашего круга задач больше подходит R
техническая часть - вполне возможно в каком-то узком сегменте и R лучше, где-то в др. расчётных вопросах - Python
много на чём можно написать (не только R/Python), оставить всё равно придётся что больше подходит по целому ряду причин.

напр. для меня вот один из основных критериев : размер рынка.. (как-бы взаимозависимое, платформы/вакансии/кандидаты)
если нет особых серьёзных перспектив найти работу (или сотрудников с необх. знаниями под проект)
- то и технология идёт лесом как-бы перспективна по производительности она не была

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

...
по MS смотреть архитектуру внутренностей надо (SQL Server/LaunchPad/BxlServer),
это запуск отдельного чистого/изолированного процесса/контейнера который вызывает R (или Py) среду (даже казалось-бы в прогретом варианте)
так что задержка ожидаема..
для некоторых сценариев в SQL Server подходят sp_rxpredict / predict()
(если модели легковесные)
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033949
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv

библиотеки разные есть, у большинства с параллельностью проблемы (многопоточность/многоядерность/threads), R на больших объёмах будет вываливаться с ошибкой (если памяти не хватает, хотя некоторые коммерческие пакеты эту проблему в некотором плане решают), на Py с этим полегче.

разве там есть разница ? python с его пандасами же точно так же тупо тащит весь датасет в память.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40033954
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
python с его пандасами же точно так же тупо тащит весь датасет в память.

Если вызывать plr или plpython, как функции из PostgreSQL, используя параметры-массивы и для исходных данных, и для результатов, то ни pandas ни dataframe просто не нужны. И быстре получается, чем тащить данные из БД средствами R или Python.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034006
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128

Если вызывать plr или plpython, как функции из PostgreSQL, используя параметры-массивы и для исходных данных, и для результатов, то ни pandas ни dataframe просто не нужны. И быстре получается, чем тащить данные из БД средствами R или Python.

вряд ли это имеет смысл, это не spark, значит алгоритму питона данные нужно скормить целиком. это значит если данные в память не влазят, то и смысла нет. ну и есть сомнение, что plpython смогут несколько тредов запустить и хоть какая-то либа через такой костыль запуститься.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034012
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 нет по определению.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034022
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На R вакансий нет. Слабое комьюнити.
Всё машинное обучение, с которым сталкивался - было на питоне. Так же на питоне куча либ и куча учебной информации.
Выучив питон - можно заниматься не только машинным обучением и аналитикой - но и бэкенд писать.
Питон гораздо универсальнее и востребованнее.
Для большинства задач можно сходу найти пример кода.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034026
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев
Питон гораздо универсальнее и востребованнее.

Опять золотой молоток ?

Когда передо мной встала реальная задача, в которой потребовался ML я знал Python, но не знал R.
Но это мне совершенно не помешало за несколько дней изучить R в достаточном для НИОКР объеме.
Когда же я оценил производительность решений на R и Python, то оценил эффективность работы с векторами и матрицами в R и для этого конкретного проекта был выбран R.
На этом же проекты возникли проблемы с производительностью связки MS SQL+R Service. Зная PostgreSQL весьма поверхностно, я не поленился потратить несколько дней на его изучение и сравнить в данном применении связку PostgreSQL+R (plr). Последний выиграл с большим отрывом.

Если на следующем проекте на фазе НИОКР окажется эффективней Python - буду использовать его. Если вдруг окажется эффективней Julia - разберусь и с ней. Если эффективней окажется Spark или ClickHours - буду использовать их.
Никакого желания ограничивать себя "золотым молотком" не испытываю, чего и Вам желаю.

Я всегда искренне считал, что на этапе НИКОР просто необходимо рассматривать альтернативные варианты решения и сравнивать их. А не пытаться подогнать задачи проекта под уже освоенный "золотой молоток".
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034034
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128,
Ну, удачи тогда всё это поддерживать.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034036
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев,

так только первую версию в продуктив в декабре запустили. Даже еще не открыли вакансии для ТП.
Сам я собираюсь только помочь в организации поддержки. Все результаты НИОКР обсуждались с руководством, риски учитывались и выбор технологий был санкционирован. Так что, строго говоря, это уже давно не моя головная боль.

Для R специалист уже есть. River Logic + Gurobi тоже. Для PostgreSQL нужно нанимать. Но там тупая арифметика сработала. Попытка решить задачу на MS SQL требовала обязательно Enterprise из-за ограничения на 4 ядра у R Service у Standard. А это свыше 7 тыс. вечнозеленых ежемесячно за 32 ядра, которые еще планируется нарастить до 64-х (на двух серверах). За такие деньги нанять специалиста на поддержку более чем реально.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034039
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128


Если на следующем проекте на фазе НИОКР окажется эффективней Python - буду использовать его. Если вдруг окажется эффективней Julia - разберусь и с ней. Если эффективней окажется Spark или ClickHours - буду использовать их.
Никакого желания ограничивать себя "золотым молотком" не испытываю, чего и Вам желаю.

Я всегда искренне считал, что на этапе НИКОР просто необходимо рассматривать альтернативные варианты решения и сравнивать их. А не пытаться подогнать задачи проекта под уже освоенный "золотой молоток".

Работал я как-то на одном проекте, где нашёлся тоже любитель не ограничивать себя "золотым молотком". Дело усложняло то, что он был аж целым тимлидом соседней команды.
В итоге ядро системы работало на MS SQL Server, штук 15 подсистем тоже на MS SQL, а одна подсистема на MongoDB. При том, что там вообще не было никаких предпосылок использовать монгу, да и нагрузка в том месте была на 3 порядка ниже, чтобы о монге вообще стоило задумываться.
И всё взаимодействие с остальными системами и ядром - через API и "шину данных"
Стоит ли говорить, что во первых из-за такого подхода пришлось городить кучу костылей, зато ребята типа "напряжённо работают" и каждый спринт делают трудовые подвиги, которых можно было бы избежать, выбрав нормальный инструмент.
Во вторых отчётность и аналитика просто накрылась неприличным местом - потому что монга с MS SQL очень плохо интегрируется.
Вместо одного пакета на SSIS за неделю пришлось через шину данных и апи делать привлек
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034040
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привлекать ещё 2 команды и 2 месяца разработки.
В итоге вместо нормального подхода получилось ужасное чудовище, которое очень неудобно поддерживать и искать где ошибка - т.к. несколько команд пришлось задействовать.
Резюмируя: зоопарк разных технологий на одном проекте - плохо.
Использовать непопулярные технологии - тоже плохо, т.к. будут проблемы с интеграцией данных, поддержкой, поиском новых сотрудников.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034044
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев
Работал я как-то на одном проекте, где нашёлся тоже любитель не ограничивать себя "золотым молотком". Дело усложняло то, что он был аж целым тимлидом соседней команды.

Эти два предложения противоречат друг другу. Тимлид не имеет никакого права выбирать технологии. Он может только произвести прототипирование и предоставить руководству его результаты.

Тот же PostgreSQL у нас санкционировался на уровне совета директоров. Даже IT директор сам не решился включить его в инфраструктуру.

Как писал уже выше, сработала финансовая сторона, а так же давление со стороны госорганов на импортозамещение. Все же предприятие стратегического значения.
С R, как я уже писал выше, проблем не было, так как он уже использовался в инфраструктуре для финансовой дирекции.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034049
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034050
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128

так только первую версию в продуктив в декабре запустили. Даже еще не открыли вакансии для ТП.
Сам я собираюсь только помочь в организации поддержки. Все результаты НИОКР обсуждались с руководством, риски учитывались и выбор технологий был санкционирован. Так что, строго говоря, это уже давно не моя головная боль.

что, реально кто-то на это смотрел и в самом деле санкционировал многопоточность через dblink колхозить ?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034056
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
что, реально кто-то на это смотрел и в самом деле санкционировал многопоточность через dblink колхозить ?

А это то при чем? dblink родной и штатный компонент PostgreSQL. Его то зачем санкционировать? А эксперименты показали, что многопоточность все равно надо управляемым делать. Чтобы не оказалось, что последней было запущенно обучение модели, которое длится час, тогда как остальные, параллельные ей завершились за 5 минут.

H5N1
на вход получает train set, test set

И какого размера они могут быть, для того, чтобы был смысл скармливать их той же ARIMA? )))

H5N1
PG все равно, если не сдохнет то чудовищно проиграет на больших данных в задачах по трансформации и очистки данных альтернативам

"Чукча не читатель, чукча писатель?" (с)
Он уже выиграл у альтернатив. 4ТБ БД, свыше миллиарда атомарных событий на входе, фильтрация и трансформация производится за 30 минут. Прогнозирование по выбранным кластеризацией моделям двух миллионов временных серий - за 4 часа. Кластеризация временных серий кроссвалидацией при подборе моделей - за 15 часов. На данный момент второй сервер не запущен, а первый ограничен 24 ядрами. То есть, прогнозируется не менее, чем двукратное сокращение времени на прогнозирование и кластеризацию.
Хотя в целевые показатели (8 часов на прогнозирование и 24 часа на кластеризацию) мы и так вписываемся.

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

И в этом, как выяснилось, его недостаток.
1. В него надо данные загрузить, тогда как они у меня так и остаются в одной БД
2. Порубить тоже надо с умом, чтобы равномерно грузить узлы, а не долго ждать, пока последняя задача закончится на последнем узле.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034057
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
что, реально кто-то на это смотрел и в самом деле санкционировал многопоточность через dblink колхозить ?

Сорри. Только что дошло, что Вы обыкновенный тролль. Это же надо быть полным дебилом, что задавать такой вопрос без целей троллинга.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034089
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128

И в этом, как выяснилось, его недостаток.
1. В него надо данные загрузить, тогда как они у меня так и остаются в одной БД


plr/plpython это внешние по отношению к субд процессы. plpython запускает из папочки /bin питончик, делает коннекцию к субд и тащит каждый битик в питон. при этом затрачиваются гигантские ресурсы на конвертирование типов из субд в питоновские. никакой принципиальной разницы со спарком и его jdbc коннекции нет.
постгрес не умеет клатеризоваться, там нет колончатых структур, в посгресе нет компрессии. 4Тб постгреса выгрузятся в отсилы в 2Тб csv, т.к. блоках данных постгреса туча лишней для аналитики служебной информации. для аналитики использую greenplum, вариация массивно-параллельного постгреса с колончатой структурой. 2Тб csv упакуются в колончатый формат parquet всего в 0.7Тб

ptr128

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

у тебя уже натренированы модели, там нечего уже считать. для таких задач принято в реалтайме выдавать ответ имея уже натренированные модели. обычно читают из кафки и в реалтайме пишут в туже кафку ответ.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034115
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, каждый элемент которых при преобразовании в текст станет занимать в два раза болььше места.

Прошу прощения, но зачем Вы нагло лжете с умным видом?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034116
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
у тебя уже натренированы модели

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

Но модели надо, во-первых, обучать/дообучать каждую ночь, во-вторых, надо кластеризовать вектора, заново выбирая модель кроссвалидацией каждую неделю.
Больше всего волнует распределение по вычислительным узлам как раз обучаемых моделей.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034121
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128

H5N1
4Тб постгреса выгрузятся в отсилы в 2Тб

Ложь, так как в БД в основной своей массе массивы четырехбайтовых real, каждый элемент которых при преобразовании в текст станет занимать в два раза болььше места.


На всякий случай, чтобы не быть голословным, приведу пример на одной из табличек.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  CREATE TABLE dv3.time_series_arrays (
    VectorId    integer     NOT NULL,
    Cnt         integer     NOT NULL,
    Std         real        NULL,
    AvgHours    real        NOT NULL,
    QLNorm      real        NOT NULL,
    Perc        real[]      NOT NULL,
    TimeInHours real[]      NOT NULL,
    OperDate    timestamp[] NOT NULL,
    MaxDate     date );
  CREATE UNIQUE INDEX time_series_arrays_Idx ON dv3.time_series_arrays (VectorId);



Row Count Estimate: 1 866 021
Disk Space: 2,2G
Rel Size: 771M

Код: plsql
1.
COPY dv3.time_series_arrays TO '/backup/pg_backup/time_series_arrays.txt'



Код: plaintext
1.
2.
3.
ls -l --block-size=G /backup/pg_backup/time_series_arrays.txt

-rw-r--r--. 1 postgres postgres 40G Jan  8 05:03 /backup/pg_backup/time_series_arrays.txt

Разница в 18 раз. Устроит?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034437
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128
.опытка решить задачу на MS SQL требовала обязательно Enterprise из-за ограничения на 4 ядра у R Service у Standard. А это свыше 7 тыс. вечнозеленых ежемесячно за 32 ядра


Таки реально ежемесячно?
Какой вид лицензии, можно со ссылкой на их сайт? Или это премьер-поддержка?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034453
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик,

Вроде если в лоб то похоже на это:
(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 если все физические ядра лицензировать - то виртуалки на них уже без ограничений.
(по операционкам конечно другой вопрос)
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034458
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот, "вспомнил"/нагуглил: у IBM с десяток лет (начиная с POWER7 платформы) х3 тредов, на POWER10 уже x8 тредные на каждое ядро..
правда непонятно насколько это аналогичные трэды в обычном понимании и как там с совместимостью для SQL Server

Кстати - а что помешало при таких-то навыках написать свою собственную CLR побыстрее под SP для интеграции R/Python с SQL Server в обход всех ограничений безопасности из-за контейнерной изоляции процесса?

хотя наверное понятно - если уже есть готовое и проверенное стандартное решение на рынке то зачем изобретать велосипед с кучей возможных проблем себе на будущее
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034467
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv
Кстати - а что помешало при таких-то навыках написать свою собственную CLR побыстрее под SP для интеграции R/Python с SQL Server в обход всех ограничений безопасности из-за контейнерной изоляции процесса?

Во-первых, решение на PostgreSQL не надо было писать. Оно есть.
Во-вторых, если PostgreSQL порождает под каждое соединение свой отдельный процесс (fork) и падение интерпретатора приведет к падению только этого процесса, то MS SQL монолитен, и там есть риск падения всего сервера.

Уверен, что в MS не дураки сидят, и, похоже, сделали такую архитектуру вызова внешних скриптов именно для их изоляции от Database Engine.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034703
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv,

Ну, амортизировать ПО за год - этот вариант только для миллиардеров )

Есть корп скидки - там цена часто падает до 2х раз.
Плюс есть всякие акции, когда можно обменять ненужные лицензии Oracle на нужные MS. Можно банально арендовать ПО, или арендовать ПО сразу с железом в облаке. Вариантов куча, только коллега рассмотрел самый дорогой )
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034710
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик,

не тупите. Явно же написано 5434 USD/ year за 2 ядра. Посчитайте для 32 и 64 уже сами.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034807
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куда катится этот мир.....
Одних только аббревиатур и технологий - на страницу.

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

Не надоело забивать гвозди платиновым молотком ?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034813
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
новомодные модельки дадут бизнесу выигрыш хотя бы на 5% больше затраченного бюджета ? Не говоря уже про 20%.


Поясните Ваш метод расчета рентабельности, пожалуйста.

Обычно, считают сначала сокращение затрат, а уже потом сравнивают их со стоимостью разработки.
Например, в моем случае, уже подтвержденные 5% сокращения затрат на логистику есть 10 миллиардов рублей в год. При том, что бюджет еще 100 миллионов не превысил. То есть достигнутая рентабельность 9900%
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034834
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128
L_argo
новомодные модельки дадут бизнесу выигрыш хотя бы на 5% больше затраченного бюджета ? Не говоря уже про 20%.


Поясните Ваш метод расчета рентабельности, пожалуйста.

Обычно, считают сначала сокращение затрат, а уже потом сравнивают их со стоимостью разработки.
Например, в моем случае, уже подтвержденные 5% сокращения затрат на логистику есть 10 миллиардов рублей в год. При том, что бюджет еще 100 миллионов не превысил. То есть достигнутая рентабельность 9900%
Я должен пояснять ???
Это вы должны пояснить свой метод расчета рентабельности и профита. Откуда эти фантастические 9900% взяты ?

Кто решил, что сокращение затрат на логистику именно благодаря новым алгоритмам, без которых ранее это сокращение было невозможным ?

Помниццо в одной компании не вели учет ГСМ. Выдавали просто, кто сколько заявлял. Потом ввели обязательную и простую процедуру отчета о потраченных ГСМ. "Неожиданно" расход ГСМ упал более чем в 2 раза.

Очень вероятно, что в Ваших 9900% имел место похожий феномен: просто навели порядок в БП, а ИИ и ИТ-хипстеры на самом деле не при чем.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034841
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ptr128

Во-первых, решение на PostgreSQL не надо было писать. Оно есть.
Во-вторых, если PostgreSQL порождает под каждое соединение свой отдельный процесс (fork) и падение интерпретатора приведет к падению только этого процесса

можешь пояснить, если ты понимаешь то это совершенно сторонний от субд процесс, нафига клоунаду с "ложь" устроил ?
и лапоть, csv файлик упакуй.

ptr128

Уверен, что в MS не дураки сидят, и, похоже, сделали такую архитектуру вызова внешних скриптов именно для их изоляции от Database Engine.

в мс не дураки, потому для задач ML они mssql2019 big data clusters выкатили со spark поверх hdfs.
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034853
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

потому что незачем лгать публично. Это все равно выясниться, так как легко проверяемо.
Или Вы просто тролль, который несет пургу о том, чего даже не знает?
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034855
Фотография ptr128
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
ptr128уже подтвержденные 5% сокращения затрат на логистику есть 10 миллиардов рублей в год. При том, что бюджет еще 100 миллионов не превысил. То есть достигнутая рентабельность 9900%


Откуда эти фантастические 9900% взяты ?
Вы местный клоун или считать не умеете?
Если при бюжете проекта в 100 млн. затраты сократились на 10 млрд, то какая рентабельность проекта?

L_argo
Кто решил, что сокращение затрат на логистику именно благодаря новым алгоритмам, без которых ранее это сокращение было невозможным ?

Этот вопрос в сфере деятельности дирекции по логистике. Я даже не вникал в те документы, которые они предоставили на совет директоров. Только удивился, что так мало, но потом уже разобрались, что ряд диспетчеров саботировали рекомендации по адресации из модели, адресуя вагоны по своему личному разумению, как это делали предыдущие 20 лет. Но это уже отдельная история.

L_argo
просто навели порядок в БП

Точно клоун )))
Да, научились в Excel оптимизировать адресацию вагонов )))
Причем 20 лет не могли это сделать, а как только систему внедрили вдруг сумели )))

L_argo
Я должен пояснять ???

Естественно. Вы же как-то считали рентабельность только исходя из бюджета проекта, не учитывая сокращения затрат ))))
...
Рейтинг: 0 / 0
SSAS Структуры интеллектуального анализа данных
    #40034874
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы же как-то считали рентабельность только исходя из бюджета проекта, не учитывая сокращения затратЯ вообще ничего не писал про расчет рентабельности.
Рентабельность не такой простой вопрос, как Вы тут пишете.

Я всего лишь сказал, что затратив на проект 10млн. нужно получить за некий период хотя бы 10.5 млн экономии.
А еще лучше, если превысить ставку банковского депозита, т.к. просто положив 10 млн. в банк можно получить гарантированную прибыль и без всяких ИТ-проектов. :)

В противном случае - пустая трата времени и ресурсов.

Методика расчета экономии может быть очень сложной. И при этом надо правильно оценивать истинные причины этой экономии.

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

зы: Раз уж пошло дело про вагоны и РЖД, то можно погулить про "белорусский метод". Когда "эффективные менеджеры" начали сокращать обходчиков, помощников машинистов и связистов.

rus-etrain.ruПомощников машинистов тогда и убрали. Именно на это время и приходится самая страшная катастрофа в истории Белоруссии - столкновение пасс. поезда с хвостовой частью электрички. Крыжовка, май 1977 года.
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS Структуры интеллектуального анализа данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]