Обновить
534.26

Python *

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

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

Эксперимент, программирование с минимальным участием программиста-человека. Новый этап эволюции или начало деградации

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

Не обладая нужными знаниями, не смог создать что то подобное текущему воплощению рассуждений в "топовых" языковых моделях, но моих навыков хватило быть неплохим учителем для модели, проверяя её решения, указывая на ошибки для дальнейшего создания работающего решения, конечно это не обучение с подкреплением, а теорема о бесконечных обезьянах в действии... Результат? Telegram бот, работающий на gpu nvidia и intel, созданный языковой моделью.

посмотреть

Как вовремя менять цены при росте курса доллара

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

Привет, Хабр! Сегодня расскажу, как оперативно обновлять цены в интернет-магазине, чтобы не оказаться в убытке. Для этого будем использовать CMS Битрикс24 в связке с сервисом рассылки SMS-уведомлений МТС Exolve. Владелец бизнеса или менеджер будет постоянно получать данные об изменениях на валютном рынке и принимать решения на их основе.

Читать далее

Создание растрово-векторной базы данных на примере скрипта с использованием FAISS и предобученной модели ResNet50

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

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

Читать далее

Как научить модель рассуждать, не переобучая её, меньше чем за 10$

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

Это статья обобщение моего исследования передачи знаний от большой модели с замороженными весами в малую модель, которую мы будем обучать через расширенный механизм кросс внимания или проще говоря через LLM модули. Оригинальное исследование доступно по ссылке: arxiv.org/abs/2502.08213 . Репозиторий с кодом и весами доступен на Hugging Face: LLM модули.

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

Читать далее

Декораторы Python. Введение

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

Всем привет, меня зовут Аббакумов Валерий.

Я Python разработчик, в основном занимаюсь бэкэндом веб приложений. Хочу написать серию статей для начинающих разработчиков. Посты будут трех уровнях сложности (от меньшей к большей) на разные аспекты языка, с которыми сложно справиться обывателю.

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

Я прикреплю ссылки на смежные статьи (тоже хороший материал, но ИМХО в них либо странная подача либо некоторая неполнота), мне кажется, что мой материал в разрезе 3 статей на каждую тему будет лаконичней и полней, но тут уже решать только вам, дорогие читатели

Читать далее

Обучить модель RoBERTa расстановке запятых на балконе для продакшена

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

RoBERTa — улучшенная версия модели BERT, разработанная Facebook AI. Она показывает отличные результаты в задачах обработки естественного языка, таких как классификация текстов и генерация ответов.

Построим конкурентоспособный сайт расстановки пунктуации, обучив свою нейронную сеть. Для прогнозирования популярности в поисковой выдаче начнем с анализа запросов Вордстат: расставить запятые – 290 000 запросов/месяц; расставить точки – 15 000 запросов/месяц.

По статистике, 95% запросов посвящены запятым, уделим им особое внимание. Добавим мультиязычность, чтобы получать больше трафика.

Читать далее

Экосистема для разработки и применения Computer Vision (CV) в промышленности

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

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

В данной статье сделаем акцент не на получающиеся ML-модели, их интеграцию и бизнес кейсы, а на обычно скрытый от глаз процесс разработки решений с ML (и CV в частности) в промышленности.

Читать далее

Русские тексты. Работа с текстами. Предварительная обработка русских текстовых данных

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

Предварительная обработка текстовых данных: ключевые этапы и методы

Текстовые данные — один из самых сложных типов данных для анализа из-за их неструктурированной природы и высокой вариативности. Чтобы превратить "сырой" текст в информацию, пригодную для машинного обучения или лингвистического анализа, требуется предварительная обработка. Этот процесс включает стандартизацию, очистку и преобразование текста, что повышает качество моделей NLP (Natural Language Processing). Рассмотрим основные этапы и методы.

Читать далее

Нативный non-blocking I/O через Linux Epoll: создание C-расширений для Python

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

Привет, Хабр!

