Aspiring Data Science – Telegram
Aspiring Data Science
385 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#postgres #pgbench #zfs

Потестил pg_bench PG15 на SSD в ext4 и zfs (с шифрованием/сжатием и без) в Ubuntu 22.04.

ZFS ENCRYPTED & COMPRESSED (LZ4):

sudo -i -u postgres pgbench -c 10 -j 2 -t 10000 example

latency average = 4.891 ms
initial connection time = 34.946 ms
tps = 2044.768698 (without initial connection time)

sudo -i -u postgres pgbench -c 10 -j 6 -t 10000 example

latency average = 4.552 ms
initial connection time = 17.378 ms
tps = 2196.925697 (without initial connection time)

ZFS ENCRYPTED & COMPRESSED (LZ4) TUNED WITH TIMESCALEDB:

sudo -i -u postgres pgbench -c 10 -j 2 -t 10000 example

latency average = 4.031 ms
initial connection time = 31.661 ms
tps = 2480.899924 (without initial connection time)

latency average = 3.850 ms
initial connection time = 31.273 ms
tps = 2597.574037 (without initial connection time)

latency average = 3.889 ms
initial connection time = 32.503 ms
tps = 2571.192661 (without initial connection time)


sudo -i -u postgres pgbench -c 10 -j 6 -t 10000 example

latency average = 3.784 ms
initial connection time = 27.329 ms
tps = 2642.536852 (without initial connection time)

latency average = 3.741 ms
initial connection time = 17.922 ms
tps = 2673.011469 (without initial connection time)

latency average = 3.679 ms
initial connection time = 16.235 ms
tps = 2718.262035 (without initial connection time)


ZFS NON-ENCRYPTED & COMPRESSED (LZ4):

sudo -i -u postgres pgbench -c 10 -j 2 -t 10000 example

latency average = 4.660 ms
initial connection time = 38.052 ms
tps = 2146.130682 (without initial connection time)

latency average = 4.507 ms
initial connection time = 39.378 ms
tps = 2218.757361 (without initial connection time)

latency average = 4.266 ms
initial connection time = 36.697 ms
tps = 2344.329379 (without initial connection time)


sudo -i -u postgres pgbench -c 10 -j 6 -t 10000 example

latency average = 3.936 ms
initial connection time = 21.317 ms
tps = 2540.753366 (without initial connection time)

latency average = 3.915 ms
initial connection time = 17.523 ms
tps = 2554.329177 (without initial connection time)

latency average = 4.076 ms
initial connection time = 21.361 ms
tps = 2453.572519 (without initial connection time)


ZFS NON-ENCRYPTED & COMPRESSED (LZ4) TUNED WITH TIMESCALEDB:

sudo -i -u postgres pgbench -c 10 -j 2 -t 10000 example

latency average = 3.648 ms
initial connection time = 34.840 ms
tps = 2741.206504 (without initial connection time)

latency average = 3.473 ms
initial connection time = 39.593 ms
tps = 2879.122987 (without initial connection time)


latency average = 3.592 ms
initial connection time = 34.987 ms
tps = 2783.957080 (without initial connection time)

sudo -i -u postgres pgbench -c 10 -j 6 -t 10000 example

latency average = 3.346 ms
initial connection time = 21.312 ms
tps = 2988.591798 (without initial connection time)

latency average = 3.178 ms
initial connection time = 18.359 ms
tps = 3147.071197 (without initial connection time)

latency average = 3.337 ms
initial connection time = 19.320 ms
tps = 2996.486500 (without initial connection time)

EXT4 NON-ENCRYPTED NON-COMPRESSED TUNED WITH TIMESCALEDB

sudo -i -u postgres pgbench -c 10 -j 2 -t 10000 example

latency average = 2.596 ms
initial connection time = 86.466 ms
tps = 3852.682810 (without initial connection time)

