Search
Write a publication
Pull to refresh
0
Валентина Ендовицкая @Evv8read⁠-⁠only

Developer

Send message

Как Яндекс перепридумал поиск для разработчиков

Reading time9 min
Views39K

У вас бывало, что открываешь поиск, ищешь что-то по программированию и не находишь ответ? Тогда эта история для вас. 

Меня зовут Алексей Степанов, я руковожу службой исследований машинного обучения поиска Яндекса. Сегодня я расскажу непростую историю. Она про проблему, до решения которой у нас слишком долго не доходили руки. Из поста вы узнаете, почему стандартная метрика качества поиска не учитывала интересы разработчиков и как мы её улучшили. Расскажу про новую нейросеть CS YATI, обученную понимать таких же айтишников, как и мы. Ну и про грабли на нашем пути тоже расскажу, куда без них.

Этот пост основан на моём докладе с Data Fest 2022, но не во всём (мой коллега Максим Хурсанов @Maxim2207 существенно расширил историю).

Читать далее

Управление изменениями в ML-разработке

Reading time5 min
Views1.3K

В июне 2019 года открылся наш ML-отдел, и я решил, что неплохо будет попробовать поработать по Скраму. Неплохая идея, ведь правда? 

Команда абсолютно новая, тимлидского опыта у меня было не так много, а начать с чего-то нужно....

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

Решение это далось непросто, все привыкли работать по Скраму, и от команды посыпались вопросы - что делать с эстимейтами, как приходить к общему контексту без скрам-покера, как будем измерять выгоду или потери от перехода на канбан? Изменения - это всегда сложно, недаром теме change management посвятили целый сезон конфы Podlodka Teamlead Crew. Эта статья про то, как мы генерируем предложения и внедряем изменения у нас в отделе.

Читать далее

Актуальные проблемы интерпретации медицинских данных

Reading time5 min
Views2.6K

Привет, Хабр! Думаю, все здесь в курсе, что данные — это новая нефть. Однако нефть мало чего стоит сама по себе, нужно уметь ее перерабатывать. Если говорить об использовании искусственного интеллекта в радиологии, то самое важное — объективность интерпретации данных.

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

Внедрение программного обеспечения на базе ИИ в здравоохранение — очень сложный процесс. Если делать это неправильно — стартап на верном пути к провалу. В чем заключается сложность и как мы в «Цельсе» с ней героически боремся — читайте под катом.

Читать далее

Видеть больше: ИИ против человека

Reading time14 min
Views4.9K


Многие футуристы яро отстаивают мнение, что искусственный интеллект может стать погибелью человечества. Возможно в далеком будущем и появится аналог HAL 9000, который монотонным голосом оповестит нас о том, что наше время на этой планете истекло, но это уж точно не произойдет в ближайшие десятилетия. А все дело в том, что киношные или литературные ИИ стоят выше или на той же ступени мыслительных способностей, что и человек. В реальности же это не так. Ученые из Йоркского университета (Торонто, Канада) провели ряд экспериментов, показавших насколько ИИ уступает человеку в рамках визуального восприятия объектов. Какие эксперименты были проведены и что именно они показали? Об этом мы узнаем из доклада ученых.
Читать дальше →

Yandex Planner. Как планировать вычислительные мощности

Reading time14 min
Views13K


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

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

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

Градиентный бустинг с CatBoost (часть 2/3)

Reading time8 min
Views22K

В первой части статьи я рассказал про понятие градиентного бустинга, библиотеки, с помощью которых можно реализовать данный алгоритм и углубились в одну из этих библиотек. Сегодня продолжим разговор о CatBoost и рассмотрим Cross Validation, Overfitting Detector, ROC-AUC, SnapShot и Predict. Поехали!

До этого момента мы мерили качество на каком-то конкретном fold’e (конкретной выборке), то есть взяли разделили нашу выборку на обучающую и тестовую, это не совсем корректно, вдруг мы взяли какой-то непрезентативный кусок нашего датасета, на этом самом куске мы получим хорошее качество, а когда модель будет работать с реальными данными, то с качеством все будет крайне грустно. Дабы избежать этого, необходимо использовать Cross Validation.

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

Читать далее

Флуоресцентная визуализация в медицине

Reading time4 min
Views3.5K

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

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

Читать далее

Создаем точные датасеты для сегментации (доступны на kaggle)

Reading time2 min
Views3.6K

