newsmode
search
Меню
arrow_back Назад

The Metagame of Applying Machine Learning

auto_awesomeКраткое саммари

Юджин Янь сравнивает применение машинного обучения в индустрии с «метаигрой» — игрой вокруг самой игры, где побеждают за счёт внешних знаний и факторов (примеры: камень-ножницы-бумага, StarCraft и синдикаты, заработавшие $700 000 на лотерее Cash WinFall). Знать ML и применять его на работе — две разные вещи, и автор делится практическими советами. Главные идеи: начинать с проблемы, а не с технологии (метод «почему?» помог выявить, что задача доставки была не про ранжирование, а про прогнозирование); уделять больше внимания дизайну системы и обучающих данных, чем архитектуре модели, и предпочитать простые модульные решения. Важно чётко формулировать цели и метрики (конверсия против выручки, краткосрочные против долгосрочных), быстро итерировать через A/B-тесты и уважать существующие системы, продолжая учиться. Автор также подчёркивает роль коммуникации и доверия со стейкхолдерами, готовность к неудачам и постоянному экспериментированию. Наконец, он напоминает о чистой совести: однажды он отказался от проекта, когда страховщик захотел предсказывать тех, кто НЕ заболеет, чтобы продавать им больше страховок.

The Metagame of Applying Machine Learning

Метаигра применения машинного обучения

[ machinelearning career 🩷 ] · 12 min read

[ machinelearning career 🩷 ] · 12 мин чтения

The metagame is the game about/beyond the game, where you use external knowledge or factors to your advantage. For example, if you were playing rock-paper-scissors with a random stranger, knowing that males tend to throw rock and females tend to throw scissors tilts the game in your favor. For StarCraft, studying your opponent’s past gameplay for preferred build and play styles helps with preparing counterstrategy.

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

Or for the Massachusetts State Lottery, exploiting the rules allowed a syndicate to profit $700,000 in one week. Under the lottery (Cash WinFall) rules, players can win by matching 2, 3, 4, 5, or 6 of the six drawn numbers. And when the jackpot hits $2 million and no one wins it, the prize money “rolls down” to the smaller prizes (i.e., matching 2 - 5 of six drawn numbers). When this happens, picking 5 out of 6 numbers can lead to prize money 10x higher than the $4,000 in a regular week.

Или в случае лотереи штата Массачусетс эксплуатация правил позволила синдикату заработать $700 000 за одну неделю. По правилам лотереи (Cash WinFall) игроки могут выиграть, угадав 2, 3, 4, 5 или 6 из шести вытянутых чисел. И когда джекпот достигает $2 млн и никто его не выигрывает, призовой фонд «спускается вниз» к меньшим призам (то есть за угадывание 2–5 из шести вытянутых чисел). Когда это происходит, угадывание 5 из 6 чисел может принести призовых в 10 раз больше, чем $4 000 в обычную неделю.

For six years, three syndicates milked Cash WinFall on “roll down weeks”. They bought a large number of tickets (312,000 by one syndicate leader’s account) and shifted the statistics in their favor, letting them win more than they lose. In a ballsy move, one syndicate from MIT bought 700,000 tickets—in a single week—to “push” the jackpot over $2 million earlier than expected—they made off with nearly the entire jackpot and pocketed $700,000 in profit.

На протяжении шести лет три синдиката доили Cash WinFall в «недели спуска вниз». Они покупали огромное количество билетов (312 000 по словам одного из лидеров синдиката) и смещали статистику в свою пользу, что позволяло им выигрывать больше, чем проигрывать. В дерзком ходе один синдикат из MIT купил 700 000 билетов — за одну неделю — чтобы «протолкнуть» джекпот за отметку $2 млн раньше ожидаемого; они забрали почти весь джекпот и положили в карман $700 000 прибыли.

How does this relate to machine learning? As an applied scientist, machine learning is the game, applying it in industry is the metagame. When I first started, I found a large gap between knowing machine learning (“here’s how a decision tree splits”) and applying it at work (“the decision tree ranker we shipped increased CTR and conversion by x%”).

Как это связано с машинным обучением? Для прикладного исследователя машинное обучение — это игра, а его применение в индустрии — метаигра. Когда я только начинал, я обнаружил большой разрыв между знанием машинного обучения («вот как дерево решений делает разбиение») и его применением на работе («ранкер на дереве решений, который мы запустили, увеличил CTR и конверсию на x%»).

While I don’t claim to be good at the game, let alone the metagame, here’s some tips on applying ML at work. Also see Vicki Boykis’ great post on the ghosts in the data.

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

