Обновить
1024K+

Python *

Высокоуровневый язык программирования

764,12
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

SoftMax: как нейросети превращают сырые числа в уверенные вероятности — разбор с примерами и математикой

Время на прочтение2 мин
Охват и читатели4.2K

В реальности всё полно оттенков: ничего чисто чёрного или белого, то же в машинном обучении, тк решения редко бывают абсолютными. Возьмём задачу: нейросеть анализирует фото еды и определяет, это пицца, суши или салат. Для двух классов хватит сигмоиды, но с несколькими нужна функция, которая раздаст вероятности по всем вариантам, чтобы их сумма была точно 1. Вот где и выходит SoftMax- стандарт для многоклассовой классификации. Сегодня разберём её от А до Я: интуицию, шаги, формулы и хитрости.

Читать далее

Как компьютер понимает Языки программирования: история о том, как ваш код превращается в нули и единицы

Время на прочтение14 мин
Охват и читатели11K

Привет, Хабр! (И тебе, случайный читатель, который думает, что "код - это магия", а процессор - маленький гномик, который внутри ноутбука читает for i in range(10) и послушно бегает кругами.)

Сегодня разберёмся с вопросом, который в какой-то момент приходит в голову каждому разработчику, а потом быстро вытесняется дедлайном:

Как вообще компьютер “читает” Python или 1С или любой другой язык программирования, если он понимает только 0 и 1? И почему ваш идеальный код иногда превращается в "segmentation fault" / "Неопределённая ошибка" / “Пользователь не найден (хотя он сидит напротив)”?

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

Поехали. Будет без хардкора уровня “компилятор за 21 день”, но с понятными аналогиями, для статьи упростил всё до минимума. Реально постарался переварить информацию и выдать её в красивой упаковке. Кстати, в статье будут примеры из двух разных миров Python и 1С, так что будет интересно…

Читать далее

Как я сделал классификатор обращений для телеком-поддержки на своей LLM за $10/месяц

Время на прочтение3 мин
Охват и читатели6.9K

Fine-tuned Qwen2.5-0.5B для классификации обращений в поддержку: intent, category, urgency, sentiment, routing — всё в одном JSON. Модель 350 МБ, работает на CPU, стоимость инфраструктуры $10/месяц. Рассказываю как обучал, квантовал и деплоил.

Читать далее

Как использовать API поисковых подсказок Google

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.2K

Google Autocomplete (Google Suggest) — механизм автодополнения поисковых запросов, который отображает подсказки в реальном времени. Несмотря на отсутствие официальной документации, его поведение достаточно стабильно и широко используется в SEO, анализе поискового интента и сборе семантики.

Читать далее

Скрипт полной миграции из GitLab на свой сервер и настройка Git для одновременного fetch/push в несколько remotes

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели9.6K

1. Что сделал?
Переехал с GitLab на свой сервер, написал свой python-скрипт, который мигрирует не просто все репозитории, но и настройки, описания, картинки(done) и мердж/пулл-реквесты(in-progress). Бонусом настроил простой git fetch/push одновременно на все GitLab, GitHub, ... remotes.

2. Зачем?
Локальный сервис независим от РКН, КВН, "чебурнета" и гео-блокировки аккаунта, бэкап под контролем, без опасения утечек из облаков по независящим причинам.

3. Как?
Когда у тебя несколько десятков pet-проектов на Gitlab/Github, для каждого копи-пастить git clone/push --mirror со многими параметрами и вручную копаться в web интерфейсах откровенно "скучно и лениво".

В статье: поиск решения по полной миграции, комментарии по коду и настройки скрипта. Вторую часть по мульти git fetch/push оформляю

Гуглил похожие решения, не нашел. В итоге написал свое.

Читать далее

Математическая битва ИИ: сравнение ChatGPT 5.2 Pro и Gemini 3 Pro в решении задач

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели12K

Признайтесь: вы когда-нибудь задумывались, можно ли уже сегодня доверить ИИ олимпиадную задачу по математике? Не просто посчитать пример, а распутать геометрическую спираль, оптимизировать “спичечное” представление числа или найти все неоднозначные моменты на странных часах без цифр?

Я – да. И поэтому, когда в конце 2025 года OpenAI анонсировала ChatGPT 5.2 Pro, заточенный именно под сложные рассуждения и научные задачи, я понял: пора проверять по-настоящему.

Мы решили устроить настоящую математическую дуэль между двумя титанами: ChatGPT 5.2 Pro и уже успевшим нашуметь Gemini 3 Pro от Google. Без веб-поиска, без подсказок – только чистая логика, длинные цепочки рассуждений и, где нужно, аккуратный Python-код.

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

