Обновить
554.89

Python *

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

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

Обучение ИИ-моделей на обычном ЦП

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

Ещё раз о ЦП для машинного обучения в эпоху дефицита мощностей GPU

Недавние успехи в области ИИ зачастую связывают с появлением и эволюцией графических процессоров (GPU). Архитектура GPU, как правило, включает тысячи ядер для многопроцессорной обработки, высокоскоростную память, выделенные тензорные ядра и пр. Такая архитектура особенно хорошо подходит для рабочих нагрузок, связанных с ИИ и машинным обучением, которые отличаются высоким потреблением ресурсов. К сожалению, из-за резкого роста разработок в области ИИ также наблюдается всплеск потребности в  GPU, из-за чего возник их дефицит. В результате разработчики систем машинного обучения всё активнее изыскивают альтернативные аппаратные платформы, на которых можно было бы обучать и эксплуатировать модели. В таком качестве используются, например, выделенные специализированные интегральные схемы (ASIC) для работы с искусственным интеллектом, такие как облачные тензорные процессоры GoogleHaban Gaudi и AWS Trainium. Притом, что эти варианты позволяют значительно сэкономить, они подходят для работы не со всеми моделями машинного обучения и, подобно GPU, также остаются дефицитными. В этом посте мы вновь обратимся к старым добрым классическим процессорам (CPU) и вновь поговорим о том, насколько они адекватны применительно к современным ML-моделям. Безусловно, ЦП обычно не так хороши для обслуживания связанных с машинным обучением рабочих нагрузок как графические процессоры, зато их гораздо проще приобрести. Если бы удалось гонять на ЦП (хотя бы некоторые) из таких рабочих нагрузок, то продуктивность разработки в целом удалось бы значительно повысить.

Читать далее

Новости

Как готовиться к cобеседованию с лайв-кодингом QA

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

Сейчас на позициях любых грейдов, включая лидовские, у QA всё чаще работодатели требуют навыки разработки. Иногда это нужно, потому что позиция full-stack. Иногда это просто требование, чтобы отобрать технически подкованных ребят.

Я — Женя, QA-лид. У меня 6 лет опыта в профессии, в том числе 3 года я нанимаю и обучаю команду. Решил составить свой список того, что нужно делать QA, чтобы подготовиться к этапу технического собеседования с лайв-кодингом.

Читать далее

Реляционные шарады: превращаем фильмы в таблицы

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

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

Перейти к материалу

Эксперимент по подстройке Gemma 3 для вызова процедур

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

Практический опыт тонкой настройки текстовой генерации для модели Gemma 3 с использованием QLoRA на видеокарте RTX 4090 (24 GB).

Читать далее

Как я создала ИИ-агента для анализа отзывов, потому что мне было лень читать 200+ строк в гугл таблице

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

Или история о том, как лень двигатель прогресса.

Когда мне на курсе дали домашку проанализировать больше 200 отзывов о кофейне "Great Grounds", я поняла одно: читать это всё вручную я точно не буду.

У меня был выбор: потратить несколько часов на монотонное чтение однотипных «кофе супер» и «цены кусаются», загрузить это в NotebookLM (что я сделала в последствии, для сравнения результатов) или повайбкодить. Например, создать своего мини ИИ‑помощника, который сделает это за меня. Спойлер: я выбрала вайбкодинг, и вот что из этого вышло.

Читать далее

Сколько городов в России начинаются на букву К?

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

Именно этот вопрос возник у нас в процессе игры в "Города" пока мы ехали из Екатеринбурга в Тюмень, а названия городов то и дело заканчивались на "К". В тот момент город Курган был назван уже 25 раз. И нас озарило... Спарсим данные с RuWiki и посмотрим сколько городов в России начинаются и заканчиваются на букву К!

Читать далее

Январский рефакторинг: 7 дней, чтобы почистить Python веб‑проект

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

Январь — самое удобное время разобрать завалы в проекте. Пол‑команды ещё в отпусках, pull‑реквестов меньше, product owner'ы только вспоминают, что планировали делать в этом году — можно спокойно пройтись по коду и навести порядок.

