PythonTalk
4.77K subscribers
1.46K photos
48 videos
7 files
1.32K links
Привет, меня зовут Олег Булыгин 👋

🐍 Здесь я делюсь полезной информацией для тех, кто пишет код на Python: от разработки до Data Science.

По вопросам: @obulygin91
Download Telegram
Что получим при запуске кода?
Anonymous Quiz
49%
100
2%
-20
6%
SyntaxError
43%
-100
1%
20
🎉32👍2💯2🔥1🙏1
📊 Вот вам немного свежих цифр по рынку труда в IT, чтобы вернуть вас с небес на землю.

Картина, конечно, интересная 😁

1. Деньги
Разрыв между тем, что хотят соискатели, и тем, что готовы платить компании, не просто есть — он растёт.

▫️ Ожидаемые зарплаты (фиолетовая линия) подросли со 100к до 110к. Аппетиты не стоят на месте.
▫️ Предлагаемые (красная линия) замерли на отметке 90к и не двигаются.

То есть, пропасть между хотелками и реальностью за полгода увеличилась с 15к до 20к.

2. Конкуренция
hh.индекс — это количество резюме на одну вакансию.

▫️В прошлом году (синяя линия) было в среднем 7-8 человек на место. Рынок работодателя, но терпимо.
▫️В этом году (зеленая линия) показатель улетел в космос: с 9.9 в январе до 12.5 в июне.

По классификации самого hh.ru, 12+ — это «крайне высокий уровень конкуренции».

Итого, что мы имеем:
Людей, желающих «войти в айти», стало КРАТНО больше. При этом их зарплатные ожидания растут, а вот готовность бизнеса платить — нет.

Получается какой-то идеальный шторм. Хотелок больше, денег столько же (если не меньше), а на каждое место теперь претендует целая толпа.

Что будет дальше? 🔮
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯5💔3😭2👻2😁1🤔1😱1🌚1🍌111
Лекс Фридман взял интервью у Демиса Хассабиса — сооснователя и CEO Google DeepMind.

Получилось интересно. Что касается программирования, то он высказал такие мысли:

ИИ-системы исключительно хорошо справляются с программированием.


В ближайшие 5-10 лет программисты, которые примут и освоят эти технологии, станут сверхчеловечески продуктивными (в 10 раз эффективнее, чем сейчас)


Фокус работы программистов сместится: вместо написания всего кода вручную, они будут определять архитектуру, формулировать задачи, направлять "ai-помощников" и проверять качество сгенерированного кода.


Некоторые области программирования (например, фронтенд) станут более поддающимися автоматической генерации ИИ, тогда как другие (проектирование игровых движков, высокопроизводительное программирование, руководство сложными системами) останутся для человека.


Это изменение будет в 10 раз масштабнее и в 10 раз быстрее, чем промышленная революция. Программистам придется переучиваться и адаптировать свои текущие навыки. Появятся новые профессии, которые мы сегодня даже не можем представить.


Think about it 🧠
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔621🔥1🙏11
Создаём GPT с нуля: фундаментальный туториал от Карпатого 🧠

Есть контент, который не стареет. Например, туториал от Андрея Карпатого (сооснователь OpenAI, экс-директор по AI в Tesla), где он с нуля на Python собирает и тренирует GPT от начала до конца: от определения nn.Module и оптимизации с помощью Flash Attention до настройки гиперпараметров и оценки результатов.

Да, в видео разбирают GPT-2, но его главный плюс, а не минус. Именно эту модель, в отличие от современных гигантов, можно реально натренировать на одной домашней GPU, пройдя своими руками весь путь от и до. При этом фундаментальные принципы, лежащие в основе современных LLM, там раскрыты полностью.

А код доступен на GitHub 🐍
9👍4🔥31
ТРЕТИЙ УДАР КИТАЙСКОГО МОЛОТА 🔨

Qwen выкатывает модели быстрее, чем я успеваю писать посты.

Сначала было обновление универсального Instruct (пост тут). Потом узкоспециализированный Coder (пост тут). Теперь улучшают мышление.

Встречайте, Qwen3-235B-A22B-Thinking-2507.
Это продолжение стратегии работы над узкоспециализированными инструментами для конкретных доменов.

Что по результатам? Они снова на вершине, но теперь в самых престижных номинациях:

🧠 Математика и логика: На бенчмарке HMMT25 (олимпиада по математике) она рвёт всех, включая GPT-4o и Gemini 2.5 Pro. На AIME25 дышит в спину самой мощной версии OpenAI.

💻 Программирование: Снова топ-1 на LiveCodeBench. 74.1 балла против 72.5 у Gemini и 71.8 у GPT-4o-mini.

🔥 Как из неё выжать максимум (советы от разрабов):
▫️ Для сложных задач (код, математика) ставьте max_new_tokens не меньше 81,920. Модели нужно место, чтобы «подумать».
▫️ Используйте Temperature=0.6, TopP=0.95.