Start from the problem (not the tech)

Начинайте с проблемы (а не с технологии)

Choosing the right problem is half the battle won. Don’t solve problems that don’t matter to customers or the business, no matter how exciting the tech is. What matters to the business? Usually, it’s increased revenue or reduced cost, or capabilities that allow the business to solve other problems.

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

Identifying the right problem sometimes involves peeling the onion. In a previous role, someone from the logistics team had this request: “Could we boost the rank of products that are Fulfilled By Lazada (FBL)?”  The request made business sense—I thought they wanted to improve the rank of FBL products to incentivize merchants to use FBL. Nonetheless, I asked, “Why?”

Выявление правильной проблемы иногда напоминает чистку луковицы. На прошлой работе кто-то из команды логистики обратился с такой просьбой: «Можем ли мы поднять в ранжировании товары, которые отгружаются через Lazada (FBL)?» Просьба имела бизнес-смысл — я думал, они хотят повысить ранг FBL-товаров, чтобы стимулировать продавцов использовать FBL. Тем не менее я спросил: «Зачем?»

“Because FBL products are delivered faster.”  Now it’s clearer how this benefits customers; they get products faster! Nonetheless, I asked “Why?” again.

«Потому что FBL-товары доставляются быстрее.» Теперь яснее, как это выгодно клиентам: они получают товары быстрее! Тем не менее я снова спросил «Зачем?».

“Because when it’s delivered faster, we get fewer complaints about late deliveries.”  Ah, now the root problem emerges. But late deliveries wasn’t a ranking problem—it was a delivery forecasting (and logistics) problem. To solve this problem, we should reduce the occurrence of underestimations in our delivery forecasting algorithm.

«Потому что когда доставка быстрее, мы получаем меньше жалоб на задержки доставки.» Ага, теперь проявляется корневая проблема. Но задержки доставки были не проблемой ранжирования — это была проблема прогнозирования доставки (и логистики). Чтобы решить её, нам следовало снизить частоту недооценок в нашем алгоритме прогнозирования доставки.

How we frame the problem is important too. To identify fraud we can either flag fraudulent transactions or greenlight safe transactions. To detect abuse on social networks, we can frame it as a supervised or unsupervised problem. As an unsupervised problem, we can adopt outlier detection (e.g., isolation forests) or network analysis (e.g., graph clustering). As a supervised problem, we’ll need to focus on collecting labelled data and having human-in-the-loop. Having the right frame often leads to outsized returns.

То, как мы формулируем проблему, тоже важно. Чтобы выявить мошенничество, мы можем либо помечать мошеннические транзакции, либо одобрять безопасные. Чтобы обнаруживать злоупотребления в соцсетях, мы можем сформулировать это как задачу обучения с учителем или без учителя. Как задачу без учителя — мы можем применить обнаружение выбросов (например, isolation forests) или анализ сетей (например, графовую кластеризацию). Как задачу с учителем — нам понадобится сосредоточиться на сборе размеченных данных и наличии человека в контуре (human-in-the-loop). Правильная формулировка часто приводит к непропорционально большой отдаче.

More system & training data design, less model design

Больше дизайна системы и обучающих данных, меньше дизайна модели

I’ve often found the overall system design to matter more than model architecture (most people refer to figure 1 in this tired paper). Also, model performance depends less on the model than the data we feed the model. Beyond data quality and quantity, how we design training data to teach our models makes the biggest difference.

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

When designing systems, less is more. With three key components (e.g., Spark, SageMaker, Airflow) and a team of three people, each person can take ownership of one component and gain in-depth knowledge of it. They even have bandwidth to shadow each other. With six components (e.g., adding Kafka, Redis, Lambda), it becomes harder for each person to learn and operate what they’re tasked with, and you certainly won’t have redundancy. Also, simple designs ship faster and are easier to maintain.

При проектировании систем меньше — значит больше. С тремя ключевыми компонентами (например, Spark, SageMaker, Airflow) и командой из трёх человек каждый может взять на себя один компонент и получить глубокое знание о нём. У них даже есть запас времени, чтобы подстраховывать друг друга. С шестью компонентами (например, добавив Kafka, Redis, Lambda) каждому становится сложнее изучать и эксплуатировать то, что ему поручено, и у вас точно не будет резервирования. К тому же простые конструкции быстрее запускаются и легче поддерживаются.