Начнем с простого примера: как думаете, легко найти более или менее адекватный датасет, который позволил бы ну хоть как-то поработать с квадрокоптерами?

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

Читать далее

Краткое знакомство с моделированием белков

Reading time14 min
Views11K
Автор: нейрофизиолог научно-просветительского проекта Фанерозой, Анастасия Маркова.

Благодарность: искренне благодарим биоинформатика Жукову Алину Александровну (к.б.н., доцент кафедры анатомии и физиологии человека и животных РГПУ им. А.И. Герцена) за дельные советы, проверку статьи и помощь

image
Дисклеймер от мистера ДНК- очевидность
image
Данная статья будет интересна тем, кто хоть как-то знаком с молекулярной биологией и биохимией, а также интересуется возможностью визуализации белков.

Наш мир полон разнообразия: повсюду встречаются различные виды растений и животных — повсюду кишит жизнь. И если так подумать, вспомнить школьные годы, то один из ученых, а именно Фридрих Энгельс когда-то дал свое особенное определение жизни, которое является одним из множества других:
“Жизнь есть способ существования белковых тел, существенным моментом которого является постоянный обмен веществ с окружающей их внешней природой, причем с прекращением этого обмена веществ прекращается и жизнь, что приводит к разложению белка”.
Читать дальше →

Подходы к квантовому шифрованию изображений

Reading time8 min
Views5.6K

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

Читать далее

Что за зверь — аффинные преобразования?

Reading time4 min
Views66K

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

Вы сможете? В любом случае, давайте немного обсудим этот вопрос.

Читать далее

Отрабатываем Git hooks на автоматизации commit message

Reading time8 min
Views47K

Привет, Хабр! В этой статье я расскажу о Git hooks и о том, как они могут помочь с некоторыми насущными кейсами организации создания commit’ов и commit message. Пост основан на реальном опыте из моей практики: как я упрощал то, что всем надоело делать руками. Я уверен, что хуки могут оказаться полезны почти каждому разработчику. Ведь все мы пишем в сообщении коммита чуть больше, чем «fixed what was broken», верно?

Меня зовут Роман Горбатенко, я Java-разработчик в компании DINS, на момент написания текста тружусь в команде Contact Center. Занимаюсь разработкой больше 3-х лет и прошел путь от личинки стажера до middle разработчика. Считаю Git одним из самых полезных инструментов разработчика. Многие не используют его возможности на полную, возможно, мне удастся это немного исправить.

Узнать больше о Git hooks

Data Science: лучшие учебные курсы и программы сертификации

Reading time7 min
Views26K
Можно получить два-три десятка Data Science-сертификатов, но по-настоящему стоящих программ сертификации из сферы науки о данных, по моему мнению, не так уж и много. Я хочу рассказать о нескольких таких программах, поддерживаемых авторитетными организациями. Эти программы я оцениваю по разным признакам. В частности — по объёму рассматриваемых в их рамках тем, по их «весу» в глазах потенциального работодателя, по репутации организации, реализующей программу. В последние несколько лет я являюсь и специалистом по анализу данных, и дата-сайентистом. Всё это время у меня формировалось понимание того, что сильнее всего влияет на успех человека в сфере Data Science (DS).



Здесь я рассмотрю ведущие программы Data Science-сертификации, входящие в список, собранный ресурсом Indeed. Из этого списка я выбрал четыре, которые кажутся мне наиболее достойными. Им и посвящён этот материал.
Читать дальше →

Партицирование таблиц в PostgreSQL: чек-лист для старта

Reading time13 min
Views68K

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

Представим, что у нас есть батон хлеба. Порежем его на части. Каждый отрезанный кусочек — часть целого батона, но не сам батон. То есть мы поделили целое на части — это и есть партицирование. Батон как целое соответствует таблице, а кусочки батона как части — партициям этой таблицы.

Читать далее

Как быстро усвоить материал? Практические советы для разработчиков и не только

Reading time12 min
Views20K

Эффективное обучение крайне важно для разработчика программного обеспечения, ведь постижение нового — значительная часть его работы. Умение быстро осваивать новые языки/фреймворки/инструменты сделает вас намного продуктивнее. Это своего рода суперспособность.

Как ее приобрести? Читайте в тексте Джоша Комо, эксперта с многолетним опытом в разработке ПО, ИТ-блогера и автора обучающего курса «CSS для разработчиков JavaScript». В статье Джош описывает практики и рекомендации, которые помогут начинающим специалистам (например, студентам и тем, кто переходит в разработку из какой-либо другой области) в развитии их профессиональных навыков.

