Skip to content

Запустил нейронку на 235B на домашнем сервере. Без видеокарты

Запуск и тестирование нейросетей до 235 млрд параметров на домашнем сервере без видеокарты, анализ производительности и нюансов.

Key Takeaways

  • Большие модели нейросетей можно запускать на процессорах без видеокарт, но с ограничениями по скорости.
  • Mixture of Experts (MoE) модели позволяют эффективнее использовать оперативную память и ускоряют работу.
  • Скорость работы нейросети зависит больше от пропускной способности оперативной памяти, чем от мощности процессора.
  • Использование видеокарты не всегда оправдано, если модель не помещается в видеопамять и приходится обращаться к оперативной памяти.
  • Домашний сервер с большим объёмом ОЗУ и быстрым NVMe-диском может быть полезен для запуска нейросетей, но требует компромиссов.

What the video covers

  • Автор запускает крупные нейросети от 30 до 235 млрд параметров на домашнем сервере без использования видеокарты.
  • Используется сервер с двумя процессорами Intel Xeon 2680 V4, 28 ядер и 56 потоков, 128 ГБ оперативной памяти и NVMe-диск для ускорения загрузки моделей.
  • Обсуждается разница между старыми плотными моделями и новыми Mixture of Experts (MoE), которые позволяют эффективнее использовать оперативную память.
  • Поясняется, что основным ограничением производительности является скорость чтения данных из оперативной памяти, а не вычислительная мощность процессора.
  • Проводятся тесты на синтетических и реальных данных, сравнивается производительность моделей на процессоре и видеокарте.
  • Автор делится опытом использования серверного оборудования и рекомендует магазин Серверцентр для покупки комплектующих.
  • Объясняется концепция квантизации моделей и её влияние на производительность.
  • Отмечается, что запуск моделей на процессоре имеет свои компромиссы, и результаты не всегда однозначны.
  • Рассматривается вопрос окупаемости домашнего сервера для нейросетей по сравнению с подписками на облачные сервисы.
  • Видео полезно для тех, кто интересуется самостоятельным запуском больших нейросетей и оптимизацией домашнего серверного железа.

Answers

Questions about this video

Можно ли запускать большие нейросети без видеокарты?

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

Что такое Mixture of Experts (MoE) и почему это важно?

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

Насколько важна скорость оперативной памяти для работы нейросетей?