Monzo Bank’s feature store is a great example. They had a problem of serving features from their analytics store in production and designed the simplest solution to solve it—they periodically dumped features from their analytics store (BigQuery) into their production feature store (Cassandra). No need for real-time feature processing. Anything more would have been excess ops burden that would slow them down in the long run.

Feature store банка Monzo — отличный пример. У них была проблема с подачей фичей из аналитического хранилища в продакшен, и они спроектировали простейшее решение: они периодически выгружали фичи из аналитического хранилища (BigQuery) в продакшен-feature store (Cassandra). Никакой обработки фичей в реальном времени. Что-либо большее стало бы избыточной операционной нагрузкой, которая замедлила бы их в долгосрочной перспективе.

I didn’t want the feature store to become a replacement for things that already existed, or a behemoth that is owned by my (small) team. Instead, I learned about what we needed by looking for patterns in the machine learning models that we were shipping. — Neal Lathia, Monzo Bank

Я не хотел, чтобы feature store стал заменой тому, что уже существовало, или гигантом, которым владеет моя (небольшая) команда. Вместо этого я узнавал о том, что нам нужно, выискивая закономерности в моделях машинного обучения, которые мы запускали. — Neal Lathia, Monzo Bank

How we design training data can also make a difference. In natural language processing (NLP), Word2Vec and self-attention have led to breakthroughs on many NLP tasks. To benefit from this, companies have found innovative ways to shape user behavior data into sequences and fit the NLP paradigm. This has enhanced our ability to model entities (e.g., items, customers, queries) via embeddings. Plus, it’s all self-supervised!

То, как мы проектируем обучающие данные, тоже может иметь значение. В обработке естественного языка (NLP) Word2Vec и self-attention привели к прорывам во многих задачах NLP. Чтобы извлечь из этого пользу, компании нашли изобретательные способы превращать данные о поведении пользователей в последовательности и вписывать их в NLP-парадигму. Это усилило нашу способность моделировать сущности (например, товары, клиентов, запросы) через эмбеддинги. И вдобавок это всё self-supervised!

A key part of training data design is creating negative samples—sometimes, it’s more an art than a science. For their search model, Facebook found that using impressed-but-not-clicked as negative samples led to 55% less recall (relative to using random samples). In contrast, Amazon found that using non-click impressions and accounting for it in their loss function led to better results. JD found that using a 1:1 ratio of random negatives and batch negatives led to optimal results. Clearly, there’s no one size fits all approach.

Ключевая часть дизайна обучающих данных — создание негативных примеров; иногда это скорее искусство, чем наука. Для своей поисковой модели Facebook обнаружил, что использование «показанных, но не кликнутых» в качестве негативных примеров привело к recall на 55% ниже (относительно использования случайных примеров). Напротив, Amazon обнаружил, что использование показов без кликов и учёт этого в функции потерь привели к лучшим результатам. JD выяснил, что использование соотношения 1:1 случайных негативов и негативов из батча даёт оптимальные результаты. Очевидно, единого универсального подхода не существует.

When designing models, multiple modular models usually work better than an all-in-one model. When all-in-one models fail, they fail badly and are nearly impossible to debug. It’s easier to have a few smaller models with distinct objectives and implementation. For example, most industry recommenders have a two-stage approach: Retrieval which is fast but coarse and focuses on recall, and ranking which is slower but more precise and focuses on precision. This also allows multiple teams to work independently and in parallel.

При проектировании моделей несколько модульных моделей обычно работают лучше, чем единая модель «всё в одном». Когда модели «всё в одном» дают сбой, они дают сбой сильно и их почти невозможно отлаживать. Проще иметь несколько меньших моделей с отдельными целями и реализацией. Например, большинство промышленных рекомендательных систем используют двухэтапный подход: retrieval (отбор), который быстр, но груб и нацелен на recall, и ranking (ранжирование), который медленнее, но точнее и нацелен на precision. Это также позволяет нескольким командам работать независимо и параллельно.

Real-time recommendation architecture for Instagram (source)

Архитектура рекомендаций в реальном времени для Instagram (источник)

(Nonetheless, I’ve noticed a trend of companies shifting from modular to all-in-one. For example, Baidu found that having separate retrieval and ranking steps were suboptimal and combined them into a single step. TenCent reaped gains by going multi-task with their video recommender, training it to optimize click, watch, and share events simultaneously. That said, most of the time, it makes sense to use modular models, unless you’re certain you’ve squeezed all the juice from them.)

