Как стать автором
Обновить
12
0
Михаил Извеков @mizvekov

Software engineer

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

Как мы переманили пользователей удобным сервисом платежей

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

Всем привет! Меня зовут Александра Пилюгина, я продакт-менеджер команды «QR и Фотоплатеж» в управлении «Платежи», банк ВТБ. К нам каждый месяц приходит около 500 тысяч новых клиентов. Специально для них наша команда разработала сервис переноса платежей в ВТБ Онлайн, попутно решив множество проблем с распознаванием платежных документов и извлечения из них полезной информации.

Заходите под кат — расскажу, как мы всё это делали.

Подробнее
Всего голосов 16: ↑13 и ↓3+14
Комментарии3

Что крупные компании хотят от вендорского ПО

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

Меня зовут Александр Большаков, в Cloud.ru я отвечаю за внедрение продуктов. Около 20 лет я работаю в сфере создания и внедрения тиражируемых программных продуктов для крупного бизнеса: от СУБД до платформ управления данными и ML. В этой статье расскажу про типовые требования, которые предъявляют организации к вендорским продуктам. Чем большему количеству требований удовлетворяет продукт, тем выше вероятность продаж, но и выше расходы на разработку и поддержку. 

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

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

Где жить в городе именно вам? Персонализированный сервис подбора идеальных домов

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

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

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

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

Узнать подробнее
Всего голосов 22: ↑21 и ↓1+28
Комментарии22

Метаболизм и долголетие. Личный опыт

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

Этот текст - логическое продолжение описания моего инженерного подхода в вопросе долголетия. Если вы не читали предыдущую статью, то рекомендую ознакомиться. Текущая же статья потребует 10 минут вашего внимания, но может добавить 10 лет к вашей жизни (но может и не добавить 😁).

Упрощённо говоря, моя идея (о которой можно ознакомиться по ссылке выше) состоит в том, чтобы:

1. выделить наиболее вероятные проблемы со здоровьем, которые "помогут" откинуться
2. предпринять адекватные усилия, которые помогут их предотвратить

Читать далее
Всего голосов 55: ↑51 и ↓4+57
Комментарии75

Лучшие практики для надёжной работы с RabbitMQ

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

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

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

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

Следуй за белым кроликом
Всего голосов 58: ↑58 и ↓0+59
Комментарии16

Это не чат, это GigaChat. Русскоязычная ChatGPT от Сбера

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

Хайп вокруг нейросетей, выровненных при помощи инструкций и человеческой оценки (известных в народе под единым брендом «ChatGPT»), трудно не заметить. Люди разных профессий и возрастов дивятся примерами нейросетевых генераций, используют ChatGPT для создания контента и рассуждают на темы сознания, а также повсеместного отнимания нейросетями рабочих мест. Отдадим должное качеству продукта от OpenAI — так и подмывает использовать эту технологию по любому поводу — «напиши статью», «исправь код», «дай совет по общению с девушками».

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

Мы с радостью хотим поделиться с сообществом своим опытом по созданию подобной модели, включая технические детали, а также дать возможность попробовать её, в том числе через API. Итак, «Салют, GigaChat! Как приручить дракона?»

Читать далее
Всего голосов 196: ↑185 и ↓11+221
Комментарии233

Распределенная трассировка: подключить всех и не умереть

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

Всем привет! Меня зовут Филипп Бочаров, я руководитель центра мониторинга и наблюдаемости в МТС Digital. Мы с командой делаем платформу Наблюдаемости – это набор сервисов, который позволяет сделать работу других продуктов МТС прозрачной и понятной. Сегодня я расскажу про распределенную трассировку экосистемы МТС. 

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

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

Как с помощью BERT организовать поиск похожих текстов

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

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

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

Прохождение интервью в международные компании для Product и IT специалистов

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

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

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

Теперь наш публичный синтез в супер-высоком качестве, в 10 раз быстрее и без детских болячек

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

hero_image


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


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


  • Снизили размер модели в 2 раза;
  • Научили наши модели делать паузы;
  • Добавили один высококачественный голос (и бесконечное число случайных);
  • Ускорили наши модели где-то примерно в 10 раз (!);
  • Упаковали всех спикеров одного языка в одну модель;
  • Наши модели теперь могут принимать на вход даже целые абзацы текста;
  • Добавили функции контроля скорости и высоты речи через SSML;
  • Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;
  • Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;

Это по-настоящему уникальное и прорывное достижение и мы не собираемся останавливаться. В ближайшее время мы добавим большое количество моделей на разных языках и напишем целый ряд публикаций на эту и смежные темы, а также продолжим делать наши модели лучше (например, еще в 2-5 раз быстрее).


Попробовать модель как обычно можно в нашем репозитории и в колабе.

Читать дальше →
Всего голосов 130: ↑129 и ↓1+156
Комментарии101

Встречайте UUID нового поколения для ключей высоконагруженных систем

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

31 марта 2022 года на сайте IETF был официально размещен текст рабочего документа (копия 1, копия 2) New UUID Formats (далее – стандарт), который должен формально обновить, а фактически заменить давно устаревший и изначально ущербный RFC 4122.