Под катом — наш перевод англоязычного материала. Обращаем ваше внимание, что позиция автора не всегда может совпадать с мнением МойОфис.

Читать далее

HTTP/3 от А до Я: основные концепции. Часть 1

Reading time20 min
Views96K

image
Фото Florencia Viadana, Unsplash.com


После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Предыдущие итерации уже доступны как экспериментальная функция, но в 2021 году мы ждём широкого распространения протокола. Что такое HTTP/3? Зачем выпускать его так рано после HTTP/2? Как его можно или нужно использовать? Как он влияет на производительность?

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

Как работает распознавание лиц? Разбор

Reading time4 min
Views36K
Среднестатистический человек может идентифицировать знакомое лицо в толпе с точностью 97,53%. Вы скажете, это немало и будете правы. Но это ничто по сравнению с современными алгоритмами, которые добились точности 99,8% еще в 2014 году. А в последние несколько лет они достигли практически совершенства! Современный алгоритм, использующийся в камерах видеонаблюдения в Москве способен обрабатывать 1 миллиард изображений менее чем за полсекунды с точностью близкой к 100%.


Этот алгоритм насколько крут, что уже в этом году в Московском Метро планируют ввести систему прохода по лицу — FacePay. При этом нам обещают, что система будет работать даже если человек в медицинской маске.


Как вы понимаете, жизнь уже не будет прежней. Поэтому давайте разберемся:

  • Как работают алгоритмы распознавания лиц?
  • Страшны ли эти алгоритмы на самом деле и где их применяют во благо?
  • А также поговорим какого будущего нам ждать.
Читать дальше →

Выполняем глубокое обучение быстро при помощи Fast AI

Reading time5 min
Views12K

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

И всё же, существует инструмент, позволяющий легко совершить «быстрый старт» и опробовать нейронные сети в деле самостоятельно – это fast ai. Вообще, fast ai – это прежде всего группа исследователей, занимающихся вопросами искусственного интеллекта и глубокого обучения в частности, которая выпустила одноимённую библиотеку в свободное пользование в 2018 году. Если говорить простыми словами – fast ai представляет собой надстройку над упомянутым выше фреймворком pytorch и упрощает работу с ним, делает это быстрее. Отсюда и слово «быстро» в названии статьи.

Пожалуй, перейдём к практике и покажем, насколько просто работать с fast ai на простом примере задачи классификации изображений – постараемся обучить нейронную сеть различать две модели автомобильной марки Subaru: Impreza и Legacy. Как и обычно, в первую очередь выполняем установку библиотеки, выполнив в консоли команду:

Читать далее

Простая нейронка без библиотек и многомерных массивов

Reading time10 min
Views34K

Руководство? Гайд? В общем описание моего опыта создания простой, а главное понятной любому новичку нейросети :)

Дисклеймер: хочу сказать, что смысл этой статьи не в правильном способе создания нейросетей, таких статей сотни, а в способе понять, что такое нейросети и наконец перейти от теории к практике.

Читать далее

Как мы экономим время врача и пациента

Reading time8 min
Views8.5K
Самое дорогое в клинике — это время врача. Особенно с учётом того, что у нас 7,5-часовой рабочий день, чтобы эти самые врачи были свежими всё время, потому что в клинике нашего уровня важно не совершать ошибок, а они при утомлении начинают случаться и в части мануальных манипуляций, и в части качества принятия решений. Соответственно, когда мы только открывали клинику и хотели доказать, что практическая наука может приносить заработок, тогда мы заодно применили эргономичный подход к проектированию самих помещений клиники. В смысле сделали не «как обычно», а оценили, что можно поменять и пересобрать, благо были хорошие примеры разных вещей со всего мира.

image
Высота полок над столом — 35 сантиметров, а не 60, как на кухне. Нужно, чтобы ассистент не вставал, а доставал рукой сидя.

Мы поменяли схему подготовки ассистентов: всё равно пришлось бы это делать с учётом нашего подхода «работа только с операционным микроскопом». Изменили эргономику кресел, сделали ещё много вещей и заодно занялись оптимизацией времени пациента. Начиная с какого-то момента, когда у нас в клинике начали появляться миллиардеры, это стало важной частью сервиса. Пациентам нравится, что они не теряют ни минуты у нас, и это тоже управляется.
Читать дальше →

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity