Как разговаривать с роботом

После недельной суматохи на онлайн-конференции NeurIPS в этом году (собрание исследователей машинного обучения и искусственного интеллекта) я решил потратить несколько минут, чтобы отдать дань уважения одной из главных бумажных наград. он достался команде OpenAI Языковые модели — немногие ученики за их работу над моделью естественного языка GPT-3, которая является своего рода сильно увеличенной версией предыдущих поколений (подумайте о сотнях миллиардов параметров), достигающей новых пороги производительности — теперь достигается то, что известно как обучение за несколько выстрелов, когда предварительно обученная модель может впечатляюще воспроизводить разумный сгенерированный язык из небольшой текстовой подсказки, предоставленной в качестве входных данных.

Я ранее писал о GPT-3, поэтому не буду здесь вдаваться в подробности, но один из самых интересных выводов, сделанных в ходе обсуждений с их командой, касался инженерных текстовых подсказок, предоставляемых пользователями. для того, чтобы взаимодействовать с моделью, поскольку оказывается, что существуют ограничения на масштаб входных данных, которые могут порождать запрос, в частности ограниченный пределом в 2048 токенов. Если есть что-то, чему я научился за все годы в твиттере, так это тому, как писать в пределах количества символов, поэтому я подумал, что это может быть забавным упражнением, чтобы увидеть, как творчески можно создать несколько подсказок. Конечно, поскольку OpenAI несколько скуп на предоставление доступа к своей модели, это будет очень односторонний разговор, и читателю останется только догадываться, как GPT-3 может реагировать на такие подсказки. Да так без лишних слов.

Подсказка 1

Название: Тензорные сети для машинного обучения

Тензорные сети - это инструмент линейной алгебры, в котором операции, применяемые между тензорами, могут быть упрощены путем проведения переводов в эквивалентные конфигурации соответствующих тензоров с упрощенной структурой. Часто эти переносы приводят к сжатию или соединению соседних тензоров с помощью операций, выполняемых как функция размеров по различным осям. Например, вектор размерности (x), соединенный произведением с матрицей размерностей (x, y), можно считать эквивалентным вектору размерности (y). В качестве другого примера, тензор высокого ранга с размерностями N = 5 (a, b, c, d, e), содержащий параметры exp(N), может быть переведен в эквивалентное состояние, смоделированное как произведение N различных тензоров, которые вместе содержат только поли (N) параметры. При выполнении трансляций между несколькими тензорами вычислительные затраты для достижения некоторого конкретного конечного состояния могут варьироваться в зависимости от пути выполняемых трансляций, поэтому для определения оптимального пути преобразования может потребоваться не только определение желаемой эквивалентной конфигурации для достижения, но и выбор соответствующего пути преобразования. сокращения.

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

Вопрос: Как можно применить тензорные сети для ускорения обучения нейронной сети с помощью обратного распространения ошибки?

Отвечать:

Подсказка 2

Название: Самостоятельное обучение для машинного обучения

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

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

Вопрос: Как можно адаптировать крупномасштабную предварительную подготовку с самоконтролем, выполненную для GPT-3, для получения генеративной модели в модальности изображения?

Отвечать:

Подсказка 3

Название: Предварительная обработка табличных данных с помощью Automunge

Automunge — это платформа Python с открытым исходным кодом для предварительной обработки табличных данных. Построенный на основе библиотеки Pandas, он представляет собой готовое решение для сборки конвейеров данных. При автоматизации функция нормализует числовые наборы, бинаризирует категориальные наборы и кодирует записи даты и времени. Пользователь также может указать из библиотеки методов разработки признаков для различных типов данных. Как правило, преобразования основаны на «подгонке» к свойствам функции в назначенном наборе поездов для согласованного и эффективного применения к последующим данным, например, для вывода, что решает такие проблемы, как стохастическая несогласованность или утечка данных, возможная, когда наборы нормализуются по отдельности. . Библиотека также представляет собой обобщенное решение для заполнения отсутствующих данных с помощью кнопки «заполнение ML», где модели машинного обучения обучаются для каждой функции для прогнозирования заполнения. Когда обучающие данные подготавливаются в функции automunge(.), словарь Python заполняется, фиксируя все шаги и параметры преобразований, которые могут быть сохранены пользователем или разделены между исследователями для полностью последовательной обработки с малой задержкой последующих данных на обучать заданную основу в функции postmunge(.).

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

Вопрос: Чем может быть полезна библиотека Automunge в контексте вашего рабочего процесса?

Отвечать:

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

Для дальнейшего чтения, пожалуйста, ознакомьтесь с Оглавлением, Рекомендациями по книгам и Рекомендациями по музыке. Подробнее об Automunge: automunge.com