Если вам приходилось писать высоконагруженные сетевые приложения на Python, то вы, скорее всего, сталкивались с тем, что стандартные механизмы работы с вводом‑выводом — select(), poll() и даже asyncio — не справляются с большой нагрузкой. select() быстро превращается в бутылочное горлышко из‑за линейной сложности O(N), poll() всё ещё требует перебора всех файловых дескрипторов, а asyncio, хоть и удобен, но не всегда даёт ту производительность, которую можно получить, если работать напрямую с системными вызовами.

Здесь, на мой взгляд хорошо подойдет epoll — механизм в Linux, который позволяет асинхронно отслеживать события на файловых дескрипторах без постоянного опроса.

Читать далее

Давайте писать удобное локальное окружение…

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

Всем привет, меня зовут Аббакумов Валерий.

Я Python разработчик, в основном занимаюсь бэкэндом веб приложений и каждый раз когда дело доходит до разворачивания нового проекта по моей щеке начинает течь слеза.

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

Пример будет представлен для Django проекта и PDM в качестве менеджера зависимостей, но концептуально должен подходить для любого проекта на любом языке и с любым набором сервисов.

Читать далее

Msgspec vs DataClasses: битва инструментов в мире Python-сериализации

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

Хабрчане, привет! Это Леша Жиряков из МТС Диджитал. Недавно я писал про FastAPI vs Litestar и Polars vs Pandas, а сегодня разберем два популярных инструмента — Msgspec и DataClasses. Оба помогают структурировать данные, добавить энтерпрайзности в проект, но подходы у них разные. Какой из них быстрее и удобнее, где их лучше применять? Давайте разбираться.

Читать далее

Алгоритм Краскала для генерации идеальных лабиринтов

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

Алгоритм Краскала — это жадный алгоритм, который используется для нахождения минимального остовного дерева (MST) в связном, взвешенном и неориентированном графе. В контексте генерации лабиринтов он применяется для создания структуры, где каждая ячейка соединена с другими без циклов и недостижимых областей. В результате получается так называемый "идеальный лабиринт", в котором из любой точки можно попасть в любую другую по единственному пути.

Читать далее

Автоматизация разведочного анализа данных (EDA) с помощью Python

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

Всем привет! Меня зовут Константин Некрасов, я работаю дата-сайентистом в Газпромбанке. Хочу рассказать про инструмент, который серьезно упростил мою повседневную работу с данными, и поделиться им.

Если вы когда-нибудь занимались машинным обучением, то знаете — перед тем как строить модель, нужно как следует изучить свои данные. Этот этап называется EDA (Exploratory Data Analysis), или разведочный анализ данных (РАД). Он критически важен — именно здесь мы находим скрытые закономерности, выдвигаем первые гипотезы и понимаем, как лучше обработать данные для будущей модели.

Но EDA отнимает у дата-сайентистов кучу времени, которое можно потратить на что-то другое и не менее важное: придумать новые признаки, поэкспериментировать с разными алгоритмами или настроить гиперпараметры для более высокой точности модели.

Чтобы облегчить задачу, я разработал класс EDAProcessor, который автоматизирует ключевые этапы EDA: от базовой статистики и визуализации распределений до углубленного анализа корреляций, выбросов и временных зависимостей. Результаты анализа сохраняются в виде наглядных графиков и подробной excel-таблицы, где на разных листах представлены все важные статистические показатели и закономерности в данных.

Сразу оговорюсь — я не изобретаю здесь новых статистических методов, не претендую на научную новизну в области математической статистики, а мое решение не универсально. Каждый набор данных уникален, и полностью автоматизировать его анализ невозможно — всегда нужен опытный взгляд аналитика. Но базовые, наиболее часто используемые методы EDA этот инструмент берет на себя, ускоряя начальный этап работы с данными. Я попытался собрать в скрипт наиболее общие концепции EDA, которые используются в подавляющем большинстве случаев на первоначальной стадии разработки ML-модели.

Сам скрипт вот тут, а под катом я расскажу, как он работает и что делает.

