Устраняя самый дорогостоящий с точки зрения вычислений элемент большой языковой модели, инженеры значительно повышают энергоэффективность при сохранении производительности, сообщает news.ucsc.edu
Доказано, что большие языковые модели, такие как ChaptGPT, способны выдавать удивительно интеллектуальные результаты, но энергетические и денежные затраты, связанные с запуском этих масштабных алгоритмов, заоблачно высоки. По последним оценкам, запуск ChatGPT 3.5 обходится в 700 000 долларов в день в виде затрат на электроэнергию и оставляет после себя огромный углеродный след.
В новом препринте исследователи из Калифорнийского университета в Санта-Крус показывают, что можно исключить самый дорогостоящий с точки зрения вычислений элемент запуска моделей большого языка, называемый матричным умножением, при сохранении производительности.
Избавившись от матричного умножения и запустив свой алгоритм на специализированном оборудовании, исследователи обнаружили, что они могут обеспечить работу языковой модели с миллиардом параметров всего на 13 ваттах, что примерно равно энергии, потребляемой лампочкой и более чем в 50 раз эффективнее, чем [это делает] обычное оборудование.
Даже при упрощенном алгоритме и гораздо меньшем потреблении энергии новая модель с открытым исходным кодом достигает той же производительности, что и современные модели, такие как Meta Llama.
«Мы получили ту же производительность при гораздо меньших затратах — все, что нам пришлось сделать, это в корне изменить принцип работы нейронных сетей», — говорит Джейсон Эшрагиан, доцент кафедры электротехники и вычислительной техники в Школе инженерии Баскина и ведущий автор статьи. «Затем мы сделали еще один шаг вперед и создали специальное оборудование».
Понимание стоимости
До сих пор все современные нейронные сети — алгоритмы, на основе которых строятся большие языковые модели, — использовали технику, называемую матричным умножением.
В больших языковых моделях слова представляются в виде чисел, которые затем организуются в матрицы. Матрицы умножаются друг на друга для создания языка, выполняя операции, которые взвешивают важность определённых слов или выделяют связи между словами в предложении или предложениями в абзаце. Языковые модели более крупного масштаба содержат триллионы таких чисел.
“Нейронные сети, в некотором смысле, являются прославленными машинами для умножения матриц”, — сказал Эшрагиан. “Чем больше ваша матрица, тем большему количеству вещей может научиться ваша нейронная сеть”.
Чтобы алгоритмы могли перемножать матрицы, матрицы необходимо где-то хранить, а затем извлекать, когда придет время вычисления.
Это решается путем хранения матриц на сотнях физически разделенных графических процессоров (GPU), которые представляют собой специализированные схемы, предназначенные для быстрого выполнения вычислений на очень больших наборах данных, разработанные такими аппаратными гигантами, как Nvidia.
Чтобы умножить числа из матриц на разных графических процессорах, данные необходимо перемещать — процесс, который создает большую часть затрат нейронной сети с точки зрения времени и энергии.
Отказ от матричного умножения
Исследователи разработали стратегию, позволяющую избежать использования матричного умножения, используя два основных метода. Первый — это метод, позволяющий заставить все числа внутри матриц быть троичными, что означает, что они могут принимать одно из трех значений: отрицательное, нулевое или положительное. Это позволяет свести вычисления к суммированию чисел, а не к умножению.
С точки зрения информатики эти два алгоритма можно закодировать совершенно одинаково, но метод команды Эшрагяна позволяет избежать массы затрат на аппаратную часть.
«С точки зрения разработчика схем, вам не нужны расходы на умножение, которые влекут за собой целую кучу затрат», — говорит Эшрагян.
Вдохновением для этой стратегии послужила работа компании Microsoft, которая показала возможность использования троичных чисел в нейронных сетях, но не зашла так далеко, чтобы избавиться от умножения матриц или выложить свою модель на всеобщее обозрение. Для этого исследователи изменили стратегию взаимодействия матриц друг с другом.
Вместо того чтобы умножать каждое число в одной матрице на каждое число в другой матрице, как это обычно бывает, исследователи разработали стратегию, позволяющую получить те же математические результаты. При таком подходе матрицы накладываются друг на друга, и выполняются только самые важные операции.
«По сравнению с умножением матриц это довольно легкая операция», — говорит Руй-Цзе Чжу, первый автор статьи и аспирант в группе Эшрагяна. «Мы заменили дорогостоящую операцию более дешевой».
Несмотря на сокращение количества операций, исследователи смогли сохранить производительность нейронной сети, внедрив в процесс обучения модели вычисления, основанные на времени.
Это позволяет сети сохранять в “памяти” важную информацию, которую она обрабатывает, повышая производительность. Этот метод оправдал себя — исследователи сравнили свою модель с ультрасовременным алгоритмом Meta под названием Llama и смогли достичь той же производительности даже в масштабе миллиардов параметров модели.
Индивидуальные/пользовательские чипы
Исследователи разработали свою нейронную сеть для работы на графических процессорах, поскольку они стали повсеместно использоваться в индустрии ИИ, что позволило сделать программное обеспечение команды легкодоступным и полезным для всех, кто захочет его использовать.
На стандартных графических процессорах нейронная сеть потребляла в 10 раз меньше памяти и работала на 25 % быстрее, чем другие модели. Сокращение объема памяти, необходимого для запуска мощной языковой модели большого объема, могло бы проложить путь к тому, чтобы алгоритмы работали на полную мощность на устройствах с меньшим объемом памяти, таких как смартфоны.
Nvidia, ведущий мировой производитель графических процессоров, разрабатывает свое оборудование таким образом, чтобы оно было максимально оптимизировано для выполнения матричного умножения, что позволило ему доминировать в отрасли и сделать ее одной из самых прибыльных компаний в мире. Однако это оборудование не полностью оптимизировано для троичных операций.
Чтобы добиться еще большей экономии энергии, команда в сотрудничестве с доцентом Дастином Ричмондом и преподавателем Итаном Сифферманом с факультета компьютерных наук и инженерии Baskin Engineering создала специальное оборудование.
В течение трех недель команда создала прототип своего аппаратного обеспечения на схеме с широкими возможностями настройки, называемой программируемой вентильной матрицей (FPGA). Это оборудование позволяет им в полной мере использовать все функции энергосбережения, которые они запрограммировали в нейронной сети.
Благодаря этому аппаратному обеспечению модель превосходит человекочитаемую производительность, то есть выдает слова быстрее, чем читает человек, потребляя всего 13 ватт энергии.
Использование графических процессоров потребовало бы около 700 Вт энергии, а это означает, что специальное оборудование достигло более чем в 50 раз большей эффективности, чем графические процессоры.
Исследователи считают, что при дальнейшей разработке они смогут еще больше оптимизировать технологию для повышения энергоэффективности.
«Эти цифры уже очень солидные, но их очень легко сделать гораздо лучше», — говорит Эшрагян. «Если нам удастся уложиться в 13 ватт, только представьте, что мы сможем сделать с вычислительной мощностью целого центра обработки данных. У нас есть все эти ресурсы, но давайте использовать их эффективно».
Источник перевода: newsstreet.ru
Больше интересных статей, которые я не успеваю переводить, но которые можно почитать через онлайн-перевод, можно найти здесь: t.me/murrrzio
Инфа пока что - прогноз намерений. Без каких-либо гарантий и подтверждений.
Как неоднократно отмечалось - сейчас все любыми силами будут стараться хайповать на ИИ и стричь лохов "пока не началось". Конечно, хотелось бы, чтобы описываемый в материале подход - привел к заявленным результатам. Но верится с трудом.
Продолжаем наблюдать.


