Pull to refresh
11
0
Send message

Удобный CI/CD доступен каждому

Level of difficultyMedium
Reading time13 min
Views877

Привет, Хабр! Недавно я выступал на Moscow Python Conf, где делился нашим опытом создания и использования CI/CD пайплайнов. В данной статье я расскажу об этих пайплайнах, раскрою их особенности и покажу, как они помогают нам быстро доставлять код и поддерживать высокий показатель Time To Market. Надеюсь, что наш опыт будет полезен и вам.

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

К цифровому сознанию на корабле Тесея: обманчивая логичность мифа

Reading time12 min
Views5.2K

Сегодня мы поговорим о древнем мысленном эксперименте, который совсем недавно стал выходить в практическую плоскость, теряя статус отвлечённого философского парадокса. Речь о «корабле Тесея». Я решил затронуть эту тему на Хабре, поскольку она интереснейшим образом связана с теорией коннектомики и переносом сознания на цифровой носитель.    

Читать далее
Total votes 23: ↑22 and ↓1+34
Comments116

Подделка из бумаги: разбираемся, почему участились мошенничества с документами и как устроены антифрод-системы с ИИ

Level of difficultyEasy
Reading time9 min
Views752

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

На связи Smart Engines, AI-разработчик систем распознавания и проверки подлинности документов. По состоянию на сегодняшний день наш софт способен проверять не только удостоверяющие личность документы вроде паспорта или водительского удостоверения, но и документы государственного образца – судебные приказы, нотариальные доверенности и всевозможные свидетельства.

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

Читать далее
Rating0
Comments0

Фоновые асинхронные задачи в FastAPI и их мониторинг

Reading time19 min
Views8.7K

Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.

Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.

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

В статье опишу 5 вариантов: встроенный в FastAPI Background Tasks и 4 библиотеки — ARQ, SAQ, FastStream, адаптированный к асинхронному коду Celery.

В конце расскажу, как мониторить фоновые задачи.

Читать далее
Total votes 48: ↑48 and ↓0+50
Comments30

Моя стратегия тайм-менеджмента для основателей стартапов

Reading time6 min
Views5.7K

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

Но как только мы касаемся основателей или руководителей высшего звена, уровень неопределенности резко повышается. Каждый рабочий день этих менеджеров состоит из самых разнообразных и быстро сменяющихся задач, которые нужно балансировать между собой буквально на ходу. Тут и внезапные созвоны, и юридические вопросы, и практическое взаимодействие с командой — все это делает роль этих управленцев совершенно непредсказуемой. Даже не смотря на наличие квартальных целей и ключевых показателей (OKR), реальной проблемой для основателей бизнеса является именно динамическая корректировка планов для решения внезапных и крайне важных задач, которых не существовало еще полчаса назад. И все это надо делать в условиях жестких временных ограничений, потому что сутки не резиновые.

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

Шпаргалка по безопасной сборке Docker-образов

Reading time17 min
Views15K

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

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Продолжаю рассказывать о безопасности в Docker. Под катом расскажу, как настроить сборку образов, обеспечить безопасность и добавить сканирование в пайплайн.
Читать дальше →
Total votes 53: ↑51 and ↓2+67
Comments7

Главные отличия PCA от UMAP и t-SNE

Level of difficultyMedium
Reading time10 min
Views5K

Здесь будет рассказано о главных отличиях самого старого и базового алгоритма снижения размерности - PCA от его популярных современных коллег - UMAP и t-SNE. Предполагается, что читатель уже предварительно что-то слышал про эти алгоритмы, поэтому подробного объяснения каждого из них в отдельности приведено не будет. Вместо этого будут объяснены самые важные для практики свойства этих алгоритмов и то, на какие связанные с ними подводные камни можно налететь при неосторожности. Все особенности будут описаны на примерах, с минимумом теории; те пытливые умы, что почувствуют в процессе чтения жажду математической строгости, смогут удовлетворить её в литературе, ссылки на которую будут даны по ходу дела и в конце статьи.

Читать далее
Total votes 40: ↑40 and ↓0+52
Comments12

