# Д. Скалли: «В машинном обучении данные заменяют традиционный код»

Источник: https://www.youtube.com/watch?v=7Mf4jNux4T8
Канал: The TWIML AI Podcast
Опубликовано: 19.05.2022

---

В свежем выпуске подкаста The TWIML AI Podcast ведущий Сэм Черрингтон обсудил с директором Google Brain Д. Скалли концепцию «данных как нового кода» и феномен долговых обязательств в машинном обучении. Эксперты пришли к выводу, что в современную эпоху проектирование архитектур уступило место гораздо более сложной задаче — систематическому сбору, курированию и верификации массивов информации. Разговор затронул эволюцию технического долга, ограничения традиционного тестирования и новые подходы к стресс-тестированию больших языковых моделей.

## 🎨 От холста к алгоритмам: нелинейный путь Д. Скалли в Google Brain
[[JUMP:01:23]]

Путь Д. Скалли в сферу искусственного интеллекта оказался нетипичным для кремниевой долины. Во время обучения в бакалавриате в конце 1990-х годов он специализировался на искусстве и глубоко исследовал проблемы визуального повествования. После выпуска Скалли работал школьным учителем в разных точках мира, включая Абу-Даби на Ближнем Востоке, Венесуэлу, Швейцарию и Калифорнию. 

Вернувшись в аспирантуру в области образования в районе 2001 года, он увлекся вопросом обучаемости концептов. Обнаружив, что в педагогике не хватает строгих математических моделей для описания сложности концепций, Скалли обратил внимание на машинное обучение, где уже активно использовались такие инструменты, как размерность Вапника — Червоненкиса (VC dimension). Это заставило его полностью сменить траекторию: он заново прошел базовые курсы, получил магистерскую и докторскую степени в Университете Тафтса (Tufts University) и в 2008 году присоединился к Google.

В Google Скалли начинал с прикладных задач — разработки систем для блокировки мошеннической и спам-рекламы. По его воспоминаниям, в тот период машинное обучение еще не являлось де-факто стандартом: инженеры полагались на сложные эвристические правила, созданные вручную. Скалли стал непосредственным участником глобального перехода ИТ-индустрии от жестко закодированных алгоритмов к обучаемым системам. Позже он на протяжении нескольких лет занимался моделями предсказания кликабельности рекламы (click-through prediction), которые функционировали в условиях жестких ограничений по задержке, огромного масштаба и постоянных обратных связей. Этот жесткий производственный опыт, где система обязана работать каждую секунду каждого дня, и заставил исследователя осознать критическую важность долгосрочной поддержки ИИ-инфраструктуры.

## 📉 Семь лет спустя: метафора технического долга в эпоху ИИ
[[JUMP:00:43]]

Тема долга в инженерной среде ИИ прочно ассоциируется с именем гостя благодаря его знаменитой научной работе «Скрытый технический долг в системах машинного обучения» (The hidden technical debt in machine learning systems). На профильных конференциях, таких как TWIML Con, диаграмма из этой статьи стала настолько культовой, что участники даже устраивали шуточную игру «бинго», отмечая ее появление в докладах. Скалли с иронией признается, что предпочел бы жить в мире, где описанные им проблемы уже решены, однако спустя семь лет после публикации статьи технический долг в ИИ остается актуальным.



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

В системах машинного обучения, по мнению Скалли, данные занимают место традиционного кода. Из этого тезиса логически вытекает фундаментальная проблема: если при удвоении кодовой базы программисты удваивают количество тестов и документации, то при удвоении объема данных необходимо пропорционально масштабировать объемы верификации поведения модели. По оценке Скалли, на современном этапе развития индустрии около 100% усилий инженеров смещается в сторону сбора, фильтрации и оценки применимости данных, поскольку сам процесс обучения моделей стал тривиальным благодаря развитым фреймворкам.

## 🔢 Иллюзия точности: чему GPT-3 научился без спроса
[[JUMP:11:59]]

Один из наиболее ярких примеров накопления неявного долга Скалли видит в эволюции больших языковых моделей, начиная с оригинальной статьи о GPT-3 от OpenAI. Разработчики модели зафиксировали удивительный эмерджентный эффект: без каких-либо специализированных инструкций, просто обучаясь на массивах интернет-текста, нейросеть самостоятельно освоила базовую арифметику. Способность складывать числа возникала скачкообразно по мере роста объема данных и параметров.

Однако Скалли призывает обратить внимание на графики точности в той же публикации: даже при миллиардах параметров и колоссальном объеме обучающей выборки модель не достигла 100% точности при сложении трехзначных чисел. С точки зрения контроля качества это создает опасный прецедент:

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

Традиционное программное обеспечение проверяется детерминировано. По мнению Скалли, если у вас есть API для сложения чисел, вам достаточно протестировать несколько пограничных примеров. В статистических системах, какими являются нейросети, сбои могут скрываться в самых неожиданных точках пространства признаков. Проектировщики используют машинное обучение именно там, где человек не способен явно прописать алгоритм через цепочки условий «если-то». Попытки создать ИИ на основе жестких экспертных правил предпринимались в 1980-х и 1990-х годах и, как констатирует гость, потерпели полный крах.

## 📊 Кризис допущения IID и коварство корреляций
[[JUMP:16:09]]

Источником жесткого системного долга Скалли считает чрезмерную веру академического сообщества в концепцию i.i.d. — независимо и одинаково распределенных случайных величин (independent and identically distributed). В классических научных статьях для NeurIPS принято брать фиксированный датасет, случайно выделять из него тестовую часть и обучаться на оставшейся. Если реальное распределение идеально совпадает с обучающим, эта схема работает безупречно.