В этой статье пойдёт речь о нескольких косметических действиях, которые, с одной стороны, почти не затрагивают логику программы и не вызывают ненависти у тестировщиков, а с другой — делают код чуть приятнее и дают темы для обсуждения на бэкенд‑созвонах. Мы разложим импорты, перенесём логику из роутов в контроллеры, а из контроллеров — в репозитории и сервисы, избавимся от requirements.txt в пользу нормального менеджера зависимостей и включим mypy.

Читать далее

Machine Learning в экологии, или где живёт снежный человек

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

В экологии происходит настоящая ML-революция. 

Число публикаций с использованием матмоделирования растёт по закону Мура, а наличие ML‑моделей и прогнозов становится стандартом в статьях про биологические виды и их будущее.

Появились модели, предсказывающие распространение видов в пространстве и во времени — на 100 лет вперёд или на 6000 лет назад. Экологи начали моделировать взаимодействие видов, сообществ — и целых экосистем. 

Расскажу, почему это произошло, как работают такие модели на практике — и к чему всё это нас приведёт.

Читать далее

Memory Is All You Need: Активная память для трансформеров — мой новый подход к долгосрочным зависимостям в ИИ

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

Переосмысливаем память в ИИ: от пассивного контекста к активной, "живой" системе. Мой проект MemNet с Hebbian-графом и "сновидениями" решает задачи долгосрочных зависимостей. Код на GitHub + эксперименты внутри!

Читать далее

Kawai-Focus 2.1: переезд на новый стек

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

В данной статье я попытаюсь переписать часть приложения Kawai-Focus на стек: FastAPI + Vue.js + Tauri + Ionic. Также я соберу приложение только с экраном «Таймеры» под Linux в AppImage, которое подойдёт для большинства Linux-дистрибутивов. Реализация одного экрана не будет слишком долгим процессом, а финальная сборка приложения позволит оценить сложность и удобство полного цикла разработки.

Эта cтатья не будет подробным гайдом, так как размер переписанного кода и его описание слишком велики для одной статьи. Однако я покажу часть кода проекта и расскажу о выбранном стеке, а также о трудностях и преимуществах, с которыми я столкнулся в процессе переписывания проекта. Я буду использовать часть кода старого проекта, который не касается Kivy и KivyMD, поэтому его душа не умрёт, а обновится.

Заваривайте чай, доставайте вкусняшки — пора «старый стек превращать в удобрение для новых помидор»! 🍅

Читать далее

Оптимизация и запуск нейронных сетей на React Native: кейс с травой

Уровень сложностиСложный
Время на прочтение26 мин
Охват и читатели8.4K

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

В этой статье поговорим о том, что получилось: от выбора моделей до их оптимизации и интеграции в React Native, а также поделюсь своим открытым кодом запуска, обучения и экспортом моделей нейронных сетей в ONNX, и ссылками на датасеты и проекты с нейронными сетями для растений.

Читать далее

Python: Почему строки в if-else — это плохо, переходим на Enum

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

Бывало такое: сидишь час над багом, перебираешь функции, а в итоге выясняется, что ты просто опечатался в одном слове? В одном месте статус заказа был "shipped", а в другом — "shiped" с одной «p».

Python промолчал, потому что для него это просто две разные строки. А для тебя это — потерянный вечер. Сегодня разберем, как модуль enum избавляет от этой боли и делает код в разы чище.

Читать далее

Быстрый старт в мониторинг сервисов с LLM под капотом

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

За прошлый год я запустил 5 сервисов с LLM под капотом. Каждый следующий сервис получался лучше предыдущего: мы оттачивали архитектуру, оптимизировали core микросервиса на FastAPI, быстрее выходили на MVP и ловили меньше багов.

Но довольно быстро стало понятно: LLM‑сервисы сложно интерпретировать. Для бизнес команды они выглядят как black box. Для инженеров — как набор плохо воспроизводимых состояний.

В этой статье я поделюсь практиками, которые:

— упрощают интерпретацию поведения LLM;

— делают работу сервиса прозрачной для Product Owners и SME;

— ускоряют разработку и итерации без передеплоев.

Читать далее

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

Корпоративный RAG как MCP-сервис: подключаем кодовую базу к IDE

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

В компаниях с несколькими продуктами знания о коде и архитектуре почти неизбежно расползаются. Часть живёт в репозиториях, часть — в статьях с архитектурными решениями, часть — в корпоративной базе знаний (в нашем случае — Confluence). На небольшом масштабе это выглядит как порядок. Но по мере роста начинают проявляться системные эффекты.

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