Обучение модели токсификации текстов с помощью TorchTune, подробное руководство

Level of difficultyMedium
Reading time11 min
Views2.8K

Приветствую, хабровчане!

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

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

Так что пристегнитесь, будет весело и слегка токсично!

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

Пошаговая шпаргалка по защите сервера от хакеров и другой нечисти

Level of difficultyEasy
Reading time7 min
Views23K

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

Представьте: вот арендовали вы сервер, запустили на нем SAMP или Minecraft, а через время видите, как наступает хаос. Виртуальную машину взломали и с открытым фанатизмом портят сборку плагинов, которую вы так долго делали.

Привет! На связи Йети — самый йетический автор Vscale. Это моя первая статья на Хабре. В ней я расскажу, как защитить сервер от хактевистов и другой нечисти. Подробности под катом! :)
Читать дальше →
Total votes 62: ↑53 and ↓9+61
Comments23

Мега-Учебник Flask Глава 5: Логины пользователей (издание 2024)

Level of difficultyMedium
Reading time17 min
Views4.4K

Это пятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать подсистему входа пользователей.

Начать изучение
Total votes 9: ↑8 and ↓1+11
Comments6

Генеративные 3D-модели

Level of difficultyMedium
Reading time15 min
Views10K

Салют, Хабр! На связи Игорь Пасечник — технический лид направления XR RnD SberDevices. Сегодня я хочу рассказать про одно из наших направлений исследований — разработку генеративных моделей для 3D-контента. 

Современные методы генерации 2D-контента, такие, как 2D-диффузионные модели (Kandinsky 3.0, SDXL), уже достигли впечатляющих результатов и несколько лет являются неотъемлемой частью современности, генеративные видео модели также активно развиваются. Кульминацией развития таких подходов, вероятно, станет представленная не так давно модель Sora. Тем не менее большинство из этих моделей до сих пор испытывают проблемы при генерации консистентных 3D-сцен и объектов.

С другой стороны стороны, существует конвенциональная 3D-графика, а также огромная индустрия и множество прикладных областей, включая игры, XR, дизайн, архитектуру, маркетинг, 3D-проектирование, где используются пайплайны на основе 3D-графики и производится контент на их основе. Методы создания 3D-моделей, такие, как ручное моделирование, 3D-сканирование и фотограмметрия, могут быть трудоёмкими, дорогостоящими и требующими специальных навыков. 3D-продакшн в общем виде использует множество инструментов для создания и рендеринга тяжелой фотореалистичной графики, адаптация генеративных 3D-пайплайнов под такие подходы достаточно тяжела из-за множества инструментов, которые такие пайплайны должны поддерживать. Также адаптация больших латентных генеративных 2D-моделей вроде SORA для прикладных задач фотореалистичной графики может стать альтернативой классическми пайплайнам на основе физического моделирования. Тем не менее, на текущий момент пайплайны работы с графикой, использующие базовый набор примитивов, включая меши, PBR-текстуры, простые модели освещения, закрывают множество прикладных задач и также могут быть востребованы у массового пользователя в случае их демократизации.

Читать далее
Total votes 37: ↑36 and ↓1+54
Comments14

Интерактивный NPC на Unreal Engine

Reading time5 min
Views7K

Всем привет.

Я хочу с вами поделиться результатами эксперимента по созданию интерактивного NPC на Unreal Engine 5.

Speech recognition, Text-to-speech, LLM модели, LipSync, MetaHuman и все это без использования сторонних сервисов.

Видео работы и ссылка на демо версию прилагается.

Если вам интересно увидеть результат и обсудить перспективы интерактивных NPC в игровой индустрии - добро пожаловать под кат.

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

Теоретические основы всех популярных алгоритмов машинного обучения и их реализация с нуля на Python

Level of difficultyHard
Reading time1 min
Views25K

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

Читать далее
Total votes 22: ↑22 and ↓0+22
Comments21

Как устроено пространство, в котором думают языковые модели?

Level of difficultyHard
Reading time5 min
Views18K

