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
#writing #medium #rationality #economics #paradox

Вообще, конечно, удивительная вещь. Я решил вступить в программу-партнёрку писателей на medium, чтобы была мотивация делиться своим опытом. У меня уже была 1 опубликованная статья и >100 подписчиков, и меня вдохновлял опыт одной девушки, мигрантки из Украины, которая сделала блоггинг своим основным источником дохода, в т.ч. благодаря сайту медиум. Идея в том, что сайт делится с создателями контента частью платежей подписчиков, причем пропорционально времени, проведенному подписчиками за чтением статей конкретного автора. Звучит справедливо и классно, пока не доходит до дела. При попытке регистрации с изумлением я узнал, что принимают они в партнёрку лишь из крайне ограниченного числа стран, около 30.
Полуофициальная отмазка - только те страны, где работает платежная система Stripe. Когда я был платным подписчиком, данная философия почему-то не помешала сайту medium брать у меня платежи из России посредством paypal. В Сети, кстати, полно индусов, нигерийцев, которые тоже в шоке от подобной политики. Для меня странно не только наличие дискриминации по признаку гражданства, но и экономическая абсурдность такого подхода. Если партнёрка стимулирует написание качественных интересных статей, привлекает платных подписчиков, то нераспространение её на все страны эквивалентно упущенной выгоде. А как же высказывание о 300% прибыли и капитализме? ) Никогда, никогда мне не понять людей.
🤬1😢1
#dba #postgres #troubleshooting

Целая эпопея с тестированием СУБД. В свете предыдущего поста, у меня появилось несколько вариантов организации данных в табличке. Как человеку приличному, захотелось их объективно сравнить как по занимаемому на диске месту, так и по скорости вставки и чтения данных. Понятно, что замерять для это придётся несколько раз, и оценивать среднее и разброс. Также ясно, что после первого запроса данные уже будут в кэше, и остальные сравнения будут необъективны. Естественно, приходим к необходимости сброса кэшей. Оказывается, в постгре такого нет, сброс достигается только полным рестартом инстанса. Ну ладно, думаю, тогда хотя бы как рестартить инстанс СУБД sql запросом, наверняка же можно? Нет такого. Ладно, откапываем питоновский язык plpython3u и учимся его ставить на сервер. Теперь-то можно с помощью subprocess запускать системную команду sudo service postgresql restart? Фиг там... Инстанс-то запущен под отдельным несистемным юзером. Ну ладно, а pg_ctl-ом то можно? Оказывается, можно потушить с помошью /usr/lib/postgresql/15/bin/pg_ctl stop -D /var/lib/postgresql/15/main. А вот перезапустить не получается, потому что родительский процесс при остановке инстанса умирает, убивая дочерний, который уже не может осуществить запуск нового инстанса. Так и сижу целый день. Придётся лезть на сервер и там тестировать локальным скриптом.. Ну или плюнуть на очистку кэшей и объективность результатов. Тем более что файловый кэш ОС всё равно останется.
1
Forwarded from Борис опять
Никита @pilot7747, мой бывший коллега из Яндекса, сделал прикольную либу:
https://github.com/pilot7747/sldl

Собирает SOTA модели и делает к ним однострочный интерфейс вида “просто сделай мне upscale картинки”
2
Для чего нужен профиль в LinkedIn?🎰

Существует стереотип о том, что LinkedIn используют только айтишники. Сегодня я расскажу о том, почему любому специалисту, будь то юристу или лингвисту, стоит иметь профиль на этой площадке 🆗

LinkedIn — американская социальная сеть для создания профессиональных связей, поиска сотрудников и вакансий. Платформа заблокирована на территории России по формальным причинам, поэтому вам понадобится средство для обхода блокировки 🕵️‍♂️

Поиск работы — одна из многих причин, по которым стоит зарегистрироваться в LinkedIn. Рассказываю, для каких целей нужен LinkedIn:

Нэтворкинг.
Здесь можно завести диалог практически с любым человеком и начать выстраивать рабочие связи. Например, когда я планировал устраиваться в Самокат, я написал нескольким знакомым через LinkedIn аналитикам и поспрашивал их, как им там работается 🍷

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

Люди пишут посты, общаются в комментариях и обмениваются мыслями. Контент в основном очень качественный — как шутки, так и статьи. Таким образом можно найти единомышленников 🎰

Суть сети заключается в её расширении. Чем больше у вас контактов, тем больше людей вы можете охватить. Общение с нужными людьми может помочь вам найти работу, получить релокейт или нужный совет. Для меня этот пункт является самым важным, потому что именно из него вытекает всё остальное 😮

Развитие карьеры и поиск работы.
Многие пишут посты о том, что они ищут работу. Многие пишут посты о том, что они ищут сотрудников. Обычно происходит мэтч и люди друг друга находят. Очень часто можно найти вакансии от лидов, которые ищут кого-то к себе в команду. Такие вакансии не публикуются на hh.ru, а податься на неё можно буквально через комментарии. Пункт особенно актуален при поиске зарубежной работы. Именно здесь рекрутеры находят людей и присылают им предложения пообщаться

