#madmen #openings #friday #fun #retro
https://www.youtube.com/watch?v=NJ5-sdHP0YQ&ab_channel=JoelTroughton
https://www.youtube.com/watch?v=poY5TkD7yvE&ab_channel=OzzTv
Для меня "Безумцы с Мэдиссон авеню" являются стандартом кинокачества. Сериал-историческая репродукция о корпоративной культуре, таланте и важности личных связей в бизнесе.
There was a boy,
A very strange, enchanted boy.
They say he wandered very far,
Very far, over land and sea.
A little shy and sad of eye,
But very wise was he.
And then one day,
A magic day he passed my way.
And while we spoke of many things,
Fools and kings,
This he said to me:
"The greatest thing you'll ever learn
Is just to love
and be loved
in return".
https://www.youtube.com/watch?v=NJ5-sdHP0YQ&ab_channel=JoelTroughton
https://www.youtube.com/watch?v=poY5TkD7yvE&ab_channel=OzzTv
Для меня "Безумцы с Мэдиссон авеню" являются стандартом кинокачества. Сериал-историческая репродукция о корпоративной культуре, таланте и важности личных связей в бизнесе.
There was a boy,
A very strange, enchanted boy.
They say he wandered very far,
Very far, over land and sea.
A little shy and sad of eye,
But very wise was he.
And then one day,
A magic day he passed my way.
And while we spoke of many things,
Fools and kings,
This he said to me:
"The greatest thing you'll ever learn
Is just to love
and be loved
in return".
❤1
Наверное, больше, чем в 2022-м, я не разочаровывался в людях никогда. В Новом году пожелаю всем неравнодушия, мудрости и сердечности, и, как следствие, мира.
❤1🕊1
https://www.youtube.com/watch?v=zprg2WbmgzQ
#chess #gm #naro
Познавательно! Гроссмейстер Народицкий чётко объясняет ход своих рассуждений при оценке позиции. А какое красивое название дебюта )
#chess #gm #naro
Познавательно! Гроссмейстер Народицкий чётко объясняет ход своих рассуждений при оценке позиции. А какое красивое название дебюта )
YouTube
Exposing CHEATERS In the Caro-Kann Defense: Fantasy Variation | GM Naroditsky’s Top Theory Speedrun
00:00 Intro
00:10 First Move
00:17 Game
36:20 Analysis
Daniel now has a Patreon! Check it out at https://patreon.com/danielnaroditsky
- Follow Daniel on Twitter at https://twitter.com/GMNaroditsky
- Daniel streams regularly on Twitch at https://twitch.tv/GMNaroditsky…
00:10 First Move
00:17 Game
36:20 Analysis
Daniel now has a Patreon! Check it out at https://patreon.com/danielnaroditsky
- Follow Daniel on Twitter at https://twitter.com/GMNaroditsky
- Daniel streams regularly on Twitch at https://twitch.tv/GMNaroditsky…
❤1
Forwarded from DLStories
InstructGPT — модель, на основе которой работает ChatGPT от OpenAI
Мы все знаем GPT-3: огромная языковая модель, которая отлично умеет в генерацию правдоподобного, и даже имеющего нужный (почти всегда) смысл текста. Но в роли диалоговой системы (чат-бота) стандартный GPT-3 не слишком хорош: часто случается так, что он генерирует текст, совсем не соответствующий запросу юзера. Это неудивительно, ведь GPT-3 обучался на текстах из интернета, а не парах “запрос-ответ”, и во время обучения цель модели была генерировать правдоподобный текст (предсказывать следующий токен на основе предыдущих), а не “выдать текст, соответствующий запросу юзера”.
В OpenAI решили затюнить GPT-3 специально на задачу взаимодействия с пользователем, и получили InstructGPT. Вот как это сделали:
1. Сгенерировали несколько текстов запросов и наняли 40 людей, которые вручную составили к этим запросам ответы. Получили пары (запрос-ответ), на которых в обычном supervised режиме затюнили GPT-3;
2. Взяли затюненную с первого шага модель и попросили ее выдать несколько вариантов ответов на разные запросы. Попросили людей отранжировать ответы на каждый запрос: от самого релевантного, полного и правильного до самого плохого. На этих размеченных данных натренировали reward model (RM), которая по паре (запрос-ответ) дает оценку, насколько хорош этот ответ на запрос.
3. Используя RM, дообучили GPT-3 с шага 1 в reinforcement learning парадигме.
Вот так просто. В результате получилась модель, которая намного лучше (по мнению реальных людей) ведет диалог с человеком и отвечает на самые сложные вопросы.
Конечно, InstructGPT (и ChatGPT в частности) — далеко не AGI. У него все еще есть серьезные недостатки. Например:
- ChatGPT может врать. Например, на запрос “расскажи об эпохе возрождения” выдать правдоподобный бред. Это, опять же, неудивительно: при обучении ни GPT-3, ни InstsructGPT корректность ответов никак не регулировалась;
- Небольшое изменение текста запроса может сильно поменять ответ модели. Например, в одном случае она может выдать. “я не знаю”, а во втором — сгенерить вполне хороший ответ (проверено в соседнем чатике, это действительно так);
- В идеале авторы хотели бы, чтобы ChatGPT спрашивала уточняющие вопросы, если запрос пользователя не очень понятный. Но вместо этого модель чаще всего начинает сразу писать ответ, как бы “угадывая”, что именно хотел пользователь;
- Ну и наша любимая тема: bias, hate speech и все такое. ChatGPT все же может выдавать плохие шутки и подобное, как бы авторы ни старались это нивелировать ¯\_(ツ)_/¯
Статья InstructGPT
Мы все знаем GPT-3: огромная языковая модель, которая отлично умеет в генерацию правдоподобного, и даже имеющего нужный (почти всегда) смысл текста. Но в роли диалоговой системы (чат-бота) стандартный GPT-3 не слишком хорош: часто случается так, что он генерирует текст, совсем не соответствующий запросу юзера. Это неудивительно, ведь GPT-3 обучался на текстах из интернета, а не парах “запрос-ответ”, и во время обучения цель модели была генерировать правдоподобный текст (предсказывать следующий токен на основе предыдущих), а не “выдать текст, соответствующий запросу юзера”.
В OpenAI решили затюнить GPT-3 специально на задачу взаимодействия с пользователем, и получили InstructGPT. Вот как это сделали:
1. Сгенерировали несколько текстов запросов и наняли 40 людей, которые вручную составили к этим запросам ответы. Получили пары (запрос-ответ), на которых в обычном supervised режиме затюнили GPT-3;
2. Взяли затюненную с первого шага модель и попросили ее выдать несколько вариантов ответов на разные запросы. Попросили людей отранжировать ответы на каждый запрос: от самого релевантного, полного и правильного до самого плохого. На этих размеченных данных натренировали reward model (RM), которая по паре (запрос-ответ) дает оценку, насколько хорош этот ответ на запрос.
3. Используя RM, дообучили GPT-3 с шага 1 в reinforcement learning парадигме.
Вот так просто. В результате получилась модель, которая намного лучше (по мнению реальных людей) ведет диалог с человеком и отвечает на самые сложные вопросы.
Конечно, InstructGPT (и ChatGPT в частности) — далеко не AGI. У него все еще есть серьезные недостатки. Например:
- ChatGPT может врать. Например, на запрос “расскажи об эпохе возрождения” выдать правдоподобный бред. Это, опять же, неудивительно: при обучении ни GPT-3, ни InstsructGPT корректность ответов никак не регулировалась;
- Небольшое изменение текста запроса может сильно поменять ответ модели. Например, в одном случае она может выдать. “я не знаю”, а во втором — сгенерить вполне хороший ответ (проверено в соседнем чатике, это действительно так);
- В идеале авторы хотели бы, чтобы ChatGPT спрашивала уточняющие вопросы, если запрос пользователя не очень понятный. Но вместо этого модель чаще всего начинает сразу писать ответ, как бы “угадывая”, что именно хотел пользователь;
- Ну и наша любимая тема: bias, hate speech и все такое. ChatGPT все же может выдавать плохие шутки и подобное, как бы авторы ни старались это нивелировать ¯\_(ツ)_/¯
Статья InstructGPT
❤1
Forwarded from DLStories
A Generalist Neural Algorithmic Learner
А еще на основе своего датасета CLRS-30 DeepMind обучили графовую нейросеть решать все эти 30 алгоритмических задач.
Модель устроена по тому же принципу, что и большинство моделей для решения сразу большого набора задач. Она состоит из трех частей (см картинку):
- Нескольких отдельных голов-энкодеров, каждая из которых кодирует вход для одной из тридцати задач. Каждый энкодер принимает на вход граф и кодирует информацию в его вершинах и ребрах в общее пространство эмбеддингов. Получается набор (x_i, e_ij, g), где x_i — эмбеддинги вершин графа, e_ij — эмбеддинги ребер графа и g — эмбеддинг графа в целом.
- Одной центральной части-процессора P, который обрабатывает вход из голов. P — это графовая нейросеть, она принимает и выдает на выход информацию в виде набора эмбеддингов вершин, ребер и графа (x_i, e_ij, g)
- Нескольких отдельных голов-декодеров, каждая из которых декодирует выход процессора P из общего пространства эмбеддингов в вид графа;
Работает это вес довольно неплохо, намного лучше других ранее придуманных алгоритмов (DeepMind протестили несколько из них на CLRS-30 и сравнили метрики). По F1-micro в среднем получается 74%, что, кажется, довольно неплохо. У лучшего конкурента F1-micro около 50%
Подробнее о модели читайте в статье
А еще на основе своего датасета CLRS-30 DeepMind обучили графовую нейросеть решать все эти 30 алгоритмических задач.
Модель устроена по тому же принципу, что и большинство моделей для решения сразу большого набора задач. Она состоит из трех частей (см картинку):
- Нескольких отдельных голов-энкодеров, каждая из которых кодирует вход для одной из тридцати задач. Каждый энкодер принимает на вход граф и кодирует информацию в его вершинах и ребрах в общее пространство эмбеддингов. Получается набор (x_i, e_ij, g), где x_i — эмбеддинги вершин графа, e_ij — эмбеддинги ребер графа и g — эмбеддинг графа в целом.
- Одной центральной части-процессора P, который обрабатывает вход из голов. P — это графовая нейросеть, она принимает и выдает на выход информацию в виде набора эмбеддингов вершин, ребер и графа (x_i, e_ij, g)
- Нескольких отдельных голов-декодеров, каждая из которых декодирует выход процессора P из общего пространства эмбеддингов в вид графа;
Работает это вес довольно неплохо, намного лучше других ранее придуманных алгоритмов (DeepMind протестили несколько из них на CLRS-30 и сравнили метрики). По F1-micro в среднем получается 74%, что, кажется, довольно неплохо. У лучшего конкурента F1-micro около 50%
Подробнее о модели читайте в статье
❤1
#dating #ml
Кто пробовал Тиндер, Баду? Да, там хотя бы есть люди, в отличие от других сайтов знакомств.
Но… Меня одного раздражает необходимость ручного отсеивания сотен кандидатов? Ну можно же по моим свайпам быстро понять, на что я смотрю (в, скажем, фото или анкете), и кого мне надо показывать, а кого нет? Или это специально НЕ делается, чтобы юзеры проводили в приложении месяцы, покупая подписку? Но почему эта опция не продается за бОльшие деньги тогда? Я точно видел, что в тиндере в штате дата сайентисты есть...
Поправочка. У Тиндера всё же есть что-то подобное, Top Picks, но как же примитивно это сделано...
https://www.youtube.com/watch?v=4ixKONimf1g&ab_channel=TextGod
Кто пробовал Тиндер, Баду? Да, там хотя бы есть люди, в отличие от других сайтов знакомств.
Но… Меня одного раздражает необходимость ручного отсеивания сотен кандидатов? Ну можно же по моим свайпам быстро понять, на что я смотрю (в, скажем, фото или анкете), и кого мне надо показывать, а кого нет? Или это специально НЕ делается, чтобы юзеры проводили в приложении месяцы, покупая подписку? Но почему эта опция не продается за бОльшие деньги тогда? Я точно видел, что в тиндере в штате дата сайентисты есть...
Поправочка. У Тиндера всё же есть что-то подобное, Top Picks, но как же примитивно это сделано...
https://www.youtube.com/watch?v=4ixKONimf1g&ab_channel=TextGod
YouTube
Tinder Top Picks Explained (A Reason to Get Tinder Gold?!)
How do Tinder Top Picks work? The feature is explained by Tinder coach Louis Farfields.
Article: https://textgod.com/tinder-top-picks/
The 10 Texts That Always Work:
http://textgod.com/bonus-ten-texts-that-always-work/
The Clickbait Opener:
http://textgod.com/secret…
Article: https://textgod.com/tinder-top-picks/
The 10 Texts That Always Work:
http://textgod.com/bonus-ten-texts-that-always-work/
The Clickbait Opener:
http://textgod.com/secret…
😁3
Так это получается, можно засудить любого человека за то, что он обучался по общедоступным работам других людей?
✍2
Forwarded from Тагир Анализирует
Нарушают ли генеративные модели авторское право?
В ноябре 2022 программист-юрист Matthew Butterick вместе с коллективом авторов и юристов подал в суд на Microsoft и GitHub за то, что их GitHub Copilot для генерации кода по запросу использует для обучения миллиарды строк кода из общедоступных репозиториев и полностью игнорирует правила лицензирования Open Source проектов. Matthew, выступая от лица множества пользователей, требует $9 млрд компенсации💰
Но для начала расскажу, как обучаются генеративные модели: собирается большой массив данных (например, миллионы изображений, предложений или звуков из какой-либо области), а затем модель обучается генерировать такие данные самостоятельно. Подробнее об этом можно почитать на Хабре😐
А что же сегодня? Этот же коллектив 14го января подал в суд на Stability AI и Midjourney, на две крупнейшие компании, которые занимаются разработкой моделей, позволяющих генерировать изображения на основе текста. В иск добавили и DeviantArt, крупнейшее в мире сообщество художников, использующее изображения пользователей. Энтузиасты собрали в табличке огромный лист artist’ов, которые есть в датасете Midjourney🔨
Joseph Saveri, основатель юридической фирмы, которая представляет интересы истцов, заявляет: «Поскольку развивающиеся технологии продолжают изменять каждый аспект современного мира, крайне важно, чтобы мы признавали и защищали права художников от незаконных краж и мошенничества. Это дело представляет собой самую масштабную борьбу за сохранение прав собственности для всех художников и других создателей»🤲
Их позиция подробно изложена на сайте stablediffusionlitigation.com, а изучить иск можно по этой ссылке. С точки зрения технических аспектов иск составлен не совсем корректно — оно и понятно, люди в этом не разбираются. Например, художники утверждают, что нейросети хранят защищённые авторским правом изображения, а затем «рекомбинируют» их. Но эти модели хранят не изображения, а математические представления узоров, собранных из этих изображений, а после обработки создают изображения с нуля😕
Интерес заключается в том, что эти компании не зарабатывают денег, а соответственно, не делятся ими. Коллектив не стал разбираться с более крупными OpenAI и DALLE2, которые с первого дня являются коммерческими — вместо этого они судятся с менее защищенными компаниями, которые строятся на open source решениях. Вполне возможно, что всё это инициировано ради внимания🔔
В конечном итоге, искусство так и работает — человек наблюдает за другими работами, вдохновляется, берёт кусочки чужого материала и создаёт что-то своё. Как говорил Пабло Пикассо: «Un artista copia, un gran artista roba», что переводится как «Хорошие художники копируют, великие художники воруют»😊
Эти два случая могут стать судебными прецедентами, которые будут также влиять при вынесении следующих решений в подобных делах. Лично мне интересно будет понаблюдать за созданием судебной практики в отношении моделей, которые обучаются на публичных данных🚬
А как вы считаете, нарушают ли эти модели авторское право? Пишите об этом в комментариях и вступайте в дискуссии — интересно послушать разные точки зрения🆗
Планирую вводить на канале регулярную рубрику постов, в рамках которой я буду интервьюировать разных людей из Data Science — например, стажеров Google📱 , сотрудников Netflix 📺 или руководителей DS 🕵️♂️
Пишите в комментариях вопросы, ответы на которые вам было бы интересно получить. Набирайте 120 китов 🐳, а я пойду договариваться с людьми на интервью. И участвуйте в розыгрыше👥
В ноябре 2022 программист-юрист Matthew Butterick вместе с коллективом авторов и юристов подал в суд на Microsoft и GitHub за то, что их GitHub Copilot для генерации кода по запросу использует для обучения миллиарды строк кода из общедоступных репозиториев и полностью игнорирует правила лицензирования Open Source проектов. Matthew, выступая от лица множества пользователей, требует $9 млрд компенсации
Но для начала расскажу, как обучаются генеративные модели: собирается большой массив данных (например, миллионы изображений, предложений или звуков из какой-либо области), а затем модель обучается генерировать такие данные самостоятельно. Подробнее об этом можно почитать на Хабре
А что же сегодня? Этот же коллектив 14го января подал в суд на Stability AI и Midjourney, на две крупнейшие компании, которые занимаются разработкой моделей, позволяющих генерировать изображения на основе текста. В иск добавили и DeviantArt, крупнейшее в мире сообщество художников, использующее изображения пользователей. Энтузиасты собрали в табличке огромный лист artist’ов, которые есть в датасете Midjourney
Joseph Saveri, основатель юридической фирмы, которая представляет интересы истцов, заявляет: «Поскольку развивающиеся технологии продолжают изменять каждый аспект современного мира, крайне важно, чтобы мы признавали и защищали права художников от незаконных краж и мошенничества. Это дело представляет собой самую масштабную борьбу за сохранение прав собственности для всех художников и других создателей»
Их позиция подробно изложена на сайте stablediffusionlitigation.com, а изучить иск можно по этой ссылке. С точки зрения технических аспектов иск составлен не совсем корректно — оно и понятно, люди в этом не разбираются. Например, художники утверждают, что нейросети хранят защищённые авторским правом изображения, а затем «рекомбинируют» их. Но эти модели хранят не изображения, а математические представления узоров, собранных из этих изображений, а после обработки создают изображения с нуля
Интерес заключается в том, что эти компании не зарабатывают денег, а соответственно, не делятся ими. Коллектив не стал разбираться с более крупными OpenAI и DALLE2, которые с первого дня являются коммерческими — вместо этого они судятся с менее защищенными компаниями, которые строятся на open source решениях. Вполне возможно, что всё это инициировано ради внимания
В конечном итоге, искусство так и работает — человек наблюдает за другими работами, вдохновляется, берёт кусочки чужого материала и создаёт что-то своё. Как говорил Пабло Пикассо: «Un artista copia, un gran artista roba», что переводится как «Хорошие художники копируют, великие художники воруют»
Эти два случая могут стать судебными прецедентами, которые будут также влиять при вынесении следующих решений в подобных делах. Лично мне интересно будет понаблюдать за созданием судебной практики в отношении моделей, которые обучаются на публичных данных
А как вы считаете, нарушают ли эти модели авторское право? Пишите об этом в комментариях и вступайте в дискуссии — интересно послушать разные точки зрения
Планирую вводить на канале регулярную рубрику постов, в рамках которой я буду интервьюировать разных людей из Data Science — например, стажеров Google
Пишите в комментариях вопросы, ответы на которые вам было бы интересно получить. Набирайте 120 китов 🐳, а я пойду договариваться с людьми на интервью. И участвуйте в розыгрыше
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#postgres #storage #optimization #dba
Возникла в процессе работы над моделью соцсети проблема: гигантский размер таблицы фолловеров. При количестве юзеров порядка 130K количество связей между ними уже превышает 80M. Юзер имеет от нуля до 800K подписчиков (медиана 25, среднее 468) и сам подписан на от нуля до 160К инфлюенсеров (медиана 28, среднее 186).
Табличка вида
create table users_followers(
target_user_id text ,
following_user_id text,
link_prev_from bigint,
link_next_from bigint,
position smallint,
added_at timestamp default (now() at time zone 'utc'),
primary key (target_user_id,following_user_id)
);
занимает уже 6 Гб, а первичный ключ - 4Гб. link_prev_from/ link_prev_to/position это, по сути, оценки времени, когда юзеры подружились; added_at это момент времени, когда связь была установлена внешним наблюдателем.
Хранится всё в ванильном Постгре 15 на Ubuntu 20.04 LTS, FS=ext4. После недавнего инцидента никаких дисков кроме ssd для баз я использовать не хочу, следовательно, пространство дорого (скажем, на 1 машинке есть 3.5TB SSD storage). С учётом того, что данные после записи не модифицируются и не удаляются, а только читаются и вставляются, и всего ожидается около 100M юзеров, как бы Вы подошли к оптимизации хранения таких связей? Запросы сводятся к
1) случайной выборке флолловеров (и последующей проверке их id по другой табличке) SELECT following_user_id FROM users_followers TABLESAMPLE SYSTEM_ROWS(1000)
2) получению всех записей/всех полей по target_user_id в пакетном режиме.
Итоговым решением поделюсь позже, а пока буду рад советам ) Вдруг подобную задачу подписчики уже решали.
Пример строки target_user_id,following_user_id,link_prev_from,link_next_from,position,added_at:
"10000187a48d";"fc632fb4596f";1657686648645;1657686624495;23; "2023-01-11 13:02:11.064876"
Размеры заполненных полей в байтах: 13,13,8,8,2,8.
Возникла в процессе работы над моделью соцсети проблема: гигантский размер таблицы фолловеров. При количестве юзеров порядка 130K количество связей между ними уже превышает 80M. Юзер имеет от нуля до 800K подписчиков (медиана 25, среднее 468) и сам подписан на от нуля до 160К инфлюенсеров (медиана 28, среднее 186).
Табличка вида
create table users_followers(
target_user_id text ,
following_user_id text,
link_prev_from bigint,
link_next_from bigint,
position smallint,
added_at timestamp default (now() at time zone 'utc'),
primary key (target_user_id,following_user_id)
);
занимает уже 6 Гб, а первичный ключ - 4Гб. link_prev_from/ link_prev_to/position это, по сути, оценки времени, когда юзеры подружились; added_at это момент времени, когда связь была установлена внешним наблюдателем.
Хранится всё в ванильном Постгре 15 на Ubuntu 20.04 LTS, FS=ext4. После недавнего инцидента никаких дисков кроме ssd для баз я использовать не хочу, следовательно, пространство дорого (скажем, на 1 машинке есть 3.5TB SSD storage). С учётом того, что данные после записи не модифицируются и не удаляются, а только читаются и вставляются, и всего ожидается около 100M юзеров, как бы Вы подошли к оптимизации хранения таких связей? Запросы сводятся к
1) случайной выборке флолловеров (и последующей проверке их id по другой табличке) SELECT following_user_id FROM users_followers TABLESAMPLE SYSTEM_ROWS(1000)
2) получению всех записей/всех полей по target_user_id в пакетном режиме.
Итоговым решением поделюсь позже, а пока буду рад советам ) Вдруг подобную задачу подписчики уже решали.
Пример строки target_user_id,following_user_id,link_prev_from,link_next_from,position,added_at:
"10000187a48d";"fc632fb4596f";1657686648645;1657686624495;23; "2023-01-11 13:02:11.064876"
Размеры заполненных полей в байтах: 13,13,8,8,2,8.
👍3👀1
#writing #medium #rationality #economics #paradox
Вообще, конечно, удивительная вещь. Я решил вступить в программу-партнёрку писателей на medium, чтобы была мотивация делиться своим опытом. У меня уже была 1 опубликованная статья и >100 подписчиков, и меня вдохновлял опыт одной девушки, мигрантки из Украины, которая сделала блоггинг своим основным источником дохода, в т.ч. благодаря сайту медиум. Идея в том, что сайт делится с создателями контента частью платежей подписчиков, причем пропорционально времени, проведенному подписчиками за чтением статей конкретного автора. Звучит справедливо и классно, пока не доходит до дела. При попытке регистрации с изумлением я узнал, что принимают они в партнёрку лишь из крайне ограниченного числа стран, около 30.
Полуофициальная отмазка - только те страны, где работает платежная система Stripe. Когда я был платным подписчиком, данная философия почему-то не помешала сайту medium брать у меня платежи из России посредством paypal. В Сети, кстати, полно индусов, нигерийцев, которые тоже в шоке от подобной политики. Для меня странно не только наличие дискриминации по признаку гражданства, но и экономическая абсурдность такого подхода. Если партнёрка стимулирует написание качественных интересных статей, привлекает платных подписчиков, то нераспространение её на все страны эквивалентно упущенной выгоде. А как же высказывание о 300% прибыли и капитализме? ) Никогда, никогда мне не понять людей.
Вообще, конечно, удивительная вещь. Я решил вступить в программу-партнёрку писателей на 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. А вот перезапустить не получается, потому что родительский процесс при остановке инстанса умирает, убивая дочерний, который уже не может осуществить запуск нового инстанса. Так и сижу целый день. Придётся лезть на сервер и там тестировать локальным скриптом.. Ну или плюнуть на очистку кэшей и объективность результатов. Тем более что файловый кэш ОС всё равно останется.
Целая эпопея с тестированием СУБД. В свете предыдущего поста, у меня появилось несколько вариантов организации данных в табличке. Как человеку приличному, захотелось их объективно сравнить как по занимаемому на диске месту, так и по скорости вставки и чтения данных. Понятно, что замерять для это придётся несколько раз, и оценивать среднее и разброс. Также ясно, что после первого запроса данные уже будут в кэше, и остальные сравнения будут необъективны. Естественно, приходим к необходимости сброса кэшей. Оказывается, в постгре такого нет, сброс достигается только полным рестартом инстанса. Ну ладно, думаю, тогда хотя бы как рестартить инстанс СУБД 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 картинки”
https://github.com/pilot7747/sldl
Собирает SOTA модели и делает к ним однострочный интерфейс вида “просто сделай мне upscale картинки”
GitHub
GitHub - pilot7747/sldl: Single-line inference of SOTA deep learning models
Single-line inference of SOTA deep learning models - pilot7747/sldl
❤2
Forwarded from Тагир Анализирует
Для чего нужен профиль в LinkedIn?🎰
Существует стереотип о том, что LinkedIn используют только айтишники. Сегодня я расскажу о том, почему любому специалисту, будь то юристу или лингвисту, стоит иметь профиль на этой площадке🆗
LinkedIn — американская социальная сеть для создания профессиональных связей, поиска сотрудников и вакансий. Платформа заблокирована на территории России по формальным причинам, поэтому вам понадобится средство для обхода блокировки🕵️♂️
Поиск работы — одна из многих причин, по которым стоит зарегистрироваться в LinkedIn. Рассказываю, для каких целей нужен LinkedIn:
Нэтворкинг.
Здесь можно завести диалог практически с любым человеком и начать выстраивать рабочие связи. Например, когда я планировал устраиваться в Самокат, я написал нескольким знакомым через LinkedIn аналитикам и поспрашивал их, как им там работается🍷
Можно также наглядно изучить историю человека, который вам нужен — люди указывают место учебы, прошлых работодателей и всю остальную информацию, которая может пригодиться для работы. А ещё можно попросить зареферить в зарубежную компанию, но об этом в следующих постах😈
Люди пишут посты, общаются в комментариях и обмениваются мыслями. Контент в основном очень качественный — как шутки, так и статьи. Таким образом можно найти единомышленников🎰
Суть сети заключается в её расширении. Чем больше у вас контактов, тем больше людей вы можете охватить. Общение с нужными людьми может помочь вам найти работу, получить релокейт или нужный совет. Для меня этот пункт является самым важным, потому что именно из него вытекает всё остальное😮
Развитие карьеры и поиск работы.
Многие пишут посты о том, что они ищут работу. Многие пишут посты о том, что они ищут сотрудников. Обычно происходит мэтч и люди друг друга находят. Очень часто можно найти вакансии от лидов, которые ищут кого-то к себе в команду. Такие вакансии не публикуются на hh.ru, а податься на неё можно буквально через комментарии. Пункт особенно актуален при поиске зарубежной работы. Именно здесь рекрутеры находят людей и присылают им предложения пообщаться
Выстраивание личного бренда.
Пункт сильно пересекается с идеей нэтворкинга — вы позиционируете себя как специалиста и делитесь экспертизой. Ссылка на LinkedIn во многих зарубежных местах заменяет визитку или резюме, потому что там кратко описываются основные сведения о человеке.
Продажи
Многие фрилансеры, бизнес-тренеры и преподаватели ищут себе клиентов именно там. Это удобно, ведь при должном подходе к ведению профиля можно относительно просто выйти на клиента.
Сегодня мы разобрали, для чего вам нужен LinkedIn. Предлагаю набрать 120 китов 🐳 на этом посте и написать, используете ли вы LinkedIn, а в следующих постах этой серии я разберу, как правильно заполнить профиль и как искать там работу😊
Завтра я объявлю победителя конкурса мемов. Вы ещё не набрали 120 китов 🐳 к прошлому посту, поэтому выход регулярной рубрики, в рамках которой я буду интервьюировать людей из лучших компаний мира, чуть-чуть откладывается💻
Существует стереотип о том, что 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-байтовое поле...
#dba #postgresql #optimization
Оказывается, PG выравнивает предыдущие поля по размеру самого большого следующего поля. Т.е. просто от перестановки табличных полей в другом порядке можно сохранить до 20% пространства! Также интересно, что индексы всегда "добиваются" до 8 байт, так что если Ваш индекс по полю 4 байта, его можно сделать покрывающим (including) и там бесплатно хранить ещё одно 4-байтовое поле...
YouTube
In core compression-How to shrink your database
⚡1❤1😱1
#fun #openings #friday
https://www.youtube.com/watch?v=P1BvGzLQp0Q&ab_channel=EndtheProject
В своё время мини-сериал "Те, кто убивает" очень понравился. Рекомендую.
https://www.youtube.com/watch?v=P1BvGzLQp0Q&ab_channel=EndtheProject
В своё время мини-сериал "Те, кто убивает" очень понравился. Рекомендую.
YouTube
Those Who Kill (TV Series) Opening credits
Serie de TV (2014).
'Those who kill' es el título en inglés de la serie policíaca danesa 'Den Som Dræber', basada en los libros de Elsebeth Eghlom .
Se centra en una detective de la policía y un psiquiatra forense, a la caza de asesinos en serie. Basada…
'Those who kill' es el título en inglés de la serie policíaca danesa 'Den Som Dræber', basada en los libros de Elsebeth Eghlom .
Se centra en una detective de la policía y un psiquiatra forense, a la caza de asesinos en serie. Basada…
❤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
#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
YouTube
Designing the Ideal Bootstrapped Business with Jason Cohen
Starting a business is hard enough. The last thing you need to do is set up a foundation that works against you. A better approach is to take stock of your natural advantages, disadvantages, goals and needs, and "back in" to what that has to mean about your…
https://servernews.ru/1080622
#harware #cpu
"Помимо данных о производительности в режиме FP64 компания уже опубликовала результаты тестов новинки в HPC-нагрузках, где сравнила своё детище с двухсокетной системой на базе AMD EPYC 7763. Выигрыш в производительности составляет от 1,5x до 2,5x, но что не менее важно — Grace Superchip намного эффективнее энергетически, здесь преимущество может достигать 3,5x. В условиях высокоплотных ЦОД или HPC-кластеров это может стать решающим."
#harware #cpu
"Помимо данных о производительности в режиме FP64 компания уже опубликовала результаты тестов новинки в HPC-нагрузках, где сравнила своё детище с двухсокетной системой на базе AMD EPYC 7763. Выигрыш в производительности составляет от 1,5x до 2,5x, но что не менее важно — Grace Superchip намного эффективнее энергетически, здесь преимущество может достигать 3,5x. В условиях высокоплотных ЦОД или HPC-кластеров это может стать решающим."
ServerNews - все из мира больших мощностей
NVIDIA Grace Superchip получит 144 Arm-ядра, 960 Гбайт набортной памяти LPDDR5x и 128 линий PCIe 5.0, а TDP составит 500 Вт
Grace можно назвать одним из самых амбициозных проектов NVIDIA. О намерении ворваться на рынок мощных серверных процессоров компания объявила ещё на GTC 2022, но до недавних пор о чипах Grace были доступны лишь общие сведения. Однако ситуация меняется.
❤1✍1
#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)
Потребовался контейнер для текстовых айдишников с минимальным следом в 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