(Тем не менее, я заметил тренд: компании переходят от модульных моделей к моделям «всё в одном». Например, Baidu обнаружил, что отдельные этапы retrieval и ranking субоптимальны, и объединил их в единый этап. TenCent получил выигрыш, перейдя к многозадачности в своём видеорекомендере, обучая его одновременно оптимизировать события клика, просмотра и шеринга. При этом в большинстве случаев имеет смысл использовать модульные модели, если только вы не уверены, что выжали из них весь сок.)

Be clear about your objectives and measurements

Чётко определяйте свои цели и измерения

Don’t confuse a lower model loss with a better product. How often has a model excelled in offline validation but flopped in an A/B test? (The reverse keeps me up at night—how often have I prematurely killed good models because they didn’t have the best result offline?) AFAIK, having an experimentation pipeline that lets you quickly iterate through A/B tests is the best way to assess models.

Не путайте меньшую потерю модели с лучшим продуктом. Как часто модель блистала на офлайн-валидации, но проваливалась в A/B-тесте? (Обратное не даёт мне спать по ночам — как часто я преждевременно убивал хорошие модели только потому, что у них не было лучшего результата офлайн?) Насколько мне известно, наличие пайплайна экспериментов, позволяющего быстро итерировать через A/B-тесты, — лучший способ оценивать модели.

If I had an hour to build a model, I’d spend 55 minutes building a fast and unambiguous evaluation procedure and 5 minutes trying out models.

— Sean J. Taylor (@seanjtaylor) April 10, 2021

Будь у меня час на построение модели, я бы потратил 55 минут на создание быстрой и однозначной процедуры оценки и 5 минут на пробу моделей. — Sean J. Taylor (@seanjtaylor) 10 апреля 2021

Sometimes, your objectives might be clear and conflicting and you have to mediate between stakeholders.

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

In my case, we found two objectives for which we wanted to optimize: conversion and revenue. However surprisingly, when I said I could jointly optimize both and potentially find a nice optimum between the two, I got pushback b/c some parities wanted to favor conversion over revenue or vice versa! — Alex Egg

В моём случае мы нашли две цели, которые хотели оптимизировать: конверсию и выручку. Однако, что удивительно, когда я сказал, что могу совместно оптимизировать обе и потенциально найти хороший оптимум между ними, я получил отпор, потому что некоторые стороны хотели отдавать приоритет конверсии над выручкой или наоборот! — Alex Egg

Optimizing for conversion might involve reducing the price point of products in recommendations and search results; optimizing for revenue might do the opposite. Groceries are cheaper and tend to convert more often (e.g., weekly) relative to mobile phones (e.g., once every 2 - 3 years). Furthermore, different categories might have different goals—electronics might focus on revenue while FMCG might focus on stickiness (e.g., weekly average users) and recurring conversion.

Оптимизация под конверсию может означать снижение цен товаров в рекомендациях и результатах поиска; оптимизация под выручку может делать обратное. Продукты дешевле и склонны конвертироваться чаще (например, еженедельно) по сравнению с мобильными телефонами (например, раз в 2–3 года). Более того, у разных категорий могут быть разные цели — электроника может фокусироваться на выручке, а FMCG — на удержании (например, среднем числе пользователей в неделю) и повторной конверсии.

Be clear about the measurement period—is it short-term (e.g., session-based), long-term (e.g., 1-year estimate), or something in between? (We can estimate long-term changes via approaches such as double machine learning.) Certain personas, such as new or expecting parents, are a boon for long-term metrics. Get them to start using your diapers and milk formula and they’ll likely be your customer for the next few years—babies are finicky about their milk and using different diapers can cause a rash. Similarly, groceries tend to be bought weekly and are great for stickiness and customer lifetime value.

Чётко определяйте период измерения — он краткосрочный (например, в рамках сессии), долгосрочный (например, оценка на 1 год) или что-то посередине? (Долгосрочные изменения можно оценивать такими подходами, как double machine learning.) Определённые персоны, такие как новые или будущие родители, — находка для долгосрочных метрик. Заставьте их начать пользоваться вашими подгузниками и детской смесью, и они, скорее всего, останутся вашими клиентами на следующие несколько лет — младенцы привередливы к своему молоку, а использование разных подгузников может вызвать сыпь. Аналогично, продукты обычно покупаются еженедельно и отлично работают на удержание и пожизненную ценность клиента.

Keep learning, yet respect what came before

Продолжайте учиться, но уважайте то, что было до вас

