Forwarded from Aspiring Data Science (Anatoly Alekseev)
#trading #chan #featureengineering
Понравилась идея превращения cs фичей в ts путём формирования синтетического портфеля из активов, отранжированных по cs признаку. Трейдерские метрики такого портфеля уже можно (путём взятия rolling stats) превратить во временнЫе (ts) признаки.
И, что Эрни считает важным, эта техника позволяет признаки, обновляющиеся редко (раз в квартал, к примеру), переводить в обновляющиеся быстро (насколько часто вам будет угодно котировать такой синтетический портфель).
https://www.youtube.com/watch?v=6J9iaXNpCN8
Понравилась идея превращения cs фичей в ts путём формирования синтетического портфеля из активов, отранжированных по cs признаку. Трейдерские метрики такого портфеля уже можно (путём взятия rolling stats) превратить во временнЫе (ts) признаки.
И, что Эрни считает важным, эта техника позволяет признаки, обновляющиеся редко (раз в квартал, к примеру), переводить в обновляющиеся быстро (насколько часто вам будет угодно котировать такой синтетический портфель).
https://www.youtube.com/watch?v=6J9iaXNpCN8
YouTube
PredictNow.ai Feature Zoo Webinar
In this recorded webinar, Dr. Ernest Chan and Akshay Nautiyal discuss the latest pre-engineered features that have been added to the PredictNow.ai software.
If you enjoyed this video be sure to check out our no-code machine learning software, PredictNow.ai.…
If you enjoyed this video be sure to check out our no-code machine learning software, PredictNow.ai.…
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#polars #pandas
Сравнительно недавно начал по-настоящему изучать поларс, потому что пандас уже задолбал своей неповоротливостью. Хочу поделиться некоторыми замечаниями о фреймворке.
Прежде всего, в глаза бросается жёсткая логика в наименовании методов. Наверное, если бы компьютеру поручили самому разработать фреймворк, к таким названиям как раз и пришли бы кремниевые мозги ИИ. Каждый раз, когда видишь полар-овские group_by, write_csv, кажется, как разрабы поларс со всего размаха тыкают носом страдающих слабой логикой, маразмом, и вообще очень ветреных разрабов пандас.
Какие фишки реально понравились:
Выбор столбцов.
Можно выбирать столбцы регуляркой, выбирать все столбцы одним ключевым словом, элегантно отбрасывать столбцы (в т.ч. опять же регуляркой). Этого реально не хватает в пандас, да и sql.
Ещё больше упрощают дело селекторы:
Комбинации селекторов (в терминах логики множеств) уже менее интуитивны:
Апдейты Поларс.
Их фигачат каждые чуть ли не 2 недели, причём там реальная работа, помногу. Что ж это будет за зверь через год?
И даже я сам уже запостил несколько issues, которые были приняты во внимание и исправлены (самим Риччи). Внёс свой скромный вклад в дело улучшения DS библ для всех 😅.
Многопоточное исполнение. Полная утилизация CPU. Оптимизация операций над lazy фреймами.
Это просто небо и земля, по сравнению с пандасом. Никогда для работы со сколько-нибудь серъёзным набором данных (от десятка гигов) я больше не буду использовать пандас. Получается, ты платишь за машину с сотней ядер, а с pandas используешь большую часть времени одно. Более того, уже есть поддержка engine="gpu", спасибо кодерам Nvidia (под капотом использует cudf. есть ограничения на виды операций и типы данных, которые можно исполнять на gpu, но потихоньку они снимаются).
Синтаксис операций.
Можно обращаться сразу к множеству столбцов, и элегантно применять ко всем одно преобразование. Можно писать генерики для сложной работы со столбцами, которые станут известны лишь в контексте. По сравнению с пандас, паттерн применения преобразований меняется - надо стараться вынести как можно больше операций в каждый вызов контекста (select, with_columns, group_by, group_by_dynamic), потому что так они параллелятся на все ядра. В операциях не обязательно использовать существующие столбцы, можно и просто выражения над ними! Вроде
Rust plugins.
Если какие-то операции недоступны в нативном polars, можно вызвать питоновские функции, черезе map_groups, например, но они не будут параллелиться. Для этих случаев можно написать и скомпилировать свой плагин на Расте. Я пробовал, это сложно ) В синтаксисе этого раста чёрт ногу сломит. И не одну. Но возможность есть!
Фишка которую я пока не пробовал - streaming . Работа с данными больше RAM.
Сравнительно недавно начал по-настоящему изучать поларс, потому что пандас уже задолбал своей неповоротливостью. Хочу поделиться некоторыми замечаниями о фреймворке.
Прежде всего, в глаза бросается жёсткая логика в наименовании методов. Наверное, если бы компьютеру поручили самому разработать фреймворк, к таким названиям как раз и пришли бы кремниевые мозги ИИ. Каждый раз, когда видишь полар-овские group_by, write_csv, кажется, как разрабы поларс со всего размаха тыкают носом страдающих слабой логикой, маразмом, и вообще очень ветреных разрабов пандас.
Какие фишки реально понравились:
Выбор столбцов.
Можно выбирать столбцы регуляркой, выбирать все столбцы одним ключевым словом, элегантно отбрасывать столбцы (в т.ч. опять же регуляркой). Этого реально не хватает в пандас, да и sql.
df.select(pl.col("ticker", "^.*_high$", "^.*_low$"))
df.select(pl.all().exclude("^day_.*$"))Ещё больше упрощают дело селекторы:
import polars.selectors as cs
df.select(cs.string() | cs.ends_with("_high"))
Комбинации селекторов (в терминах логики множеств) уже менее интуитивны:
df.select(cs.contains("_") - cs.string()),но всё равно крайне полезны.Апдейты Поларс.
Их фигачат каждые чуть ли не 2 недели, причём там реальная работа, помногу. Что ж это будет за зверь через год?
И даже я сам уже запостил несколько issues, которые были приняты во внимание и исправлены (самим Риччи). Внёс свой скромный вклад в дело улучшения DS библ для всех 😅.
Многопоточное исполнение. Полная утилизация CPU. Оптимизация операций над lazy фреймами.
Это просто небо и земля, по сравнению с пандасом. Никогда для работы со сколько-нибудь серъёзным набором данных (от десятка гигов) я больше не буду использовать пандас. Получается, ты платишь за машину с сотней ядер, а с pandas используешь большую часть времени одно. Более того, уже есть поддержка engine="gpu", спасибо кодерам Nvidia (под капотом использует cudf. есть ограничения на виды операций и типы данных, которые можно исполнять на gpu, но потихоньку они снимаются).
Синтаксис операций.
Можно обращаться сразу к множеству столбцов, и элегантно применять ко всем одно преобразование. Можно писать генерики для сложной работы со столбцами, которые станут известны лишь в контексте. По сравнению с пандас, паттерн применения преобразований меняется - надо стараться вынести как можно больше операций в каждый вызов контекста (select, with_columns, group_by, group_by_dynamic), потому что так они параллелятся на все ядра. В операциях не обязательно использовать существующие столбцы, можно и просто выражения над ними! Вроде
df.sort(pl.col("name").str.len_bytes(),descending=True).Rust plugins.
Если какие-то операции недоступны в нативном polars, можно вызвать питоновские функции, черезе map_groups, например, но они не будут параллелиться. Для этих случаев можно написать и скомпилировать свой плагин на Расте. Я пробовал, это сложно ) В синтаксисе этого раста чёрт ногу сломит. И не одну. Но возможность есть!
Фишка которую я пока не пробовал - streaming . Работа с данными больше RAM.
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#polars #pandas
Отличия от пандас в концепциях:
Нет индексов (кроме целочисленных), осей, модификаций столбцов датафреймов inplace. Хотя на самом деле при модификации столбца фрейм в памяти не пересобирается, компилируется (быстро) лишь новый мета-объект фрейма со ссылками на те же массивы arrow.
Поларс не поддерживает разные типы данных в одном и том же столбце (кроме null), пандас поддерживает.
Пандас по умолчанию удаляет строки с отсутствующими значениями при агрегации. Поларс сохраняет все группы.
Поларс различает отсутствующие значения (null) и некорректные числа (NaN, что означает "не число"), и это различие сохраняется независимо от типа данных.
В результате этого пандас преобразует столбцы с целыми числами в столбцы с плавающей точкой при появлении отсутствующих значений (хотя этого не происходит с новыми типами данных arrow, в посл версиях). Это связано с тем, что тип Integer не поддерживает отсутствующие значения. Поларс такого преобразования не делает, так как поддерживает отсутствующие значения для всех типов данных (хранит битовую маску nulls для каждого поля).
В пандас можно иметь несколько столбцов с одинаковым именем. В Поларс имена столбцов должны быть уникальными.
Странности поларса:
nan vs null. Не уверен, что это хорошая идея. Но вполне в духе строгостей поларса.
animals_pl.unique(subset="class") вместо animals_pd.drop_duplicates(subset="class")
sort(...,descending=). Зачем было отклоняться от привычного в пандас acscending? too much.
sum_horizontal() и подобные функции (вследствие отсутствия axis).
Из интересного вам глянуть:
df.to_dict vs df.to_dicts
approx_n_unique()
glimpse()
.set_sorted()
stacking vs pl.concat vs extending
Отличия от пандас в концепциях:
Нет индексов (кроме целочисленных), осей, модификаций столбцов датафреймов inplace. Хотя на самом деле при модификации столбца фрейм в памяти не пересобирается, компилируется (быстро) лишь новый мета-объект фрейма со ссылками на те же массивы arrow.
Поларс не поддерживает разные типы данных в одном и том же столбце (кроме null), пандас поддерживает.
Пандас по умолчанию удаляет строки с отсутствующими значениями при агрегации. Поларс сохраняет все группы.
Поларс различает отсутствующие значения (null) и некорректные числа (NaN, что означает "не число"), и это различие сохраняется независимо от типа данных.
В результате этого пандас преобразует столбцы с целыми числами в столбцы с плавающей точкой при появлении отсутствующих значений (хотя этого не происходит с новыми типами данных arrow, в посл версиях). Это связано с тем, что тип Integer не поддерживает отсутствующие значения. Поларс такого преобразования не делает, так как поддерживает отсутствующие значения для всех типов данных (хранит битовую маску nulls для каждого поля).
В пандас можно иметь несколько столбцов с одинаковым именем. В Поларс имена столбцов должны быть уникальными.
Странности поларса:
nan vs null. Не уверен, что это хорошая идея. Но вполне в духе строгостей поларса.
animals_pl.unique(subset="class") вместо animals_pd.drop_duplicates(subset="class")
sort(...,descending=). Зачем было отклоняться от привычного в пандас acscending? too much.
sum_horizontal() и подобные функции (вследствие отсутствия axis).
Из интересного вам глянуть:
df.to_dict vs df.to_dicts
approx_n_unique()
glimpse()
.set_sorted()
stacking vs pl.concat vs extending
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#polars #pandas #codegems
Что в поларс НЕ понравилось.
Активное переименование методов от версии к версии. Это сводит с ума все AI, которые пробуешь использовать для генерации кода.
Мало примеров в доке к сложным методам типа .over и .group_by, .group_by_dynamic. Реально непонятно, как и на каких принципах оно отработает. В документации расписано слабовато.
Иногда polars начинает жрать всю память на относительно простых операциях, где мог бы быть более экономным. Иногда проскакивают ошибки/панические атаки, зачастую сложновоспроизводимые.
И самое главное. Если у вас большие фреймы и много операций (математических, group_by), поларс отработает быстро, но гарантированно забьёт вам всю оперативку. То же сделает и пандас, но за ним неиспользованную память можно хотя бы подчистить вызовом ctypes.CDLL("libc.so.6").malloc_trim(0)
Поларс же, похоже, создаёт какие-то маленькие и разбросанные в вдресном пространстве арены памяти, которые таким способом не подчищаются. И вообще никаким не подчищаются, только завершением процесса. К примеру, у меня после интенсивных расчётов и джойнов фрейм в 100 гигов, а занято памяти на терабайт. И освободить её на линуксе никак нельзя, я уже и аллокаторы пробовал альтернативные типа jemalloc, tmalloc - без толку. Это я считаю большой проблемой вычислений и big data, и странно, что никого это не колышет особо. По факту сбора мусора в линукс нет, если вы не знали, ребята. По крайней мере после отработки поларса. "Спасибо" странным авторам аллокаторов памяти.
Что забавно, на винде этот вопрос решается!!! )) Используйте
и спите спокойно.
Следующая жёсткая проблема - производительность с dtype=category. Не храните паркетные файлы с этим типом данных, лучше конвертируйте в string (с compression='zstd', конечно). Иначе потом они будут склеиваться ВЕЧНОСТЬ, при любых настройках StringCache.
Что в поларс НЕ понравилось.
Активное переименование методов от версии к версии. Это сводит с ума все AI, которые пробуешь использовать для генерации кода.
Мало примеров в доке к сложным методам типа .over и .group_by, .group_by_dynamic. Реально непонятно, как и на каких принципах оно отработает. В документации расписано слабовато.
Иногда polars начинает жрать всю память на относительно простых операциях, где мог бы быть более экономным. Иногда проскакивают ошибки/панические атаки, зачастую сложновоспроизводимые.
И самое главное. Если у вас большие фреймы и много операций (математических, group_by), поларс отработает быстро, но гарантированно забьёт вам всю оперативку. То же сделает и пандас, но за ним неиспользованную память можно хотя бы подчистить вызовом ctypes.CDLL("libc.so.6").malloc_trim(0)
Поларс же, похоже, создаёт какие-то маленькие и разбросанные в вдресном пространстве арены памяти, которые таким способом не подчищаются. И вообще никаким не подчищаются, только завершением процесса. К примеру, у меня после интенсивных расчётов и джойнов фрейм в 100 гигов, а занято памяти на терабайт. И освободить её на линуксе никак нельзя, я уже и аллокаторы пробовал альтернативные типа jemalloc, tmalloc - без толку. Это я считаю большой проблемой вычислений и big data, и странно, что никого это не колышет особо. По факту сбора мусора в линукс нет, если вы не знали, ребята. По крайней мере после отработки поларса. "Спасибо" странным авторам аллокаторов памяти.
Что забавно, на винде этот вопрос решается!!! )) Используйте
def trim_windows_process_memory(pid: int = None) -> bool:
"""Causes effect similar to malloc_trim on -nix."""
# Define SIZE_T based on the platform (32-bit or 64-bit)
if ctypes.sizeof(ctypes.c_void_p) == 4:
SIZE_T = ctypes.c_uint32
else:
SIZE_T = ctypes.c_uint64
# Get a handle to the current process
if not pid:
pid = ctypes.windll.kernel32.GetCurrentProcess()
# Define argument and return types for SetProcessWorkingSetSizeEx
ctypes.windll.kernel32.SetProcessWorkingSetSizeEx.argtypes = [
ctypes.wintypes.HANDLE, # Process handle
SIZE_T, # Minimum working set size
SIZE_T, # Maximum working set size
ctypes.wintypes.DWORD, # Flags
]
ctypes.windll.kernel32.SetProcessWorkingSetSizeEx.restype = ctypes.wintypes.BOOL
# Define constants for SetProcessWorkingSetSizeEx
QUOTA_LIMITS_HARDWS_MIN_DISABLE = 0x00000002
# Attempt to set the working set size
result = ctypes.windll.kernel32.SetProcessWorkingSetSizeEx(pid, SIZE_T(-1), SIZE_T(-1), QUOTA_LIMITS_HARDWS_MIN_DISABLE)
if result == 0:
# Retrieve the error code
error_code = ctypes.windll.kernel32.GetLastError()
logger.error(f"SetProcessWorkingSetSizeEx failed with error code: {error_code}")
return False
else:
return True
и спите спокойно.
Следующая жёсткая проблема - производительность с dtype=category. Не храните паркетные файлы с этим типом данных, лучше конвертируйте в string (с compression='zstd', конечно). Иначе потом они будут склеиваться ВЕЧНОСТЬ, при любых настройках StringCache.
Stack Overflow
Polars DF takes up lots of RAM
I'm running a python script that analyses a dataframe (loaded from a parquet file).
I've ran my program using the memory_profiler package to see the mem signature it has - on 2 DataFrames with a si...
I've ran my program using the memory_profiler package to see the mem signature it has - on 2 DataFrames with a si...
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#polars #pandas
Запостил мини-серию о polars по сравнению с pandas:
Преимущества polars
Отличия от pandas
Недостатки polars
Заключение.
Несмотря на его сыроватость, по умолчанию теперь всегда буду использовать в своих ds-проектах polars. Людям, которые пишут pandas, наплевать на производительность, я это знаю по личному общению с одним таким человеком. Их принцип Кнутовкий, premature optimization is the root of all evil, поэтому, чтобы избежать зла, они не оптимизируют вообще. С таким кредо вам не библиотеки для работы с данными писать, уважаемые. Ну вот история вас и оставляет на обочине.
Всё же, полностью от пандас отказываться неразумно, часто там определённые вещи можно закодить быстрее в силу большей гибкости (axis) или наличия индексов. Но, как правило, я pandas в этом ключе использую лишь для маленьких фреймов. Ещё он понимает больше форматов данных. И у поларса к нему есть быстрый интероп.
Так что используйте оба, но приоритет отдавайте polars. Жизнь слишком коротка, чтобы грузить лишь 1 ядро CPU из 100 )
Из новостей: компания Риччи работает над polars cloud, это будет что-то типа dask/coiled, похоже.
Запостил мини-серию о polars по сравнению с pandas:
Преимущества polars
Отличия от pandas
Недостатки polars
Заключение.
Несмотря на его сыроватость, по умолчанию теперь всегда буду использовать в своих ds-проектах polars. Людям, которые пишут pandas, наплевать на производительность, я это знаю по личному общению с одним таким человеком. Их принцип Кнутовкий, premature optimization is the root of all evil, поэтому, чтобы избежать зла, они не оптимизируют вообще. С таким кредо вам не библиотеки для работы с данными писать, уважаемые. Ну вот история вас и оставляет на обочине.
Всё же, полностью от пандас отказываться неразумно, часто там определённые вещи можно закодить быстрее в силу большей гибкости (axis) или наличия индексов. Но, как правило, я pandas в этом ключе использую лишь для маленьких фреймов. Ещё он понимает больше форматов данных. И у поларса к нему есть быстрый интероп.
Так что используйте оба, но приоритет отдавайте polars. Жизнь слишком коротка, чтобы грузить лишь 1 ядро CPU из 100 )
Из новостей: компания Риччи работает над polars cloud, это будет что-то типа dask/coiled, похоже.
Telegram
Aspiring Data Science
#polars #pandas
Сравнительно недавно начал по-настоящему изучать поларс, потому что пандас уже задолбал своей неповоротливостью. Хочу поделиться некоторыми замечаниями о фреймворке.
Прежде всего, в глаза бросается жёсткая логика в наименовании методов.…
Сравнительно недавно начал по-настоящему изучать поларс, потому что пандас уже задолбал своей неповоротливостью. Хочу поделиться некоторыми замечаниями о фреймворке.
Прежде всего, в глаза бросается жёсткая логика в наименовании методов.…
Forwarded from EasyData
Veroyatnosti_i_nepriatnosti_Matematika_povsednevnoy_zhizni_Samoylenko.pdf
14.1 MB
Ну и раз уж речь зашла про математическую литературу, держите в дополнение к статистике ещё одно любопытное издание, посвящённое теории вероятности - книгу Сергея Самойленко "Вероятности и неприятности"🫴
Концентрация математики и формул повыше, чем у В. Савельева, но жизненные примеры и ассоциации не менее интересны!😊
#математика@data_easy
Концентрация математики и формул повыше, чем у В. Савельева, но жизненные примеры и ассоциации не менее интересны!😊
#математика@data_easy
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from tldr_tany (Таня Савельева)
Про сравнивать себя с другими
1. Сравнивать себя с другими - нормально. Мы все социальные животные и постоянно это делаем
2. Более того, если вы чувствуете зависть - это очень круто. Я лично прям цепляюсь за это чувство и как холодную воду, пью большими глотками, и иногда его ищу специально. Потом начинаю исследовать - что именно вызывает зависть и как мне это получить. Сколько там картинки, сколько правды и сколько моих домыслов. И чем мне придется пожертвовать, чтобы это получить
3. Важно, чтобы это чувство не разрушало, а мотивировало, добавляло такой азарт. Это хорошее топливо. Пытаться себя пиздить за это и внушать себе, что в мире нет никакой конкуренции и одно принятие и мы все единое - достаточно тупо, потому что это не так. Если вы не монах
Еще полезно помнить, что все себя с кем-то сравнивают, для каждого человека найдется комната, где он будет завидовать всем. Даже для условного Маска думаю есть такая комната. И для каждого человека, особенно если он не из Индии, комната, где все будут завидовать ему. Поэтому если вы никому ни в чем не завидуете вообще - возможно время куда-то двигаться
4. Хорошо себя сравнивать с людьми вашего калибра и целей. Нет смылса сравнивать себя с дочкой Билла Гейтса или Аркадия Новикова и залипать на нее - вы просто изначально не там. Или не любить физ нагрузки и завидовать балерине. Или быть рискофобом, хейтить казино и завидовать деньгами человека, который делает гэмблинг. Поэтому я ищу кого-то с похожими стартовыми условиями и целями и ценностями
5. Ну и главное - зависть и сравнение это отличный компас в сторону куда мне - через вот это покалывающее ощущение почти невозможно себя наебать, она не врет. Поэтому как и со всеми условно плохими чувствами - умение их использовать на благо себе это оч полезно. Хуже, если их нет. Из такого сильно дольше выходить и понимать, а что нам надо от жизни собственно. Поэтому наличие этого индикатора - уже половина успеха
1. Сравнивать себя с другими - нормально. Мы все социальные животные и постоянно это делаем
2. Более того, если вы чувствуете зависть - это очень круто. Я лично прям цепляюсь за это чувство и как холодную воду, пью большими глотками, и иногда его ищу специально. Потом начинаю исследовать - что именно вызывает зависть и как мне это получить. Сколько там картинки, сколько правды и сколько моих домыслов. И чем мне придется пожертвовать, чтобы это получить
3. Важно, чтобы это чувство не разрушало, а мотивировало, добавляло такой азарт. Это хорошее топливо. Пытаться себя пиздить за это и внушать себе, что в мире нет никакой конкуренции и одно принятие и мы все единое - достаточно тупо, потому что это не так. Если вы не монах
Еще полезно помнить, что все себя с кем-то сравнивают, для каждого человека найдется комната, где он будет завидовать всем. Даже для условного Маска думаю есть такая комната. И для каждого человека, особенно если он не из Индии, комната, где все будут завидовать ему. Поэтому если вы никому ни в чем не завидуете вообще - возможно время куда-то двигаться
4. Хорошо себя сравнивать с людьми вашего калибра и целей. Нет смылса сравнивать себя с дочкой Билла Гейтса или Аркадия Новикова и залипать на нее - вы просто изначально не там. Или не любить физ нагрузки и завидовать балерине. Или быть рискофобом, хейтить казино и завидовать деньгами человека, который делает гэмблинг. Поэтому я ищу кого-то с похожими стартовыми условиями и целями и ценностями
5. Ну и главное - зависть и сравнение это отличный компас в сторону куда мне - через вот это покалывающее ощущение почти невозможно себя наебать, она не врет. Поэтому как и со всеми условно плохими чувствами - умение их использовать на благо себе это оч полезно. Хуже, если их нет. Из такого сильно дольше выходить и понимать, а что нам надо от жизни собственно. Поэтому наличие этого индикатора - уже половина успеха
Forwarded from что-то на DL-ском
Вышел проект от Рика Рубина и Anthropic. Не туториал. Не инструкция. Это 81 глава с короткими тезисами о вайбкодинге как новом искусстве.
Да, оно красивое, но если вдуматься глубже этот проект буквально показывает тенденцию к легкосте, простоте, расслабленности сейчас. Раньше код был каким-то строгим, функциональным, вылизанным, теперь на смену приходит vibe coding и выигрывает тот, кто просто чувствует🤌🏼
Для меня лично это символизм перехода мира в такой стиль, а не только кода. Раньше – сложный контент, сейчас – легкий дефомин. Раньше – PowerPoint, сейчас – досочки в notion. Даже люди на улице стали расслабленнее. Все, что было раньше какое-то в стиле замятина «мы» (будет красивым примером, потому что я недавно его читала))):
На меня проект сработал. Я ЗаДУмОлАсЬ, прикреплю вам красивые визуализации позалипать еще))
Да, оно красивое, но если вдуматься глубже этот проект буквально показывает тенденцию к легкосте, простоте, расслабленности сейчас. Раньше код был каким-то строгим, функциональным, вылизанным, теперь на смену приходит vibe coding и выигрывает тот, кто просто чувствует🤌🏼
Do nothing and allow all things to be done
When Source is lost, next comes goodness… next comes morality… next comes ritual
The Vibe Coder makes no attempt to be powerful, thus he is truly powerful
Для меня лично это символизм перехода мира в такой стиль, а не только кода. Раньше – сложный контент, сейчас – легкий дефомин. Раньше – PowerPoint, сейчас – досочки в notion. Даже люди на улице стали расслабленнее. Все, что было раньше какое-то в стиле замятина «мы» (будет красивым примером, потому что я недавно его читала))):
Почему танец красив? Потому что это несвободное движение… весь глубокий смысл танца — в идеальной несвободе
Я мечтал формулами… уравнение с трансцендентными величинами
На меня проект сработал. Я ЗаДУмОлАсЬ, прикреплю вам красивые визуализации позалипать еще))
Forwarded from что-то на DL-ском
Прикол, спустя 1,5 года (?) выложили LLM для временных рядов
🤗hf docs
🖥 Примеры в ноутбуках
Но вообще, раз уж я выкладываю, что TimesFM выложили, грех не сказать, что вообще-то 18 марта на hf выкладывали уже что-то более похожее на SOTA LLM в временных рядах: Toto
В отличие от TimesFM работает не с патчами, а с вектором значений переменных
🔭 Attention:
Из технического еще интересно, что ввели новую схему внимания Proportional Factorized Space-Time Attention То есть от обычного внимания в decoder-only это отличается тем, что разделяют внимание на два аспекта:
💛 Вдоль времени (temporal attention) — как эволюционирует одна переменная во времени
💛 Вдоль признаков (spatial attention) — как взаимодействуют переменные в один и тот же момент времени
Затем эти два attention слоя факторизуются — т.е. обрабатываются отдельно, а затем совмещаются
😱 Loss:
Обычно в задаче временных рядов используются MSE или log-likelihood (собственно как у TimesFM), но тут по шли другим путем и придумали Student-T Mixture Likelihood: вместо предсказания единственного значения модель выдает параметры смеси (веса компонент, средние, дисперсии и степени свободы), из которых вычисляют negative log-likelihood
📖 Папир
🤗Модель
🤗hf docs
Но вообще, раз уж я выкладываю, что TimesFM выложили, грех не сказать, что вообще-то 18 марта на hf выкладывали уже что-то более похожее на SOTA LLM в временных рядах: Toto
В отличие от TimesFM работает не с патчами, а с вектором значений переменных
Из технического еще интересно, что ввели новую схему внимания Proportional Factorized Space-Time Attention То есть от обычного внимания в decoder-only это отличается тем, что разделяют внимание на два аспекта:
Затем эти два attention слоя факторизуются — т.е. обрабатываются отдельно, а затем совмещаются
Обычно в задаче временных рядов используются MSE или log-likelihood (собственно как у TimesFM), но тут по шли другим путем и придумали Student-T Mixture Likelihood: вместо предсказания единственного значения модель выдает параметры смеси (веса компонент, средние, дисперсии и степени свободы), из которых вычисляют negative log-likelihood
🤗Модель
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from PML (Petr [work] Ermakov)
Отличных выходных под видео с PML семинара и PML Special
Записи и презентации можно найти в wiki (полчаса и будут)
Также записи тут
- Надир Надирбеков - автоматизация фотоконтроля сумок с помощью нейросетей в Яндекс Доставке
- Дамир Чанышев - алгоритм для автогенерации тематических подборок в Маркете
- Данила Бударный - автоматическое ранжирование выгодных оферов с помощью модели Домика Плюсовика
- Денис Кузнеделев - свежая линейка генеративных моделей YandexART 2.5
и
Денис Клюкин - AI-агенты, что такое tool'ы и function calling и как агенты работают на YandexGPT
Делитесь, рассказывайте друзьям!
Записаться на след семинары можно тут
О дате следующего семинара сообщим дополнительно ❤️
Записи и презентации можно найти в wiki (полчаса и будут)
Также записи тут
- Надир Надирбеков - автоматизация фотоконтроля сумок с помощью нейросетей в Яндекс Доставке
- Дамир Чанышев - алгоритм для автогенерации тематических подборок в Маркете
- Данила Бударный - автоматическое ранжирование выгодных оферов с помощью модели Домика Плюсовика
- Денис Кузнеделев - свежая линейка генеративных моделей YandexART 2.5
и
Денис Клюкин - AI-агенты, что такое tool'ы и function calling и как агенты работают на YandexGPT
Делитесь, рассказывайте друзьям!
Записаться на след семинары можно тут
О дате следующего семинара сообщим дополнительно ❤️