Роб Фарбер

Неудивительно, что модели ИИ, такие как искусственные нейронные сети (ИНС), не нуждаются в высокоточных арифметических операциях. Достаточно взглянуть на биологический мозг, чтобы понять, что Мать-природа не требует 32- или 64-битной арифметической точности. Что удивительно, так это то, как быстро и повсеместно арифметика пониженной точности была принята поставщиками для ускорения приложений, которые используют эти ценные операции вывода ИНС, которые составляют ядро ​​многих корпоративных приложений. Математика пониженной точности — это функция, которая становится все более важной для создания ценности для корпоративных клиентов и предоставляет все больше и больше данных в руки лиц, принимающих решения. "[я]"

Поставщики извлекли выгоду из 4-кратного повышения производительности арифметических операций с пониженной точностью, чтобы ускорить приложения ИИ, чтобы их продукты выделялись на рынке. Это согласуется с признанием того, что влияние ИИ будет «везде», что включает в себя изменения в оборудовании центра обработки данных, программном обеспечении, рабочих нагрузках приложений, конструкции узлов и почти повсеместном коммерческом применении высокопроизводительного анализа данных с интенсивным использованием данных (HPDA). ).

Даже с такими техническими реалиями, как перемасштабирование, которое делает 4-кратное увеличение производительности при более низкой точности скорее теоретическим пределом, чем обычно наблюдаемым ускорением, видимость рынка для пониженной точности была интенсивной и быстрой, о чем свидетельствуют широко распространенные оптимизированные аппаратные экземпляры. во всем, от графических процессоров до процессоров последнего поколения. Навин Рао (вице-президент и генеральный директор Intel, группа продуктов искусственного интеллекта) отмечает, что Intel работает над удовлетворением потребностей ИИ во всем предприятии с помощью возможностей ЦП с пониженной точностью, таких как ускорение DL, чтобы достичь будущего состояния «ИИ. везде», нам нужно будет решить проблему скопления генерируемых данных и обеспечить предприятиям возможность эффективно использовать свои данные, обрабатывать их там, где они собираются, когда это целесообразно, и более разумно использовать свои первичные ресурсы. Центры обработки данных и облака должны иметь доступ к производительным и масштабируемым вычислениям общего назначения и специализированному ускорению для сложных приложений ИИ.

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

Причина принятия: пониженная точность делает память более эффективной

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

Глядя на ряд вариантов использования центров обработки данных (проиллюстрированных ниже), мы ясно видим, что архитектуры ИНС быстро выросли по размеру и сложности, став в некоторых случаях поистине огромными. Зеленый овал, представляющий принятые в настоящее время тесты ИИ по сравнению с вариантами использования в центрах обработки данных, иллюстрирует скорость роста с точки зрения параметров ИНС по сравнению с входными данными и то, как использование предприятия опережает стандартные тесты ИИ. Это увеличение размера и сложности (наряду с соответствующей необходимостью сохранения высокой производительности) способствовало быстрому принятию арифметики пониженной точности.

Устаревание из-за больших требований к памяти ИИ

Сдвиг ИИ в сторону ИНС с большой памятью бросается в глаза в таких проектах, как проект Google, в котором используется 4,9 миллиарда параметров ИНС, о чем будет сказано ниже.

Большой объем памяти явно необходим, так как одна копия параметров ИНС в представлении FP32 превышает объем памяти 16 ГБ сопроцессоров Intel и ускорителей NVIDIA, проданных всего несколько лет назад. Точно так же верхняя ось Y показывает, что нефтегазовые и медицинские приложения нагружают и превышают объем памяти большинства устройств ускорения ИИ с объемом входных данных от 10 до 100 гигабайт.

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

Поставщики ЦП подчеркивают требования ИИ к объему памяти с помощью векторных инструкций BF16 и INT8 пониженной точности и подчеркивают универсальность ЦП на основе MIMD по сравнению с ускорителями на основе SIMD. (Устройства MIMD могут выполнять все вычислительные рабочие нагрузки. SIMD накладывает некоторые ограничения на рабочие нагрузки, которые могут быть обработаны. Поэтому их называют ускорителями.) вычисления и специализированное ускорение для сложных приложений ИИ».