В практической индустриальной разработке ситуация иная. Скалли подчеркивает, что в реальном мире завтрашний день никогда не является точной копией вчерашнего, из-за чего концепция i.i.d. разрушается под воздействием сдвига данных (data set shift). Главная опасность здесь кроется в фундаментальном статистическом правиле: корреляция не равна причинно-следственной связи.

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

## 🔍 Искажения выборки и «карточки данных» как средство защиты
[[JUMP:19:11]]

В качестве типичного примера скрытого искажения данных Скалли приводит работу рекомендательных систем, например, интернет-магазина обуви. Алгоритм собирает информацию о кликах и покупках только тех моделей обуви, которые он сам вывел на первые строчки выдачи. Данные о товарах, оставшихся внизу страницы или вовсе скрытых от пользователя, в систему не поступают. Возникает специфическое смещение репрезентативности (representation bias). Для борьбы с ним Скалли рекомендует внедрять механизмы рандомизации, балансирующие между эксплуатацией известных паттернов и исследованием новых пространств признаков (explore to exploit).

Для минимизации рисков Скалли предлагает использовать концепцию Тимнит Гебру (Timnit Gebru) — «паспорта данных» (Data Sheets for Datasets или Data Cards). Гость проводит аналогию с физической инженерией: при покупке операционного усилителя к нему прилагается многостраничный технический паспорт с указанием рабочих диапазонов, граничных напряжений и условий эксплуатации. Аналогичные документы должны создаваться и для ИИ-датасетов:

* Источники происхождения информации.
* Методология сбора и разметки.
* Выявленные слепые зоны и ограничения.
* Рекомендованные и запрещенные сценарии использования.

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

## 🕸️ Каузальные графы и стресс-тестирование языковых моделей
[[JUMP:23:57]]

Альтернативным системным подходом к управлению долгом данных Скалли называет методы причинно-следственного анализа, опирающиеся на фундаментальные работы Джуды Перла (Judea Pearl). В идеальном сценарии построение полного графа каузального вывода (causal inference graph) позволяет полностью решить проблему ложных корреляций. Но поскольку для создания исчерпывающего графа требуется всеведущий оракул, который в дефиците, на практике инженерам приходится взаимодействовать с отраслевыми экспертами для фиксации хотя бы ключевых узлов каузальной сети.

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

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

1.  Формировать специализированные наборы стресс-тестов (аналог юнит-тестов для ПО) для поиска скрытых уязвимостей.
2.  Использовать каузальные инварианты как дополнительный регуляризатор непосредственно в процессе оптимизации, заставляя модель игнорировать ложные связи.

## 📐 Дисциплина оценки: от 80-страничных отчётов до метода LOCO
[[JUMP:29:06]]

Скалли отмечает позитивный тектонический сдвиг в культуре публикаций ИИ-лабораторий. В качестве примера он приводит недавний релиз модели PaLM от Google: объем статьи составил около 80 страниц, и большая часть текста была посвящена не архитектурным нюансам, а детализированному описанию стресс-тестов и пограничных сценариев. Исследователь считает такой подход эталоном для индустрии.

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

### Метод исключения кластера (Leave-One-Cluster-Out, LOCO)
Вместо стандартной кросс-валидации, где подвыборки формируются случайным образом, данные предварительно разбиваются на плотные кластеры. При обучении один из кластеров целиком удерживается и используется строго как тестовый. Таким образом, инженеры искусственно создают у модели «слепую зону». Если ИИ демонстрирует стабильное качество на изолированном кластере, это доказывает его устойчивость к сдвигам данных.

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

Для реализации этого метода необходима адекватная функция расстояния. Для белков хорошо подходит редакционное расстояние (edit distance), а для изображений — независимые векторные представления, полученные из сторонних нейросетей, чтобы избежать предвзятости оцениваемой модели.

## 🤝 Будущее за интерфейсом «человек-данные»
[[JUMP:33:57]]

Одним из самых недооцененных инструментов Скалли считает активное обучение (active learning). Традиционно его применяют для отбора наиболее информативных примеров для разметки на основе неопределенности модели. Скалли предлагает использовать метрики неопределенности инверсивно — для локализации точек отказа ИИ и обнаружения незаполненных областей в пространстве признаков.

При этом метод имеет ограничения. В задачах фильтрации спама активное обучение эффективно, пока доля спама составляет около 10%. Но если спамеры становятся изощренными, а их доля падает до 0,001%, алгоритм начинает генерировать пустые срабатывания. Скалли ссылается на работу Джоша Аттенберга (Josh Attenberg), опубликованную около 15 лет назад, где предлагалась концепция «исследования с помощью модели» (model-assisted exploration). Вместо полной автоматизации алгоритмы должны снабжать эксперта-человека интерактивными инструментами поиска аномалий и контрфактуальных примеров.

Индустрия ИИ, по мнению Скалли, вплотную подошла к необходимости формирования новой дисциплины — человеко-информационного взаимодействия (Human-Data Interaction, HDI), по аналогии с классическим HCI. Нам жизненно необходимы интерфейсы, позволяющие человеку концептуально осмыслять датасеты масштабом в миллиарды объектов.

Подводя итог, директор Google Brain напоминает, что профессиональные статистику всегда знали о первостепенной важности данных, и в этом смысле «они были правы с самого начала». Разница лишь в том, что современный масштаб данных сделал классические методы разведочного анализа (EDA) неприменимыми без специализированных ИТ-инструментов. Сам же технический долг данных Скалли предлагает измерять не жесткими метриками, а честным ответом на вопрос: «Насколько сильно вы тревожитесь за свою модель и какие именно уязвимости не дают вам спать по ночам?». Косвенными индикаторами долга могут служить частота ночных вызовов инженеров из-за сбоев продакшена и сложность внесения изменений в систему.