Оценка финансового эффекта от pd-моделей
Банк, как и физическое лицо, принимает решение о выдаче кредита исходя из вероятности его возврата. Заемщик по договору обязуется возвращать долг в формате ежемесячных платежей. Дефолтом обычно считается просрочка по внесению обязательного платежа продолжительностью 90 дней. PD-модель предсказывает наступит ли событие дефолта, уровень уверенность модели переводится в вероятность дефолта при помощи калибровки, финальное решение о выдаче кредита принимается исходя из полученной вероятности.
Решение о выборе порогового значения для принятия решения о выдаче кредита основывается на текущем уровне риск аппетита. В стабильное время банки обычно более голодные, чем в смутные времена экономических кризисов. Риск-стратегия банка базируется на экспертном подходе, в виду зависимости от макроэкономики, политической обстановки, поведения конкурентов и других сложномоделируемых факторов. Риск-менеджеру, при изменении риск-политики, необходима уверенность в стабильно высоком качестве работы модели для широкого спектра пороговых значений. При таких требованиях, метрика Джини является отличным выбором.
Джини (2 * AUC ROC - 1) в банках на слуху у большого круга лиц, а не только у дата сайентистов и риск-менеджеров. Оказывается, даже сотрудники операционных подразделений, работающих в дружном коллективе с моделями могут знать об этой метрике. Более того, метрика может трансформироваться в созвучное, более народное и привычное «Женя». Иногда, при достаточном уровне погрешности при передаче информации из уст в уста, даже может показаться, что именно Женя принимает решения вместо всех моделей машинного обучения.
Исторически, машинное обучение в банках начинало свое развитие именно в задачах кредитного скоринга. Это привело к использованию метрики Джини в задачах бинарной классификации даже там, где более уместны другие метрики. Тем не менее, необходимо устанавливать четкую связь между модельными и продуктовыми метрикам, так как финансовый эффект достигается за счет улучшения последних. Такая связь позволяет разговаривать с бизнесом на одном языке и, в виду коммерческой направленности банка, открывает многие двери. При таком подходе, на одной чаще весов мы всегда будем иметь стабильный значимый финансовый эффект, который будет перевешивать нежелание менять привычный порядок вещей. В итоге, «бабло побеждает зло».
Повышение риск аппетита при фиксированной стратегии всегда приводит к увеличению доли дефолтов, понижение, так называемые закрутки, приводит к снижению количества выдач. Следовательно, дополнительную разделяющую способность модели можно направить либо на сокращение риска при сохранении объемов выдач, либо на увеличение числа выдач при неизменном уровне риска. Таким образом, при стабильной экономической ситуации, эффект от повышения метрики Джини приводит к дополнительным выдачам. Банк довольно точно умеет оценивать потенциальную прибыль от дополнительных выдач. В итоге, оценить потенциальный эффект от 1 п.п. Джини на этапе разработки модели становится возможным по результатам предыдущих а/б-тестов и линейной аппроксимации: нужно разделить число дополнительных выдач на кол-во дополнительных пунктов Джини и умножить на чистую прибыль от одной выдачи. Однако, защитить финансовый эффект от внедрения новой модели возможно только в рамках а/б-теста, длящегося более одного года с момента начала использования модели, в силу особенности созревания целевой переменной.
#mlsysdesign #dl_in_finance
Банк, как и физическое лицо, принимает решение о выдаче кредита исходя из вероятности его возврата. Заемщик по договору обязуется возвращать долг в формате ежемесячных платежей. Дефолтом обычно считается просрочка по внесению обязательного платежа продолжительностью 90 дней. PD-модель предсказывает наступит ли событие дефолта, уровень уверенность модели переводится в вероятность дефолта при помощи калибровки, финальное решение о выдаче кредита принимается исходя из полученной вероятности.
Решение о выборе порогового значения для принятия решения о выдаче кредита основывается на текущем уровне риск аппетита. В стабильное время банки обычно более голодные, чем в смутные времена экономических кризисов. Риск-стратегия банка базируется на экспертном подходе, в виду зависимости от макроэкономики, политической обстановки, поведения конкурентов и других сложномоделируемых факторов. Риск-менеджеру, при изменении риск-политики, необходима уверенность в стабильно высоком качестве работы модели для широкого спектра пороговых значений. При таких требованиях, метрика Джини является отличным выбором.
Джини (2 * AUC ROC - 1) в банках на слуху у большого круга лиц, а не только у дата сайентистов и риск-менеджеров. Оказывается, даже сотрудники операционных подразделений, работающих в дружном коллективе с моделями могут знать об этой метрике. Более того, метрика может трансформироваться в созвучное, более народное и привычное «Женя». Иногда, при достаточном уровне погрешности при передаче информации из уст в уста, даже может показаться, что именно Женя принимает решения вместо всех моделей машинного обучения.
Исторически, машинное обучение в банках начинало свое развитие именно в задачах кредитного скоринга. Это привело к использованию метрики Джини в задачах бинарной классификации даже там, где более уместны другие метрики. Тем не менее, необходимо устанавливать четкую связь между модельными и продуктовыми метрикам, так как финансовый эффект достигается за счет улучшения последних. Такая связь позволяет разговаривать с бизнесом на одном языке и, в виду коммерческой направленности банка, открывает многие двери. При таком подходе, на одной чаще весов мы всегда будем иметь стабильный значимый финансовый эффект, который будет перевешивать нежелание менять привычный порядок вещей. В итоге, «бабло побеждает зло».
Повышение риск аппетита при фиксированной стратегии всегда приводит к увеличению доли дефолтов, понижение, так называемые закрутки, приводит к снижению количества выдач. Следовательно, дополнительную разделяющую способность модели можно направить либо на сокращение риска при сохранении объемов выдач, либо на увеличение числа выдач при неизменном уровне риска. Таким образом, при стабильной экономической ситуации, эффект от повышения метрики Джини приводит к дополнительным выдачам. Банк довольно точно умеет оценивать потенциальную прибыль от дополнительных выдач. В итоге, оценить потенциальный эффект от 1 п.п. Джини на этапе разработки модели становится возможным по результатам предыдущих а/б-тестов и линейной аппроксимации: нужно разделить число дополнительных выдач на кол-во дополнительных пунктов Джини и умножить на чистую прибыль от одной выдачи. Однако, защитить финансовый эффект от внедрения новой модели возможно только в рамках а/б-теста, длящегося более одного года с момента начала использования модели, в силу особенности созревания целевой переменной.
#mlsysdesign #dl_in_finance
Мы начинаем разработку бота-суфлера, чтобы помогать операторам быстрее и качественнее обслуживать клиентов. Перед стартом нам нужно было ответить на ряд вопросов:
Как устроена работа оператора? Какие именно операции возможно автоматизировать? Автоматизация чего принесет наибольший профит? Какой дизайн должен быть у системы-помощника?
Можно долго пытаться ответить на эти вопросы самостоятельно. В результате, помогут ли наши идеи на практике или останутся плодом нашей больной фантазии?
Получить ответы на эти вопросы нам помогла командировка в колл-центр в Барнауле. Во время поездки мы внимательно изучили процесс обслуживания клиентов, ознакомились с интерфейсами и главное получили мгновенный фидбэк по нашим идеям. В итоге, нащупали такое решение, которое будет удовлетворять не наши фантазии, а конечного пользователя.
Какие исследования проводите вы перед разработкой новой модели или основанного на ml продукта?
P.S. на фото мы довольны результатом, но огорчены недостатком сна.
#mlsysdesign #nlp
Как устроена работа оператора? Какие именно операции возможно автоматизировать? Автоматизация чего принесет наибольший профит? Какой дизайн должен быть у системы-помощника?
Можно долго пытаться ответить на эти вопросы самостоятельно. В результате, помогут ли наши идеи на практике или останутся плодом нашей больной фантазии?
Получить ответы на эти вопросы нам помогла командировка в колл-центр в Барнауле. Во время поездки мы внимательно изучили процесс обслуживания клиентов, ознакомились с интерфейсами и главное получили мгновенный фидбэк по нашим идеям. В итоге, нащупали такое решение, которое будет удовлетворять не наши фантазии, а конечного пользователя.
Какие исследования проводите вы перед разработкой новой модели или основанного на ml продукта?
P.S. на фото мы довольны результатом, но огорчены недостатком сна.
#mlsysdesign #nlp
Все DSы в моей команде начинают решение задачи с изучения бизнес-процесса, подобно тому, как физик изучает природу. Чтение документации, глубинное интервью с участниками процесса, наблюдение за процессом и даже участие — это не полный список инструментов исследователя. В результате, складывается картина, где, как и в каком объеме модель сможет принести профит компании или, наоборот, приходит осознание бессмысленности затеи. Сейчас это кажется очевидной необходимостью, но это понимание пришло далеко не сразу. Сегодня расскажу об опыте участия в проектах, которые этому научили.
📞 Граф диалогов в колл-центре
Моя первая рабочая задача была довольно масштабная и наукоемкая - требовалось построить граф диалогов операторов колл-центра на основе текстов разговоров. В литературе, как и у конкурентов, отсутствовал опыт решения подобных задач, ведь на дворе был 2016-ый год. Задача решалась с нуля 1.5 джунами на part-time при помощи консультаций научника: были придуманы и реализованы алгоритмы частичного обучения для сегментации текста, размечены данные сначала самостоятельно, затем на аутсорсе разработан интерфейс для разметчиков и развернут в контуре компании, обучен штат асессоров и настроен контроль качество их работы, наконец, обучена модель с хорошим качеством. В ходе решения задачи мы плотно общались с заказчиком, но когда проект был на финальной стадии, оказалось, что дальше «***тесь как хотите» не подходит. В итоге, пришлось потратить еще полгода, и мы нашли пару применений для разработанного алгоритма самостоятельно.
🤔Вывод: убеждайтесь перед стартом проекта, что заказчик действительно знает, как использовать модель и уже произвел оценку потенциального финансового эффекта.
📰Классификация новостей по компаниям
Инвестиции набирали свой оборот «среди домохозяек», а мы в свою очередь количество задач по анализу текстов. Задача была настолько классной и очевидной, что в наших глазах был гарантирован стопроцентный результат. Более того, был подготовлен размеченный по категориям датасет на 100к+ семплов. В результате, за пару месяцев была разработана модель, еще за пару задеплоена и интегрирована в мобильное приложение. Наконец-то мы запустили а/б-тест, по результатам которого генерировались аж десятки тысяч рублей в месяц дополнительной прибыли.
🤔Вывод: продумывайте заранее, где и как будет применяться ваша модель и какой у нее финансовый потенциал.
💬Поделитесь в комментариях историями ваших неудачных проектов чтобы читали не совершали и ваших ошибок.
#mlsysdesign #неудачи
📞 Граф диалогов в колл-центре
Моя первая рабочая задача была довольно масштабная и наукоемкая - требовалось построить граф диалогов операторов колл-центра на основе текстов разговоров. В литературе, как и у конкурентов, отсутствовал опыт решения подобных задач, ведь на дворе был 2016-ый год. Задача решалась с нуля 1.5 джунами на part-time при помощи консультаций научника: были придуманы и реализованы алгоритмы частичного обучения для сегментации текста, размечены данные сначала самостоятельно, затем на аутсорсе разработан интерфейс для разметчиков и развернут в контуре компании, обучен штат асессоров и настроен контроль качество их работы, наконец, обучена модель с хорошим качеством. В ходе решения задачи мы плотно общались с заказчиком, но когда проект был на финальной стадии, оказалось, что дальше «***тесь как хотите» не подходит. В итоге, пришлось потратить еще полгода, и мы нашли пару применений для разработанного алгоритма самостоятельно.
🤔Вывод: убеждайтесь перед стартом проекта, что заказчик действительно знает, как использовать модель и уже произвел оценку потенциального финансового эффекта.
📰Классификация новостей по компаниям
Инвестиции набирали свой оборот «среди домохозяек», а мы в свою очередь количество задач по анализу текстов. Задача была настолько классной и очевидной, что в наших глазах был гарантирован стопроцентный результат. Более того, был подготовлен размеченный по категориям датасет на 100к+ семплов. В результате, за пару месяцев была разработана модель, еще за пару задеплоена и интегрирована в мобильное приложение. Наконец-то мы запустили а/б-тест, по результатам которого генерировались аж десятки тысяч рублей в месяц дополнительной прибыли.
🤔Вывод: продумывайте заранее, где и как будет применяться ваша модель и какой у нее финансовый потенциал.
💬Поделитесь в комментариях историями ваших неудачных проектов чтобы читали не совершали и ваших ошибок.
#mlsysdesign #неудачи
Путь Аналитика -> ML -> DL и оценка чистого эффекта
🚀 Эффективность подразделений анализа данных раньше часто оценивали по количеству внедренных моделей, сейчас все чаще оценивают по финансовому эффекту от них. Метрика стала лучше коррелировать с целями бизнеса, но нередко ML и DL стали поедать эффекты от простой аналитики. Компании отчитываются о сверхприбылях за счет машинного обучения, перегревают область и нанимают тысячи дата сайентистов. Однако, не каждому бизнесу сейчас действительно нужен ML. Одним компаниям стоит начать с продуктовой аналитики, а некоторым и вовсе ей ограничиться. Рассмотрим тесную связь аналитики с машинным и глубоким обучением, а также разберем как правильно считать чистый эффект от каждой из компонент.
🥇 Аналитические правила позволяют достичь максимум 💸💸💸 эффекта за минимальное время. Вам не потребуется закупать отдельные сервера для разработки и исполнения моделей, мониторить стабильность моделей и даже нанимать дата сайентистов. Качественная аналитика позволит вам в моменте начать приносить пользу бизнесу и найти потенциальные зоны применения ML. В дальнейшем, разработанные правила могут стать хорошими признаки для ML-моделей.
🥈 Классический ML лучше применять после построения аналитической культуры в продукте/компании. Без такой культуры сложно будет трезво оценивать пользу от ML-моделей. Объективная потребность в моделях появляется при значительном повышении точности на десятке-сотне признаков относительно одного-двух аналитических правил. Хотите оценить реальный вклад машинного обучения в решение задачи? Сравнивайте метрики качества моделей с сильными аналитическими бейзлайнами. Узнайте какое значение метрики дает среднее/медиана за предыдущий период в задаче регрессии или самый популярный элемент - в задаче рекомендаций. В итоге, чистый эффект 💸💸 от применения ML = эффект от ML-моделей - эффект от аналитических правил.
🥉 Глубокое обучение лучше применять если у вас уже внедрен ML или вы планируете работать с картинками, звуком или текстом. Развитие DL в компании всегда требует серьезных инвестиции в железо и разметку данных. Стоит помнить, что не всегда удается побить нейронными сетями классический ML, так например, 📺 команда Тинькофф побила BERT логрегом в задаче классификации на 117 классов. Более того, в некоторых задачах можно ограничиться и вовсе регулярками, так например, в соревновании по выделение брендов они показали себя лучше BERTа. Чистый эффект 💸 от применения DL = эффект от DL-моделей - эффект от ML-моделей.
Последовательное развитие по пути Аналитика -> ML -> DL позволяет получить максимум эффекта за минимальное время. Более того, этот путь закладывает сильные бейзлайны для каждого следующего этапа. Обратите внимание на оценку чистого эффекта - она позволяет принимать правильные управленческие решение бизнесу.
👍 Оценивать точно финансовый эффект помогает а/б-тестирование, правильно приоритизировать задачи - высокая аналитическая культура. Советую подписаться на канал @ml4value чтобы подчерпнуть лучшие практики и перенести их в свою команду.
💬 В последнее время много ажиотажа вокруг графовых нейронных сетей. К сожалению, не натыкался на их сравнение с сильным бейзлайном - бустинг на агрегации признаков ближайших соседей. Пришлите, плиз, ссылки на такие работы, если они вам встречались.
#mlsysdesign
🚀 Эффективность подразделений анализа данных раньше часто оценивали по количеству внедренных моделей, сейчас все чаще оценивают по финансовому эффекту от них. Метрика стала лучше коррелировать с целями бизнеса, но нередко ML и DL стали поедать эффекты от простой аналитики. Компании отчитываются о сверхприбылях за счет машинного обучения, перегревают область и нанимают тысячи дата сайентистов. Однако, не каждому бизнесу сейчас действительно нужен ML. Одним компаниям стоит начать с продуктовой аналитики, а некоторым и вовсе ей ограничиться. Рассмотрим тесную связь аналитики с машинным и глубоким обучением, а также разберем как правильно считать чистый эффект от каждой из компонент.
🥇 Аналитические правила позволяют достичь максимум 💸💸💸 эффекта за минимальное время. Вам не потребуется закупать отдельные сервера для разработки и исполнения моделей, мониторить стабильность моделей и даже нанимать дата сайентистов. Качественная аналитика позволит вам в моменте начать приносить пользу бизнесу и найти потенциальные зоны применения ML. В дальнейшем, разработанные правила могут стать хорошими признаки для ML-моделей.
🥈 Классический ML лучше применять после построения аналитической культуры в продукте/компании. Без такой культуры сложно будет трезво оценивать пользу от ML-моделей. Объективная потребность в моделях появляется при значительном повышении точности на десятке-сотне признаков относительно одного-двух аналитических правил. Хотите оценить реальный вклад машинного обучения в решение задачи? Сравнивайте метрики качества моделей с сильными аналитическими бейзлайнами. Узнайте какое значение метрики дает среднее/медиана за предыдущий период в задаче регрессии или самый популярный элемент - в задаче рекомендаций. В итоге, чистый эффект 💸💸 от применения ML = эффект от ML-моделей - эффект от аналитических правил.
🥉 Глубокое обучение лучше применять если у вас уже внедрен ML или вы планируете работать с картинками, звуком или текстом. Развитие DL в компании всегда требует серьезных инвестиции в железо и разметку данных. Стоит помнить, что не всегда удается побить нейронными сетями классический ML, так например, 📺 команда Тинькофф побила BERT логрегом в задаче классификации на 117 классов. Более того, в некоторых задачах можно ограничиться и вовсе регулярками, так например, в соревновании по выделение брендов они показали себя лучше BERTа. Чистый эффект 💸 от применения DL = эффект от DL-моделей - эффект от ML-моделей.
Последовательное развитие по пути Аналитика -> ML -> DL позволяет получить максимум эффекта за минимальное время. Более того, этот путь закладывает сильные бейзлайны для каждого следующего этапа. Обратите внимание на оценку чистого эффекта - она позволяет принимать правильные управленческие решение бизнесу.
👍 Оценивать точно финансовый эффект помогает а/б-тестирование, правильно приоритизировать задачи - высокая аналитическая культура. Советую подписаться на канал @ml4value чтобы подчерпнуть лучшие практики и перенести их в свою команду.
💬 В последнее время много ажиотажа вокруг графовых нейронных сетей. К сожалению, не натыкался на их сравнение с сильным бейзлайном - бустинг на агрегации признаков ближайших соседей. Пришлите, плиз, ссылки на такие работы, если они вам встречались.
#mlsysdesign
Как организовать революцию в кредитном скоринге в вашей компании?
🧠 Благодаря треку DL in Finance вы уже отлично знаете какие именно сетки нужно строить, на каких источниках данных и как именно их нужно обучать для буста точности кредитного скоринга.
🤔 Но как протащить такую инициативу в вашей консервативной компании?
💰Научитесь оценивать финансовый эффект от улучшения модельных метрик в кредитном скоринге. Улучшение модельных метрик очень абстрактно для лиц, принимающих решения, а перспектива заработать миллиарды рублей очень конкретна. Более того, такая перспектива открывает любые двери в коммерчески направленных компаниях - никто не захочет отвечать на вопрос: "Почему он решил помешать увеличить чистую прибыль компании?".
📈 Используйте нейронные сети для обработки транзакций и данных БКИ чтобы не терять информацию при агрегации признаков и время на генерацию признаков под конкретный домен.
⚠️ Внедряйте нейронные сети в паре с проверенной SOTA для обработки плоских табличных данных - градиентным бустингом. В 2020-м нейронные сети в Альфе входили с весом 30%, сейчас входят с весом 70% 💪!
🦸♂️ Возьмите на себя ответственность за организацию наколеночной инфраструктуры и ее поддержку в течении нескольких лет, пока в вашей компании будут строится правильные процессы. Не забудьте поставить ноутбук на новогодний стол для мониторинга рядом с мандаринами.
🙅♂️ Забудьте о том, что вы только что прочитали, если вы еще не собрали команду, которая обладает не только сильными техническими навыками, но и которая также замотивирована на результат, как и вы. Если у вас уже есть такая команда, то помните о трех 🐳 развития команды.
Подробнее на слайдах, с которыми выступал на этой неделе на skill-форуме.
#mlsysdesign #личный_опыт #dl_in_finance
🧠 Благодаря треку DL in Finance вы уже отлично знаете какие именно сетки нужно строить, на каких источниках данных и как именно их нужно обучать для буста точности кредитного скоринга.
🤔 Но как протащить такую инициативу в вашей консервативной компании?
💰Научитесь оценивать финансовый эффект от улучшения модельных метрик в кредитном скоринге. Улучшение модельных метрик очень абстрактно для лиц, принимающих решения, а перспектива заработать миллиарды рублей очень конкретна. Более того, такая перспектива открывает любые двери в коммерчески направленных компаниях - никто не захочет отвечать на вопрос: "Почему он решил помешать увеличить чистую прибыль компании?".
📈 Используйте нейронные сети для обработки транзакций и данных БКИ чтобы не терять информацию при агрегации признаков и время на генерацию признаков под конкретный домен.
⚠️ Внедряйте нейронные сети в паре с проверенной SOTA для обработки плоских табличных данных - градиентным бустингом. В 2020-м нейронные сети в Альфе входили с весом 30%, сейчас входят с весом 70% 💪!
🦸♂️ Возьмите на себя ответственность за организацию наколеночной инфраструктуры и ее поддержку в течении нескольких лет, пока в вашей компании будут строится правильные процессы. Не забудьте поставить ноутбук на новогодний стол для мониторинга рядом с мандаринами.
🙅♂️ Забудьте о том, что вы только что прочитали, если вы еще не собрали команду, которая обладает не только сильными техническими навыками, но и которая также замотивирована на результат, как и вы. Если у вас уже есть такая команда, то помните о трех 🐳 развития команды.
Подробнее на слайдах, с которыми выступал на этой неделе на skill-форуме.
#mlsysdesign #личный_опыт #dl_in_finance
Что вы выберете для табличных данных: бустинг или MLP?
🤖 Большой пласт задач машинного обучения на практике - задачи на табличных данных, которые чаще всего решаются при помощи градиентного бустинга. Стандартная для табличных данных MLP-архитектура обычно имеет хуже качество и требует больше ресурсов для обучения и тюнинга.
🤔 Можно ли применять глубокое обучение более эффективно?
🔍 Yandex Research активно занимается исследованиями в этой области. ИМХО, лучшие статьи на эту тему, прошедшие на NeurIPS c 90+ цитированиями:
[1] - Revisiting Deep Learning Models for Tabular Data, 2021
[2] - On Embeddings for Numerical Features in Tabular Deep Learning, 2022
💪 Сетки рвут бустинг несмотря на то, что работы фокусируются на изначально сложных для глубокого обучения задачах, на которых доминируют бустинги традиционно доминируют. Более того, в статье идет сравнение с хорошо натюненными бустингами.
👀 Взляните на ключевые результаты из статьи. В списке ниже указаны модели и их среднее места по задачам в бенчмарке (меньше - лучше).
- Классический MLP - 8.5
- XGBoost - 4.6
- Transformer и кусочно-линейные эмбеддинги - 3.7
- CatBoost - 3.6
- MLP и эмбеддинги с периодическими активациями - 3.0
Рассмотрим основные идеи и техники, помогающие улучшить качество ваших нейронок:
🌟 Архитектурные модификации. Простая модификация MLP c добавлением BatchNorm и пробросных связей подобно ResNet уже показывает существенные улучшения по сравнению с базовым вариантом и является хорошим бейзлайном. Однако, системные приросты показывает предложенная в [1] трансформер-архитектура, изначально использующая эмбеддинги фичей и механизм внимания.
🌟 Эмбеддинги для числовых фичей. Обычно числовые фичи передаются в MLP напрямую, но можно добиться буста качества за счет расширения их размерность, применяя для этого эмбеддинги. Любые варианты эмбеддингов числовых фичей существенно бустят табличные модели и снижают разницу между архитектурными конфигурациями. Для максимального улучшения в работе [2] выделяются две более сложные схемы организации эмбеддингов - с использованием кусочно-линейных функций и периодических активаций.
🅰️ В практике Лаборатории табличные данные появляются в разных форматах: как в виде структурированных фичей, так и в виде сырых последовательностей. Наибольший интерес вызывает применение глубокое обучение там, где оно изначально имеет преимущества - это могут быть чисто неструктурированные данные, или же объединение их с табличными фичами для получения одной сильной модели.
🤔 Отметим следующий интересный факт - чем больше данных имеется, тем менее сильно влияют различные архитектурные модификации и другие техники. Это особенно относятся к табличным данным - зачастую задачи на них и общая структура самих данных куда более простые, чем на неструктурированных доменах вроде картинок или текстов, и возможность полностью описать задачу большим числом данных становится абсолютно реальной на практике.
Потестить различные техники из статей можно в песочнице нашего соревнования на Boosters, причем как на чисто табличных агрегатах, так и на последовательных данных. У двух статей есть открытый исходный код, так что с реализациями мучиться не придется.
🤔 Слово "бустинг" в этом посте оказалось популярнее множества слов {"mlp", "сетка"}.
💬 Автор поста @oasidorshin ответит на ваши вопросы про сравнение сеток с бустингами в комментариях.
#mlsysdesign #dl_in_finance
🤖 Большой пласт задач машинного обучения на практике - задачи на табличных данных, которые чаще всего решаются при помощи градиентного бустинга. Стандартная для табличных данных MLP-архитектура обычно имеет хуже качество и требует больше ресурсов для обучения и тюнинга.
🤔 Можно ли применять глубокое обучение более эффективно?
🔍 Yandex Research активно занимается исследованиями в этой области. ИМХО, лучшие статьи на эту тему, прошедшие на NeurIPS c 90+ цитированиями:
[1] - Revisiting Deep Learning Models for Tabular Data, 2021
[2] - On Embeddings for Numerical Features in Tabular Deep Learning, 2022
💪 Сетки рвут бустинг несмотря на то, что работы фокусируются на изначально сложных для глубокого обучения задачах, на которых доминируют бустинги традиционно доминируют. Более того, в статье идет сравнение с хорошо натюненными бустингами.
👀 Взляните на ключевые результаты из статьи. В списке ниже указаны модели и их среднее места по задачам в бенчмарке (меньше - лучше).
- Классический MLP - 8.5
- XGBoost - 4.6
- Transformer и кусочно-линейные эмбеддинги - 3.7
- CatBoost - 3.6
- MLP и эмбеддинги с периодическими активациями - 3.0
Рассмотрим основные идеи и техники, помогающие улучшить качество ваших нейронок:
🌟 Архитектурные модификации. Простая модификация MLP c добавлением BatchNorm и пробросных связей подобно ResNet уже показывает существенные улучшения по сравнению с базовым вариантом и является хорошим бейзлайном. Однако, системные приросты показывает предложенная в [1] трансформер-архитектура, изначально использующая эмбеддинги фичей и механизм внимания.
🌟 Эмбеддинги для числовых фичей. Обычно числовые фичи передаются в MLP напрямую, но можно добиться буста качества за счет расширения их размерность, применяя для этого эмбеддинги. Любые варианты эмбеддингов числовых фичей существенно бустят табличные модели и снижают разницу между архитектурными конфигурациями. Для максимального улучшения в работе [2] выделяются две более сложные схемы организации эмбеддингов - с использованием кусочно-линейных функций и периодических активаций.
🅰️ В практике Лаборатории табличные данные появляются в разных форматах: как в виде структурированных фичей, так и в виде сырых последовательностей. Наибольший интерес вызывает применение глубокое обучение там, где оно изначально имеет преимущества - это могут быть чисто неструктурированные данные, или же объединение их с табличными фичами для получения одной сильной модели.
🤔 Отметим следующий интересный факт - чем больше данных имеется, тем менее сильно влияют различные архитектурные модификации и другие техники. Это особенно относятся к табличным данным - зачастую задачи на них и общая структура самих данных куда более простые, чем на неструктурированных доменах вроде картинок или текстов, и возможность полностью описать задачу большим числом данных становится абсолютно реальной на практике.
Потестить различные техники из статей можно в песочнице нашего соревнования на Boosters, причем как на чисто табличных агрегатах, так и на последовательных данных. У двух статей есть открытый исходный код, так что с реализациями мучиться не придется.
🤔 Слово "бустинг" в этом посте оказалось популярнее множества слов {"mlp", "сетка"}.
💬 Автор поста @oasidorshin ответит на ваши вопросы про сравнение сеток с бустингами в комментариях.
#mlsysdesign #dl_in_finance
Трудности перевода
🤔 Модель ровно по три раза выбрала мужской и женский род.
Как думаете почему так произошло❓
- Модель переобучилась под конкретный датасет.
- Модель не уверена в своем ответе.
- Новый вид борьбы с дискриминацией. 🤡
Как можно исправить эту проблему❓
- Постобработка текста после перевода.
- Добавление специальных токенов, определяющих пол автора.
💬 Расскажите, как вы добавляете пользовательские признаки в nlp-модели для перевода и чат-бота.
📨 Какие сейчас самые актуальные статьи по этой теме?
#mlsysdesign
🤔 Модель ровно по три раза выбрала мужской и женский род.
Как думаете почему так произошло❓
- Модель переобучилась под конкретный датасет.
- Модель не уверена в своем ответе.
- Новый вид борьбы с дискриминацией. 🤡
Как можно исправить эту проблему❓
- Постобработка текста после перевода.
- Добавление специальных токенов, определяющих пол автора.
💬 Расскажите, как вы добавляете пользовательские признаки в nlp-модели для перевода и чат-бота.
📨 Какие сейчас самые актуальные статьи по этой теме?
#mlsysdesign
Как научить нейронку решать задачу лучше специалиста?
Рассмотрим процесс, в котором решение принимает специалист в предметной области. Например, это может быть врач, ставящий диагноз по ЭКГ или флюорограмме, оператор колл-центра, обслуживающий клиентов, или даже дата сайентист, обучающий модели.
🤔 Как разработать модели, которые будут работать лучше этих специалистов?
👉 Пойдем по стандартному алгоритму работы DSа:
1. Начнем с глубокого интервью со специалистом, где выясним на основании каких данных и какие он принимает решения.
2. Переведем задачу в термины машинного обучения.
3. Соберем данные, необходимые для принятия решения, и целевую переменную.
4. Замеряем качество работы специалиста при помощи кросс-разметки.
Отлично, задачу поставили, данные собрали, качество замеряли.
👉 Минуточку, модели машинного обучения - это не искусственный интеллект, они всего лишь учатся восстанавливать параметрическую зависимость между данными и целевой переменной и делают это с погрешностью.
😓 Получается, модель всегда будет работать хуже человека за счет наличия погрешности?
Действительно модели будут в среднем работать хуже специалиста, но есть выход:
1. Обучаться на примерах, в которых согласованы несколько специалистов.
2. Использовать в обучении примеры лучших специалистов/экспертов.
📈 Комбинация из этих подходов позволит работать лучше, чем плохой специалист и средний специалист. Лучших специалистов получится превзойти, если обучаться на разметке комитета лучших специалистов и запрещать им объединяться на практике)
🤔 Не стоит забывать про еще один тип погрешности, связанный с неточностью постановки задачи. Например, в случаях классификации на 1000+ классов авторы каталога классов могут заложить в него заведомо неразделимые для экспертов классы.
👉 В итоге, точность работы в модели в бизнес-процессе ограничивается комбинаций модельной ошибки, погрешностью в разметке и погрешностью в постановке задачи.
💬 Как бы вы поставили задачу по оптимизации работы дата сайентистов?)
#mlsysdesign #nlp
Рассмотрим процесс, в котором решение принимает специалист в предметной области. Например, это может быть врач, ставящий диагноз по ЭКГ или флюорограмме, оператор колл-центра, обслуживающий клиентов, или даже дата сайентист, обучающий модели.
🤔 Как разработать модели, которые будут работать лучше этих специалистов?
👉 Пойдем по стандартному алгоритму работы DSа:
1. Начнем с глубокого интервью со специалистом, где выясним на основании каких данных и какие он принимает решения.
2. Переведем задачу в термины машинного обучения.
3. Соберем данные, необходимые для принятия решения, и целевую переменную.
4. Замеряем качество работы специалиста при помощи кросс-разметки.
Отлично, задачу поставили, данные собрали, качество замеряли.
👉 Минуточку, модели машинного обучения - это не искусственный интеллект, они всего лишь учатся восстанавливать параметрическую зависимость между данными и целевой переменной и делают это с погрешностью.
😓 Получается, модель всегда будет работать хуже человека за счет наличия погрешности?
Действительно модели будут в среднем работать хуже специалиста, но есть выход:
1. Обучаться на примерах, в которых согласованы несколько специалистов.
2. Использовать в обучении примеры лучших специалистов/экспертов.
📈 Комбинация из этих подходов позволит работать лучше, чем плохой специалист и средний специалист. Лучших специалистов получится превзойти, если обучаться на разметке комитета лучших специалистов и запрещать им объединяться на практике)
🤔 Не стоит забывать про еще один тип погрешности, связанный с неточностью постановки задачи. Например, в случаях классификации на 1000+ классов авторы каталога классов могут заложить в него заведомо неразделимые для экспертов классы.
👉 В итоге, точность работы в модели в бизнес-процессе ограничивается комбинаций модельной ошибки, погрешностью в разметке и погрешностью в постановке задачи.
💬 Как бы вы поставили задачу по оптимизации работы дата сайентистов?)
#mlsysdesign #nlp
📺 Не знакомы с методами древних и предпочитаете видео-контент? Не смог убедить, в итоге, вас интересуют только лучшие стратегии тюнинга BERTа? Смотрите Моделирование на практике из трека NLP in Practice.
💬 Что у вас крутится в проде?)
#mlsysdesign #nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Жизненный цикл моделей на примере задачи self-driving
🤔 Как показать обывателю чем занимаются дата сайентисты на самом деле? Нужно попросить их собрать MVP наглядного, популярного и одновременно полезного продукта за короткий промежуток времени. В рамках него показать ключевые элементы жизненного цикла моделей: постановки задачи, сбора данных, разработки модели, внедрения модели, тестирования модели и быть может даже мониторинга ее качества.
🚘 Решение задачи автопилота на игрушечных машинках с мозгами из микрокомпьютеров стало идеальным форматом для реализации намеченной цели. Потребовались небольшие денежные инвестиции и порядка пяти часов работы от шести команд дата сайентистов. Комбинация динамичного формата соревнования и интервью с self-driving командой из yandex стало отличным продюсерским решением от @flesspro и собрало на ютубе порядка 140 тысяч просмотров на данный момент (одна социальная сеть напомнила об этом спустя четыре года)
🤬 У нашей команды решение задачи было максимально приближенно к реальным будням работы дата сайентиста, ведь в этом проекте пошло не так практически все: сначала не работал джойстик у машинки, потом мы не могли к ней поключить с эппловской техники (другой в команде не было), а под конец у нас сел аккумулятор на машинке. Однако это было соревнование по data science, где успех в первую очередь зависит от качества собранных данных.
🗑 Принцип "Garbage in, Garbage out" особенно остро влияет на результат ml-based проекта, когда мусор содержится в целевой переменной. Робастность в этом проекте была ключом к успеху, ведь машинке нужно было уметь выпутываться из сложных ситуаций, когда она сбила фишки или выехала с трека.
💪 Все технические сложности мы успешно преодолели и параллельно собрали качественный датасет, который сделал наше решений максимально робастным. Результат на видео достигнут совместно с @meacca и @anokhin_alexandr.
📹 Очумелые ручки беспилотников: Битва дата саентистов
💬 Какие вы знаете более наглядные примеры работы дата сайентистов для обывателей?
#mlsysdesign #личный_опыт #видео
🤔 Как показать обывателю чем занимаются дата сайентисты на самом деле? Нужно попросить их собрать MVP наглядного, популярного и одновременно полезного продукта за короткий промежуток времени. В рамках него показать ключевые элементы жизненного цикла моделей: постановки задачи, сбора данных, разработки модели, внедрения модели, тестирования модели и быть может даже мониторинга ее качества.
🚘 Решение задачи автопилота на игрушечных машинках с мозгами из микрокомпьютеров стало идеальным форматом для реализации намеченной цели. Потребовались небольшие денежные инвестиции и порядка пяти часов работы от шести команд дата сайентистов. Комбинация динамичного формата соревнования и интервью с self-driving командой из yandex стало отличным продюсерским решением от @flesspro и собрало на ютубе порядка 140 тысяч просмотров на данный момент (одна социальная сеть напомнила об этом спустя четыре года)
🤬 У нашей команды решение задачи было максимально приближенно к реальным будням работы дата сайентиста, ведь в этом проекте пошло не так практически все: сначала не работал джойстик у машинки, потом мы не могли к ней поключить с эппловской техники (другой в команде не было), а под конец у нас сел аккумулятор на машинке. Однако это было соревнование по data science, где успех в первую очередь зависит от качества собранных данных.
💪 Все технические сложности мы успешно преодолели и параллельно собрали качественный датасет, который сделал наше решений максимально робастным. Результат на видео достигнут совместно с @meacca и @anokhin_alexandr.
💬 Какие вы знаете более наглядные примеры работы дата сайентистов для обывателей?
#mlsysdesign #личный_опыт #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
Как мы освободили операторов от классификации текстов на 1000+ классов
💬 Делимся историей, как мы помогаем операторам горячей линии бороться с рутиной.
Рассказываем:
- как мы построили процесс разметки,
- какие ML-решения применили,
- как клиентские фичи помогают улучшить предсказания.
Также вы узнаете, с какими вызовами нам пришлось столкнуться и как мы прошли путь от MVP до стабильной системы в проде.
📉 В результате нам удалось сократить среднюю длительность сессии (AHT) на 30 секунд.
Много ли это — 30 секунд на одном диалоге? Что думаете? Напишите в комментариях
📌 Надеемся, наш опыт поможет вам избежать очевидных (и не очень) ошибок при построении собственного эффективного решения.
👉 Подробнее — в статье
#статьи #mlsysdesign
💬 Делимся историей, как мы помогаем операторам горячей линии бороться с рутиной.
Рассказываем:
- как мы построили процесс разметки,
- какие ML-решения применили,
- как клиентские фичи помогают улучшить предсказания.
Также вы узнаете, с какими вызовами нам пришлось столкнуться и как мы прошли путь от MVP до стабильной системы в проде.
📉 В результате нам удалось сократить среднюю длительность сессии (AHT) на 30 секунд.
Много ли это — 30 секунд на одном диалоге? Что думаете? Напишите в комментариях
📌 Надеемся, наш опыт поможет вам избежать очевидных (и не очень) ошибок при построении собственного эффективного решения.
👉 Подробнее — в статье
#статьи #mlsysdesign
🔎 Навигация по каналу Нескучный Data Science
🚀 Нескучный Data Science читают уже больше 10000 человек. В канале уже опубликовано порядка 200 постов и уверен, новичкам сложно ориентироваться в нем, поэтому настало время структуризировать контент.
О чем этот канал?
1️⃣ #карьера - полезные советы по построению и развития карьеры в Data Science.
2️⃣ #статьи, #курсы, #митапы, #соревнования, #видео - образовательные материалы для развития ваших hard-скиллов.
3️⃣ #личный_опыт, #подкасты, #мини_интервью - жизненные опыт меня в текстовом, аудио и видео-форматах.
4️⃣ #mlsysdesign - особенности разработки и внедрения Data Science на практике.
5️⃣ #dl_in_finance - посты про применения нейронных сетей в задачах финтеха.
7️⃣ #nlp - посты про решения задач по обработке естественного языка.
8️⃣ #ML_Lab - про команду Лаборатории машинного обучения.
🤝 Спасибо каждому из вас за подписку, буду стараться делиться с вами и дальше полезным контентом!
💬 Напишите, пожалуйста, в комментариях какого контента вам хотелось бы побольше, какие тематики стоит добавить, а от чего лучше отказаться.
🚀 Нескучный Data Science читают уже больше 10000 человек. В канале уже опубликовано порядка 200 постов и уверен, новичкам сложно ориентироваться в нем, поэтому настало время структуризировать контент.
О чем этот канал?
🤝 Спасибо каждому из вас за подписку, буду стараться делиться с вами и дальше полезным контентом!
💬 Напишите, пожалуйста, в комментариях какого контента вам хотелось бы побольше, какие тематики стоит добавить, а от чего лучше отказаться.
Please open Telegram to view this post
VIEW IN TELEGRAM