Habana Labs Goya предоставляет логические выводы по BERT

Goya превосходит T4 GPU в ключевом тесте NLP

BERT (Bidirectional Encoder Representations from Transformers) — это модель представления языка, основанная на нейронной архитектуре Transformer, представленная Google в 2018 году. Этот подход был быстро принят многими, поскольку он обеспечивал повышенную точность, а также способствовал дальнейшему развитию тенденции передачи обучение с двунаправленной архитектурой, которая позволяет одной и той же предварительно обученной модели успешно решать широкий набор задач НЛП. Habana Labs продемонстрировала, что одна PCIe-карта процессора логических выводов Goya HL-100 обеспечивает рекордную пропускную способность в 1527 предложений в секунду, выводя модель BERT-BASE, сохраняя при этом незначительную или нулевую потерю точности.

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

1) Предварительная подготовка базовой модели, общей для большого набора задач и вариантов использования, в которой моделируется языковое представление общего назначения, обучается на огромном количестве неаннотированного текста без присмотра.

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

Существует несколько причин, по которым рабочая нагрузка BERT так эффективно работает на архитектуре Goya:

1. Все операторы BERT изначально поддерживаются и отображаются непосредственно на аппаратные примитивы Goya, работая без какого-либо вмешательства хоста.

2. Для достижения оптимальной производительности развернута реализация смешанной точности с использованием инструментов квантования Habana, которые устанавливают требуемую точность для каждого оператора, чтобы максимизировать производительность при сохранении точности. BERT поддается квантованию с нулевой или незначительной потерей точности. Операции BERT GEMM оцениваются в INT16; другие операции, такие как нормализация слоя, выполняются в FP32.

3. Гетерогенная архитектура Goya идеально подходит для рабочей нагрузки BERT, поскольку оба ядра, механизм GEMM и ядра тензорной обработки (TPC), полностью используются одновременно, поддерживая небольшие размеры пакетов при высокой пропускной способности.

4. TPC Гойи обеспечивает значительное ускорение при вычислении нелинейных функций BERT, таких как GeLU (линейная единица ошибки Гаусса).

5. SRAM с программным управлением Goya позволяет повысить эффективность за счет оптимизации перемещения данных между различными иерархиями памяти во время выполнения.

Квантование со смешанной точностью привело к точности, сравнимой с исходной моделью, обученной в FP32, так что падение точности составляет не более 0,11% (проверено на задачах SQuAD 1.1 и MRPC).

Для количественной оценки и сравнительного анализа результатов BERT мы использовали демоверсию Nvidia, запустив задачу ответа на вопрос SQuAD, идентифицировав ответ на входной вопрос в абзаце.

Используемая модель: Набор данных: SQuAD; Топология: BERT BASE, Слои = 12 Скрытый размер = 768 Головки = 12 Промежуточный размер = 3072 Макс. длина последовательности = 128.

Ниже приведены конфигурации платформ

Конфигурация Гойи:

Оборудование: Гойя HL-100; Процессор Xeon Gold 6152 @ 2,10 ГГц

Программное обеспечение: Ubuntu v-16.04.4; SynapseAI v-0.2.0–1173

Конфигурация графического процессора:

Фурнитура: Т4; ЦП Xeon Gold 6154@3Ghz/16GB/4 ВМ

Программное обеспечение: Ubuntu-18.04.2.x86_64-gnu; CUDA версии 10.1, cudnn7.5; ТензорРТ-5.1.5.0;

Реализации Goya и T4 выполняются с использованием смешанной точности 16-битных типов данных и типов данных FP32. Команда Habana работает над дальнейшей оптимизацией, включая использование представления данных смешанной точности с использованием 8-битного типа данных.

Процессор Goya обеспечивает от 1,67x до 2,06x (пакет 12/24 соответственно) более высокую пропускную способность, чем T4 в задаче SQuAD, и все это при значительно более низкой задержке. Поскольку базовая модель BERT является основой многих приложений НЛП, мы ожидаем аналогичного ускорения вывода для других приложений НЛП.

Чтобы увидеть реальную демонстрацию задачи вопросов/ответов BERT SQuAD, работающей на Goya, посмотрите это короткое видео.

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