Китайцы не просто догнали, а в самых сложных интеллектуальных задачах начали обгонять. И всё это в опенсорсе.

Погонять бесплатно тут: https://chat.qwen.ai/
Веса на Hugging Face: https://huggingface.co/Qwen/Qwen3-235B-A22B-Thinking-2507
👍931🔥1🏆1
Forget python, it turned out that spreadsheet is all you need

Сложно понимать, как писать нейронки на Python?

Чувак в Excel (!) написал языковую модель на 85к параметров. Как раз на основе структуры, которую реализует Андрей Карпатый.

Для тех, кто не может в голове уложить, как все эти матрицы в трансформерах перемножаются, — это просто находка. Можно буквально пальцем тыкнуть в любую ячейку и увидеть, какая формула за ней стоит и откуда берутся все эти эмбеддинги, self-attention и прочая магия.

Никаких запутанных классов и абстракций, только цветные ячейки:
🟣 Фиолетовые — параметры модели, которые можно крутить.
🟢 Зелёные — данные, которые текут по пайплайну.
🟠 Оранжевые — промежуточные расчёты для ясности.

Автор так и пишет:
Forget python, it turned out that spreadsheet is all you need


А вы говорите, что табличные редакторы дата-сайентистам уже не нужны 🌝
👍10😁6😱3🔥2🤔1🙏1
🙃
Please open Telegram to view this post
VIEW IN TELEGRAM
😁176❤‍🔥1🔥1🤣1👨‍💻1🤪1
Алгоритмическая задачка 🐍

Представьте, что вы — квант в крутом хедж-фонде. Ваш босс дал вам задание: найти самый длинный период "идеальной волатильности" в котировках акций.

Это когда цена то падает, то растет, то снова падает... и так далее.

🐍 Условие задачи

Написать функцию, которая принимает список целых чисел (цены акций) и возвращает максимальную длину непрерывного подсписка, в котором знаки сравнения строго чередуются.

> То есть, последовательность должна быть вида: a < b > c < d ... или a > b < c > d ...


Примеры для ясности 👇

Пример 1:
- Вход: 9, 4, 2, 10, 7, 8, 8, 1, 9
- Вывод: 5
- Объяснение: Самый длинный такой участок — это 4, 2, 10, 7, 8. Давайте проверим:
- 4 > 2 (вниз 📉)
- 2 < 10 (вверх 📈)
- 10 > 7 (вниз 📉)
- 7 < 8 (вверх 📈)
Знаки чередуются, длина — 5 элементов.

Пример 2:
- Вход: 4, 8, 12, 16
- Вывод: 2
- Объяснение: Здесь только один подъем (4 < 8). Длина этого участка — 2. Дальше тренд не меняется.

Пример 3:
- Вход: 100
- Вывод: 1

Пример 4:
- Вход: 5, 5, 5
- Вывод: 1
- Объяснение: Равные элементы прерывают последовательность, так как сравнение не является ни строгим > ни строгим <.

Обойдемся одним циклом или понадобится что-то хитрее? 😉
4🤔2🏆1👨‍💻11
Бесплатный учебник по Deep Learning от MIT Press с 68-ю ноутбуками 📕

Фундаментальный учебник «Understanding Deep Learning» от Саймона Принса и MIT Press это:

- Книга: Полный PDF на 500+ страниц, покрывающий все от основ до диффузионных моделей и трансформеров.
- 68(!) Python-ноутбуков: К каждой главе прилагаются ноутбуки с кодом. Можно сразу запускать и ковыряться.

И да, на английском.

👉🏻 Скачать всё можно здесь

Крутота 👊
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6331🎉1👨‍💻1
👨‍💻 df.isna().sum() — вредная команда.

Вредная не потому, что она врёт, а потому, что создаёт опасную иллюзию контроля.

Вы видите аккуратную табличку с количеством пропусков и думаете: «Окей, я всё знаю». Но на самом деле вы не знаете ничего. Знать, сколько данных пропущено — это первый класс, вторая четверть. Гораздо важнее понимать, КАК они пропущены.

Есть ли в пропусках система? Они случайны или нет? Пропуски в столбце А связаны с пропусками в столбце Б?

Простой подсчёт NaN на эти вопросы не ответит. Чтобы перейти от поверхностного взгляда к глубокому пониманию, нужен более глубокий инструмент. И он есть — это библиотека missingno.

В ней разные полезные визуализации, например:

🔬 msno.matrix() — показывает точное расположение каждой «дыры» в данных. Сразу видно, пропуски — это единичные точки или целые «мёртвые зоны».

📊 msno.heatmap() — детектор скрытых связей. Показывает, значения в каких признаках пропущены вместе.

🗺 msno.dendrogram() — карта родства. Группирует столбцы по схожести паттернов пропусков. Сразу видно, какие признаки ведут себя одинаково, а какие — живут своей жизнью.