latency average = 2.751 ms
initial connection time = 89.400 ms
tps = 3635.586811 (without initial connection time)

latency average = 2.719 ms
initial connection time = 92.922 ms
tps = 3677.184800 (without initial connection time)

sudo -i -u postgres pgbench -c 10 -j 6 -t 10000 example

latency average = 2.643 ms
initial connection time = 50.687 ms
tps = 3784.041569 (without initial connection time)

latency average = 2.518 ms
initial connection time = 42.306 ms
tps = 3971.158272 (without initial connection time)

latency average = 2.560 ms
initial connection time = 40.711 ms
tps = 3906.430062 (without initial connection time)
#chatgpt #fantasy

Много лет я пытался вспомнить/найти рассказ, когда-то прочитанный в детстве и оставивший сильное впечатление. Раз в несколько лет я о нём вспоминаю и начинаю пару часов гуглить, как обычно, безуспешно. Там очень красивая история.

Она об учёном, который хотел изобрести космические двигатели нового типа. В которые никто не верил, даже его лучший друг и девушка.
А он вёл разработки, но всё не получалось, он со всеми разругалcя и отчаялся Всё происходило в будущем, уже вышли на контакт с несколькими инопланетными расами. Тут его зовут на работу какие-то как раз представители одной из рас, начальником лаборатории по разработке оружия. И общем, он создаёт для них непобедимую армаду, космический флот, который начинает завоевывать Галактику. И уже давно он догадывается, что его новые друзья хотят повернуть его против землян. Самое интересное, что земляне назначают главой армии защиты.. его друга, который (сюрприз) женат на его бывшей девушке. Бывшие друзья пытаются с ним выйти на связь, убеждают, мол, ты же человек, помоги нам, нафига тебе эти жабы инопланетные. А у него, понятно, уязвлённая гордость, мол - что они противопоставят моим гениальным изобретениям? И при первой стычке понимает, что земные корабли оснащены теми самыми двигателями нового типа, сделанными по его чертежам, которые доработал его друг. Но это все земляным не поможет. В итоге он направляет весь флот захватчиков прямо в Солнце, за что его там же убивают "наниматели".
🆒1
#postgres

"pg_repack is a PostgreSQL extension which lets you remove bloat from tables and indexes, and optionally restore the physical order of clustered indexes. Unlike CLUSTER and VACUUM FULL it works online, without holding an exclusive lock on the processed tables during processing. pg_repack is efficient to boot, with performance comparable to using CLUSTER directly."

https://github.com/reorg/pg_repack/
#db #tuning #postgres

Любопытная ситуация. За много лет DBA-шное сообщество, кажется, ничего так и не придумало для оптимизации параметров СУБД. Уж на примере Постгре точно. Разрабам ядра PG положить с прибором на это, они слишком старомодны и консервативны, до сих пор считают, что рабочую память, да и все остальные параметры, сисадмин должен ручками прописывать. Есть pg_bench, но неясно, как его толком применить к настройке. Ведь параметры СУБД взаимодействуют с настройками ОС и ФС, причем зачастую нелинейно. А есть же ещё параметры железа. А еще версии ОС, ФС, СУБД. А еще разные запросы и разное распределение данных в таблицах, поэтому универсальные рекомендации дать трудно. Надо или брутфорсить сотни тысяч комбинаций pgbench-ем (на сервере близком к боевому), или оверпровижинить, или забивать на оптимальность. Почему я один в этом вижу проблему? PostgresPro, возможно, как-то над этим работают, но с их ценником в миллион за ядро я их даже не рассматриваю.
Forwarded from Kali Novskaya (Tatiana Shavrina)
#nlp #про_nlp #nlp_papers

Я решила немного чаще рассказывать вам про работы, которые мы делаем с коллегами вместе, да и вообще больше привлекать внимания к менее хайповым не-чатгпт научным проблемам, поэтому введу новую рубрику — #nlp_papers