Результаты оказались не просто интересными. Готовы узнать, кто победил?

Читать далее

Компромиссы построчной вставки в БД и батчинга

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.5K

У тех, кто не кодит, бытует мнение, что у разработчиков на любую задачу есть какое-то одно решение — бест-практика. Достаточно почитать SO или, вот теперь, пообщаться с нейронкой и — вуаля — задача сделана. На практике, даже у такой задачи, как вставить данные в БД, есть варианты решения, каждый со своими плюсами и минусами. Делюсь небольшим примером.

Читать далее

AB-тесты и подглядывание: введение в последовательное тестирование

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.1K

В AB-тестах нередко возникает желание смотреть на результат по ходу эксперимента: метрики обновляются, решения ждать долго, а если эффект уже очевиден, то зачем тянуть до конца. Но в этом месте легко допустить серьезную ошибку: регулярно пересчитывать обычное p-значение и завершать тест при первом p < 0.05. Такой подход повышает долю ложных срабатываний: иногда статистическая значимость появляется просто из-за случайных колебаний данных, даже когда реального эффекта нет.

В этой статье разбираем, почему так происходит, и что с этим делают в прикладной аналитике. Покажу, как устроено групповое последовательное тестирование (group sequential): вы заранее задаете несколько контрольных точек для подглядывания, а пороги принятия решения подбираются так, чтобы общий уровень ошибки первого рода по всему процессу оставался на заданном уровне alpha.

На простых формулах и наглядных графиках из симуляций сравним наивное подглядывание с корректной процедурой. А затем разберем два самых популярных набора порогов - Pocock и OBrien-Fleming: чем они отличаются, почему один вариант чаще завершает эксперимент раньше, а другой почти не дает принимать решения в начале, и как выбрать подходящий вариант под продуктовый процесс.

Читать далее

Компрессор для данных или как я написал свой первый custom transformer

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.2K

Эта статья будет полезна DS специалистам, и тем, кто хоть когда-нибудь сталкивался с такой проблемой, как выбросы в данных или OOD (out of distribution), и ищет пути решения проблем, возникающих из-за них.

Читать далее

За пределами LLM: детерминированный движок рассуждения на конечном алфавите

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели7.5K

В статье я показываю альтернативу LLM в роли решателя внутри продукта: детерминированное ядро, работающее на конечном алфавите состояний с таблично заданной бинарной операцией — lookup/transition table.
Вместо вероятностных ответов — воспроизводимые вычисления с замыканием (фикс-точка или цикл), учётом симметрий (автоморфизмов) для факторизации перебора и со строгим контуром проверки: спецификации, валидаторы, регрессия и публичный отчёт в стабильном JSON-формате.
Систему можно запустить локально одной командой — или прогнать прямо в ChatGPT, если включён режим выполнения кода: вы получите PASS/FAIL и полный комплект артефактов прогона.

Читать далее

Ред флаги, но не в тиндере: что важно понять data-специалисту ещё до оффера

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.7K

Пятничный вечер, бар, шумные разговоры. Мы - компания из нескольких ML-инженеров, DE и DA из Сбера, Магнита, Озона и Альфа-Банка собрались не ради обсуждения задачек в JIRA. Разговор зашел о наболевшем: как найти своих людей и команду мечты? Обсудили зарплату и плюшки, удалёнку и офис, стартапы и зрелые продукты, переработки, карьерный рост и рабочую культуру. В статье - цитаты из обсуждения и обобщённые выводы. А в конце - список вопросов, которые стоит задать на собеседовании, чтобы не ошибиться с выбором и найти тех людей, с кем не страшно будет выкатить релиз в пятницу вечером.

Читать далее

Скрипты и алиасы для вашего линукса

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели17K

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

Простейший алиас в .bashrc или .zshrc кажется небольшим открытием. Первый рабочий скрипт, сохранённый в ~/.local/bin, ощущается как прорыв. Это не просто про лень — это про эффективность, про оптимизацию работы.

Со временем такая «мелкая оптимизация» собирается в целый личный фреймворк или набор утилит для командной строки. Это уже не пара заплаток, а твоя собственная среда, отточенная под конкретные задачи. В этой статье я хочу показать свою коллекцию таких скриптов и алиасов — не как идеальный стандарт, а как пример живого подхода. Возможно, какие-то решения окажутся полезными и вам, а главное — побудят создать что-то своё, ещё более удобное.

Читать далее

MedGemma: разбираем медицинский AI от Google

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели10K

