Если сохранять анонимность, то в этом деле, похоже, есть смысл.
Останется ли он в DeepMind или перейдет в Твиттер, это станет его козырем.
В Google должность главного эксперта по ИИ перестанет быть недостижимой мечтой.
Если же он перейдет в Твиттер, то, сколько бы он ни заплатил этому молодому человеку из Хуа, зарплатный пакет от Маска окупит это как минимум вдвойне.
Как ни крути, он в выигрыше.
— По рукам. Я поручу людям провести мелкомасштабную проверку, — сказал Бабушкин.
— Договорились, — ответил Чэнь Си.
Зачем делать всё самому?
Зачем иметь собственные видеокарты?
Разве плохо поймать белого волка голыми руками?
...
Игорь Бабушкин сначала еще раз внимательно перечитал документацию.
Затем он изменил некоторые формулировки и формат данных, переименовав всё так, как привык сам.
И только после этого отправил всё необходимое для небольшого эксперимента своему доверенному лицу через личную электронную почту.
Чэнь Си он также дал личный адрес, а не рабочий ящик Google.
Ник Уолш, нанятый им подчиненный, не особо выделялся в команде. У него было лицо человека, хронически страдающего от недосыпа, и он имел привычку бродить по офису в старой толстовке.
Способный и преданный. Если Игорь Бабушкин и правда перейдет в Твиттер, Ник будет первым, кого он заберет с собой.
— Ник, я отправил тебе письмо, посмотри. Нужно провести эксперимент. Делай всё изолированно: не заливай в главный репозиторий, не используй названия проектов. Считай, что это моя личная подработка.
Когда Нику позвонили, он как раз сидел за кухонным столом и доедал пиццу, оставшуюся со вчерашней вечеринки.
Услышав это, он ничуть не удивился.
По его мнению, для Игоря это было в порядке вещей — внезапно подкинуть какую-нибудь идею и попросить проверить её или заняться чем-то еще.
Каждую неделю в их команде рождалась масса ценных идей, вот только до реализации доходили единицы.
Поэтому он просто ответил:
— Хорошо, мистер Бабушкин.
Едва он договорил, как на том конце повесили трубку, а он продолжил жевать пиццу.
Доев, он перетащил свой Mac на стол, открыл ноутбук, почту и скачал документы.
«...Количество программ-кандидатов, доля прохождения видимых тестов и охват стратегий — это три разные вещи. Модель может создать иллюзию изобилия с помощью масштабной выборки, но при этом продолжать топтаться в нескольких узких семействах отказов...»
«Да это же прямой удар по уязвимостям AlphaCode», — подумал Ник.
Он читал дальше. Формат данных был расписан предельно детально.
Каждый обучающий сэмпл охватывал всё: от описания задачи и программы-кандидата до неявных допущений, границ отказов, минимальных контрпримеров и так далее.
Дочитав до этого места, первой реакцией Ника было: «Какая морока!», а второй: «Новая схема настройки данных, скорее всего, сработает».
Он начал собирать минимальную среду для валидации согласно документации.
Ограничения, установленные Игорем Бабушкиным, были предельно ясны: не использовать внутренние чувствительные данные, не касаться производственной системы, не затрагивать основной пайплайн AlphaCode, а использовать только открытые задачи и небольшие наборы программ-кандидатов.
Игорь выбрал такой путь, потому что не хотел, чтобы Google об этом узнала.
Он все еще планировал использовать эту модель, чтобы набить себе цену, выбирая между Google и Твиттером.
Ник отобрал из открытых соревнований партию задач с понятной структурой, упорядочил программы-кандидаты согласно документации, разметил часть ошибочных решений с указанием причин сбоя, а затем с помощью скриптов сгенерировал целевые состязательные зонды.
Поначалу он был слегка раздражен, потому что работа казалась слишком ручной.
Красивые метрики — это, конечно, здорово.
Но лишь при условии, что эти красивые метрики модель выдает сама.
А не так, что ты заранее знаешь, какой результат тебе нужен, и специально настраиваешь или даже вручную подгоняешь показатели.
Почему в будущем модели из Хуа по результатам тестов будут показывать результаты, сопоставимые с американскими, но в реальном использовании разрыв будет очевиден?
Да потому что их слишком сильно подгоняли вручную ради красивых цифр на бенчмарках.
В документе от босса было заранее отмечено: первый раунд должен доказать, может ли переменная «семейство отказов» дать дополнительную информацию.
Если эта переменная не покажет ценности даже на небольшой ручной разметке, то нет никакого смысла писать отдельную программу для её автоматизации.
В первый день он прогнал первую базовую линию: после обычной выборки и фильтрации видимыми тестами программы-кандидаты с точки зрения синтаксической кластеризации выглядели весьма разрозненно.
Если судить по традиционным методам, модель выдала немало различных решений.
Но стоило протестировать их с помощью состязательных зондов, как программы-кандидаты начали валиться целыми пачками.
Разные имена переменных, разные структуры циклов, внешне отличающиеся решения — а в итоге все они ломались на одних и тех же граничных условиях.
Ник, уставившись на результаты, прогнал тесты еще раз.
Результат оказался почти таким же.
Его охватил азарт.
Смутные подозрения подтвердились программно.
Раньше это было лишь размытым явлением, а теперь его смогли измерить.
Многие в команде догадывались, что крупномасштабная выборка порождает ложное разнообразие, и понимали, что программы-кандидаты грешат однородностью.
Но знать — это одно, а суметь измерить это количественно — совсем другое.
Затем, следуя методу из документации, он обучил небольшой дискриминатор стратегий.
Модель была грубой, а объем данных — небольшим.
Она не шла ни в какое сравнение с AlphaCode, не говоря уже о публичном релизе.
Однако даже на этой крошечной выборке она куда стабильнее, чем синтаксическая кластеризация, группировала внешне разные, но по сути родственные программы-кандидаты.
Когда он внедрил генератор контрпримеров в процесс фильтрации, количество оставшихся решений-кандидатов сократилось, зато их стратегическая взаимодополняемость заметно возросла.
Экспортировав результаты в таблицу, он запустил еще три группы с разными случайными зернами.
Величина прироста колебалась, но общая тенденция сохранялась.
Этот крошечный эксперимент нащупал ахиллесову пяту — разрыв между синтаксическим разнообразием и разнообразием стратегий.
Несмотря на позднюю ночь, Ник не выдержал и позвонил Бабушкину.
Как только соединение установилось, Бабушкин без лишних любезностей спросил:
— Ну что там с результатами?
— Результаты просто поразительные, — ответил Ник. — Мне кажется, это правильный путь. Босс, вы сделали это!
По возбужденному тону Ника было ясно, что этот мелкомасштабный тест дал результаты, превзошедшие все ожидания Игоря Бабушкина.
Тот ничего не ответил, погрузившись в раздумья.
Не дождавшись ответа, Ник продолжил:
— В мелкомасштабной валидации эта схема действительно выявила коллапс стратегий, который обычная кластеризация не замечала. Убойная сила состязательных зондов для программ-кандидатов отнюдь не случайна. Метрика «семантически эффективный объем выборки» в плане тестирования работает просто отлично.
— Более того, после добавления дискриминатора стратегий оставшиеся решения гораздо ближе к по-настоящему различным подходам. Иногда они даже образуют скрытую взаимодополняемость.
— Хорошо, я понял, — сказал Игорь Бабушкин.
И повесил трубку.
Игорь Бабушкин оказался перед сложным выбором.
Если запускать полноценное обучение модели, то скрыть от DeepMind и стоящей за ней Google использование вычислительных мощностей, системные логи и потоки данных будет попросту невозможно.
Риск будет колоссальным.
В итоге останется лишь покорно доложить обо всем совету директоров Google.
Другой путь — пойти к Маску и использовать карты Твиттера для обучения.
Но и тут была проблема: тогда он лишится возможности набивать себе цену на два фронта. Придется торговаться только с Маском, а путь назад в Google будет закрыт.
Google или Твиттер? Вот в чем вопрос.

Комментарии

Загрузка...