В долгих и жарких спорах удалось выработать стандарт высокого качества. Можно надеяться, что этот стандарт заменит многочисленные «самоделки» энтузиастов и отдельных компаний: ULID, KSUID, CUID и т.д., а в СУБД будут встроены генераторы UUID новых форматов, предназначенных для ключей высоконагруженных систем.

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

Проблема многоязычности Question Answering over Knowledge Graphs и новый датасет QALD-9-Plus, способный её решить

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

Для разнородных групп пользователей (прим. язык, возраст), возможность одинаково эффективно взаимодействовать с веб-приложениями является одним из важнейших факторов такого понятия как "доступность" (англ. Accessibility). Это относится и к системам автоматического ответа на вопросы с использованием графов знаний (англ. Knowledge Graph Question Answering, KGQA), которые обеспечивают доступ к данным Семантической паутины (англ. The Semantic Web) через интерфейс на естественном языке. В ходе работы над такой темой, как многоязычная доступность KGQA-систем, мы с коллегами выявили несколько наиболее острых проблем. Одной из которых является отсутствие многоязычных бенчмарков для KGQA.

В этой статье мы улучшаем один из самых популярных бенчмарков для KGQA -- QALD-9, путем создания эталонных переводов вопросов из исходного датасета на 8 различных языков (немецкий, французский, русский, украинский, белорусский, армянский, башкирский, литовский). Одним из самых важных аспектов является то, что переводы были предоставленны и провалидированы носителями соответствующего языка. Пять из этих языков - армянский, украинский, литовский, башкирский и белорусский - насколько нам известно, никогда ранее не рассматривались в рамках KGQA-систем. А два языка (башкирский и белорусский) рассматриваются ЮНЕСКО как "находящиеся под угрозой исчезновения". Мы назвали новый расширенный датасет "QALD-9-plus". Датасет доступен онлайн.

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

Большому художнику – большой критик: новые версии модели ruCLIP для ранжирования результатов ruDALL-E (и не только)

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

В ​2021 году особенно активно развивались языковые и визуальные трансформеры, что привело к появлению новых разработок в сфере мультимодального анализа данных. Ярким примером стала модель синтеза изображений по текстовым описаниям DALL-E от OpenAI. Команды Сбера - Sber AI и SberDevices - успешно ворвались в эту гонку трансформеров и обучили модели: ruDALL-E XL, которая доступна на GitHub, эксклюзивную ruDALL-E XXL (доступна в DataHub SberCloud ML Space), ruDALL-E Emojich для синтеза эмоджи, первую версию мультимодальной мультитаск архитектуры Fusion Brain, а с введением понятия гипермодальности создали универсальную модель ruDOLPH (про которую обязательно расскажем подробнее в одной из следующих статей).

Мы также не могли обойти стороной другое полезное приложение языковых и визуальных трансформеров, – модель CLIP от OpenAI, задача которой – определять “смысловую” близость текстов на естественном (английском) языке и изображений. Успешное обучение модели командой OpenAI уже позволило с уверенностью говорить о возможности решения таких задач компьютерного зрения, как, например, zero-shot классификация или zero-shot детекция объектов. В итоге мы поставили перед собой цель качественно “русифицировать” CLIP, чтобы модель можно было использовать напрямую на русском языке и обходить применение переводчиков в связке с англоязычной моделью CLIP. Первые шаги в этом направлении были сделаны нами ещё в начале 2021 года - тогда мы представляли модель ruCLIP Small (Russian Contrastive Language – Image Pre-training). Сейчас  же мы хотим рассказать об ещё 6 версиях модели ruCLIP, которые мы обучили за это время.

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

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

Время на прочтение21 мин
Количество просмотров30K
image

Привет, Хабр! Меня зовут Леонид Титов, я бэкенд разработчик в #CloudMTS. Так уж сложилось, что я не только пишу код, но и иногда собеседую кандидатов. Мне нравится процесс, и, думаю, у меня это получается.

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

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

Еще я поделюсь неожиданными впечатлениями от ситуации, когда оказался «по ту сторону», лайфхаками, фейлами и неплохо зарекомендовавшими себя практиками. Про soft skills тут ничего не будет — это отдельная важная тема. Прежде всего мы затронем вопрос профпригодности, определения ее наличия или отсутствия. Во второй половине статьи приведу собственный список вопросов, переведенный на русский, с комментариями.
Читать дальше →
Всего голосов 47: ↑35 и ↓12+36
Комментарии68

GPT для чайников: от токенизации до файнтюнинга

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

К моему удивлению, в открытом доступе оказалось не так уж много подробных и понятных объяснений того как работает модель GPT от OpenAI. Поэтому я решил всё взять в свои руки и написать этот туториал.

Читать далее
Всего голосов 26: ↑25 и ↓1+29
Комментарии11

Что такое ABBYY Vantage и как мы придумали платформу для тех, кто не умеет кодить

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