Комментарии
Вы не правильно поняли. Никакой троичной логики там нет. Просто матрицы квантуют и исключают необходимость умножения. Ну и соответственно 3-4 битов достаточно для хранения значений в отличии от ситуации с плавающей запятой. Троичная логика будет после перехода на аппаратные АСИКи для нейросетей. Это еще пару этапов эволюции железа и один-два года.
Ну, сами ребята в статье упирают на троичную логику.
Вот как это работает.
Объясните это ребятам, которые написали статью про использование троичной логики и аппаратную реализацию под неё.
Человек как раз и разбирает данную статью. У него отличный английский и он хорошо разбирается в теме. Если ничего не путаю у него докторская степень по физике. И ни о никакой аппаратной реализации третичной логики он не упоминает. Вероятно это слишком важный факт про который можно просто забыть? Возможно это где то в ваших мечтах, из Советского Союза и первых ПК. Вы хоть представляете, что значит реализовать аппаратную реализацию третичной логики для модели с миллиардом параметров? Не вводите людей в заблуждение.
Если вы по английски читать не умеете, то это не значит, что другие не прочитали в статье про прототип для аппаратной реализации.
И да, у автора в его переводе про аппаратную часть тоже есть. Так что некоторые не только по английски читать не умеют.
Ну как бы это черным по белому написано. Вот про математику
Вот про апаратку
И зачем всё это?
Используя два уровня сигнала можно передавать что угодно, в любой системе исчисления. Надо просто при установке сеанса связи договориться - чего, сколько и как )
Я вот честно, даже не знаю, что вам ответить. )
Схема под два состояния - реализуется очень просто. Поэтому и надёжность у этой схемы высокая.
Ну математически там два состояния, за счет этого и достигается сложение замест умножения. Но чтоб это работало пришлось прикрутить третье состояние. Те они там bool но с доп состоянием выключено используют. Графовые темы лево-право-стоп
Как раз "что делают" - понятно. Инвесторов ищут. Либо пытаются "партнёров" - дезинформировать.
Дел
Перспективный чат детектед! Сим повелеваю - внести запись в реестр самых обсуждаемых за последние 4 часа.
44 $ за Ватт ?!
Это про центры обработки данных - они столько платят.
высокопроизводительная нейросеть потребляет всего 13 Вт энергии и это в 50 раз меньше... - готов отключить свой электрочайник, могут вместо него поставить старый чэтжипити3.5, авось не обеднею, только пусть в каждом ответе чат пишет в конце - Powered by Flugkater
Это вполне реализуемо.
Песец капитализации Nvidia?
Для обучения, скорей всего, они пока не имеют серьёзных альтернатив. В статье же речь идёт про инференс.
Потребляет энергии меньше, чем человек. Углеродный след меньше, чем у человека. Вывод напрашивается, весь электорат заменят на новые экологичные нейросети.
Какой продукт получается из работы нейросети?
Допустим, у меня процессор жрет как ни в себя 4 ватта. Я его подключила к розетке. Он жрет 4 ватта. Ничего не делая. Потом стал что-то там складывать или умножать. Он че, жрать штоле больше будет? Нет, те же четыре ватта. Он подключен - значит, он работает. А умножает он при этом или складывает или только такты обрабатывает - никакой же разницы, да?
Теперь предположим, я делаю гопоту. У меня 100500 процессоров и жрут они всё, что производит Братская ГЭС. Я что-то там придумала, и теперь для этой же фигни мне дрстаточно процессоров, которым 12 ватт хватит. Лепота. Майнеры говнобиткоинов меня озолотят!
Или статья-таки говно журналистское, а?
Есно, в разы больше жрать будет.
Если гопоту засуните на FPGA и у вас меньше жрать будет. Гугл вон уже который год TPU на FPGA делает.
Жрать то меньше, но насколько практичен будет результат? Ведь такая оптимизация явно имеет свою цену.
Еслиб статья называлась, "мы заменили веса в ряде слоев на битовые маски и смогли оптимизировать RMSNorm для работы с медленной памятью". То статья бы была не настолько громкой и узко специализированной )
Скрупулёзно подмечено.
Цена - это вложения в разработку ПЛИС/асика, константа, минус разница в цене между видеочипом и используемым чипом. Так что все зависит от масштабов, с какого-то момента цена системы будет ниже, чем у такой же на видюхах.
"Эпиграмма",
Вы пишете восхитительные глупости. Про тактовую частоту слыхали?
При работе процессор жрет больше, именно поэтому он больше греется, и это можно видеть на примере любого ноутбука. Стоит запустить там какую то считающую программу - они начинают греться и шуметь вентиляторами.
Ну тогда получается, что у него как бы "плавающая" потребляемая мощность, а не просто 4 ватта, например. Когда он просто "тикает" - то ему, типа, 2 ватта хватает, а когда начинает что-нибудь умножать, то ему и 10-ти мало... Так?
А то тут умники же отвечают - двух слов по-человечьи связать не могут.
Да, и у процессоров, и у видеокарт мощность плавающая. И частота плавающая. Некоторые программы даже могут выводить ее в реальном времени.
Да, это мне обьяснили уже. Но я неугомонная и вчера показала эту статью "бывалым" с просьбой: ребята, объясните ПОНЯТНО ДЛЯ МЕНЯ, о тем статья.
Сначала сказали, что ни о чем, как я, впрочем и ожидала. Но я стала настаивать. Долго (минут 30) стебались, судили-рядили, а в итоге я поняла так.
Мол, надо представить, что у меня есть некая машинка, которая на мои вопросы отвечает "ответами", которых хоть и ограниченное количество, но много. И вот машинка каждый раз выбирая по определенным правилам нужные ей ответ, работает довольно долго и батарейки садит.
А у меня, мол, задача, нужно сделать этакий "китайский" вариант этой машинки для детей, которая ответ бы выбирала гораздо быстрей и батареек ц нее хватило бы на дольше.
И вот тогда я переделываю машинку так, чтобы ответ она подбирала по более простым правилам, особо не заморачиваясь всеми нужными действиями, т.к. подбираемый ответ ни в первом ни во втором варианте не должен быть правильным, а должен быть просто выбран согласно каким-то действиям.
Допустим, я спрашиваю машинку: Назови мне что-нибудь желтое. В первом (полном) варианте она гудит час и говорит: Экскаватор. Во втором (китайскам) она гудит минуту и говорит: Единорог.
Какая машинка лучше, хитро спрашивают меня?
В статье говорится, что вторая, так как у нее после ответа целее батарейки.
Такие вот дела.
Выкидывайте срочно в помойку ваши обе машины.
Цыплёнок. Лимон. Эти ответы потребовали меньше секунды работы головного мозга :)
Эпиграмма, в современных процессорах частота процессора регулируется от вычислительной нагрузки.
Без нагружающих вычислений тактовая частота понижается в несколько раз от максимальной.
Это очень давно уже не так.. Пока вы не грузите процессор, он снижает частоту, часть ядер может вообще останавливать, и потребляет заметно меньше, а при больших нагрузках наоборот, разгоняется, пока не нагреется до какого-то предела. Послушайте, как начинает крутиться кулер, когда запускается тяжелое приложение.
Да, вот теперь понятно. Спасибо. Но статья, как я догадываюсь, не об этом. А о чем же тогда, если своими словами вот так же понятно?
Вместо железобетона мы придумали пену чтоб быстро строить дома. Пена удобная и легкая и уменьшает углеродный след при строительстве. Мы построили первые 20 домов, жильцы довольны. Город мы строить не пробовали пусть это попробует кто-то другой. Ну и для придания хайповости заголовок "Вопреки кровавому дикатору, бездомные украинцы получат новое жилье".
Зы а если серьезно нашли новый метод, что сработал для определенной задачи. На маленьких задачах метод работает, на больших ученые не пробовали. В идеале сократить затраты раза в 2/3 при работе языковых моделей.
Да примерно об этом же. Одна из основных проблем для масштабирования вычислительных мощностей - это энергопотребление, вернее, непременно сопутствующий ему нагрев. Снизив в 50 раз энергопотребление, можно ожидать, что и требования к железу снизятся примерно так же, это может сильно перетряхнуть пузыри ИИ.
У вас не может быть 100500 процессоров. Вы попросту не сможете их охладить.
"13 ваттах, что примерно равно энергии, потребляемой лампочкой и более чем в 50 раз эффективнее, чем [это делает] обычное оборудование."
-То есть обычное оборудование потребляет 650 ватт (0.65 квт) и стоит "700 000 долларов в день в виде затрат на электроэнергию" ?
700.000/650/24=45 доллярей за ватт.
Вывод - или "американские ученые" хорошо налюбливают инвесторов или энергия сильно подорожала.
PS: "Корпус текстовых данных, использованный для обучения ChatGPT-3, составляет более 45 Терабайт" - это сколько жестких дисков ? - Три SSD накопителя по 15 Терабайт, ну пусть четыре.
И это сколько ватт потребления ? -36 Ватт.
-У меня чайник потребляет 1800 ватт, спокойно нагревает воду и никому не приносит вреда.
А эти создали себе химеру, вложили охулиарды денег в очередной Dotcom - AI - Enron ,
теперь все просрут, и снова придется думать своей головой.
Как я понял, имеются ввиду центры обработки данных, а не одна персональная машина.
Суперкомпьютер - это центр обработки данных ?
3.5 млн доллярей в год, но ни как не 255 млн )
Что-то тут не чисто.
Хех, если на пальцах. Один GTX4080 может обработать поток векторов +-16-20 Гигабайт в секунду. Что бы заставить свой кластер считать быстро, надо чтоб у каждого чипа рядом было 4+ NVME накопителя. Далее эти ТБ надо как-то доставлять к ноде с 1 GPU и кешем, быстро доставлять, добавляется сетка 40+Gbps. И это только на один чип. А чипов десятки тысяч + десятки если не сотни тысяч эпох(циклов что надо перечитать по кругу эти 45ТБ).
Там хрен с пальцем сравнивается. Энергозатраты обучения сравнивают с энергозатратами работы готовой модели, причем на скоростью чтения одним человеком.
Да на одной видеокарте все это запускается.
И зачем вы мне готовую модель показываете ? До этого сами говорили про обучающий сет в 45ТБ.
Для представления. Если "локальная модель" весом 35 Гигов запускается на 1 видеокарте, то сколько карт и памяти потребует тот-же код для обработки 100х объема данных ?
-100 видеокарт общей мощностью 7 квт, у каждой индивидуальное охлаждение.
Грубо говоря, вот вся серверная часть Чата Гпт.
Про какие 700 тыс долларов в день на электричество идет речь, нэпонятно.
Василий Ивановач:
-Петька,приборы!
Петька: -300!
Василий Иванович: -Что 300?
Петька: -А что приборы?
Про обучающие. Чтоб из набора текста получилась моделька, как вы прислали скажем за сутки. А не за 10 лет.
Нет, просто ученые непрерывно насилуют журналистов, те расслабились, и получают удовольствие - все равно мало кто в теме понимает.
Но основной момент тут можно вычленить - 50-кратное снижение потребления.
Страницы