Скорость чтения данных из оперативной памяти является ключевым фактором производительности нейросетей на процессоре, так как процессор часто простаивает, ожидая данные.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
Привет, друзья. Сейчас у меня в руках мой личный чат GPT, который не требует подписки, не зависит от VPN-подключений, да и в принципе не требует интернета. И самое крутое, что он даже не требует производительную видеокарту за сотню тысяч рублей. Но, конечно же, во всём есть
00:13
Speaker A
свои нюансы и компромиссы, и это решение, к сожалению, не исключение. Сегодня я протестирую и покажу вам несколько моделей разных размеров, от 30 до 235 млрд параметров. Да, мы действительно запустим большие модели и протестируем их работу на процессоре.
00:27
Speaker A
Тестировать будем как на синтетических бенчмарках, так и на реальных тестах, чтобы было понятно, чего же ожидать от такой сборки. Спойлер: результаты не настолько очевидные, как мне казались в самом начале подготовки к этому ролику, поэтому досмотрите до конца. Возможно,
00:39
Speaker A
это как-то поменяет ваше мнение. А я точно знаю, что некоторым эта тема всё-таки интересна, потому что периодически от вас же я получаю в комментариях такие вопросы, что если собрать большую сборку на несколько ядер, на несколько потоков, чтобы это
00:51
Speaker A
всё работало там с оперативкой побольше, и запускать на ней нейронки, насколько это будет продуктивно и есть ли в этом смысл. Поэтому я думаю, сегодняшний ролик будет для вас интересен. Как вы могли понять по предыдущему ролику, роль моего сервера виртуализация заняла новая
01:03
Speaker A
сборка. А старую я освободил, и пока готовятся следующие ролики, я решил на ней протестировать объёмные нейронки.
01:08
Speaker A
Напомню конфигурацию. Китайская материнка LISR на два сокета LGA 2011-3, два процессора 2680 V4 суммарно на 28 ядер и 56 потоков. По количеству ядер тут не то чтобы сильно много погоды делает. И восемь планок по 16 гигабайт. И сначала, когда я начинал делать этот
01:25
Speaker A
ролик, у меня почему-то осталось в памяти, что как будто бы здесь память на частоте 2133, но на самом деле она на частоте 2400, что для меня было удивлением и открытием. Запускаться всё это будет с NVMe-диска. На самом деле на скорость
01:36
Speaker A
нейронок это вообще никак не повлияет, потому что все нейронки будут загружаться именно в оперативную память.
01:41
Speaker A
Но вот, чтобы ускорить запуск этой нейронки, то есть загрузку её в оперативку, нужно иметь хороший какой-нибудь диск. Ну, хотя бы средненький NVMe-шник, чтобы всё-таки в оперативку это быстрее залетало. Да, железо, конечно, допотопное, но именно такое у меня сейчас есть в наличии,
01:53
Speaker A
поэтому, к сожалению, работаем с тем, что имеем. Плюсом ко всему, некоторые из вас пишут в комментариях, что они загорелись идеей домашнего сервера и полностью собрали свои сборочки. Всё замечательно, кайфанули от самого процесса, но не знают, куда использовать их потом в будущем. Поэтому вот вам
02:07
Speaker A
такая одна из идей, как это можно использовать. Но опять же, досмотрите ролик до конца, там будут неоднозначные выводы. И да, мы ещё сравним одну модельку, которая запустится и на этой сборке, и на видеокарте. И посмотрим, насколько сильно разнятся скорости. Ну а
02:19
Speaker A
если вам нужно хорошее enterprise серверное железо, то рекомендую обратиться в компанию Серверцентр. Это магазин, с которым я сотрудничаю уже около года и использую серверные комплектующие как раз-таки от этих ребят, потому что в моей предыдущей сборке вы могли видеть, у меня были и
02:33
Speaker A
диски, и оперативка как раз-таки сервер-центр. А также я делал ролики с их enterprise оборудованием. В наличии сервера и сетевое оборудование на любой бюджет и для самых разных задач:
02:43
Speaker A
виртуализация, SD, 1S, хостинг, видеонаблюдение и бэкапы. А если у вас есть конкретная задача или проект, но вы не знаете, какое оборудование для этого необходимо, вы всегда можете обратиться за консультацией к специалистам сервер-центра. А с моим именным промокодом Donuxс вы получите скидку на
02:58
Speaker A
покупку техники. На всё оборудование есть гарантия, а доставка осуществляется по всей России. Упаковывают оборудование хорошо, за его сохранность можно не переживать. Ну а если вы не доверяете интеграциям у блогеров, перейдите на профиль компании в AVA и почитайте живые
03:12
Speaker A
отзывы от постоянных покупателей. Работу компании я проверил на себе и получаю периодически отзывы от покупателей, моих подписчиков, которые смотрят меня и покупают там оборудование, поэтому смело могу их порекомендовать. Ссылка на магазин и промокод будут в описании.
03:28
Speaker A
[музыка] Ну а перед тем, как начать какие-то тесты, нужно немножечко погрузиться в теорию. Не переживайте, если вам что-то будет непонятно, это нормально, мне самому большая часть из этой фигни непонятна. Я в этом не разбираюсь так хорошо, но я постараюсь объяснить так,
03:40
Speaker A
как бы было бы мне понятно, когда я смотрел на это первый раз. Вы все прекрасно знаете, что большинство современных моделей работают на видеокартах, а нейромодели уровня чат GPT и Claude вовсе работают на промышленных карточках. И казалось бы, как такое
03:52
Speaker A
допотопное железо может хоть как-то выдавать какую-то производительность в нейронках, если оно даже не задумывалось для работы с ними? И до определённого момента это было практически невозможно.
04:01
Speaker A
Скорость работы нейронок на процессоре, даже современном, была колоссально низкой до того момента, как не появились новые виды моделей. Представьте себе гения, который прочитал все книги на свете. Вы задаёте ему любой вопрос, и он, прежде чем ответить, честно прокручивает в
04:14
Speaker A
голове всё, что знает. Отвечает мудро, но медленно, потому что напрягает весь свой гигомозг на каждое слово. Вот так, собственно, и работали старые модели. Их называют плотными или денсмоделями.
04:24
Speaker A
Поправочка: старый — это не значит, что они бесполезны на данный момент. А теперь представьте не одного гения, а огромную библиотеку сотни узких специалистов. Один по химии, другой по информатике, третий по истории. Приходит вопрос, и отвечают на него не все 100
04:37
Speaker A
специалистов, а выходят парочка нужных, а остальные спокойно ждут своей очереди. Знаний в такой библиотеке может быть даже больше, чем у гения. Но на каждый вопрос работает лишь несколько человек, поэтому ответ быстрый. Это и есть новый тип моделей. По-умному Mixture of
04:51
Speaker A
Experts. Смесь экспертов, сокращённо MoE. Именно эти модели всё изменили. И вот тут как раз-таки приходит топичный камбэк оперативной памяти. И она здесь будет решать большое количество вопросов. Когда нейросеть отвечает, главный тормоз не скорость процессора, а скорость, с которой он читает данные из
05:06
Speaker A
памяти. На каждое слово ему нужно прочитать рабочую часть модели. В библиотеке специалистов эта рабочая часть маленькая, а значит, читать нужно быстро. Но при этом вся библиотека целиком. Все 100 специалистов должны быть где-то на готове и ждать своего выхода. Вот они и лежат в этих 128 ГБ
05:22
Speaker A
памяти. И таким образом мы можем использовать достаточно большие объёмные модели, которые, к сожалению, видеокарту обычную потребительскую даже не поместят никогда. И да, некоторые из вас скажут, что если модель не помещается в память видеокарты, то она может браться из оперативки.
05:35
Speaker A
Используется оперативная память. Но, к сожалению, тогда и скорость работы этого всего очень сильно уменьшается. И большой вопрос, стоит ли тогда использовать видеокарту, потому что она будет простаивать в большинстве своих задач. Это можно заметить по моему видосу годичной давности, где я запускал
05:49
Speaker A
на видеокарте некоторые модельки на 3060, и там было видно, что вся моделька не помещается в оперативную память видеокарты, то есть видеопамять, и она частично уходит в оперативную память. И тогда видюха по своей мощности простаивает и не используется на полную.
06:03
Speaker A
Да, я думаю, что самые глазастые из вас заметили, что в разъёме видеокарты тут какая-то карточка имеется. Но на самом деле это просто затычка для того, чтобы настроить этот сервак, потому что средств удалённого управления на китайской плате, к сожалению, нет,
06:14
Speaker A
поэтому мне пришлось сюда поставить видеокарточку. Но в вычислениях она никак использоваться не будет. А если и будет, то выглядеть это будет ещё хуже, чем на процессоре. Поэтому не думайте, что здесь есть какое-то дополнительное ускорение для работы всех этих нейронок.
06:28
Speaker A
Ещё одно слово, которое будет мелькать в ролике, — это квантизация. Объясняю на пальцах. Модель — это куча чисел. Ещё их...
06:43
Speaker A
чтобы модель весила меньше и влезала в память. Проще всего представить это как сжатие фотографии в джипе. Оригинал без сжатия - это идеальное качество, но огромный файл. Жмаем чуть-чуть и на глаз не отличить, а вот место можно сэкономить. Но когда жимаем сильно, то
06:56
Speaker A
вылезают артефакты, картинка становится мыльной. С моделями примерно то же самое. Чем сильнее вы сжимаете, тем меньше она весит и быстрее работает, но тем больше начинает ошибаться. В ролике вы увидите пометки вроде Q4 и Q2. Это число означает, сколько примерно битов
07:11
Speaker A
выделено на одно значение веса модели. Q4 - это разумный баланс, а вот Q2 - это уже в притык, когда надо любой ценой впихнуть модель в память. Именно эта квантизация нам сегодня поможет в 125 гигов оперативки впихнуть модель на 235
07:24
Speaker A
млрд параметров. Перед тестами я поставил чистую серверную Убунту 2604. В рамках 128 гигов её потребление практически не будет заметным. Дальше я установил дополнительные утилиты типа гита, nan и склонировал репозиторий AM CP себе на сервер. Сегодня мы будем запускать
07:41
Speaker A
модели без Олама напрямую через lла CPP. Почему так? Олаama - это удобная обёртка поверх той же самой Лама. Буквально одной команды вы скачали модель и запустили. Для начала работы с моделями это отличный выбор. И именно так я и
07:53
Speaker A
снимал свой предыдущий ролик по нейронкам на сервере с видеокартой 3060. Можете глянуть, если ещё не видели. Нома прячет под капотом довольно важные для теста настройки. Насколько я знаю, она даёт доступ к части из них, но мне было проще сверяться с документацией CPP,
08:07
Speaker A
поэтому я скачал исходники через гиit и собрал ламу себя на сервере. Это не заняло много времени. На скорость работы модели это никак не повлияет. Для своего удобства вы всё также можете использовать Allлаama. Теперь про особенность этого сервера, из-за которой
08:19
Speaker A
всё не так просто. У меня здесь два процессора. Каждый из них отвечает за определённые каналы оперативной памяти.
08:25
Speaker A
Вы не можете занять все слоты оперативки и использовать их только с одним процессором. Это буквально фундаментальная архитектура всей платы.
08:32
Speaker A
И эта архитектура для одного процессора делает доступ к своей и чужой памяти разной по скорости. И её называют, а данные между сокетами гоняются по отдельной шине. Объясняю на пальцах.
08:42
Speaker A
Представьте, что есть два работника, и каждый сидит за своим столом. Работник быстро берёт инструмент со своего стола, но чтобы взять инструмент со стола коллеги, ему нужно потратить больше времени, подойти к чужому столу, договориться с напарником и получить инструмент. Перед запуском нейронок
08:56
Speaker A
нужно проверить, какие ядра на каком сокете запущены и какая оперативка кому принадлежит. В моей системе Нума был отключен по умолчанию, поэтому я перешёл в BIOS и включил его. После этого система увидела разделение по сокетам.
09:07
Speaker A
Для чего вообще нужно знать, как делится оперативкой ядра? Мы можем запускать модель на отдельном сокете, если нам хватает оперативки. Это даёт две возможности. Во-первых, запускать более оптимально небольшие модели. Второе- запускать несколько моделей одновременно, если грамотно разделить ресурсы между ними и рассадить их по
09:23
Speaker A
разным сокетом. Начнём мы, наверное, с тестов больших моделей. И я запускал их в двух режимах.
09:29
Speaker A
Первый режим - это работа с гипертрейдингом, когда работают все потоки на всех ядрах. Второй режим без гипертрейдинга, когда на одном ядре запускается всего один поток. Так мы поссорим, насколько оптимальное использование гипертрейдинга и без него.
09:41
Speaker A
Первая на очереди достаточно крупная модель GPT OSS. на 120 млрд параметров. В результатах нам важно смотреть на два параметра. PP - это промт процесиing, то есть скорость, в которой обрабатывается промт, то есть ваш запрос. И TG - это
09:54
Speaker A
token generation, скорость, в которой генерируется ответ. Вся скорость измеряется в токенах в секунду, а токен - это условно единица данных. Иногда одно длинное слово может считаться за два-три токена, а короткое слово за один. Ну и смотрим на результаты теста
10:08
Speaker A
модели. Скорость обработки промта в среднем 83 токена в секунду. Генерация ответа почти 11 токенов. Гипертрейдингом обработка составила около 90 токенов, а генерация чуть просела в рамках погрешности около 10,5 токенов.
10:21
Speaker A
Результат, на самом деле, очень позитивный для десятилетнего железа. Скорость генерации ответа в рамках средней скорости чтения человека. Можно комфортно читать ответ, но было бы неправильно показать всего одну модель и не показать другой реальный результат, поэтому разберём ещё несколько моделей.
10:36
Speaker A
Следующая большая моделька Qн 3,5 на 122 млрд. Без гипертрейдинга. Обработка промта 40,5 токенов. Генерация почти 4 токена в секунду. С гипертрейдингом 44, с копейками токенов на обработку.
10:48
Speaker A
Примерно те же четыре токена на генерацию. Завершаем тесты первой тройки на GLM 4.5 Air. Это модель на 106 млрд.
10:57
Speaker A
Без гипертрейдинга, 33 токена в секунду на обработку, 5 с копейками на генерацию. С гипертрейдингом 34,5 на обработку и примерно всё те же пять на генерацию. Модели примерно близки по размеру, а вот результат сильно отличается. Я думаю, вы это заметили. И
11:11
Speaker A
этому есть объяснение. Всё дело как раз-таки в том, что это моя модели. А как вы помните из теории, у мое моделей есть определённое количество активных параметров. В QuН 3.5 их около 10 млрд, у GLM 4,5 Air их около 12 млрд, в то же
11:25
Speaker A
время, когда у GPTOSS около 5 млрд. И судя по тестам, это очень индивидуально влияет на скорость работы моделей. Если что, я записывал только первые запуски моделей, а для подсчётов я брал среднее значения по трём замерам, и они примерно
11:37
Speaker A
одинаковые. Поэтому сотые части можно, в принципе, не считать в рамках погрешностей. Теперь предлагаю посмотреть на мелкие модели, потому что 128 гигов есть не у каждого, а вот 64 - это уже более реалистичная цифра. Плюсом ко всему мне было интересно, какие
11:49
Speaker A
мелкие модели смогут выдавать хорошие результаты. Прямо досконально тест каждый разбирать не буду. Скажу лишь, что в этот раз я проводил три теста для каждой из моделей. Первый тест - это на одном сокете и четырнадцать потоках.
12:00
Speaker A
Второй тест на двух сокетах и двадцативось потоках без гипертрейдинга и с гипертрейдингом на двух сокетах и пяся потоках. В сравнении были три модели. Quн 3,6 на 35 млрд, из которых активных три, 3 кодер на 30 млрд и также
12:14
Speaker A
три активных миллиарда параметров и гемо 4 на 26 млрд, из которых четыре активных. Во-первых, можно заметить, что на каждой модели скорость обработки промта увеличивается почти в два раза, когда подключается в работу второй процессор, чего нельзя [музыка] сказать о генерации токенов. Из трёх моделей
12:29
Speaker A
только Квенкодер получил ощутимый прирост от второго сокета, больше чем на 30%. Остальные получили только парочку токенов на погоны. Во-вторых, наличие гипертрейдинга положительно влияет на обработку промта, но в некоторых случаях, например, в кэнкодере плохо влияет на его генерацию. Возможно, эта
12:44
Speaker A
погрешность каждый раз была не в пользу кодера, но такая вот тенденция мной была замечена. В-третьих, даже в рамках одной архитектуры модели, тот же Квенкодер и просто Квен с одинаковыми значениями активных параметров, но вот скорость генерации ответа у них сильно разнится.
12:57
Speaker A
20 с копейками на квенкодер, и это какой-то невероятный результат для зионов, если честно, и 9,5 на обычном кене. Фактически разница в два раза. Из этого делаем выводы. Второй сокет хорошо пустит обработку промтов, а вот прирост генерации сильно зависит от модели, и
13:11
Speaker A
это нужно тестировать индивидуально на интересующих вас моделях. А вот гипертрейдинг либо не даёт ощутимого прироста в принципе, либо в исключительных моментах может даже немного мешать. Для чего я, в принципе, брал мелкие модельки в тест? Ну, во-первых, для того, чтобы некоторые из
13:24
Speaker A
вас, у которых нету такого количества оперативной памяти, могли понять, может ли это всё работать на меньшем количестве оперативки. Это во-первых.
13:31
Speaker A
Во-вторых, как это работает именно с двумя сокетами, как это работает с гипертрейдингом? В принципе, можно ли разоряться на чуть большую плату с ещё дополнительным процессором или оно того не стоит? В общем-то, цифры я вам показал, а вот стоит ли так делать или
13:44
Speaker A
нет, собирать ли на двух сокетах или на одном, и какое количество оперативки вам нужно, решать уже вам. Под роликом я оставлю ссылки на проверенных продавцов таких материнских плат на Али их уже практически не осталось. В основном все переехали на Озон, там очень сильно
13:57
Speaker A
завышают ценники, поэтому сейчас даже более рентабельно собирать что-нибудь на бэушных супермик. Но тем не менее я оставлю ссылки и на то, и на то. Ну и давайте сравним работу с хорошей видеокартой. Мой друг сам часто и пользуется локальными нейронками на
14:09
Speaker A
своём домашнем компе, потому что у него стоит хорошая карточка RTX 3090 на 24 гига видеопамяти. Это буквально первая желанная карточка из доступных сейчас по цене и имеющая смысл покупке для домашней и лаборатории. Я попросил его запустить Н 3,5 на 35 млрд параметров.
14:24
Speaker A
тоже моя модель, которую запускал сам. Порядка 3.300 токенов в секунду на обработку и в среднем около 130 на генерацию. Генерация быстрее больше, чем в 10 раз, а обработка вообще улетела в космос. И не то, чтобы это меня удивляет, я просто это показал для
14:38
Speaker A
сравнения. Напрямую их никто не сравнивает как конкурентов. Просто это вам для понимания, что вы можете получить от карточки, а что вы можете получить от какой-то сборки на процессорах. Вот что не сможет сделать ни одна потребительская видеокарточка, так это запустить модель на 235 млрд
14:51
Speaker A
параметров. А вот это ведро, кстати, сможет. Давайте на это посмотрим. И сделаем мы это только для того, чтобы название ролика было не кликбейтом, потому что фактически такой результат вас вряд ли удовлетворит. Без гипертрейдинга 21 токен на обработку и
15:04
Speaker A
четыре на генерацию. С гипертрейдингом почти 23 на обработку и почти те же четыре на генерацию. Опять гипертрейдинг немного заруинил в генерации. Очевидно, что нужно было бы быть неспешным человеком, чтобы по слогам считать генерацию на такой скорости. Тем не
15:18
Speaker A
менее, если вы никуда не торопитесь, то можете оставлять промт на несколько десятков минут, а то и на пару часов, если вам нуж очень сильно нужен ответ от такой объёмной модели. Напоминаю квантизации. Объём всей модели в Q4 квантизации он сильно больше, чем весь
15:32
Speaker A
объём моей оперативной памяти в этой сборке. Именно поэтому здесь я использовал квантизацию Q2, что позволяет впихнуть всё это в оперативную память компа, но модель при этом допускает достаточно много ошибок. Вот эта жёсткая квантизация, она очень сильно режет качество самой модели, её
15:46
Speaker A
знаний, поэтому в качестве какой-то энциклопедии её использовать точно не стоит. Она может выдавать достаточно странные ответы. Например, некоторые модели даже знают о моём существовании как о единой личности. Если одна ответила плюс-минус правильно про меня, то вот вторая меня явно с кем-то
16:01
Speaker A
спутала. Название канала узнала, а подробную информацию выдала вообще не ту. Возможно, тут как раз-таки и сработала та самая квантизация.
16:10
Speaker A
Синтетика хорошо помогает понять количественные характеристики модели, но вот качественные, к сожалению, ей не распознать. Поэтому предлагаю посмотреть на несколько живых промтов и заданий, которые модели смогут обработать, и там уже будет понятно, какая из них справляется лучше. Я решил выбрать
16:24
Speaker A
четыре самые, на мой взгляд, интересные модели, чтобы посмотреть, как они справятся с классической задачей. Всем моделям даётся одинаковый первый пром для того, чтобы они написали браузерную игру Змейка на языке JavaScript.
16:34
Speaker A
Дополнительно каждой модели даётся ещё один уникальный пром для того, чтобы исправить недоработки или как-то улучшить свою реализацию. Квенкоodдер справился с задачей за 4 минуты 21 секунду со скоростью генерации 16,7 токенов в секунду. Кстати, отличный наглядный пример, что синтетика далеко
16:50
Speaker A
не всегда отражает действительность. Визуально результат приятный глазу. Классическое управление, приятная графика, понятный интерфейс. Змейка бегает по экрану, управляется легко, растёт при съедании яблочка, но вот порталы не работают. Даю второй промт с указанием на ошибки. И в этот раз модель
17:04
Speaker A
отработала за 6 минут и 18 секунд. Ну и финальная скорость генерации упала до 11,7 токенов в секунду. И к этому мы ещё вернёмся. Позже я объясню, почему так происходит. Обновляем код и тестируем.
17:16
Speaker A
Ничего не поменялось. Судя по реализации, код логики и порталов как-то поменялся, но это не дало абсолютно никаких результатов. Берём следующую модель GLM 4.5R. Напоминаю, что она на 106 млрд параметров с двенадцатью активными, то есть должна быть медленнее, но по идее умнее. Отправляем
17:32
Speaker A
запрос на реализацию. Модель очень неспешно, со скоростью около пяти токенов в секунду, генерирует ответ.
17:38
Speaker A
Справилась она за 15 минут и 17 секунд. Скорость генерации упала до 4,6 токенов в секунду. Смотрим на результат. И сразу же первый недочёт. Змейка летит достаточно быстро, и ты можешь не успеть начать управлять ею. После первого же столкновения нажатие на рестарт не
17:52
Speaker A
помогает. Игра просто не начинается заново, поэтому приходится полностью перезапускать страницу. В целом игра выглядит приятно. Управляется змейка хорошо, порталы работают корректно, только вот игровое поле немного сдвинулось влево. Прошу исправить важные недочёты с управлением и рестартом.
18:06
Speaker A
Модель выдаёт ответ спустя 21 минуту 29 секунд. Скорость генерации падает до 3 с токенов. Проблема с быстролетящей змейкой до начала игры. Модель исправила. Для начала нужно начать управлять стрелками, и тогда игра запустится. А вот рестарт так, к сожалению, и не смогла починить.
18:22
Speaker A
Переходим к модели GPT OSS на 120 млрд параметров с пятью активными. Модель справилась за 5 минут 46 секунд.
18:29
Speaker A
Скорость генерации к завершению работы составила 9,9 токенов в секунду. Интерфейс гораздо скутнее получился, чем у предыдущих моделей. Но, видимо, все очки в эволюции нейронка потратила на механику, а не на визуал, потому что чисто механически всё работает корректно. Змейка хорошо управляется,
18:44
Speaker A
ест яблоки и перемещается через порталы. И всё это с первого раза. И даже работает рестарт. Даём модели второй промт. Абстрактно просим улучшить визуальную составляющую игры. Модель завершила работу за 6 минут и 16 секунд.
18:56
Speaker A
Скорость генерации упала до восьми и восьми токенов. В члоге модель много чего написала, но глобально визуально поменялось только цвета и добавились пульсации порталов. В остальном всё та же змейка из первой реализации.
19:08
Speaker A
Креативности этой модели явно не хватает, поэтому ей нужны, видимо, конкретные инструкции. Что именно вы хотите улучшить? Идём дальше. И на финал у нас самая большая модель из сегодняшних на 235 млрд параметров.
19:20
Speaker A
Посмотрим, насколько её объём зарешает в реализации несложной игры. Модель обработала промт и начала генерацию со скоростью один токен в секунду. И это антирекорд за сегодняшний эксперимент.
19:30
Speaker A
Напоминаю, что синтетики эта модель выдавала скорость четыре токена в секунду. Закончила работу модель за 16 минут и 18 секунд, и скорость генерации немного подросла до трёх токенов.
19:40
Speaker A
Смотрим на результат. А результат оказался незапускаемым, и это первая модель, которая выдала нерабочий код вёрстки. Я увидел, что модель не закрыла корректно тег title. Я его поправил вручную, и игра отобразилась. Визуальная составляющая оставляет желать лучшего.
19:54
Speaker A
Всё-таки поля не видно, и сами элементы - это просто кружки и квадраты без дополнительных эффектов. Если некоторые из предыдущих моделей добавляли какие-нибудь глазки, змейки или как-то пытались визуально отделить порталы, то тут всё очень минималистично. Но что интересно, модель сама добавила
20:08
Speaker A
управление тачем, хоть её это и не просили делать. То есть в змейку можно играть с телефона, что я тоже, кстати, протестировал через дефтулзы, и это действительно работает. Во втором промте просим исправить проблему с тегом и добавить больше визуальной составляющей.
20:21
Speaker A
Модель справилась за 25 минут и 53 секунды. Скорость генерации под завершение работы 2,6 токенов в секунду.
20:27
Speaker A
Модель поработала над фоном, визуально отделила порталы от яблока и саму змейку раскрасила по сегментам. При этом в этот раз код получился рабочим без моих доработок. Ну и результат уже оказался неплохим. Какие выводы можно сделать?
20:40
Speaker A
Ну, во-первых, я, как и в прошлом году, склоняюсь к мнению, что синтетика - это исключительно для сравнения нескольких моделей в одинаковых условиях. Но, к сожалению, реальных данных именно по генерации вы от неё не получите, просто потому что вы сами видите, насколько они
20:52
Speaker A
разнятся с действительностью. Если вы заметили, то количество токенов промто в синтетике я сдавал 512, а количество ожидаемой генерации 128. Это базовые значения, которые часто используются в тестах, поэтому я использовал именно их.
21:05
Speaker A
Но, как мы можем заметить, синтетика очень сильно различается с действительностью. И тот же самый КНкодер, который в синтетике выдавал 20 токенов, здесь, к сожалению, выдаёт не больше шестнадцати. Тем не менее, некоторые модели действительно рабочие, очень даже хорошо генерируют. И лично
21:18
Speaker A
мои два фаворита - это Quнкоoder и GPTS, потому что они достаточно бодро отвечают на мои вопросы и допускают не так много ошибок. Вообще GPTOSS - это такая хорошая золотая середина между большими и средними моделями, потому что он работает относительно других достаточно
21:32
Speaker A
быстро именно по генерации. В общем-то, резонность установки 250 гигов в такую сборку я практически не вижу. Только если вам нужна какая-то очень умная модель, которую вы не хотите сильно квантизировать, то есть её прямо сильно ужимать до таких размеров, чтобы она
21:46
Speaker A
помещалась в 128. И при этом вы готовы ждать от неё ответов, ну, можно сказать, часами. В общем-то, как я и говорил ранее, я показываю лишь цифры, а решать, насколько это действительно того стоит уже вам. Поэтому смотрите сами.
22:01
Speaker A
Давайте разберём некоторые нюансы, которые вы могли заметить по ходу ролика. И первый один такой достаточно важный нюанс, почему же всё-таки падает скорость работы модели? Всё дело в накопленном контексте. Каждый раз, когда вы задаёте новый промпт в том же чате,
22:13
Speaker A
его контекст сохраняется. Поэтому обрабатывать его становится сложнее. И генерировать ответ на основе того же промкта тоже сложнее, учитывается его объём, поэтому скорость падает.
22:22
Speaker A
Следующий важный момент, почему я все 120 гигов не забил какой-нибудь большой моделью. А ответ всё тот же. Контекст.
22:28
Speaker A
Пусть модели на 80 гигов, но для её работы нужна дополнительная память для сохранения контекста. Поэтому, если у вас условно видеокарта на 16 гигов видеопамяти, то это не значит, что она легко потянет модели на 14 млрд. Она-то потянет, но вот контекст быстро
22:41
Speaker A
разобьётся и очень быстро скорость упадёт ниже плинтуса. Следующее. Самые внимательные из вас могли заметить на фотежах статистике, что у меня используется там 15 или 13 ГБ оперативной памяти, когда я запускаю большую модель на 80 гигов. Всё дело в
22:54
Speaker A
буферизации. Топ ип её не показывают, но если во время загруженной модели посмотреть, сколько памяти буферизирована, то можно увидеть заветные недостающие десятки гигабт, которые зарезервированы в памяти. То есть, по сути, память занята. Ускорят ли работу более производительные мощные процессоры? На самом деле не особо,
23:12
Speaker A
потому что поднимется по большей части именно промот процессинг, то есть обработка вашего запроса, но именно токен генерация останется примерно на том же уровне. И основным узким горлышком здесь, во всём этом, является пропускная способность оперативной памяти. Она пропускает где-то около 135
23:26
Speaker A
ГБ в секунду. Это по бумажке, по тестам, скажем так. Но фактически она, скорее всего, даже может быть чуть меньше, там около 120. К сожалению, это ограничение именно самого железа, и с этим уже ничего не сделать.
23:40
Speaker A
Ну и насколько это всё может понадобиться вам? Вообще вся такая сборка с таким объёмом оперативной памяти выйдет сейчас около 60 или 70.000 руб. Конечно же, основную стоимость всей сборки будет занимать оперативная память. Я когда-то этот набор покупал, и
23:54
Speaker A
там оперативка, я посчитал, стоила около 3.000 руб. за одну планку, что в целом по тем меркам была, ну, нормальная цена.
24:00
Speaker A
И, кстати, по такой цене у нас кто-то в чатике продавал оперативку тоже 2400 DDR4 DCE, но, к сожалению, я просто не успел её забрать. Я написал человеку прямо там в чате, а он уже удалил объявление, и, ну, оно было просто уже
24:12
Speaker A
неактуальным. К сожалению, по таким ценам сейчас, ну, только если как-то точечно вычислять, смотреть, постоянно мониторить рынок. В среднем цена за вот такую одну планку сейчас около 5-5.500 руб. Как бы это грустно не звучало. И резонность этой сборки, она, конечно,
24:26
Speaker A
под очень большим вопросом. Кстати, точно такой же набор, который сейчас стоит здесь. Это материнская плата на два сокета 268 V4 две штуки. И вот такой оперативки 128 гигов. Он стоит порядка 70.000 руб., даже там чуть-чуть больше.
24:41
Speaker A
Это реально вау цены. Если честно, я даже не ожидал, что такой хлам может столько стоить. Можно ли за ту же цену около 60 или 70.000 руб. сделать более производительную сборку для нейронок?
24:51
Speaker A
Конечно же, можно. Таже Nvidia 100, например, которую вы постоянно пишите, на 16 гигов. Она сейчас стоит от 20 до 30.000 руб. Причём её можно купить гораздо более проще, чем условно там полгодика назад. И это можно сюда впихнуть в вот такую сборку и гонять.
25:06
Speaker A
Модельки достаточно объёмные, шустренькие, если, особенно вы сможете урвать где-то чуть дешевле версию на 32 гига. Но версия на 32 гига, она очень дорогая, во-первых. А, во-вторых, её очень сложно найти. Поэтому даже две по 16 здесь будут играть роль, наверное,
25:20
Speaker A
больше, чем одна на 32. Из оставшийся 20-30.000 можно добрать всё остальное. Тот же комплект какой-нибудь недорогой взять с процессором, с материнкой. Те же зионы, китайские матери. Да, это, конечно, не лучшее решение, но будем честны, V1 тоже не самое лучшее решение.
25:36
Speaker A
Если мы всё идём по бюджету, то мать тоже можно пустить по тому же самому бюджету. И получится что-то около тех же 60 или 70.000 руб. Насколько это рентабельно именно по деньгам, по производительности решать только вам? Но этого решения есть одно, но, которое не
25:51
Speaker A
сравнится вот с этим. И всё как раз-таки снова упирается в объём моделей, которые вы хотите запускать. Даже две V1 не запустит один GPT OSS, который я вам здесь показывал, который на 120 млрд параметров. Ну и получается такая битва,
26:03
Speaker A
извините за выражение, говна и мочи, когда у вас либо необходимость запускать большие модели, либо необходимость запускать быстрые модели. К сожалению, с этим ничего пока что не сделать. И да, такая сборка, она имеет вот только один вот этот вот единственный смысл, когда
26:16
Speaker A
вам нужны объёмные модели. Во всех остальных смыслах она полностью бесполезна. Да, я знаю, растянул уже ролик. Но ещё один частый вопрос, который встречается в комментариях под моими роликами про локальные нейронки- это зачем же нужна такая фигня? Зачем нужно локально, в
26:32
Speaker A
принципе, запускать какие-то модели не зависимости от там, видеокарты или процессора? Мол, это всё не окупит вашу подписку на GPT, а если её окупит, то там через 5-10 лет люди начинают считать именно по цене подписки. Да, ребят, это всё не окупит вашу подписку. Это сделано
26:46
Speaker A
не для этого. Это вообще не про окупаемость подписок на какие-то сервисы. Первый самый важный сценарий, в котором используются локальные модели нейронок - это приватность. И в основном это актуально для больших компаний, которые не хотят терять данные своих пользователей или своих даже работников,
26:59
Speaker A
например, своего кода. Потому что многие компании, которые разрешают кодить с иишкой, размещают эту ишку у себя на серверах и не разрешают использовать какие-то глобальные источники типа того же GPT или клода. Ну и также это используется частными лицами, просто
27:11
Speaker A
людьми, которые не хотят, чтобы их персональные данные улетели в компанию, которая занимается этой яичкой, поэтому используют локальные модельки. Ну тут уже дело каждого, если честно. Второй сценарий, когда локальные модели имеют смысл - это какая-то ваша домашняя инфраструктура, которая завязана на
27:26
Speaker A
работе нейронки, на работе искусственного интеллекта, и она не должна зависеть от подключения к интернету или подключения к виpну. И именно тогда это всё тоже имеет и обретает какой-то смысл, потому что, например, у вас какая-то обработка информации, видеопотока или ещё чего-то,
27:39
Speaker A
чтобы она была именно локализирована у вас где-то на сервере. Но это тоже очень такие частные случаи. Честно говоря, мне так сразу в голову много примеров и не приходит по использованию. Третий сценарий, когда у вас очень много мелких задач, с которыми исправятся даже самые
27:51
Speaker A
глупенькие нейронки на пару миллиардов параметров, но тем не менее у вас этих задач очень много. Например, обработка тонны информации какой-то. Тогда в целом локальный запуск таких нейронок будет более рентабелен, чем покупка тех же подписок на какие-нибудь чаты GPT или
28:06
Speaker A
подписки на апишку. Например, у Deпсика самая дешёвая пишка, но даже с ней у меня вышло достаточно много денег, что-то порядка 100 баксов, чтобы обработать одну базу данных информации.
28:17
Speaker A
Там очень неструктуризированная она, поэтому приходилось очень много, скажем так, дополнительных инструментов заиспользовать, чтобы эта база данных обрела более рентабельный, более читабельный вариант, который нужен лично мне. Но об этом, может быть, я когда-нибудь позже расскажу. Даже не знаю, вам вряд ли эта тема будет
28:33
Speaker A
интересна. Ну и сценарий четыре, самый простой и, наверное, самый часто используемый - это просто поиграться. Я думаю, что многим из вас, как технарям, интересно поиграться, посмотреть, как это работает, насколько это может быть юзабельно. Возможно, вы какое-то время даже поиспользуете всё это. И я не
28:49
Speaker A
считаю, что это плохо. Ребят, весь мой канал построен на том, что я просто экспериментирую, делаю что-то для себя и показываю это вам. Я это делаю просто потому, что мне интересно. Ну да, это закрывает ещё какие-то мои рабочие задачи, но в основном я это делаю,
29:01
Speaker A
потому что мне интересно, потому что я хочу это показать вам. В очередной раз хочу поблагодарить всех ребят, кто подписывается на Бусте, всех, кто донатит. Напоминаю, что у меня есть доска почёта. Это мой серверный шкаф, на котором я размещаю ники всех ребят, кто
29:13
Speaker A
задонатил или кто подписался на бусте. Новые ники добавляются, и все они останутся на моём серверном шкафу, как напоминание о тех ребятах, которые меня поддержали за весь мой период постройки моей холабы второй версии. Эта стенка так и останется. на неё больше не буду
29:26
Speaker A
добавляться никнеймы уже, когда я полностью завершу весь проект. Ну а на этом всё. Вам большое спасибо за внимание, за то, что посмотрели этот ролик, и пока-пока.
29:36
Speaker A
[музыка] party my lips [музыка] party my lips party [музыка] Ah.
Topics:нейросетидомашний сервер235B модельпроцессор vs видеокартаMixture of ExpertsквантизацияNVMe дисктестирование моделейсерверное железооптимизация нейронок

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries and speaker detection. 30 minutes free.

Or transcribe another YouTube video here →