Как стать автором
Обновить
15
0.1
Иван Ганев @IvanGanev

Фронтенд разработчик

Отправить сообщение

Дёшево, сердито и не жмёт: как работает запуск контейнеров в Yandex Serverless Containers

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров4.2K
Если нужно запустить сайт или веб-приложение в облаке, то привычным для многих способом будет аренда виртуальной машины с определённым объёмом памяти и параметрами CPU. Берём ресурсы чуть-чуть с запасом, чтобы приложение не тормозило и не теряло пользовательские запросы, и платим постоянный тариф за аренду мощностей провайдера. Но в таком случае всегда есть переплата за фактически неиспользуемую часть ресурсов, а часть ответственности за надёжность решения несёт сам пользователь.

Облачные решения сегодня предлагают несколько вариантов запуска контейнеров, и serverless-подход — один из них. Если разместить код приложения в Serverless Containers, облако само запустит нужный контейнер с вашим сервисом тогда, когда появится потребность в его вызове. Разница не только в тарификации по времени работы контейнера, но и в эластичности. Если нагрузка резко возрастёт, то сервис запустит дополнительные экземпляры контейнера. Но и здесь есть свои ограничения. 

В этой статье покажем, какие есть способы запуска контейнеров в Yandex Cloud, и расскажем, как и когда лучше запускать контейнеры в Serverless Containers. Материал может пригодиться бэкенд-разработчикам, DevOps-инженерам и системным администраторам.
image
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии5

Переход на Serverless: как выстроить архитектуру своего приложения

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

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии2

Автоматизируем поиск ценной информации в групповых чатах Telegram с помощью LLM

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров9.6K

Устали мониторить бесконечные групповые чаты в Telegram в поисках важной информации? Решение есть! Пишем компактное приложение на Python, которое будет делать это за нас с использованием LLM.

Читать далее
Всего голосов 20: ↑18 и ↓2+16
Комментарии16

TOTP без смартфона

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

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

Читать далее
Всего голосов 66: ↑66 и ↓0+66
Комментарии84

Как разработать браузерное расширение в Chrome на React: разбираем на примере Cloudhood

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

Всем привет! Меня зовут Егор, я технический лидер в команде, которая занимается разработкой личного кабинета Cloud.ru. Некоторое время назад загорелись идеей сделать браузерное расширение на React, но не было хороших гайдов (либо я их не нашел), поэтому в итоге написали свой) В статье поделился нашим опытом и наработками, а также рассказал, зачем мы вообще взялись за этот open source проект.

Читать дальше
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Фишинг «фичи» Телеграма

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

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

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

Читать далее
Всего голосов 120: ↑118 и ↓2+116
Комментарии61

Как сделать чат-бота лучше, нужен всего лишь простой советский… RAGAS

Время на прочтение8 мин
Количество просмотров4.9K

В вводной части обзора мы познакомились с концепцией Retrieval Augmented Generation (RAG) и её расширением через методологию RAGAS (Retrieval Augmented Generation Automated Scoring). Мы разобрались, как RAGAS подходит к процессу оценки эффективности и точности RAG-систем.

В этой части мы более подробно рассмотрим техническую сторону RAGAS. Как обычно, начнем с более простых и интуитивно понятных примеров, потом перейдем к более сложным сценариям.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

ИТ-шансон, или как ChatGPT (не) помогает в работе

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров16K

Привет! Этот текст про ChatGPT и ИТ-шансон. Несколько месяцев назад нам на работе подключили ChatGPT 4, как надежный инструмент и помоЧник, и все сразу ринулись его проверять. Выяснилось, что с текстом он обращается на ура, и я решил проверить его «в музыкальном бою».

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

Окунутся в мир шансона и ChatGPT
Всего голосов 35: ↑29 и ↓6+23
Комментарии50

Как обучить нейросеть рисовать в стиле любого художника

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

Прошло 3 года с момента когда я обучал StyleGAN на панельках и мне стало интересно что там сейчас с генерацией картинок. А там - ого - можно дообучить целый stable diffusion на любом стиле любого художника! Как? А вот щас расскажу

Читать далее
Всего голосов 36: ↑31 и ↓5+26
Комментарии12

CatBoost

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров8.9K

Добрый день, уважаемые читатели Хабра!

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

Первые шаги CatBoost были сделаны в 2017 году, когда мир уже знал о таких гигантах, как XGBoost и LightGBM. В чем же заключается уникальность CatBoost? Его разработка была направлена на решение специфических проблем, связанных с категориальными данными – той самой головной боли многих специалистов в области машинного обучения. С тех пор CatBoost прошёл долгий путь развития и совершенствования, став не просто эффективным инструментом, но и частью больших исследовательских проектов в различных сферах от финансов до биоинформатики.

CatBoost выделяется на фоне других алгоритмов градиентного бустинга благодаря ряду ключевых особенностей:

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии1

OmniFusion: выходим за границы текста

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров5K

Кто-то ещё сомневается, что в мире машинного обучения происходит революция? Уверен, мы являемся свидетелями преобразования привычного взаимодействия с данными, поиска информации, да и вообще работы как таковой. Ведь умные ассистенты (ChatGPT, GigaChat, Bard) готовы взять на себя даже самые сложные задачи.

Но не всегда возможно сформулировать проблему в виде текстового запроса, иногда требуется информация из других “модальностей” — картинка, звук, 3D и тд. Ниже я разберу какие именно есть способы соединения больших языковых моделей (LLM) с дополнительными форматами данных, а также опишу как устроена наша новая модель OmniFusion.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии5

Нормально разбираемся в Нормальном распределении

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

Интуитивное понимание Нормального распределения