Мы столкнулись с этим в явном виде и сформулировали задачу так: дать разработчикам и системным аналитикам быстрый и актуальный поиск по всей кодовой базе компании с возможностью диалога через универсального агента.

В этой статье я расскажу, как мы построили локальный RAG-сервис, оформили его как MCP-сервер и подключили к IDE. Подход будет полезен командам с большим количеством репозиториев, внутренней документацией и требованиями к безопасности.

Читать далее

Все об устройстве Q65 с примерами на Python (часть 2)

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

Q65 — цифровой протокол, разработанный Джо Тейлором (K1JT) и его командой в 2021 году для проведения минимальных связей в условиях сложных трасс прохождения радиосигнала.

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

Статья может быть интересна радиолюбителям и людям, интересующимся темой цифровой обработки сигналов.

Читать далее

Парсинг тарифов интернета и ТВ: Архитектура БД и бэкенд на SQL

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

За 5 лет работы в B2B и B2C сегментах у телеком-провайдеров я столкнулся с одной из проблем: абоненты годами сидят на архивных дорогих тарифах или пользуются услугами операторов, которые не идут на уступки, не снижают цены на тарифы, пользователи просто не знают, что в их же доме есть альтернативные провайдеры с тарифами более выгодными для них.

Я решил объединить свой опыт в телекоме с навыками в программировании. Так появилась идея по парсенгу тарифов. Цель — создать инструмент, который автоматически мониторит провайдеров, избавляя пользователей от ручного сравнения и помогая им находить оптимальные условия по тарифу.

Сейчас я работаю аналитиком БД, параллельно изучаю архитектуру, построение данных. Решил начать проект с проектирования структуру на PostgreSQL по схеме "Звезда". Таблицей фактов у меня будет таблица со связью города с провайдером, таблицы измерений – таблица с информацией о тарифах, городами и провайдерами.

Читать далее

Автоматизация рутины на hh.ru: Как мы учили Headless Chrome притворяться живым человеком (RPA против Anti-Fraud)

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

С инженерной точки зрения поиск работы — это процесс с низкой энтропией. Есть входящий поток данных (JSON с вакансиями) и есть необходимость отправить ответный сигнал (POST-запрос с откликом). Задача кажется тривиальной для автоматизации: написал парсер, настроил cron, пошел пить кофе.

Однако, если вы попробуете автоматизировать отклики на крупных job-board платформах (особенно на hh.ru) в 2026 году, вы столкнетесь с серьезным противодействием. WAF (Web Application Firewall), анализ TLS-отпечатков, поведенческая биометрия и теневые баны — это реальность, которая убивает скрипты на requests за пару часов.

В этой статье разберем архитектуру решения, которое позволяет автоматизировать процесс отклика, используя подходы RPA (Robotic Process Automation), мимикрию под поведение пользователя (Human Mimicry) и LLM для обхода смысловых фильтров.

(Дисклеймер: Статья носит исследовательский характер. Мы не призываем нарушать правила площадок, а разбираем технические методы эмуляции браузера).

Читать далее

Тестирование gRPC на Python в системах промышленной автоматизации

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

Добрый день, утро, вечер или ночь. Меня зовут Константин, я тестировщик, занимаюсь написанием авто-тестов на Python и в данной статье опишу пример тестирования gRPC и подготовки авто-тестов на примере программного обеспечения для сбора, обработки и передачи данных в системах промышленной автоматизации.

Читать далее

Ритуал создания API в традициях древних ацтеков

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

Всем привет!

Статья на 15-20 минут осознанного чтения. Будет интересна начинающим и, надеюсь, продолжающим увлекательное путешествие людям во вселенной python. Рассмотрен один из великого множества подходов к написанию web приложения с API + автоматизированной документацией на OpenAPI (в недалеком прошлом Swagger).

Читать далее

FastAPI: 5 практичных архитектурных решений, о которых я пожалел, что не узнал раньше

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

Привет, Хабр! Когда начинаешь новый проект на FastAPI, всё кажется простым: пара моделей Pydantic, несколько эндпоинтов — и готово. Но через полгода и 20 000 строк кода оказывается, что базовая валидация размазана по всему приложению, бизнес-логика перемешана с обращениями к БД, а тесты пишутся со скрипом.

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

Читать далее
1
23 ...

Вклад авторов