Вот вам руководство по missingno с примерами кода и графиками:
👉🏻 Пропуски в данных — не приговор: Полное руководство по визуализации и анализу с missingno в Python

Работаем с пропусками умнее 🧠
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍421🙏1💯1
✍️ Решения вчерашней задачи

Видимо, оказалось сложной 🤔 Но ничего страшного, давайте разберем элегантный и очень эффективный способ её решения.

🎯 Ключевая идея

Чтобы решить задачу за один проход, мы будем использовать подход, похожий на динамическое программирование. Нам не нужно хранить все подпоследовательности, достаточно отслеживать всего два значения:
- up — длина текущей "волнистой" последовательности, которая заканчивается ростом (📈).
- down — длина текущей "волнистой" последовательности, которая заканчивается падением (📉).

Идём по списку и на каждом шаге обновляем эти два счётчика.

Вот как выглядит код, реализующий эту идею. Он одновременно и самый быстрый, и очень "питоничный" по духу — простой и ясный.

def max_turbulence_size(prices: list[int]) -> int:
if len(prices) < 2:
return len(prices)

max_len = 1
up = 1
down = 1

for i in range(1, len(prices)):
if prices[i] > prices[i-1]:
up = down + 1
down = 1
elif prices[i] < prices[i-1]:
down = up + 1
up = 1
else:
up = 1
down = 1

max_len = max(max_len, up, down)

return max_len


🧐 Как это работает?

- Шаг 1: Инициализация
Мы начинаем с up = 1 и down = 1. Это логично, ведь любой один элемент сам по себе является последовательностью длиной 1. max_len тоже равен 1.

- Шаг 2: Итерация
Мы проходим по списку цен, начиная со второго элемента, и сравниваем его с предыдущим.

- Шаг 3: Логика обновления. Это самая соль алгоритма.
- Если цена выросла (prices[i] > prices[i-1]):
Значит, мы можем продлить последовательность, которая до этого падала. Новая длина последовательности, заканчивающейся ростом, будет up = down + 1. При этом любая последовательность, заканчивающаяся ростом, прервалась, поэтому down мы сбрасываем до 1.
- Если цена упала (prices[i] < prices[i-1]):
Зеркальная логика. Мы продлеваем последовательность, которая росла. down = up + 1, а up сбрасываем до 1.
- Если цены равны (prices[i] == prices[i-1]):
Чередование нарушено. Любая волна прерывается. Мы сбрасываем и up, и down обратно в 1.

- Шаг 4: Поиск максимума
На каждом шаге цикла мы обновляем max_len, выбирая самое большое значение из max_len, up и down. Так мы гарантированно не упустим самую длинную волну.

Временная сложность: O(N) . Мы проходим по входному списку всего один раз. Быстрее просто невозможно! 🚀
Пространственная сложность: O(1). Мы используем фиксированное количество переменных (up, down, max_len), которое не зависит от размера списка. Максимально эффективно по памяти.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2🐳211
🇨🇳 Китайцы снова разрывают! Выкатили GLM-4.5 🐲

Я изучил их анонс и доки, вот короткая выжимка:
▫️Что это? Здоровенная MoE-модель (355B параметров), 128к контекста. Главное — полный опенсорс под лицензией MIT. Можно брать и использовать в коммерческих проектах.
▫️В чем фишка? Заточена под «агентов». По демкам, она может по команде сгенерить рабочую игру или написать сайт с нуля.
▫️Она реально так хороша?
Бенчмарки на уровне топов. Не «убийца» всего и вся, но, возможно, один из самых мощных открытых ИИ-агентов на сегодня.
▫️А запустить можно? Только если у вас есть доступ к серверу с пачкой H100. На игровом ноуте пока не взлетит. 🫠

🔗Первоисточники для самостоятельного изучения:
- Официальный анонс
- Репозиторий на GitHub
- Модели на HuggingFace

Разбор архитектуры — что там с MoE, их RL-фреймворком slime и как это все-таки запустить тут:
👉 Читать полный разбор
Please open Telegram to view this post
VIEW IN TELEGRAM
👍632🔥1🙏11
Заговор рептилоидов раскрыт! 🐸
В сеть слили презентацию с доказательствами
‼️

Шутки шутками, а GLM-4.5 для меня стала первым инструментом, который бесплатно и без ограничений (пока) вполне сносно генерирует редактируемые презентации (тут я вообще ничего кроме одного промпта не делал).

Генерации жутко долгие, но все равно быстрее, чем делал бы руками.

Давно такой инструмент искал.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14😁332👍1🆒1
Срочно нужно забустить канал, чтобы спасти реакцию 🤣

Без этой реакции не то!

Спасайте Эль Риситаса!
Please open Telegram to view this post
VIEW IN TELEGRAM
27👍2🔥2🏆1🤝1🤗1🫡11
На первый взгляд, все элементарно. Но есть нюанс 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🎉2😁1🙏11