The game of machine learning evolves quickly. In NLP, new booster packs are released yearly: Word2Vec (2013), GloVe, GRU (2014), FastText (2016), Transformer, GPT (2017), ELMo, BERT (2018), T5 (2019), etc. Reading papers keep us up to date so we can adopt new techniques to build better models. It also applies to system design. Planning to build a feature store? Learn how others have implemented them, what their key needs were, and the various patterns, before designing your own.

Игра под названием машинное обучение быстро эволюционирует. В NLP новые наборы дополнений выходят ежегодно: Word2Vec (2013), GloVe, GRU (2014), FastText (2016), Transformer, GPT (2017), ELMo, BERT (2018), T5 (2019) и т. д. Чтение статей позволяет нам оставаться в курсе, чтобы перенимать новые техники и строить лучшие модели. То же относится и к дизайну систем. Планируете построить feature store? Узнайте, как это делали другие, какими были их ключевые потребности и какие существуют паттерны, прежде чем проектировать свой.

Nonetheless, remember that we’re not building in a vacuum. Unless we’re working in a brand new startup, we’ll have existing systems to integrate or work around—it’s almost never an option to sweep it all away and start from scratch with the latest and greatest. Respect the existing systems that have been chugging along and invest the effort to learn why and how they solve existing problems.

Тем не менее помните, что мы строим не в вакууме. Если только мы не работаем в совершенно новом стартапе, у нас будут существующие системы, которые нужно интегрировать или обойти, — почти никогда нет возможности всё снести и начать с нуля с новейшим и лучшим. Уважайте существующие системы, которые исправно работают, и вложите усилия, чтобы понять, почему и как они решают текущие проблемы.

You need to speak and build trust for your work

Вам нужно уметь рассказать о своей работе и завоевать доверие к ней

Your work can’t speak for itself—you need to communicate its value to a non-technical audience. I’ve found internal newsletters helpful for increasing awareness about data and our team. We would share the results of our collaboration with various stakeholders and after each newsletter, stakeholders would reach out: “You know that thing you did for them? Can you do it for us?”  Open demos also work well.

Ваша работа не может говорить сама за себя — вам нужно донести её ценность до нетехнической аудитории. Я обнаружил, что внутренние рассылки полезны для повышения осведомлённости о данных и о нашей команде. Мы делились результатами нашего сотрудничества с разными стейкхолдерами, и после каждой рассылки стейкхолдеры обращались: «Знаете ту штуку, что вы сделали для них? Можете сделать её для нас?» Открытые демо тоже хорошо работают.

The human connection is also important for building trust. With trust, minor imperfections won’t matter; without trust, perfect work and analysis won’t get anywhere. Treat each stakeholder as a customer and friend and sincerely want for them to succeed. Learn how they work and what their goals are before leaping into a solution.

Человеческая связь тоже важна для построения доверия. С доверием мелкие недочёты не будут иметь значения; без доверия даже идеальная работа и анализ ничего не дадут. Относитесь к каждому стейкхолдеру как к клиенту и другу и искренне желайте им успеха. Узнайте, как они работают и каковы их цели, прежде чем бросаться в решение.

Still thinking about some advice from my last 1:1 from my boss:

"It's not the best idea or the best analysis that wins, it's the best relationship."

Is this the reason so many #DataScience and #Analytics projects fail?

— Erika Pullum (Swartz) she/hers (@eswartz) August 4, 2020

До сих пор думаю об одном совете с моего последнего 1:1 с начальником: «Побеждает не лучшая идея и не лучший анализ, а лучшие отношения». Не в этом ли причина, по которой так много проектов #DataScience и #Analytics проваливаются? — Erika Pullum (Swartz) she/hers (@eswartz) 4 августа 2020

Expect to fail, but keep calm and experiment a lot

Ожидайте неудач, но сохраняйте спокойствие и экспериментируйте много

I’ve many failed offline experiments and A/B tests but each non-positive result is still hard to swallow. It helps to view each loss as a learning opportunity, just like a game. Each is a puzzle to figure out and learn something valuable from, though there might be some that just can’t be cracked. (I still need to remind myself of this regularly.)

У меня было много провальных офлайн-экспериментов и A/B-тестов, но каждый неположительный результат всё равно трудно принять. Помогает смотреть на каждое поражение как на возможность научиться — прямо как в игре. Каждое из них — головоломка, которую нужно разгадать и из которой можно извлечь что-то ценное, хотя некоторые, возможно, так и не удастся раскусить. (Мне самому регулярно приходится напоминать себе об этом.)

You won't be able to solve every problem thrown at you, no matter how hard you try, and that's okay. You work your best towards it, and be content with what you managed to achieve.