С момента выхода первой статьи «Attention is All You Need» я с жадностью и любопытством, присущими любому исследователю, пытаюсь углубиться во все особенности и свойства моделей на базе архитектуры трансформер. Но, если честно, я до сих пор не понимаю, как они работают и почему так хорошо обучаются. Очень хочу разобраться, в чём же причина такой эффективности этих моделей, и есть ли предел их возможностей?

Такому изучению трансформеров «под микроскопом» и посвящена наша научная работа, только что представленная на конференции EACL 2024, которая проходила на Мальте — «The Shape of Learning: Anisotropy and Intrinsic Dimensions in Transformer-Based Models». В этой работе мы сфокусировались на наблюдении за пространством эмбеддингов (активаций) на промежуточных слоях по мере обучения больших и маленьких языковых моделей (LM).

Читать далее
Total votes 44: ↑43 and ↓1+55
Comments18

Варим кашу из нечеткой логики и вариационных автоэнкодеров

Level of difficultyHard
Reading time13 min
Views2.4K

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

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

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments8

Дескрипторы в Python

Level of difficultyEasy
Reading time7 min
Views11K

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

Дескриптор — это объектовый атрибут с поведением, определяемым методами в его классе. Если просто — это способ, с помощью которого объект может контролировать доступ к его атрибутам, используя специально определенные методы __get__, __set__, и __delete__. Если говорить еще проще — дескрипторы позволяют задавать точки доступа к атрибутам объекта, добавляя дополнительную логику, когда атрибут читается, записывается или удаляется.

В этой статье поговорим подробней про дескрпиторы.

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

Нужен ли продакт в ML-команде? Мнение изнутри

Level of difficultyEasy
Reading time9 min
Views2.1K

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

Раньше после определения потребностей пользователя я приходила к команде разработки с готовой задачей и дизайн-макетами. А после разработки забирала готовый продукт, чтобы отдать его в A/B-тест.

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

Ну, или не начинается. Или разработка начинается, но совсем не той идеи, которая была вначале.

Я — Саша Пургина, руковожу развитием продуктов на основе данных в Lamoda Tech. В этой статье я расскажу на примере Lamoda, почему разработка ML-продуктов — это сложность и риск. И приведу примеры ошибок, когда хороший продакт в команде может увеличить шансы на успех, имея определенные знания и навыки.

Серебряной пули не ждите, но пара интересных мыслей должна найтись!

Читать далее
Total votes 27: ↑26 and ↓1+29
Comments2

Как графы знаний и LLM могут друг другу помочь

Level of difficultyMedium
Reading time4 min
Views4.2K

Предобученные языковые модели генерируют качественный текст, сравнимый по качеству с человеческим (иногда даже превосходящий его). Но некоторые проблемы остаются даже у лучших LLM — сеть не понимает, что говорит. Может получаться хоть и виртуозный с точки зрения грамматики и лексики, но всё-таки неверный по смыслу результат. 

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

Quantization Deep Dive, или Введение в современную квантизацию

Level of difficultyMedium
Reading time16 min
Views15K

Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из моих задач в этой команде была квантизация моделей. На пользовательских устройствах мало ресурсов, и мы решили, что за счёт квантизации сможем их сэкономить — так в итоге и вышло.

Потом я перешёл в команду YandexGPT. Вместо маленьких моделей я стал работать с очень крупными. Мне стало интересно, как устроена квантизация больших языковых моделей (LLM). Ещё меня очень впечатляли истории, где люди берут гигантские нейросети, квантизируют в 4 бита и умудряются запускать их на ноутбуках. Я решил разобраться, как это делается, и собрал материал на доклад для коллег и друзей. А потом пришла мысль поделиться знаниями с более широкой аудиторией, оформив их в статью. Так я и оказался на Хабре :)

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

Читать далее
Total votes 66: ↑65 and ↓1+81
Comments13

Смысл жизни с точки зрения программиста-буддиста

Level of difficultyEasy
Reading time24 min
Views12K

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

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

Читать далее
Total votes 62: ↑53 and ↓9+51
Comments130
1
23 ...

Information

Rating
4,511-th
Registered
Activity