Выстраивание личного бренда.
Пункт сильно пересекается с идеей нэтворкинга — вы позиционируете себя как специалиста и делитесь экспертизой. Ссылка на LinkedIn во многих зарубежных местах заменяет визитку или резюме, потому что там кратко описываются основные сведения о человеке.

Продажи
Многие фрилансеры, бизнес-тренеры и преподаватели ищут себе клиентов именно там. Это удобно, ведь при должном подходе к ведению профиля можно относительно просто выйти на клиента.

Сегодня мы разобрали, для чего вам нужен LinkedIn. Предлагаю набрать 120 китов 🐳 на этом посте и написать, используете ли вы LinkedIn, а в следующих постах этой серии я разберу, как правильно заполнить профиль и как искать там работу 😊

Завтра я объявлю победителя конкурса мемов. Вы ещё не набрали 120 китов 🐳 к прошлому посту, поэтому выход регулярной рубрики, в рамках которой я буду интервьюировать людей из лучших компаний мира, чуть-чуть откладывается 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
2
https://www.youtube.com/watch?v=lV98atOLx2s&t=1214s&ab_channel=CitusData

#dba #postgresql #optimization

Оказывается, PG выравнивает предыдущие поля по размеру самого большого следующего поля. Т.е. просто от перестановки табличных полей в другом порядке можно сохранить до 20% пространства! Также интересно, что индексы всегда "добиваются" до 8 байт, так что если Ваш индекс по полю 4 байта, его можно сделать покрывающим (including) и там бесплатно хранить ещё одно 4-байтовое поле...
11😱1
https://www.youtube.com/watch?v=otbnC2zE2rw&ab_channel=MicroConf

#startup #selffunded #boutique #coupons #annualprepay #aftermarkets

1/4 of signups pre-pay
raise monthly price+increase annual discount
just raise the damned prices (double until the signups hold, at least)
highlight the middle tear (more expensive one)
have the most expensive plan with word "Business" - people from business will sign up automatically )
60 days moneyback guarantee instead of 15 days free trial
https://servernews.ru/1080622

#harware #cpu

"Помимо данных о производительности в режиме FP64 компания уже опубликовала результаты тестов новинки в HPC-нагрузках, где сравнила своё детище с двухсокетной системой на базе AMD EPYC 7763. Выигрыш в производительности составляет от 1,5x до 2,5x, но что не менее важно — Grace Superchip намного эффективнее энергетически, здесь преимущество может достигать 3,5x. В условиях высокоплотных ЦОД или HPC-кластеров это может стать решающим."
11
#python #fun

Потребовался контейнер для текстовых айдишников с минимальным следом в RAM.
1) Угадаете самого скромного?
2) Почему у set и dict_of_nones такое соотношение?

import sys

N = 10_000

simple_list = [str(el) for el in range(N)]
objects = (
{str(el): None for el in range(N)},
{str(el): 0 for el in range(N)},
{str(el): "0" for el in range(N)},
simple_list,
tuple(simple_list),
set(simple_list),
)
types_names = "dict_of_nones,dict_of_zeros,dict_of_chars,list,tuple,set".split(",")

for obj, type_name in zip(objects, types_names):
print(str(sys.getsizeof(obj)).ljust(10), "\t", type_name)
1
Forwarded from partially unsupervised
Применил на работе прием, который считал общеизвестным, но, судя по реакции коллег, это не совсем так. Потому расскажу и здесь!

Предположим, для какой-то ML задачи нужна ручная разметка данных, и расходы сколько-то заметны💰 (а значит, в 2023 их наверняка предложат урезать 🔪). В такой ситуации хочется хотя бы приблизительно понимать, как эти инвестиции в разметку окупаются.

Мое сколько-то наивное решение такое:
- делим тренировочный датасет на бакеты так, минимизируя разницу размеров бакетов и некоторое сходство между семплами разных бакетов (например, все семплы одного пользователя попадают в один бакет, который определяется на базе хэша его id);
- фиксируем вычислительный бюджет (вне зависимости от размера датасета учимся на N батчей);
- учим модель на сабсетах в диапазоне от малой части датасета до целого датасета, обеспечивая кумулятивного увеличение датасета (например, если некий семпл X был в обучении на 10% сабсете, то он обязательно будет и в обучении на 20% датасета);
- для каждой обученной модели смотрим ключевую метрику и рисуем график: по оси X - размер датасета, по оси Y - улучшение метрики;
- включаем воображение и оцениваем с точностью до порядка, сколько данных нужно досыпать, чтобы выжать следующий 1% метрики.