Читать дальше

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

Как LangChain и LangGraph упрощают жизнь разработчика ИИ-Агентов

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

При разработке приложений на основе больших языковых моделей (LLM, Large Language Model) встает вопрос: вызывать ли модель напрямую через API (например, OpenAI) или использовать специализированные фреймворки вроде LangChain или LangGraph. Ниже мы рассмотрим, с какими сложностями сталкивается разработчик при прямом использовании LLM, и как LangChain и LangGraph помогают упростить создание сложных диалоговых и агентных систем. Также приведем примеры кода, сравнивая прямые вызовы с использованием этих фреймворков, и обсудим, когда их применение оправдано.

Читать далее

Учебник — всё, что вам нужно

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

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

Читать далее

Твой ИИ тебя понимает? Разбираем тайны внутреннего мира языковых моделей

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

Современные крупные языковые модели, такие как ChatGPT, Claude или Gemini, поражают своими возможностями. Но главный вопрос остаётся открытым: как именно они думают?

С момента появления открытых LLM метод изучения их мышления был довольно прост: разобрать их архитектуру, ведь каждая такая модель состоит из нейронов. Анализ их работы означает исследование того, какие именно нейроны активируются при заданном вводе. Например, если пользователь спрашивает: «Что такое звук?» — можно выяснить, какие именно нейроны включаются при формировании ответа. Так мы получаем возможность буквально заглянуть в процесс мышления нейросети.

Читать далее

Запускаем ML-модели с помощью Docker и Nvidia Triton Server

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

Nvidia Triton Server — технология, которая значительно упрощает запуск моделей машинного обучения и их использование в веб-приложениях. Более того, Nvidia Triton Server предлагает средства для управления количеством инстансов одной модели, средства для распределения ресурсов и балансировки нагрузки между этими инстансами, также тритон сервер обладает поддержкой популярных ML-фреймворков, и это далеко не полный список предлагаемых возможностей. В общем, именно поэтому мне бы хотелось познакомить вас с данным инструментом и продемонстрировать возможности его использования в ваших приложениях. В этом гайде автор постарался собрать полезную информацию о запуске моделей машинного обучения с помощью Nvidia Triton Server в docker-контейнерах.

Читать далее

Как студенты СПО роботов на ROS пилили

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

Привет, Хабр! Меня зовут Алексей и этой зимой на меня напало желание наконец написать статью о том, как я и моя команда СПОшников участвовали в Eurobot Open 2022 и 2023.

Это моя первая статья здесь.

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

Костяк команды состоял из 5 человек: Я (программист), Дима (главный механик), Павел (электрика), Александр (механик), Михаба (человек на все руки).

Статья от нашего механика Димы

Eurobot это некогда международное соревнование по робототехнике, которое имеет две категории: Junior и Open. В обеих категориях основные правила схожи: 1-2 робота от команды выполняют различные игровые задания, вытаясь набрать как можно больше очков за 100 секунд. Делают это они вместе с роботами команды соперников, при этом активно мешать другой команде можно, но столкновения и откровенная агрессия запрещена. Этот формат, как и размер поля слабо менялись из года в год, начиная аж 1998 года, когда проходил первый Eurobot еще только во Франции.

Некогда международное - потому что начиная с 2020/21 года принимать участников-призеров с всероссийского этапа на международный организаторы отказались. Но это не остановило русскую сторону организаторов от проведения региональных и всероссийского этапов (что они все еще успешно делают https://vk.com/eurobotrussia). Не такой уж и Open.

Читать далее

Поднимаем потоковый сервис Kafka на Python

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

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech в платформе ставок для рекламы. В этой статье мы познакомимся с Apache Kafka. Мы напишем демо пример Kafka Consumer'а на Python и запустим его в облачном сервисе Confluent Cloud.

Читать далее

Пишем бота «второго мнения» от нейросетей GPT 4o, Gemini 1,5 flash и Claude 3.5 Sonnet

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

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

Читать далее

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