Древняя модель ruGPT-3 XL 1.3B конца 2020 - начала 2021. Модели тех времён не умели выполнять инструкции или вести диалог в чате, они умели только продолжать текст. С помощью современных методов дообучения SFT и DPO можно ли сделать из старого pretrain современную LLM? Получившийся результат сравним с Gemma3 1B, моделью 2025 года. И немного продолжения HabrGPT 0.5B с дообучением на большом датасете.
Читать далееПривет! Меня зовут Дима Левин, сейчас я работаю системным аналитиком в Петрович-Техе. Так уж сложилось, что в своей работе в нескольких проектах я плотно работал с персональными данными. Сегодня хочу рассказать о проекте по автоматизации обезличивания большой БД (30 000+ таблиц размером до 10 миллиардов строк). Надеюсь, мой опыт будет полезен.
С каждым годом появляется все больше и больше требований в работе с персональными данными (ПДн). Списки данных, подпадающих под статус ПДн, регулярно расширяются, а ответственность за утечку ПДн повышается.
Работать в разработке и тестировании ПО в таких условиях становится всё сложнее, особенно когда по разным причинам необходимо привлечь внешних специалистов или подрядную организацию, а подключаемая к ПО база данных содержит ПДн.
Конечно, можно сгенерировать данные для любой БД, исключив ПДн, но не во всех ситуациях этот вариант подходит, т.к. в таком случае невозможно учесть все нюансы и особенности данных. Существует достаточно много инструментов и для генерации, и для анонимизации данных, но в наших нынешних реалиях и условиях техстека компаний далеко не всё можно применить. Кроме того, какой бы подход не был выбран, разбираться в его тонкостях обезличивания всё равно придётся.
Читать далееДелюсь впечатлениями о недавно вышедшей книге «Не усложняй! Управление проектами по методу P3.express» за авторством @daIlenkov и @lera_ilenkova
Это небольшая (~250 страниц) книга по управлению проектами на основе минималистичной системы P3.express, написанная лёгким и доступным языком. Отлично подойдёт для новичков. В сети уже немало отзывов, которые можно свести примерно к этой формуле.
Я хочу взглянуть на неё чуть глубже. Это книга-матрёшка.
Первый уровень действительно такой, каким его описывают в большинстве отзывов, — хорошо написанная книга, которую можно смело рекомендовать новичкам. На самом деле это ценное качество, потому что в интернете довольно часто спрашивают, что почитать/посмотреть/поучить новичкам по теме управления проектами. Отсылать сразу к PMBOK — и непродуктивно, и негуманно. Что там ещё рекомендуют из года в год? «Дедлайн» Тома ДеМарко? На самом деле отличная книга, люблю её, но сам же признаю, что жанр бизнес-романа имеет свои недостатки и подходит не всем. А надеяться на качественный онбординг на новой работе/роли не приходится — у руководителей проектов это устроено гораздо грустнее, чем у каких-нибудь айтишников. К тому же на эту первую работу ещё надо как-то умудриться попасть, и довольно часто это оказывается переходом на новую роль внутри компании. Но это идеальный случай, а ведь частенько бывает так, что какой-либо проект поручают не выделенному руководителю проектов, а опытному специалисту или руководителю подразделения — в довесок к основным обязанностям. Если до этого они не сталкивались с дисциплиной проектного управления и не имеют внутри организации поддержки от проектного офиса (или чего-то подобного), то приходится устраивать забег по граблям. Книга поэтапно показывает будни менеджера проектов — что вообще он делает и что от него ожидается. Так что если у вас нет возможности заранее ознакомиться с должностной инструкцией, положением о проектном управлении, регламентами проектных работ (а это мало где есть или есть, но частенько не работает), вы сможете понять, что от вас требуется и каких ошибок стоит избегать.
Читать далееГруппа точек мониторинга орошения, распределённых в горной местности, днём нагревается на солнце, а ночью остывает — суточный перепад температур может достигать тридцати–сорока градусов. Обслуживающий персонал заметил, что с наступлением осени обратная передача данных с части узлов LoRa стала давать редкие потери пакетов, а после повторного включения питания работа восстанавливалась. Первой реакцией часто бывает переход на более дорогой термокомпенсированный кварцевый генератор (TCXO). Однако по мере того, как LoRa IP четвёртого поколения повысил толерантность к отклонению частоты, TCXO перестал быть ответом по умолчанию на все проблемы температурного дрейфа.
Читать далееПредставим обычную обработку заказа. Сервис заказов публикует событие order.created. Сервис склада получает его и резервирует товар в PostgreSQL. После успешной транзакции обработчик должен отправить RabbitMQ подтверждение (Ack), чтобы broker удалил сообщение из queue.
Но процесс может остановиться после записи в PostgreSQL и до отправки Ack. RabbitMQ не знает, успел ли сервис зарезервировать товар. Broker видит только неподтверждённое сообщение, поэтому доставляет его ещё раз. С точки зрения доставки это правильное поведение. С точки зрения бизнеса один заказ теперь может зарезервировать товар дважды.
Другой сбой возникает раньше: PostgreSQL временно недоступен, и обработчик не может начать работу. Если сразу вернуть сообщение в queue через отрицательное подтверждение Nack(requeue=true), RabbitMQ почти немедленно доставит его снова. Пока база не восстановилась, все попытки будут бесполезными. Нужны задержка и ограничение числа повторов. При этом отложенное сообщение может пропустить вперёд более новые события, поэтому отдельно придётся решить вопрос порядка.
Так одна операция превращается в несколько независимых участков: запись события, публикация, хранение в broker, обработка и подтверждение. Между соседними участками остаются моменты, когда одна сторона уже выполнила действие, а другая ещё не получила подтверждение.
В статье разберём эти моменты по всему пути сообщения. Затем построим практическую схему для RabbitMQ и Go: добавим ограниченные повторы через retry queues, время жизни сообщения (TTL) и dead letter exchange, сделаем обработчик идемпотентным и определим, куда отправлять сообщения, которые не удалось обработать автоматически. В конце сравним этот подход с Kafka, NATS JetStream и Amazon SQS.
Читать далееЯ проектирую системы на LLM, и после каждого громкого ИИ‑инцидента мне прилетает одна и та же ссылка с одним и тем же вопросом: «а у нас такое может случиться?» Чтобы отвечать не на глазок, я завёл привычку разбирать каждый такой инцидент до конкретной технической причины. За последние месяцы таких разборов набралось три, и они удивили меня не сходством, а различием. Дыры, в совершенно разных местах: у одного проекта не проверялись источники, у другого, данные на границах системы, у третьего, права автономного агента. А вот причина одна: системы вокруг LLM строили люди, которые умеют писать промпты, но не умеют проектировать архитектуру.
Судите сами. Deloitte Australia возвращает правительству деньги за отчёт, в котором ИИ выдумал источники. В Миннесоте полиция четырьмя машинами блокирует на парковке журналиста, потому что сеть ИИ‑камер несколько дней вела его как угонщика, из‑за опечатки, сделанной за две тысячи миль от него. А основатель инди‑SaaS просыпается и обнаруживает, что написанный моделью код ночью отменил все подписки его клиентов и оставил бизнесу $38 месячной выручки.
Читать далееУ меня от трёх до пяти созвонов в день, почти все в браузере: Meet, Яндекс Телемост, ktalk, реже всего Zoom. Детали встреч мне нужны в тексте, иначе договорённости расползаются. Писал я звонки через OBS с захватом экрана, и на самих звонках началось веселье: звук временами жёстко квакал, всё чуть-чуть подвисало. Причину до конца не выяснял, моё предположение - процессор зажирался захватом и перебивал сам разговор; ktalk и браузер тут ни при чём. А экран, как потом дошло, мне вообще был не нужен.
Дальше вторая серия. Расшифровку я гонял своими Python-скриптами: конвертация → транскрибация → диаризация (разметка, кто когда говорил). На встрече с пятью участниками диаризация расставляла голоса крайне плохо, половину фраз всё равно восстанавливал по памяти.
Пошёл искать вариант, чтобы запись не мешала звонку, результат был приличный и всё крутилось локально: не хотелось ни отдавать записи в облако, ни платить подписку за минуты. Нашёл платный Audio Hijack, он подкупил лёгкостью и простотой настройки. Потом узнал, что на M-чипе быстрее всего у меня отрабатывает mlx-whisper на MLX: веса large-v3-turbo с Hugging Face, инференс на GPU Mac. Это архитектура Whisper, но рантайм — пакет mlx-whisper и бинарь mlx_whisper, не pip install openai-whisper и не репозиторий openai/whisper. Так собрался стек: Hijack пишет один mp3, mlx_whisper делает VTT, pyannote раскладывает по SPEAKER_XX. На 56-минутном звонке транскрипция заняла около пяти минут. Платный только Hijack — разовая лицензия, без подписки (цену смотрите на сайте Rogue Amoeba). Скрипты выложил в mac-call-transcribe под MIT. Ниже сборка, замеры с двух реальных звонков и грабли; повторяется на любом Mac с M-чипом.
Читать далееВ первой части агент включал свет, смотрел логи и собирал режим «Кинотеатр». Во второй — помогает новичку: объяснить, что есть в доме, где сыро и опасно, почему ночью что-то само гаснет, и по запросу сделать template для класса или объекта.
Читать далееЭта статья НЕ является ни шпаргалкой по заявленной теме, ни учебником, ни истиной в последней инстанции. Она написана преподавателем, имеющим опыт моделирования бизнес-процессов, на основе опыта преподавания, но не продакшена непосредственно баз данных, и рассказывает прежде всего о том, чего и почему не понимают современные студенты, изучающие программирование баз данных, в чём корень их дальнейших проблем в проектировании баз данных. На примере задачи проектирования приложения для ведения расписания занятий учебного заведения показан мой порядок проектирования и разработки базы данных.
Несмотря на самостоятельность этой публикации, она раскрывает некоторые вопросы, поднятые ранее в статье "Как пройти… к третьей нормальной форме?"
Читать далееВекторные базы данных в serverless-модели обычно обещают простую вещь: не требуется развёртывание и настройка, а провайдер берёт на себя управление хранилищем, масштабирование и обеспечение доступности. turbopuffer - один из лучших примеров этого класса: быстрый движок векторного поиска, использующий object storage в качестве хранилища, которым пользуются Cursor, Notion, Linear и другие.
Такой подход действительно снижает операционную нагрузку на команду, но он не бесплатен. Поэтому возникает закономерный вопрос: какая часть этих преимуществ нужна небольшому, четко определенному сценарию, и во что обойдется та же нагрузка на двух недорогих VPS с Manticore Search - по цене и по производительности?
В этой статье мы подтверждаем это цифрами: сравниваем две системы в одинаковых условиях на одном и том же наборе данных.
Читать далееИстория создания GSM-DTMF-MQTT шлюза как замены телеграм (и вообще любых интернет-сервисов) в проектах домашней и не очень автоматизации.
Читать далее
Как известно, гипотеза Пуанкаре на сегодня является единственной решённой задачей тысячелетия.
Её формулировка довольно проста:Всякое односвязное компактное трёхмерное многообразие без края гомеоморфно трёхмерной сфере.
В этой статье мы создадим простенькую компьютерную визуализацию основных пунктов упрощённого доказательства.
Читать далееВ прошлых статьях про инженерную архитектуру ГИГАХРУЩА мы разбирали, как в одном браузерном файле на чистом TypeScript держится тороидальный клеточный мир 1024x1024, кастомный WebGL-рэйкастер, симуляция A-Life и объемный генератор MESH PASS.
Сегодня мы расскажем историю создания речевого ядра проекта — историю о том, как попытка уйти от хардкода привела нас к теории категорий, дистрибутивной семантике и ошеломляющим открытиям: оказывается, если взглянуть на художественные тексты через чистую линейную алгебру, математика сама начинает «понимать» смысл слов и строить сюжетные конструкции.
В этой статье мы покажем, как с помощью векторного анализа корпусов, классов эквивалентности и PCA-осей нам удалось заставить Марковское ядро генерировать живую, контекстную речь для тысяч НПС — без сторонних фреймворков ("dependencies": {}), с задержкой 0 миллисекунд и 100% детерминизмом по SeedRng.
Читать далееЗакон Мура, похоже, задвинули, т.к. упоминается он все реже и реже. А вот закон Амдала нет-нет, да вспомним. Тем более, что он приведен чуть ли не в каждой книге по параллельному программированию. А, ведь, есть и другие законы типа закона Гроша или гипотезы Минского. Но подобный их статус обязывает ко многому. Однако после детального знакомства с ними это ощущение, как правило, теряется.
В законе Амдала, вроде, все правильно, но что-то не так и не то. Подобные сомнения возникли почти сразу после знакомства с ним. Но, правда, кто я такой, чтобы давать оценку? Да и интересовали меня на тот момент другие проблемы, к которым данный закон имел, как мне представлялось, косвенное отношение.
Однако, «давно не было такого и вот опять» – свежая статья на Хабре про закон Амдала, да еще и с настоятельной рекомендацией его изучать[1]. Пришло, видимо, время мне на эту тему высказаться. Хотя бы в пику его «обязательности чтения», т.к. для тех, кто «проектирует параллельные системы», подобные советы представляются не только излишними, а даже вредными.
Все это, конечно, с «высоты» нынешних моих позиций. За прошедшее время они стали более строгими. Но все же это только моя личная оценка, но опирающаяся на мой опыт и на общепризнанные научные представления о процессах распараллеливания «реальных задач».
Так давайте попробуем понять кто прав, а кто нет. А поможет нам математика, которую можно не понимать, можно даже не любить, но не уважать нельзя.
Читать далееУ Яндекс Лавки нет публичного API. А мне захотелось написать ассистенту «закажи молоко и что-нибудь к ужину» — и чтобы заказ реально уехал курьеру.
Рассказываю, как я отреверсил приватный веб-API Лавки прямо из браузерного трафика и завернул его в MCP-сервер: поиск, корзина, оформление с подтверждением суммы. А главное — про грабли, которые ловил воспроизведением, а не «на глаз»: заголовок X-CSRF-Token, зашитый в HTML; гонки за общую корзину и HTTP 409; «Раскупили» и «только из Большой Лавки», которые оказались не тем, чем выглядели; пустой способ оплаты; и удалённый деплой с OAuth, чтобы заказывать с телефона.
Код открыт (MIT), ставится через uvx. Осторожно: неофициально, реверс приватного API, оформление тратит реальные деньги.
Читать далееОплатить зарубежную подписку из России сейчас можно десятком способов, и почти все они непрозрачные. Пишешь боту «сколько будет ChatGPT Plus за 20 долларов» — получаешь цену в рублях, но не понимаешь, откуда она взялась. У одного сервиса выходит 1900 рублей, у другого за то же самое 2700. Официальный курс доллара в тот день — 78,4 рубля, то есть честная цена подписки 1568 рублей. Куда девается остальное и почему у всех по-разному?
Я потратил пару недель на то, чтобы это выяснить: писал ботам и менеджерам, просил посчитать одни и те же подписки, записывал итог в рублях и сравнивал с курсом ЦБ на день замера. Оказалось, что за пёстрыми ценниками прячется одна и та же формула, и, поняв её, переплату можно предсказывать заранее.
Читать далееОшибка Cannot assign requested address, внезапные обрывы соединений и растущее число сокетов в TIME_WAIT часто выглядят как странности Linux, пока сервис не начинает терять доступность под нагрузкой.
В статье разберём, почему заканчиваются локальные порты, какие параметры ядра действительно влияют на ситуацию и где проблема решается настройкой, а где — только изменением архитектуры соединений.
Читать далееВо вторник министр финансов США Скотт Бессент заявил в эфире Fox Business, что администрация изучает китайские ИИ-модели на предмет украденной интеллектуальной собственности и рассматривает санкции: по его словам, внутри китайских моделей находят "водяные знаки" американских. А через несколько часов глава Nvidia Дженсен Хуанг в интервью Axios заявил, что Америке нечего бояться китайского ИИ — бояться стоит кампании по его запрету.
Читать далееHEIF, HEIC и AVIF на Android через ImageMagick: хроника внедрения в два этапа. Без лишней воды — только проблемы и их решения.
Читать далее21 июля 2026 года Госдума приняла законопроект «О цифровых валютах и цифровых правах» сразу во втором и третьем чтениях.
Большая часть положений нового закона должна вступить в силу с 1 сентября 2026 года. Речь идёт о требованиях к участникам рынка, правилах допуска инвесторов, ограничениях по отдельным операциям и других элементах будущей системы регулирования.
Однако полностью переводить рынок на новые правила начнут позднее. Требование проводить операции с криптовалютой через участников, включённых в реестр Банка России, должно заработать с 1 июля 2027 года. До этой даты предусмотрен переходный период, необходимый для лицензирования посредников и подготовки нормативной базы.
Формально законодательная процедура ещё не завершена: документ должен пройти Совет Федерации, быть подписан Президентом и официально опубликован. Но сомнений в том, что закон будет окончательно принят, практически нет.
Читать далее