Читать далее
Всего голосов 53: ↑51 и ↓2+49
Комментарии14

Размываем границы времени и учимся создавать видео — Kandinsky шагает дальше

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

В последние несколько лет активно развиваются генеративные модели, причём синтезировать с хорошим качеством уже сейчас получается и тексты, и аудио, и изображения, и видео, и 3D, и другие модальности. Если говорить про генерацию изображений, то стремительность прогресса в этом направлении обусловлена развитием диффузионного подхода и успехами при обучении больших диффузионных моделей (таких как DALL•E 2/3, Imagen, StableDiffusion, Kandinsky 2.X). Этот тип моделей показывает также отличное качество синтеза видео (ImagenVideo, Make-a-Video, Video LDM, GEN-1, GEN-2, Pika Labs, ZeroScope) и 3D-объектов (DreamFusion, Magic3D). При этом каждый месяц мы можем наблюдать за появлением новых open source (и не только) решений и сервисов, которые обеспечивают очень высокое визуальное качество генераций. 

Несмотря на стремление исследователей в области машинного обучения создать единую модель для синтеза видео, есть не менее элегантные подходы к генерации видеороликов. В этой статье речь пойдёт как раз о таком способе создания анимированных видео на основе модели генерации изображений по тексту — в нашем случае, это, как вы уже успели догадаться, модель Kandinsky 2.2. В деталях изучив направление моделирования различных визуальных эффектов вокруг генеративной модели, которая обладает способностью преобразования изображений (image-to-image) и механизмами дорисовки (inpainting/outpainting), мы разработали решение, которое расширяет границы статичных генераций и даёт возможность синтеза так называемых анимационных видео. В качестве такого фреймворка имплементации различных вариантов анимаций мы взяли широко известный deforum, который хорошо зарекомендовал себя в связке с моделью StableDiffusion. И поверьте, задача скрещивания deforum с Kandinsky была отнюдь не простой. Об этом и поговорим далее!

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии8

Kornia — библиотека компьютерного зрения

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

Kornia это open source библиотека для решения задач компьютерного зрения. Она использует PyTorch в качестве основного бэкенда и состоит из набора дифференцируемых процедур и модулей. Создатели библиотеки вдохновлялись OpenCV, и поэтому Kornia является его аналогом, но при этом в некоторых моментах превосходит. Главным преимуществом Kornia по сравнению с тем же OpenCV, scikit-image или с Albumentations является возможность обрабатывать изображения батчами, а не по одному изображению и возможность обрабатывать данные на GPU.

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии10

Почему для MLOps лучше выбирать Open Source, а не проприетарное ПО

Время на прочтение3 мин
Количество просмотров2K


Самому обеспечивать гибкость и контроль собственного ML-пайплайна — это важно. Команды по машинному обучению могут использовать проприетарные платформы или создавать собственные решения с помощью Open-Source-инструментов. Компании часто представляют проприетарные платформы как более мощные, эффективные и простые в использовании. Но в действительности они часто оказываются более сложными и менее мощными, чем их Open-Source-конкуренты.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии3

Мое Знакомство с УИИ или Путешествие в Параллельную Реальность

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

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

Для начала скажу пару слов о себе.
Я работаю в области машинного обучения уже несколько лет, успев потрудиться за это время в нескольких компаниях на разных ролях, связанных с исследованиями и разработкой. Сейчас я работаю в R'n'D команде, где занимаюсь исследованиями в области NLP (Natural Language Processing) и подготовкой публикаций на конференции А*. Думаю, этой информации достаточно в качестве контекста, который поможет читателям лучше прочувствовать глубину моего культурного шока от контакта с феноменом под названием УИИ.

Читать далее
Всего голосов 69: ↑65 и ↓4+61
Комментарии24

Bag of tricks для разметки текстовых данных: Часть 1. Четыре способа размечать меньше

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

Привет! Меня зовут Ирина Кротова, я NLP-исследователь из компании MTS AI. Мы не понаслышке знаем, что сбор и разметка данных часто становятся “бутылочным горлышком" в проектах, связанных с машинным обучением. У нас в компании есть постоянная необходимость в разных видах разметки аудио, текста и изображений.

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

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

Измеряй и властвуй: как мы покрытие автоматическими тестами измеряли

Время на прочтение9 мин
Количество просмотров6K

Привет, Хабр! Меня зовут Марина Петрова, я QA Lead в Cloud. В нашей QA-команде уже более 35 человек, а количество тестируемых продуктов превышает десяток. Мы пишем автоматические тесты для повышения качества продуктов и сокращения времени ручного тестирования. Для эффективной организации этого процесса требуются числовые индикаторы — метрики. Нам хотелось иметь инструмент, в котором аккумулируются данные о метриках в простом и понятном всем виде. Тогда мы предложили инициативу по созданию приложения для автоматического сбора и визуализации метрик покрытия автоматическими тестами.

В этой статье расскажу, какой путь мы прошли, чтобы измерить покрытие функциональности проектов автотестами.

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии3

Заклинания для Героев машинного обучения

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.9K

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

Читать далее
Всего голосов 23: ↑20 и ↓3+17
Комментарии1

Обработка естественного языка (NLP). Личный опыт — мой первый запуск BERT

Время на прочтение4 мин
Количество просмотров3.5K

BERT — Bidirectional Encoder Representations from Transformers

Здесь не будет рассказываться о том, что такое BERT, как это работает и для чего применяется — в сети об этом достаточно информации.

Это статья про личный опыт — как конкретно у меня получилось запустить BERT с чистого Colab по конкретным описаниям.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии5

Информация

В рейтинге
2 437-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Frontend Developer
Senior
JavaScript
React
TypeScript
NextJS
Web development