25 февраля — финал The MedGemma Impact Challenge на Kaggle. Я уже несколько недель копаюсь в этой медицинской модели от Google, пытаясь выжать из неё что-то крутое для конкурса. Пока идеальное решение где-то между "гениально" и "зачем я это делаю в 3 ночи", решил поделиться тем, как вообще эта штука работает и что с ней можно делать.

Читать далее

Ближайшие события

Как мы сократили объем данных в 10 раз, не повредив пользовательскому опыту, или переезд Postgres → ClickHouse

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели16K

Всем привет, меня зовут Алексей Леонтьев, я техлид и архитектор на проекте Smartbot в компании KTS. Smartbot — это nocode-платформа для настройки сценариев чат-ботов, которые могут работать в нескольких соцсетях и мессенджерах одновременно.

Мы храним много данных о событиях, которые обрабатывает наша платформа. Раньше для этого мы использовали Postgres. Но возникла задача сократить потребляемые кластером ресурсы.

В этой статье я расскажу о том, как мы бесшовно перенесли данные из Postgres в ClickHouse. И при этом сократили оперативную память в 4 раза, а размер потребляемого дискового пространства — на порядок.

Читать далее

Как мы мигрировали с Zeppelin и что из этого вышло. Часть 1. Рассылки

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели8.2K

Для задач аналитики Zeppelin - это чуть ли не находка. Он может в одной книжке исполнять код на любом языке (был бы интерпретатор), выводить его в виде красивых табличек, графиков и в любом другом виде, который удобен. И на Хабре есть много статей, посвященных плюсом данного решения для задач аналитики.

В результате в аналитический отдел ТКБ Инвестмент Партнерс данный инструмент проник достаточно глубоко: на нем писались аналитические отчеты для разных отделов, расчетные таблицы, которые затем отсылались в дашборды, также данными книжками могли пользоваться все, кто знал какие-либо языки программирования.

И мы попали в зависимость от него. Панацея, которая должна была стать легким решением для (почти) любой задачи превратилась в наше проклятие. Из-за проблем с данной системой на нас приходило по 5-7 тикеров в неделю, а также потерей доверия к нашим сервисам.

Как мы с этим справились?

Модуль Python для обновления данных в БД — DBMerge

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8K

Хочу рассказать о своей разработке и поделиться ей с сообществом habr в виде готового модуля для Python.

Этот модуль решает задачу обновления данных в базе данных. Он выполняет insert/update/delete в одном действии.

Модуль DBMerge проектировался для упрощения ETL процессов по загрузке данных из множества внешних источников в SQL базу.

Для взаимодействия с базой данных используется SQLAlchemy и ее универсальные механизмы, таким образом, разработка не имеет привязки к конкретной БД. (На момент написания статьи, детальные тесты проводились для PostgreSQL, MariaDB, SQLite, MS SQL)

Принцип действия

Принцип действия следующий: модуль создает временную таблицу в базе и записывает в нее весь входящий датасет через операцию массового insert. Далее он выполняет инструкции UPDATE, INSERT, DELETE для целевой таблицы.

Читать далее

Как создать чат-бота с LLM?

Время на прочтение29 мин
Охват и читатели11K

История о том как я потратил 5 лет на изучении llm ботов и в итоге написал своего за пол года. Пути реализации и ошибки.

Читать далее

Перевод Telegram бота (Aiogram3) через Fluent

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.8K

Хотел перевести своего бота на английский язык, но в интернете нашел только эту статью. Информация взята с:
https://robotvasya.github.io/i18n-l10n-tutorial-aiogram/chapter_04.html

Устанавливаем библиотеки в ваш проект

Читать далее

Автоматизированные системы мониторинга моделей машинного обучения с помощью нашего open source фреймворка

Время на прочтение6 мин
Охват и читатели6.5K

Любая модель машинного обучения начинается с данных. Известное выражение «garbage in, garbage out» как нельзя лучше описывает главную уязвимость ML‑систем. В автоматизированном машинном обучении (AutoML) наиболее критичными точками являются процесс сборки данных и проблема мониторинга данных, в т.ч. в онлайне. Если процессы feature engineering и обучения наша библиотека формализует «из коробки» с помощью конфигурационных файлов и единых правил, то ответственность за загрузку и получение данных несет пользователь.

Читать далее

«Python. Уроки для начинающих»: почему это не просто очередной учебник по языку

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели21K

Самоучителей по языку Python сейчас выпускается много, и вот буквально несколько дней назад в «БХВ» вышло еще одно издание — книга Владимира Дронова «Python. Уроки для начинающих». Это не обычное пособие для тех, кто хочет освоить новый для себя язык программирования, а книга с уникальным подходом.

Что же в нем уникального?