До сих пор все современные нейросети БЯМ использовали метод матичного умножения. В языковых моделях слова представлены числами, организованными в матрицы. Матрицы умножаются друг на друга, определяя важность отдельных слов или отношений между словами в предложении и предложений в абзаце. В больших моделях триллионных таких чисел.
«Можно сказать, что нейросети — это выдающиеся машины матричного умножения, — сказал Джейсон Эшрагян из Университета Санта-Круз, главный автор статьи. — Чем больше матрица, тем большему может научиться ваша нейросеть».
Для умножения матриц необходимо, чтобы они где-то хранились, а затем быстро извлекались, когда нужно выполнить вычисление. Обычно их хранят на сотнях отдельных графических процессоров вроде тех, которые производит, например, Nvidia. Для перемножения матриц на различных процессорах данные приходится перемещать. Это самый энергоемкий процесс в работе нейросетей, пишет сайт университета.
«Мы получили ту же производительность при намного меньшей стоимости — все, что нам нужно было сделать, это фундаментально изменить работу нейронных сетей, — сказал Эшрагян. — Затем мы пошли дальше и собрали аппаратное обеспечение под свои задачи».
Новая стратегия заключается в отказе от матричного умножения при помощи двух методов. Первый — сделать все числа в матрицах троичными, чтобы они принимали одно из трех значений: минус единицы, ноля или плюс единицы. Тогда можно обойтись сложением, не прибегая к умножению.
Второй метод приспособил эту стратегию к способу коммуникации матриц между собой. Вместо умножения каждого отдельного числа одной матрицы с каждым отдельным числом другой матрицы, как это происходит обычно, была разработана стратегия наложения матриц. Она позволяет выполнять только самые важные операции и дает тот же математический результат.
При этом ученые смогли поддержать производительность нейронных сетей при помощи синхронизируемых вычислений. С их помощью нейросеть хранит память о важной информации, которую обрабатывает. Сравнение эффективности модели с новой версией алгоритма Llama показало, что он равны по производительности даже в масштабе миллиардов параметров.
Новая нейросеть приспособлена к работе с графическими процессорами. На стандартных графических процессорах разработка расходовала примерно в десять раз меньше памяти и работала приблизительно на 25% быстрее других моделей. Это значит, она позволит использовать алгоритмы ИИ на устройствах с небольшим объемом памяти, например, на смартфонах.
Однако в полной мере преимущества новой нейросети проявились на специально собранном аппаратном обеспечении на основе программируемой пользователем вентильной матрицы. Модель превзошла пропускную способность человека, то есть выдавала слова быстрее, чем человек может читать, всего на 13 ваттах энергии. Если бы для той же задачи использовались графические процессоры, они израсходовали бы около 700 ватт, то есть в 50 с лишним раз больше. Но исследователи не останавливаются на достигнутом и собираются оптимизировать технологию еще больше.