Pull to refresh
54
0
Волосатов Евгений @FFormula

Программист и Преподаватель

Send message

Как научить LLM понимать видео? Обзор подходов

Level of difficultyMedium
Reading time9 min
Views911

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

Video Understanding — направление на стыке компьютерного зрения (CV) и обработки естественного языка (NLP), включающее в себя множество разнообразных задач на восприятие и интерпретацию видео. От базового распознавания предметов и объектов в видеоряде, локализации объектов в пространстве или во времени, подсчета предметов и людей, до генерации кратких или развернутых описаний видео и задач на рассуждения о причинах происходящего на видео, требующих глубокого понимания мира — от человеческой психологии до физических свойств объектов. 

Читать далее
Total votes 17: ↑17 and ↓0+23
Comments0

Как подружить микросервисы и Kafka

Level of difficultyEasy
Reading time6 min
Views7.4K

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

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

Читать далее
Total votes 8: ↑6 and ↓2+8
Comments7

От Agile к анти-Agile

Reading time4 min
Views2.1K

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

Agile, безусловно, является одним из наиболее популярных подходов. Его суть заключается в гибкости и способности быстро адаптироваться к изменениям, что делает его идеальным для стартапов и ранних стадий продукта. Наверное, вы уже знаете эти принципы наизусть: взаимодействие с клиентом, работающие итерации, непрерывная поставка ценности.

Но давайте честно: Agile не идеален. На поздних стадиях разработки он может превращаться в настоящую головную боль. На этом этапе проект становится сложнее, требования начинают накладываться друг на друга, а команды, вместо того чтобы работать слаженно, часто начинают сталкиваться друг с другом. Сложно сосредоточиться на техническом долге, когда у тебя в голове только «первый спринт», «планирование» и «обсуждения».

Читать далее
Total votes 9: ↑5 and ↓4+4
Comments8

Новый подход к безопасному управлению состояниями в Kotlin-приложениях

Reading time20 min
Views2K

Вот уже несколько лет я занимаюсь разработкой высокопроизводительных, полностью асинхронных, реактивных, мультиплатформенных приложений. За это время я успел наткнуться на несколько довольно тонких и трудно отлаживаемых проблем с управлением состояниями.

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

Читать далее
Total votes 6: ↑6 and ↓0+9
Comments0

Строим ETL-конвейер для машинного обучения с помощью Kafka, Clickhouse и Go

Reading time16 min
Views4.1K

В этой статье я поделюсь с вами своим опытом использования Golang, Kafka и Clickhouse на примере простого ETL-конвейера для параллельной передачи JSON-данных в базу данных с последующим прогнозированием температуры на основе машинного обучения.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments3

Кратко про Ensemble методы с примерами

Reading time4 min
Views721

Сегодня мы рассмотрим Ensemble методов, которые помогают сделать модели более точными и устойчивыми к переобучению. Рассмотрим три основных подхода: Bagging, Boosting и Stacking, и посмотрим, как их реализовать на Python.

Читать далее
Total votes 8: ↑6 and ↓2+8
Comments1

О bruteforce и его реинкарнациях

Reading time6 min
Views2.4K

Все мы хорошо знаем о том, что пароли можно подобрать или перехватить другими способами. В рамках данной статьи мы будем говорить именно о подборе паролей. Будем считать, что наш атакующий не имеет физического доступа к машине, с которой осуществляется аутентификация и следовательно, поставить троян или кейлоггер он не может. Также хакер не может контролировать каналы связи, весь трафик между клиентом и сервером зашифрован и у злоумышленника нет возможности реализовать Man in the Middle. Но зато, хакеру доступен интерфейс атакуемого приложения, где он может вводить свои учетные данные.

Читать далее
Total votes 13: ↑12 and ↓1+15
Comments3

Создание эффективной команды QA: Рекомендации для лидеров

Level of difficultyEasy
Reading time5 min
Views1.1K

В эпоху стремительного развития технологий и повышенных ожиданий пользователей качество программного обеспечения становится критическим фактором успеха продукта на рынке. Ошибки и сбои могут привести не только к финансовым потерям, но и к подрыву доверия клиентов. В этих условиях команда QA (Quality Assurance) играет ключевую роль в обеспечении стабильности и надежности продуктов.

Читать далее
Total votes 13: ↑10 and ↓3+12
Comments0

Из чего состоит безопасность современных приложений

Reading time7 min
Views1.1K

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

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

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

Рассмотрим более подробно составные части методологии AppSec.

Читать далее
Total votes 11: ↑8 and ↓3+9
Comments4

Darts: тестируем временные ряды с нуля

Reading time5 min
Views1.2K

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

Если вы когда-либо имели дело с временными рядами, то, вероятно, слышали о Darts. А для тех, кто ещё в танке: Darts — это мощный инструмент, который поддерживает мультиварибельные временные ряды и легко интегрируется с PyTorch и TensorFlow.

Зачем же тестировать временные ряды, когда в классическом машинном обучении всё так просто с кросс-валидацией? Временные ряды обладают своей изюминкой: они подвержены временным зависимостям, сезонности, трендам и другим радостям жизни. Так что, если вы хотите, чтобы ваши модели не провалились на тестах, время разобраться с их особенностями!