Сегодня поговорим о том, как можно применять теорию общественного выбора к оценке LLM.

Vote'n'Rank: Revision of Benchmarking with Social Choice Theory

Теория общественного выбора (Social choice theory) — это теоретические и практические методы агрегирования или объединения индивидуальных предпочтений в функцию коллективного общественного благосостояния. Обычно в этой области предполагается, что у людей есть предпочтения, и из этого следует, что их можно смоделировать с помощью функций полезности.

🌸Проблема: современные языковые модели оцениваются на целом ворохе различных задач. В результате такой оценки на каждую модель приходится по 20-30 метрик, зачастую разной природы (точность, полнота, Bert score, MCC..) и диапазона (от 0 до 1, от -1 до 1, и т.д.). Как на основании таких результатов выстраивать лидерборд лучших моделей? Усреднять такое явно нельзя. Да и потом, является ли лучшее среднее всех результатов по всем задачам оптимальным направлением наших стремлений?

🌸Идея: Позаимствуем методы рассчетов из теории общественного выбора и перевзвесим результаты моделей на GLUE, SuperGLUE и VALUE (Video-and-Language Understanding Evaluation).
Будем использовать такие правила агрегации, как скоринговые правила (Plurality, Borda, Dowdall), итеративные скоринговые правила (пороговое правило, Baldwin), и мажоритарные правила (Condorcet rule, Copeland rule).

Агрегации Vote'n'Rank более надежны, чем среднее арифметическое всех метрик, и в то же время способны обрабатывать отсутствующие значения на разных задачах и указывать условия, при которых система становится победителем.
• Правило множественности (Plurality)— хороший выбор, если пользователю нужны только лучшие системы по каждой задаче.
• Если все позиции в рейтинге имеют значение, используйте правила Borda или Dowdall. Обратите внимание, что Даудалл присваивает более высокие веса верхним позициям.
Пороговое правило полезно в тех случаях, когда пользователь хочет свести к минимуму количество задач с низким результатом: правило присваивает наивысший ранг системе, которая считается худшей по наименьшему числу задач.
• Если цель состоит в том, чтобы выбрать систему, которая превосходит все остальные в попарном сравнении, используйте правила Болдуина, Кондорсе, Коупленда или правила Минимакса.

Feel free использовать в своих пайплайнах оценки моделей!

🖥Paper: https://arxiv.org/abs/2210.05769v3
🖥Github: https://github.com/PragmaticsLab/vote_and_rank
🌸Accepted EACL 2023
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#business

Меня разрывает между десятком проектов и идей. Все хорошие, классные, интересные, сложные. По итогу не успеваю ни один довести до ума. Смотрю на список из 13 стартапов и понимаю, что это уже не программерская, а управленческая задача.

Варианты решения:
1) продолжить долбаться самому. типа дёшево-бесплатно, но ничего не сделаешь и за годы, с моим темпом.
2) найти инвестирование и начать найм фрилансеров на решение небольших, четко сформулированных подзадач, затем по мере появления решений интегрировать их в прод везде, где смогут быть полезны. Типа придется делиться шкурой неубитого медведя, но так есть шанс хоть что-то довести до релиза.
Записали, наконец, с https://news.1rj.ru/str/boris_again видео-разбор статьи Adam: A Method for Stochastic Optimization ( https://arxiv.org/abs/1412.6980 ). Получилось, конечно, не так, как задумывалось изначально, но все равно интересно.

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

Ссылка на демонстрацию и статью, показанную в первом видео: https://distill.pub/2017/momentum/ .

————————————————————

Ссылки на видео:

https://www.youtube.com/watch?v=vqIwkVQnq4w&ab_channel=WMax (1 часть)

https://www.youtube.com/watch?v=ZnKmWDKBlGg&ab_channel=WMax (2 часть)

————————————————————

Спасибо большое @btseytlin за рассказ, а @unfinity - за загрузку на YouTube!
#объяснения_статей