Точность такой экстраполяции оставляет желать лучшего (например, совершенно не учитывает штуки типа concept drift), но она значительно лучше, чем "хер его знает!", и сильно упрощает принятие решений типа "что выгоднее: отправить джуна подбирать гиперпараметры или нанять десять разметчиков и дальше заваливать модель данными".
👍2🤔1
partially unsupervised
Применил на работе прием, который считал общеизвестным, но, судя по реакции коллег, это не совсем так. Потому расскажу и здесь! Предположим, для какой-то ML задачи нужна ручная разметка данных, и расходы сколько-то заметны💰 (а значит, в 2023 их наверняка…
https://3dnews.ru/1080716/iibot-chatgpt-s-uspehom-sdal-vipusknoy-ekzamen-v-prestignoy-shkole-biznesa

#chatgpt

"Профессор отметил, что ИИ-бот «потрясающе справляется с основными вопросами управления операциями и анализа процессов, включая те, которые основаны на тематических исследованиях», добавив, что наблюдались и проблемы при ответах на «более сложные вопросы анализа процессов».

Однако, по мнению преподавателя, в итоге ChatGPT «получил бы на экзамене оценку от B до B-». Хотя это не высший балл, он является проходным, и экзамен считается сданным. Профессор также сообщил, что ИИ-бот «хорошо показал себя при подготовке юридических документов, и некоторые считают, что следующее поколение этой технологии может даже сдать экзамен на адвоката».

Предприниматель-миллиардер Марк Кьюбан (Mark Cuban) отметил, что ChatGPT находится «всего лишь в зачаточном состоянии». «Представьте, как будет выглядеть GPT 10-го поколения», — добавил он.

С ним согласен Эндрю Кароли (Andrew Karolyi), декан бизнес-колледжа SC Johnson в Корнельском университете, заявивший на этой неделе газете Financial Times: «Мы все знаем наверняка, что ChatGPT никуда не денется. Во всяком случае, эти ИИ-технологии будут становиться всё лучше и лучше. Руководству факультетов и университетов необходимо инвестировать в образование».

«Я считаю, что ИИ не заменит людей, но люди, которые используют ИИ, собираются заменить людей», — сообщила Financial Times Кара МакВильямс (Kara McWilliams), глава лаборатории ETS Product Innovation Labs, разработавшей инструмент для выявления использования ИИ при ответах.

Тервиш отметил влияние, которое произвело появление электронных калькуляторов, и предположив, что нечто подобное может произойти с такими решениями, как ChatGPT. «До появления калькуляторов и других вычислительных устройств многие фирмы нанимали сотни сотрудников, чьей задачей было ручное выполнение математических операций, таких как умножение или преобразование матриц, — написал Тервиш в исследовании. — Очевидно, что такие задачи теперь автоматизированы, и ценность связанных с ними навыков резко снизилась. Точно так же любая автоматизация навыков, которым обучают на наших программах MBA, потенциально может снизить ценность образования»."
1
Попробовала вручную потестировать ChatGPT на логическом датасете: https://github.com/google/BIG-bench/tree/main/bigbench/benchmark_tasks/formal_fallacies_syllogisms_negation , задав ей 30 вопросов из него.
В этом задании модели дается логический вывод, сформулированный на естественном языке, и задается вопрос, правилен ли этот логический вывод или нет.
Результаты получились неутешительными: модель дала 57% правильных ответов (17 из 30), в то время как случайное угадывание дает 50%. Если прокрутить вниз страницу по ссылке, можно увидеть, что этот результат близок к коридору, в котором находятся результаты публично доступных моделей.
При этом соотношение правильных/неправильных ответов постоянно флуктуировало: среди первых десяти вопросов соотношение правильных/неправильных ответов было 4/6, среди второго десятка - 8/2, среди третьего - 5/5.
В общем, пока не видно свидетельств в пользу того, чтобы ChatGPT действительно понимал логические рассуждения (что и неудивительно, учитывая, что его архитектура вряд ли существенно отличается от GPT-3). А это значит, что все еще рискованно использовать его для решения задач, в которых требуется произвести серьезные рассуждения на какую-то тему, а не просто показать хорошую память или налить воду.
Напоследок на всякий случай напомню, что мое "тестирование" ChatGPT ненадежно из-за того, что количество примеров, которые я могу вбить вручную, не очень большое, а значит, и оценка получается неточная. Жаль, что OpenAI все еще не торопится выкладывать результаты полноценного тестирования ChatGPT на датасетах разной направленности с сотнями и тысячами тестовых примеров. Люди могли бы более осмысленно использовать этот инструмент, если бы с помощью такого полноценного тестирования были четко и ясно обозначены границы его применимости. Правда, тогда бы и хайп про AGI мог слегка приутихнуть... 😏
P.S. На картинках примеры неправильных ответов. Рис.1 - классическая логическая ошибка, неправильный вывод считается правильным. Рис.2 - ошибка обратного характера.

#генерация
3
Вроде изучаю Питон уже 6-й год, а только сейчас узнал про casefold
Anonymous Poll
0%
Я знаю и пользуюсь
7%
Я знаю и не пользуюсь. lower() рулит!
93%
Я не знаю и не пользуюсь. lower() forever!
1