Читать далее
Total votes 10: ↑9 and ↓1+12
Comments3

Машинное обучение и криптография: знакомимся с CipherGAN

Level of difficultyEasy
Reading time7 min
Views1.1K

Машинное обучение в большей или меньшей степени сейчас используется в различных отраслях. Не стало исключением и направление криптографического анализа. В этой статье мы рассмотрим генеративно‑состязательную сеть CipherGAN, используемую для определения базового шифровального отображения по банкам непарного зашифрованного текста и открытого текста.

Читать далее
Total votes 10: ↑10 and ↓0+14
Comments0

Ошибки в интерпретации A/B-тестов: как избежать неверных выводов

Reading time6 min
Views960

А/В‑тестирование является одним из ключевых инструментов продуктовой аналитики, позволяя принимать обоснованные решения на основе данных. Но, несмотря на свою эффективность, многие команды допускают типичные ошибки при проведении и интерпретации результатов А/В‑тестов.

В этой статье я рассмотрю 7 наиболее распространенных ошибок с примерами и способами их предотвращения. Чтобы выводы ваших А/В были точны и надежны.

Читать далее
Total votes 11: ↑9 and ↓2+10
Comments0

Перегрузка операторов в C++

Level of difficultyEasy
Reading time4 min
Views1.3K

Привет, Хабр! Сегодня мы рассмотрим одну из самых мощных и увлекательных возможностей C++ — перегрузку операторов. Эта фича позволяет настраивать стандартные операторы так, чтобы они работали с пользовательскими типами данных, делая код чище и понятнее.

Представьте, что вместо вызова метода add() для сложения двух объектов, можно просто написать object1 + object2. Звучит здорово, не правда ли?

Читать далее
Total votes 18: ↑9 and ↓9+4
Comments4

ЦОД: топологии и архитектуры

Reading time5 min
Views3.6K

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

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

Для начала поговорим о том, какие топологии могут использоваться в сетях ЦОД.

Читать далее
Total votes 13: ↑13 and ↓0+20
Comments0

Как проверить свои модели ONNX на Python: кратко

Level of difficultyEasy
Reading time4 min
Views927

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

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

Читать далее
Total votes 9: ↑8 and ↓1+11
Comments0

Безопасность CI/CD

Level of difficultyMedium
Reading time7 min
Views4.7K

Обычно, когда начинается разговор о DevSecOps, все сразу вспоминают о необходимости встраивать в конвейер SAST, DAST, SCA инструменты, проводить различные тесты на безопасность приложения и регулярно сканировать работающее в продуктивной среде решение.

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

Читать далее
Total votes 13: ↑11 and ↓2+13
Comments0

Теория, практика и личный опыт в обучении IT-управленцев

Level of difficultyEasy
Reading time4 min
Views2.5K

Всем привет. Меня зовут Сергей Фегон. Я ex-CТО, сейчас работаю руководителем нескольких групп разработки финтех-продуктов экосистемы компаний ВБЦ и TenChat, а также преподаю в OTUS. Делюсь своими знаниями на курсах CTO/Технический директор и Team Lead в OTUS. За время преподавательской деятельности и на основе личного управленческого опыта, я сформировал для себя несколько основных столпов подготовки IT-менеджеров:

Читать далее
Total votes 13: ↑9 and ↓4+11
Comments0

Практические аспекты ранжирования ответов виртуального ассистента Салют

Level of difficultyMedium
Reading time7 min
Views2.1K

Всем привет! Меня зовут Аня Максимова, я занимаюсь NLP в команде Нейронные сети продукта Собеседник! 5 апреля проходила конференция Giga R&D Day, где мой коллега — Артем Снегирев рассказывал про практические аспекты ранжирования ответов виртуального ассистента Салют.

В этой статье мы подробнее расскажем вам, как делаем ранжирование ответов на примере собеседника, который является частью ассистентов Салют.

У ассистента есть три голоса — Сбер, Афина и Джой. Собеседник отвечает за общение на различные темы, ответы на фактологические вопросы и за развлекательный контент. Как правило, ассистент отвечает генеративными моделями, но есть сценарии, где используются заготовленные реплики, и их достаточно много, поэтому мы используем поиск — это классический retrieval-based подход.

Читать далее
Total votes 16: ↑16 and ↓0+19
Comments0

15 тенденций в области разработки программного обеспечения в 2024 году

Level of difficultyEasy
Reading time13 min
Views10K

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

Читать далее
Total votes 16: ↑13 and ↓3+13
Comments5

Временные ряды с Julia с библиотекой TimeSeries.jl

Level of difficultyEasy
Reading time4 min
Views1.7K

Julia позволяет достигать скорости, сравнимой с C, что делает её хрошим выбором для временных рядов.

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

Читать далее
Total votes 10: ↑9 and ↓1+14
Comments2
1
23 ...

Information

Rating
Does not participate
Location
Висагинас, Литва, Литва
Works in
Date of birth
Registered
Activity