Когда может работать пониженная точность

В двух словах, пониженная точность работает для вычислений, способных выдержать меньший динамический диапазон, который может храниться в числах INT8 и bfloat16. ИНС очень хорошо работают в шумных вычислительных средах. Интуитивно это имеет смысл, поскольку биологический мозг считается шумным, но легко найти статьи, в которых обсуждается устойчивость ИНС к шумным вычислениям. [iii] [iv] На самом деле ИНС часто обучаются с шумом, чтобы уменьшить переоснащение, поэтому снижение точности можно рассматривать как преимущество. [v] Однако наивное преобразование вычислений в арифметику пониженной точности может иметь апокалиптические последствия для динамического диапазона (и, как следствие, точности) вычислений.

Текущее состояние дел в отрасли заключается в использовании некоторой формы эвристического метода, чтобы определить, какие части обученной ИНС можно преобразовать для использования математики с пониженной точностью, не влияя на точность ИНС неприемлемым образом. .

Несколько наглядных уроков об арифметике пониженной точности

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

Накладные расходы на изменение масштаба

Чтобы сохранить точность прогнозирования, только часть ИНС может использовать арифметику INT8 пониженной точности. Хорошей новостью является то, что вечером, после учета вычислительных затрат на масштабирование, среднее время на пакет осталось ниже, чем при полной арифметике FP32. Таким образом, уменьшенные ИНС пониженной точности могут работать быстрее и, следовательно, могут обеспечить преимущество производительности для клиентов центров обработки данных. Стоимость масштабирования можно увидеть на графике ниже.

Производительность должна учитывать как параллелизм, так и масштабирование.

Текущие реализации INT8 и bfloat16 (или FP16) упаковывают две или четыре арифметические операции в одну 32-битную ячейку памяти. Это удобно использует существующие 32-битные пути в устройствах с процессором и графическим процессором (FP16 в случае графического процессора). Однако такая упаковка означает, что аппаратное обеспечение должно обрабатывать два или четыре вектора этой длины параллельно, что естественно подходит для векторного оборудования.

Оптимизация данных переменной длины

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

Пониженная точность увеличивает пропускную способность логического вывода

В совокупности авторы статьи наблюдали общее увеличение пропускной способности модели Transformer в 4,5 раза за счет оптимизации конвейера и использования оптимизаций INT8/VNNI DL boost на двухпроцессорном процессоре Intel Xeon Platinum 8268 второго поколения с оптимизированным FP32 на двухпроцессорном процессоре Intel Xeon 8168. платформы.

Первые два столбца показывают результаты пропускной способности, полученные с использованием входных данных, отсортированных по словам по умолчанию, измеренных с 1 и 2 потоками на узел соответственно. Следующие два набора используют отсортированные по токенам входные данные для 2 и 4 потоков на узел соответственно. Последние три набора используют как сортировку по токенам, так и параллельную пакетную обработку с 2, 4 и 8 потоками на узел соответственно.

Честно говоря, сравнительная производительность INT8 и FP32 после оптимизации конвейера.

Команда заметила, что оптимизация конвейера также улучшила производительность ИНС на основе FP32.

Сравнивая оптимизированное масштабирование пропускной способности с использованием INT8/VNNI по сравнению с лучшим FP32 SKX-8168 с лучшей конфигурацией системы, можно сказать, что максимальная пропускная способность INT8 была в 1,51 раза больше по сравнению с двумя потоками вывода/сокетом с сортировкой токенов и параллельной пакетной обработкой.

Резюме

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

Роб Фарбер — глобальный консультант по технологиям и автор, обладающий обширным опытом в области высокопроизводительных вычислений и технологий машинного обучения, который может дать новое определение бизнес-моделям и исследованиям. С Робом можно связаться по адресуinfo AT techenablement.com.

[i] https://www.enterpriseai.news/2019/08/19/translating-ai-and-storage-innovations-into-business-value-innovate-or-die/

[ii] https://lenovopress.com/lp1066-intel-optane-dc-persistent-memory

[iii] https://arxiv.org/abs/1811.10649

[iv] https://arxiv.org/abs/1807.06555

[v] https://machinelearningmastery.com/train-neural-networks-with-noise-to-reduce-overfitting/