— Zach Mueller (@TheZachMueller) February 6, 2021

Ты не сможешь решить каждую задачу, которую тебе подбрасывают, как бы сильно ни старался, и это нормально. Ты работаешь над ней по максимуму и довольствуешься тем, чего смог достичь. — Zach Mueller (@TheZachMueller) 6 февраля 2021

It also helps to always have an experiment or two ready to go. This helps me look towards the future and focus on the opportunities that lie ahead.

Также помогает всегда держать наготове эксперимент-другой. Это помогает мне смотреть в будущее и сосредотачиваться на возможностях, которые ждут впереди.

“Life is like riding a bicycle. To keep your balance, you must keep moving.” - Albert Einstein

«Жизнь как езда на велосипеде. Чтобы сохранять равновесие, нужно двигаться.» — Albert Einstein

Keep your conscience clean

Держите свою совесть чистой

Finally, if you’re in this for the long haul, keep your conscience clean. What you build has the ability to affect people, for better or for worse. I had previously built a model that could, given a person’s historical health events, predict chronic diseases (e.g., cardiovascular diseases, diabetes) 2 - 3 years in advance. We wanted to work with insurers on preventive care—they would save money on insurance payouts and we would improve people’s health.

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

One insurer had a surprising—and scary—idea. They asked if we could predict who would not develop chronic disease so they could sell them more insurance. From a business standpoint, it’s easier to make more money today than spend money (on preventive care) to save money tomorrow. But how long till it’s used to discriminate against the people who are most in need of health insurance? I wouldn’t have been able to sleep knowing that I had a part in it. Needless to say, I walked away.

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

Don’t neglect the metagame

Не пренебрегайте метаигрой

Machine learning is a fun game. Nonetheless, there’s a whole metagame around applying it at work and driving impact. I won’t cite statistics on how x% of companies still have difficulty deploying and reaping the benefits of ML, but the last I heard, it’s still dishearteningly high. I hope these tips help to increase the success rate.

Машинное обучение — увлекательная игра. Тем не менее вокруг его применения на работе и достижения результата существует целая метаигра. Не буду приводить статистику о том, что у x% компаний всё ещё есть трудности с развёртыванием и извлечением пользы из ML, но, по последним данным, которые я слышал, эта доля по-прежнему удручающе высока. Надеюсь, эти советы помогут повысить процент успеха.

If you’re playing this game, know that you’ll face frustration and disappointment. But I think the quests to use data and ML to help people are worth it. GLHF.

Если вы играете в эту игру, знайте, что вам предстоит столкнуться с разочарованием и досадой. Но я считаю, что цели использовать данные и ML на благо людей того стоят. GLHF.

How to go from knowing machine learning to applying it at work:

• More system & data design, less model design
• Be clear about objectives & measures
• Keep learning, yet respect what came before
• Keep your conscience clean

May the 4th be with you.https://t.co/Tx6RBcvu35

— Eugene Yan (@eugeneyan) May 5, 2021

Как перейти от знания машинного обучения к его применению на работе:• Больше дизайна системы и данных, меньше дизайна модели• Чётко определяйте цели и измерения• Продолжайте учиться, но уважайте то, что было до вас• Держите совесть чистойДа пребудет с вами May the 4th. https://t.co/Tx6RBcvu35— Eugene Yan (@eugeneyan) 5 мая 2021

Thanks to Yang Xinyi for reading drafts of this.

Спасибо Yang Xinyi за чтение черновиков.

If you found this useful, please cite this write-up as:

Если этот материал оказался полезным, пожалуйста, цитируйте его так:

Yan, Ziyou. (May 2021). The Metagame of Applying Machine Learning. eugeneyan.com. https://eugeneyan.com/writing/machine-learning-metagame/.

Yan, Ziyou. (May 2021). The Metagame of Applying Machine Learning. eugeneyan.com. https://eugeneyan.com/writing/machine-learning-metagame/.

or

или

@article{yan2021metagame, title = {The Metagame of Applying Machine Learning}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2021}, month = {May}, url = {https://eugeneyan.com/writing/machine-learning-metagame/} }

@article{yan2021metagame, title = {The Metagame of Applying Machine Learning}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2021}, month = {May}, url = {https://eugeneyan.com/writing/machine-learning-metagame/} }



Join 11,800+ readers getting updates on machine learning, RecSys, LLMs, and engineering.

Присоединяйтесь к 11 800+ читателям, получающим обновления о машинном обучении, RecSys, LLM и инженерии.