ABBYY представила Vantage – low-code/no-code платформу нового поколения для интеллектуальной обработки документов с набором готовых обученных когнитивных сервисов (навыков или скиллов) для распознавания, классификации и извлечения данных из документов любой сложности.

Это значимое событие по ряду причин. Во-первых, в разработке мы использовали самый современный стек технологий (REST API, Cloud-native, микросервисная архитектура с Docker-контейнерами, которые управляются с помощью Kubernetes). Во-вторых, запустили Marketplace – онлайн-площадку, на которой клиенты могут приобретать готовые навыки для обработки документов и обмениваться ими с другими компаниями. В-третьих, добавили в продукт машинное обучение на стороне клиента. То есть система сама постоянно дообучается и повышает качество работы сервисов на основании того, как с ней взаимодействует клиент. Например, когда вносит исправления в результаты распознавания. Но обо всем по порядку.

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

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

Чек-лист — как тестировать поиск

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

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

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

Читать далее
Всего голосов 25: ↑22 и ↓3+25
Комментарии16

«Вам здесь больше не рады...» Или что делать, если вы думаете, что работаете здесь, а начальник думает, что уже нет

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

Представьте, что однажды Вы приходите на любимую работу, но начальник встречает Вас нервно, напряжен как струна, и, вызвав Вас к себе, объявляет Вам, что Вы уволены. Вам это объявление портит настроение, опускает самолюбие ниже плинтуса, Вы теряетесь, не знаете, как поступить, что говорить, и о чем начинать беспокоиться в первую очередь - чем оплачивать жилье, квартиру, ипотеку или отдавать долг Сашке и т. п. Попутно Вам начальник/кадровик подсовывает в руки пустой лист бумаги и ручку и говорит написать заявление. Туман в голове, дрожащими руками Вы начинаете выводить на белоснежном листе «генеральному директору ООО «Компания» Иванову И. И., заявление» ниже «прошу уволить меня по собственному желан…» СТОП. Какая-то ерунда получается. Может сказать чудаку начальнику, что у меня желания-то увольняться совсем нет, и зачем тогда писать это заявление, если я уже уволен? Если я уволен – отдайте трудовую книжку, зарплату и отпустите восвояси. Непонятно…

Поделившись своими сомнениями с кадровиком, Вы замечаете, что Инспектор по кадрам багровеет и рассказывает, что Ваши коллеги-соратники уже написали заявление и советует Вам сделать то же самое - это в Ваших же интересах – «иначеуволимпостатьеиотправимсволчьимбилетом».

Вам становится еще страшнее от ее уверенности, но у Вас уже просыпается любопытство, подбадриваемое логикой и верой в справедливость - «За что уволите, я ж ничего не нарушал(а)?». Инспектор, не ожидая такого поворота, багровеет еще больше и выбегает из кабинета. Немного погодя, у Вас уже разговор с начальником отдела кадров и Вашим начальником. Они участливо с Вами беседуют, но припоминают Вам Ваши старые грешки: опоздания, болезни без бюллетеня пусть даже с разрешения начальника (этожепрогул!) и убедительно описывают Вашу низкую квалификацию, не выполнение Вами поручений руководителя, невыполнение плана продаж/обзвонов и т. п. и повторно убеждают Вас, что заявление – лучший вариант. Вы послушно отправляетесь писать заявление на увольнение. Вроде все логично и ситуация знакома многим, но есть три момента, о которых обычно забываем(или не знаем) при оценке того, что Вам говорят. С тех пор, как у нас в стране отменили крепостное право многое изменилось и государство больше защищает работников, чем работодателей и при любых спорах действует презумпция невиновности работника. Именно работодатель обязан оправдываться и доказывать, что он все корректно сделал и оформил. Допустил малейшее нарушение - отмена увольнение и оплата всего времени с момента незаконного увольнения.

Читать далее
Всего голосов 123: ↑117 и ↓6+155
Комментарии148

Логирование в микросервисной среде .Net на практике

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


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


В .Net Core 3 добавилась отличная возможность передачи контекста корреляции в HTTP-заголовках, поэтому если ваши приложения используют прямые HTTP-вызовы для межсервисного взаимодействия, то вы можете воспользоваться этой коробочной функцональностью. Однако, если архитектура вашего бекенда подразумевает взаимодействие через брокера сообщений (RabbitMQ, Kafka и т.п.), то вам по-прежнему необходимо озаботиться темой передачи корелляционного контекста через эти сообщения самостоятельно.


В этой статье мы возьмём простое веб-апи приложение и организуем логирование, которое будет


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

  • иметь единую точку входа с удобным анализом, чтобы инструментом логирования смогла пользоваться даже Поддержка, к которой летят вопросы вроде «у меня тут в приложении выскочила ошибка с таким-то айдишником запроса»


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

Использование faiss для поиска по многомерным пространствам

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

Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объявлении, даже если они достаточно серьёзно искажены: размыты, обрезаны и тому подобное. Так мы определяем потенциально фейковые публикации.


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


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

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность