Как стать автором
Обновить

Как установить и использовать ИИ модель DeepSeek R-1 на вашем компьютере

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров240K
Всего голосов 129: ↑123 и ↓6+139
Комментарии167

Комментарии 167

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

Как это?

объясните, как они собирают ваши данные, если вы можете скачать модель и запустить ее локально?

Кстати для запуска через LM Studio не нужна такая длинная инструкция

Речь, вероятно, про онлайн версию. О том, какие данные они собирают и как используют можно почитать в их политике конфиденциальности: https://chat.deepseek.com/downloads/DeepSeek Privacy Policy.html

Ну, написать можно многое. А что в реальности...

Мне вот больше интересно: на условном ноутбуке без хорошей видяхи даже на 16 Гб ОЗУ запускается только небольшая модель (любая) - и все такие модели с русским дружат "не очень". Разве что моделька от Тинькова, да и то.

Как приучить "уменьшенную" модель говорить не только по-английски, внятно и без проблем?

Никак, она обучается и "думает" на английском. Задавайте вопросы на английском, давайте подумать и ответить, а потом говорите "переведи", или переводите сторонними средствами.

На русском умеет. Только попробовал. Довольно серьезный ответ на вопрос про ТЗ на разработку программного обеспечения . Удивлен. версия 8b

Я к запросам добавлял что ответ нужен на русском. Запомнить навсегда они язык не могут даже если попросить. Более продвинутые модели в этом плане явно лучше. Забыл про эту проблему с переходом на GPU и объемные модели.

c llamo-й ни разу не сталкивался с подобной проблемой, на каком языке с ними начинаешь общение - на том они и продолжают. в т.ч. урезанная 3.2

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

Сегодня поставил модель 8В на ноутбук (32 гб оперативки, ОС Линукс), ответ на первый запрос попросил перевести. Далее стал писать запросы на русском языке. Модель ответы и размышления стала отображать на русском. Перевод просто отличный.

попробовал то же самое. Вопрос на русском. ответ на английском, попросил перевести, получил винегрет из русского, английского и рунглиша :(
Vram 6 GB, 64 GB памяти, windows, LM studio

Другие модели не ставил? Я дополнительно поставил на пробу модель 14В и после этого обе модели стали рассуждения показывать только на английском языке. В модели 8В сейчас рассуждения меняются на русский, только если загружаю ранее сохраненную модель.

Самое интересное, что модель 14В на вопрос как ее зовут, сказала deepseek, а модель 8В придумала себе имя. Назвалась Смай.

А я потом смогу ее скопировать с домашнего ноутбука и унести на работу где нет интернета? Или винт хотя бы вырвать и подключить, так чтобы все заработало?

А я потом смогу ее скопировать с домашнего ноутбука и унести на работу где нет интернета? Или винт хотя бы вырвать и подключить, так чтобы все заработало?

@NeyroEntuziast Случайно не видели тестов насколько 70b уступает 671b? Вчера искал где можно продать почки для покупки нескольких А100/H100, чтобы запустить 671b, c грустью понял, что у меня нет столько почек( Пришлось остановится на 70b, буду на стенде на инстинкте 210 пробовать. Если лень позволит напишу, что получится.

Где-то проскакивала информация что китайцы делают 4090, 48Gb, не могу найти продавцов, если у кого есть ссылка киньте пожалуйста.

Было бы интересно если кто ни будь попробовал на паре 7900ХТ/ХТХ запустить, там в пересчете на доллар памяти вдвое больше чем у 4090 и сравнить с 4090

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

Вот кусок)

Делает покрытие

"Похоже, код работает. Тогда в чём проблема? Может, пользователь забыл добавить уменьшение i или что-то ещё? Или, возможно, он вводит данные неправильно? Но код использует input().split(), что должно работать. Но тогда почему пользователь говорит, что есть проблема? Может, он не получает ожидаемый результат?"

Делает покрытие с другими значениями

"Всё равно работает. Может, проблема в другом. Посмотрю на код ещё раз."

Делает еще тесты находит лажу и начинает про нее рассуждать)

Случайно не видели тестов насколько 70b уступает 671b?

Нет, не попадались на глаза.

Вчера искал где можно продать почки для покупки нескольких А100/H100, чтобы запустить 671b, c грустью понял, что у меня нет столько почек

Почек не стоит ни одна нейронка )

Делает еще тесты находит лажу и начинает про нее рассуждать)

Да, по рассуждениям мне тоже понравилась

Вот несколько тестов по теме:

Когда я смотрю на тесты, то понимаю, что пока нет универсальных моделей. И на практике результаты сильно отличаются от бенчмарков. Например, в своих кейсах я избегаю Мистраль и Лламу, предпочитаю уже "старую" Гемму2 и свежий Квен.

Все отлично работает через LM-studio, особенно радует, что они недавно дали возможность использовать VL.

Попробуйте phi4, иногда забивает на системный промт, но для ряда задач phi4:14b справляется лучше чем gemma2:27b

phi4 только что удалил, модель плохо говорит по-русски, плохо слушается системных промптов. Гемма немногословна, но строго следует сиспромпту, что для меня критично.

Задачи разные, мне наоборот нужно было чтобы модель с любого языка создавала текст на английском, дополняя его. И тут phi4 обходила gemma2, в конкретно моем случае.

Тоже сижу на Qwen 2.5 (14B), потому что шустро и весьма эффективно. Можно и 32B, но 16 GB VRAM уже поджимают. Какого-то огромного прироста качества в кодинге в сравнении с обычным Qwen 2.5 с переходом на R1 Distill-Qwen 14B не обнаружил. Моделька часто перепрыгивает на другие языки (китайский, испанский, какие-то ещё неизвестные мне), путается в собственных длинных рассуждениях даже при temp=0. Попробую потом 32B, может быть, будет стабильнее и полезнее, или попробую формировать запросы только на английском. А то, блин, я уже начал запоминать значение некоторых иероглифов :D

T-pro почти не перескакивает на иероглифы. Но существенно хуже следует запрету "не комментировать и не дополнять", наливая в формализованные ответы отсебятину и рассуждения. Исходный Qwen такого себе не позволяет.

А что значить R1-Distill-Qwen ? что такое просто дистилляция модели понятно, это как пережатие мп3 файла с меньшим битрейтом(условно), но что такое Distill-Qwen и Distill-llama? Это форматы моделей? или как-то другие модели подмешиваются?

А зачем такой хитрый план? Ведь они могли просто ужатый вариант своей сетки сделать? Или не могли и их сетка работает на каких-то других алгоритмах?

Как она у вас по русски разговаривает? я ей задал пару вопросов - строчит много, потом по русски коряво переводит. Не сильно коряво, но не как у вас.

НЛО прилетело и опубликовало эту надпись здесь

И ещё

Мобильная версия deepseek говорит что она урезанная, на 16 ГБ примерно. Можете посмотреть качество и скорость её ответов, на локальной видеокарте оно будет примерно таким же, может немного медленнее.

Я запустил модель deepseek на AMD Radeon 550 8GB и на RAM 32 GB через LLM Studio. Модель работает стабильно, но медленно (брал самую легковесную модель)

В зависимости от того, что там работает ядром, вопрос лишь в том, есть ли нужная CUDA для вашей карты. Зашивок на конкретные карты, я сходу, не могу вспомнить ни у кого, но буквально на днях попадалась новость, что Nvidia выводит старые карты из поддержки, так что вообще говоря может и не заработать..

Работать будет, но очень неспешно. Сказывается низкая пропускная способность памяти. Плюс К80 - это не одна карта на 24 ГБ, а две по 12 ГБ в одном корпусе. Из-за этого могут возникнуть сложности с запуском моделей, возможно придётся руками разруливать процесс загрузки слоёв.

Я запустил на 1080 Ti. Даже версия на 14 млрд параметров довольно шустро бегает, но в VRAM уже целиком не влезает и постоянно ходит в RAM. Версии на 7 и 8 млрд параметров намного быстрее, т.к. целиком влезают в видеопамять.

Llocal для Ollama (www.llocal.in) - десктопное окно, до частовского пока далеко, но думаю допилят

или готовый скомпилированный llama.cpp c поддержкой avx2 (без gpu) из релизов. общение через браузер. llama-server. 20 мб , работает шустро. и ещё намного быстрее с cuda, только размер гораздо больше.

хотя там беда - может отсутствовать поддержка новых моделей.

Честно говоря, это очень впечатляет, особенно для модели с открытым исходным кодом.

Ну как впечатляет... не очень впечатляет... хотя, нет, совсем не впечатляет... да что там, откровенно смешит:

Слишком маленькая модель. 7-8b не рабочие. 14b иногда рабочая. 32b рабочая, но на локальный запуск с нормальной квантизацией мне не хватает памяти.

32b рабочая, но на локальный запуск с нормальной квантизацией мне не хватает памяти.

У меня на 4090 та же история была (с qwen2.5-32b-awq) - чуть-чуть не хватало памяти. А 2-3 Гб видеопамяти при этом отжирал браузер. Короче, я в итоге купил для вывода изображения на монитор отдельную видеоплату, а 4090 полностью освободил под нейронные сети. Сейчас с вышеуказанной моделью работает нормально.

Я проверяю, чтобы для выбранного размера контекстного окна видеокарта не отжирала оперативку, регулируя количество слоев, которое отдаю на обработку GPU. Речь про LM studio и GGUF.

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

Интересно, а на нескольких распределенных нодах можно запустить deepseek или все видяхи только на одной ноде должны быть?

Я бы хотел погонять их API удалённо, но, несмотря на то что они в Китае, с нашими банковскими карточками в этот Калашный ряд тоже не пускают.

Ну а куда они могут без юр.лица в РФ и без "помощи" визы или мастеркарда деть сунуть рубли?
Хотя бы по ip не банят --- уже хорошо.

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

Обычная же LLM часто отвечает как в том анекдоте: Штурман, приборы! 42! Что 42? А что приборы?

Если вам не нужны рассуждения, значит вам нужна другая модель.

Возможно. Мне нужна модель генерации кода (php, js и т.д.) по описанию. Они все это делают, но возможно некоторые лучше. Я использую ИИ как помощника, а не как справочник. Рассуждения ИИ на тему что я имел ввиду не очень интересны. Правильность кода определяется моментом - он или работает или нет.

Если вам не нужны рассуждения, возьмите не-рассуждающую модель. Выбор-то широкий.. Есть ламы, есть кодестрал и т.д..

Суть R1, скорее, в том, что у ней внутре неонка рассуждения. Приделать Chain of Thought можно почти к любой модели, но у R1 CoT прям в датасете, похоже.

Именно. В отличии от ChatGPT этот R1 сразу сумел решить уравнение x^2 - y^3 = 1, и было интересно посмотреть на его рассуждения.

Точно! А то то я смотрю, она подробно объясняет всё, что она делает... А мне это не нужно, поэтому остаюсь на qwen.

Как раз хотел спросить, можно ли (стоит ли) ее прикрутить к Continue в VS Code.

Видимо нет, пусть qwen2.5-coder продолжает отдуваться.

Надо пробовать. Для меня моих целей она вероятно не подходит. Я сейчас остановился на QWEN+RAG, т.е. я скармливаю модели документ с фактами и она в ответе основывается только на них. В этом случае рассуждения модели о том, как и почему она дает ответ, излишни и более того - вредны. А новая сабжевая модель начинает по подсунутому ей контексту в ответе рассуждать типа: "Я проанализировала данный текст. На основе того-то пришла к выводу, что...". А мне это не нужно, мне нужен просто ответ, основанный на подсунутых фактах. А вот при решении задачек или при анализе кода, возможно, такие рассуждения будут полезны.

Тоже был удивлен ее многословностью. Я помню рекомендации год-два назад просить модель расписать шаги для повышения точности. Но чтобы вот так по умолачнию - непривычно. Может, кстати, это отчасти объясняет ее "повышенное качество" (ценой намного большего количества сгенерированных токенов)?

И RAG как делаете? Что стоит попробовать помимо AnythingLLM? Привлекла в свое время легкостью переключения между разными поставщиками (своя Ollama, Grok...)?

А помимо конфиденциальности, какие еще выгоды есть от собственной сетки?
Вот простейшие чаты при каждой реплике пересылают ВСЮ историю чата, получая сложность o(n^2), что делает невозможными длинные чаты. Со своей сеткой вы можете в теории даже сохранять ее состояние и откатывать, независимо от длины чата. Или это бесполезные фичи?

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

как у вас o(n^2) дешевле o(n) будет?

Вы, как я понимаю, решили, что чатгпт, кроме как на замена поисковой системы других применений не имеет?

Вы фундаментально не понимаете как работают LLM. Они работают с окном контекста, оно достаточно большое, содержит конец чата. Есть способы сжатия окна (можно попросить LLM пересказать начальную часть диалога, и положить этот пересказ вместо самого диалога). Но фундаментально - чат это и есть краткосрочная память модели.

Асимптотику тут сравнивать вообще некорректно. Чтобы запустить топовую модель нужно примерно 4 A100 ($80,000). Чтение миллиона токенов стоит 0.5$, генерация миллиона стоит 2.2$. Чисто за стоимость гпу можно нагенерировать очень и очень много, а тут ещё надо остальные комплектующие посчитать, электроэнергию, затраты на доставку\сборку\хранение\обслуживание.

На реддите некоторые люди говорят, что за claudie 3.5 api они в месяц платят 3-5 $, а ведь это модель сильно дороже берет за генерацию, чем deepseek.

Вот и получается, что если у тебя нет возможности загрузить эти гпу 100% загрузкой, то нафиг оно тебе не надо.

Вот не вижу вообще смысла подписку на Claude покупать - дают за 20 баксов всего в 5 раз больше токенов, чем за Free версию (причём, остаётся ограничение в токенах за день).

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

Кстати, есть ли опция в ChatGPT "очистить контекст"? Типа как в AnythingLLM "/reset"

Сейчас часто стал использовать временный чат. Задачку порешал, страничку обновил, и вперед, с чистого листа. Но иногда бывает, что-то интересное получилось, хочется сохранить на будущее, а уже никак.

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

Вроде нет. Но там есть временные чаты, которые исчезают, если создать новый.

Интересно, а можно это запустить на CPU? Пусть медленнее, но памяти 400-500 Гб не проблема, ну и ядер штук под 100 шт можно пихнуть

Я пробовал пару недель назад. Работает на CPU + RAM. Я использовал q4_K_M - 404GB.

  • response_token/s: 1.9

  • prompt_token/s: 3.8 - 5

2х процессорная система Intel Xeon Gold 5218, Cascade Lake (2.30 GHz Base / 3.90 GHz Turbo).

У каждого CPU - 6 каналов памяти, поэтому я поставил 12 * DDR4-2666 по 64GB. Получилось 768 GB RAM.

В общем, как эксперимент - интересно, но с такой скоростью - не особо юзабельно.

Количество ядер - не важно. Больше 16 ядер - никак не ускоряют, меньше 16 - замедляют. Всё упирается в скорость памяти. У AMD последние модели процессоров поддерживают 12 каналов DDR5-4800 памяти, то вот там наверное будет боле-менее.

Сегодня вышла статья, про то, как можно квантизацию делать хитрым способом, и тогда требования к памяти получаются ещё раза в два меньше и при этом качество сохраняется:

https://unsloth.ai/blog/deepseekr1-dynamic

https://www.reddit.com/r/LocalLLaMA/comments/1ibbloy/158bit_deepseek_r1_131gb_dynamic_gguf/

Можно, но скорость упадёт. У меня нет R1 под рукой, но Mistral NeMo 12B на RTX4090 выдаёт 50 токенов в секунду, а на Ryzen 9 5900X - 2.5 ток/с. С DDR5 будет чуть быстрее, но не сильно.

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

в тг есть паблик LLM под капотом. Там есть чат. Можно читать и задавать вопросы, много всего полезного. Я только начинаю погружаться, но скорее всего вам подойдет технология RAG. Fine Tuning очень ресурсозатратный.

RAG:
* свою базу знаний разбиваете на кусочки (мини-статьи/абзацы)
* делается база с этими кусочками (векторная)
* при запросе к LLM сначала через скрипт определяется к какими кусочками есть пересечение
* далее в LLM скрипт уже передает запрос вида: Вот тебе куски из статей +- по этой теме, , дай ответ на заданный вопрос по ним

Про интернет не подскажу - скорее всего надо чтобы модель умела делать поиски в гугле и анализировала потом уже ответы (помоему это делается через Tools или Agents)

Можно через Tools, да, с использованием библиотек LangChain и LangGraph. Но для этого надо использовать другую версию DeepSeek (ищется в Ollama по слову Tools).

Есть более подробная информация про RAG для локальной deepseek? Хочу подсунуть факты по конкретной теме, чтобы потом по ней задавать вопросы.

Есть, скорость будет неюзабельной, будете буквально на ночь оставлять думать.

Все зависит от задач, которые будете давать. У меня на мелких задачах по извлечению данных из небольших текстов, по категоризации мелких запросов нормально работают модели 8B (llama3.1, deepseek-r1 - эта из-за рассуждений своих конечно медленней работает) на макбуке air m1 2021 с 16 ГБ RAM. В среде Ollama + Open-webui в докере

UPD нормально = секунды 3 на llama, и секунд 30-60 deepseek

Кликните на нее и перейдите в раздел Models (Модели), где вы увидите несколько размеров моделей - от 5 миллиардов до 671 миллиарда параметров

Моделей несколько, и только одна из них R1.

На реддите есть длинный тред, про то как ollama обманул неподкованных пользователей, заставив думать, что бывает R1 на 70B или 32B и многие ошибочно делают вывод, что R1 это полная фигня, пробуя не настоящий R1.

Размеры от 5B до 70B - это файнтюн qwen или llama, они называются R1 Distill, и они должны быть вынесены в отельную категорию, потому что это дообученные qwen или llama на выходных данных из оригинальной R1, их качество не соответствует R1, они не обучались как R1 и делать выводы по ним ошибка.

Единственный способ запустить настоящую R1 (как и deepseek V3) локально, это иметь ПК с хотя бы 256гб памяти, если это 16 канальная ddr4 3200 система на б/у эпиках (1-2 поколения, такие можно собрать где-то за 150к), то вы получите скорость 4 t/s в Q2_K кванте, для размышлений это слишком медленно, так как их обычно много, но это более менее терпимо, если учесть, что скорость небыстро чтения 5 t/s.
На обычном ПК тоже можно запустить, ssd будет как виртуальная память, в llama.cpp поддерживается такой режим по умолчанию, скорость будет около 0.01 t/s.

Ааа, а я-то голову ломал, почему локальная R1 на 32B периодически иероглифы в вставляет, а на сайте всё хорошо.
Про обычный пк и 0.01 t/s - вы пишете про sata ssd или про m.2?

Там зависимость от скорости памяти близка к линейной. Для 16 каналов DDR4 общая шина памяти ~400Гб/с. Так что 0.01 t/s это таки nvme ssd причем весьма неплохой.

Сейчас unsloth выпустил динамический квант для R1, так что для запуска нужно всего 131гб + сколько гб на контекст.

Так как тут 37B активных параметров, то скорость будет выше чем 0.01 t/s если избавится от всяких тормозящих факторов, вроде сжатия ntfs, свопа, и windows почему-то плохо работает с mmap, из-за чего свопит на медленный ssd, даже если модель запускается с быстрого.

Я запустил DeepSeek-R1-UD-IQ1_S на nvme + ddr4 под windows, скорость 0.11 t/s, запустил тоже самое под Linux, скорость выросла до 0.33 t/s. В Windows всё уперлось в своп, хотя при mmap не должно такого быть. nvme подключен к сокету, поэтому скорость 1.3 гб/c, если взять более быстрый, то скорости вырастут, но не прям сильно. Если всё влезет в память, то скорости уже будут получше, а на ddr5 можно сейчас набить 192гб.

Скептически отношусь к файнтюну Квена, но вот R1 QWQ неожиданно порадовал качеством рассуждений. Я про модель fuseo1-deepseekr1-qwq-skyt1-flash-32b-preview в gguf Q6. На некоторые вопросы на моем железе думала по 5 минут, но отвечала верно и логично. Впрочем, и сама QWQ была хороша.

Там можно две системы объединить в одну, будет 256. Под квантами Q3 можно и 671B запустить (252GB), но вообще надо три таких, чтобы было Q4 (~335GB). Мб можно по сети будет распределить нагрузку между тремя digits, там же архитектура MoE.

Попробовал на RTX 3090 ту, которая 32b, arch qwen2, quantization Q4_K_M. Она сходу справилась с тем, на чём спотыкалась o1 (ещё совсем недавно... сейчас уже не спотыкается): "Назови какое-нибудь существительное в одинственном числе на русском языке, которое состоит из десяти букв, и чтобы все буквы были разные.", и также, как и o1, справляется с одной подсказкой с "Как перевести на английский фразу "В организме белки белки играют важную роль."?". И всё это в том же темпе, что выдаёт chatgpt.com.
Для настолько компактно порезанной модели - очень хорошо, я считаю.
И o1 допиливают прямо на ходу (или оно уже само себя допиливает...). И подсчёт букв, и попытка выбраться из омонимии с белками выглядят по-разному сейчас, и ~пару недель назад.

Поправка: локальная версия (32b) думает, что она должна что-то знать после октября 2023, но на конкретные вопросы она либо галлюцинирует, либо отмахивается общими фразами.

Даже сильно квантованную модель не могу запустить через LM Studio на более менее нормальной машине: 5800x + ram32gb + rtx3090 + win11pro. DeepSeek-R1-Distill-Qwen-32B-GGUF. Из за чего может быть? (ограничения в настройках LM Studio отключены, фоновых программ минимум)

Я вместо -GGUF использую -AWQ, и у меня периодически на 4090 возникала проблема нехватки видеопамяти. Причина была в том, что браузеры и прочие проги съедают 2-4Гб видеопамяти. Я докупил недорогую компактную видюху (радеон 6400) для вывода изображения на монитор, а 4090 полностью освободил для нейросетей. И сейчас qwen-32b-awq запускается беспроблемно.

Интересно, судя по всему можно вывод десктопа перевести на встроенную в процессор графику и полностью освободить основную видеокарту. У меня правда только 4080 с 16Гб, надо было в свое время брать 4090 когда разница тысяч 30 была.

Попробуйте, конечно. А то если открыт хром и прочие программы... у меня 2-3 Гб стабильно в видеопамяти отнимали, занимая драгоценное место. А при 16Гб тем более жалко отнимать память на всякие "ускорялки интернета".

Не знаю почему, но проблема решилась установкой CUDA Toolkit, даже стали запускаться веса которая не вмещаются в VRAM (LM Studio умеет часть веса перекидывать в RAM). Правда в таком случае скорость token/sec падает в десятки раз

Интересно, а технологии распределенных вычислений тут ни как не подходят? Раньше тема была популярна, обрабатывали радиосигналы из космоса и взламывали RC72 и подобное силами энтузиастов. С нейросетями вероятно сложнее, так как требуется вся память монолитом и на подзадачи вычисления не разбиваются? А так можно было бы собрать группу добровольцев с 1000 компьютерами и сложные запросы распределили бы между их вычислительными мощностями.

Нет, не подходят. Давайте попросим R1 объяснить, почему :)

Объясни любопытному человеку, почему большую языковую модель (как deepseek‑r1, например) нельзя запустить на персональных компьютерах 1000 добровольцев. Объясни ему про важность latency, пропускную способность между узлами и другие значимые для производительности факторы.

Вот почему запуск большой языковой модели (LLM) вроде DeepSeek-R1 на тысяче персональных компьютеров (ПК) добровольцев технически крайне сложен или даже невозможен:

1. Проблема с памятью (VRAM/ОЗУ)

  • Размер модели: Современные LLM содержат миллиарды параметров. Например, модель с 70 млрд параметров в формате float16 занимает около 140 ГБ памяти. Даже если разделить её на 1000 узлов, каждому потребуется обрабатывать ~70 млн параметров, но:

    • Сложность распределения: Нейросети — не набор независимых блоков. Их слои связаны, и для вычислений требуется синхронизация всех параметров на каждом шаге.

    • Минимальные требования: Даже для инференса (генерации ответов) современные LLM требуют десятки гигабайт видеопамяти (VRAM). У большинства ПК её просто нет (домашние GPU обычно имеют 6–12 ГБ VRAM).

2. Латентность (Latency)

  • Задержка связи: Для совместной работы узлы должны постоянно обмениваться данными. Даже при идеальном интернете пинг между добровольцами будет 50–500 мс, а для нейросетевых операций требуется синхронизация каждые несколько микросекунд.

  • Накопление задержек: В LLM каждый токен генерируется последовательно. Если на генерацию одного слова уходит 1 секунда из-за задержек связи, ответ из 20 слов займет 20 секунд — это неприемлемо для пользователей.

3. Пропускная способность сети

  • Объем данных: При распределенных вычислениях узлы обмениваются градиентами, активациями и параметрами. Для модели с 70 млрд параметров это сотни гигабайт данных на каждую итерацию.

  • Ограничения домашнего интернета: У большинства добровольцев скорость загрузки (upload) не превышает 10–100 Мбит/с. Передача 1 ГБ данных займет 2–20 минут — это делает обучение или даже инференс невозможным.

4. Гетерогенность оборудования

  • Разная производительность: У одних участников могут быть мощные GPU (RTX 4090), у других — слабые CPU или интегрированная графика. Самый медленный узел станет «бутылочным горлышком».

  • Несовместимость: Для эффективной работы нужна единая программная среда (CUDA, драйверы, библиотеки). На 1000 ПК это нереалистично.

5. Надежность системы

  • Отказы узлов: Если 1 из 1000 компьютеров отключится во время вычислений, вся система может «упасть». Такие сбои будут происходить постоянно.

  • Непредсказуемая нагрузка: Добровольцы могут использовать свои ПК для других задач (игры, работа), что приведет к резкому падению производительности.

6. Энергоэффективность

  • Вычисления на GPU/TPU в дата-центрах оптимизированы для минимизации энергопотребления. На домашних ПК с их КПД ~50% затраты энергии будут в 5–10 раз выше.

7. Безопасность

  • Утечка данных: Передача промежуточных результатов между узлами повышает риск перехвата конфиденциальной информации (например, персональных данных в запросах).

  • Атаки на модель: Злоумышленники могут намеренно искажать вычисления на своих узлах, «ломая» работу модели.

Почему это работает для проектов вроде SETI@home, но не для LLM?

  • SETI@home обрабатывает независимые задачи (анализ радиосигналов), где задержка и синхронизация не критичны. LLM же требуют сложной координации всех узлов на каждом шаге.

Итог

Для больших языковых моделей критически важны низкая латентностьвысокая пропускная способностьоднородное железо и централизованное управление. Эти условия недостижимы в распределенной сети из домашних ПК. Даже компании вроде Google или OpenAI используют специализированные кластеры с тысячами связанных GPU/TPU через инфраструктуру с микросекундной задержкой и терабитной пропускной способностью.

А я спросил про возможности распределенной работы и она есть и тестируется. Энергоэффективность вообще второстепенна для хобби проектов, я без проблем оплачу 100% загрузку своего ПК, как в SETI@home. Конфиденциальность обычная, везде данные уплывают в владельцу нейросети.

Ответ от нейросети:
Запуск больших языковых моделей (LLM) на компьютерах добровольцев с ограниченной вычислительной мощностью возможен, но требует решения нескольких ключевых проблем. Вот основные аспекты:

  1. Распределение вычислений Инференс (вывод модели): Для обработки запросов (например, генерации текста) можно распределить разные запросы между участниками. Однако если один запрос требует полного прохода через модель, возникают сложности: Разделение слоев модели: Каждый компьютер может обрабатывать отдельные слои нейросети, передавая промежуточные результаты между узлами. Но это требует низкой задержки сети и синхронизации, что сложно при географической распределенности. Пример: Проект Petals ( https://petals.ml/ )позволяет распределять слои LLM (например, BLOOM-176B) между участниками, но требует стабильного интернет-соединения. Обучение модели: Распределенное обучение крайне сложно из-за необходимости синхронизации градиентов между устройствами. Это требует высокой пропускной способности и низкой задержки, что недостижимо в децентрализованных сетях с добровольцами.

  2. Аппаратные ограничения Память: Современные LLM (например, GPT-3 с 175 млрд параметров) занимают десятки гигабайт памяти. Даже квантованная версия модели (например, 4-битная) требует ~20 ГБ, что превышает возможности большинства персональных компьютеров. Вычисления: Для выполнения матричных операций в реальном времени нужны мощные GPU/TPU. Инференс на CPU возможен, но будет очень медленным (секунды на токен).

  3. Оптимизация модели Квантование: Сокращение точности весов (например, с 32-бит до 8-бит) уменьшает размер модели и требования к памяти. Прунинг: Удаление менее значимых параметров модели. Дистилляция: Обучение компактной модели на основе большой («учитель → ученик»).

  4. Практические примеры BOINC: Платформа для распределенных вычислений, но подходит для задач с независимыми подзадачами (например, поиск простых чисел). Для LLM неприменима без модификаций. Petals: Позволяет запускать инференс и тонкую настройку больших моделей, распределяя слои между участниками. Однако требует координации и стабильности узлов. Federated Learning: Используется для обучения на устройствах пользователей (например, смартфонах), но не для инференса LLM.

  5. Проблемы Латентность: Передача данных между узлами замедляет обработку. Надежность: Отключение участников нарушает работу. Безопасность: Риск утечки данных или модификации модели злоумышленниками. Энергоэффективность: Вычисления на слабых устройствах могут быть менее эффективными, чем на специализированном оборудовании. Итог Теоретически распределить инференс LLM по множеству слабых компьютеров возможно, но с ограничениями: Подходят только оптимизированные (квантованные/дистиллированные) модели. Требуется координация узлов и решение проблем задержки. Обучение модели в таких условиях практически нереализуемо. Практически это сложно масштабировать, и производительность будет уступать централизованным решениям. Однако для экспериментальных задач или моделей среднего размера (например, Llama 7B в 4-битном формате) такие подходы уже тестируются.

Конфиденциальность обычная, везде данные уплывают в владельцу нейросети.

Нет, если сеть локальная.

Попробовал запустить 70b/Q4_K_M ollama на m2 ultra с 64gb памяти. Ожидаемо неспешно, но работает. Грузит железку сильнее, чем llama3 на те же 70b, даже вентилятор включился.

К сожалению не могу особо оценить улучшений, каждой LLM-ке предлагаю написать self-bundled react компонент, который можно подключить просто script-тегом. Из коробки работающий вариант пока ни одна не написала. На просьбы спамить поменьше текста и побольше кода реагирует так себе. Но контекст держит нормально, способна улучшать ранее сгенерированный код.

Привет, а сколько контекста запросили и сколько слоев в gpu? У меня на Lmstudio, linux, vulkan (cuda не хочет на лине), 24ram gpu (4090), 128ram, но даже если я контекст снижаю до 1024, и 0 слоев пускаю на gpu, выдает ошибку без конкретики

Вероятно просто не хватает видеопамяти. На маках она общая с RAM и быстрая, поэтому доступно в районе 50 гигов, чего для 70b плюс минус достаточно.

Ну да, должно быть как раз в районе 45, если 32b около 20 ест. Проблема видимо в вулкане, на винде на cuda поднялось, 30 слоев в gpu, конечно, ни о чем, 1.5 ток/сек. Однако в итоге не больно то умнее гвена, к сожалению,выдумывает. В работе на это нет времени. С 4o и o1 я уже как то от именно галюнов отвык, скорее не туда размышление уходит.

Не совсем понял по табличке - 32B модель требует 16 Гб видеопамяти но в требованиях указаны видеокарты с 24ГБ памяти. Пригодны ли для них карты с 16Гб вроде 4080?

Теоретически, если на карте ничего больше не висит, включая гуи. Но скорее всего будете регулярно ловить oom.

Чуть выше предложили перевести вывод десктопа ну другую видеокарту и наверное сойдет встроенная в процессор интеграшка. Но лично проверить пока руки не доходят.

А что будет, если запустить с недостаточным объёмом памяти?

У меня на 3090 используется 19 ГБ.

При запуске локально deepseek-r1:32b в ответах периодически каша из языков:

>>> Какие языки ты знаешь?

...

Я speak many languages! Основные языки, на которых я могу общаться:

...

Пару раз китайские иероглифы добавил:

Если你想, мы можем обсудить эту тему подробнее или рассмотреть разные точки зрения на этот вопрос!

На deepseek-r1:14b по ощущениям проблема еще хуже. В одном ответе может 3+ языка встречаться

выдачу иероглифов уменьшил добавлением системного промпта:

  1. Отвечай как эксперт.

  2. Не упоминай, что ты ИИ.

  3. Давай точные и уникальные ответы, избегая повторов.

  4. Всегда учитывай суть вопроса.

  5. Не оправдывайся за знания.

  6. Давай мнения только при запросе.

  7. Если не знаешь, говори «не знаю».

  8. Не используй фразы сожаления.

  9. Разделяй ответы на сложные вопросы, упрощая их.

  10. Показывай разные точки зрения.

  11. Уточняй, если вопрос непонятен.

  12. При запросе ".", ищи в интернете и отвечай с ссылками.

  13. Делай ответы лаконичными, с деталями для сложных тем.

  14. Обращайся по указанному имени.

  15. Запрещено использовать в ответе любые иероглифы, в том числе китайские

  16. Отвечай по-русски, пока не попросят иное.

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

братья китайцы опять ввели в заблуждение. тестировал на H100 (VRAM: 80 GB)
- DeepSeek-R1 - требует 400GB VRAM (не запустилась)
- DeepSeek-R1-Distill-Llama-70B - это llamа от Цукерберга (самая адекватная)
- DeepSeek-R1-Distill-Qwen-32B - это Preview модель DeepSeek-R1, не помнит историю, на узкоспециализированные технические вопросы отвечает не правильно, умеет кодить, один раз зависла
- DeepSeek-R1-Distill-Qwen-14B - Preview модель DeepSeek-R1, тоже самое, не помнит историю, отвечает не правильно, умеет немного кодить

тоже такая проблема, у меня историю помнит, но не в правильной последовательности
модель: deepseek-r1-distill-qwen-32b@iq3_m
LM Studio + open-webui

DeepSeek-R1-Distill-Llama-70B - это llamа от Цукерберга (самая адекватная)

DeepSeek от Цукерберга - это как? Их совместили.скрестили или просто шильдик переклеили переименовали?

Я не настолько разбираюсь в деталях :( И всегда думал, что distilled - это уменьшенная модель. Не квантизация, конечно, другой принцип, но все равно "та же самая".

Или здесь имеется ввиду, что взяли Llama Цукерберга, а полноценная DeepSeek-R1 испоьзовалась как teacher model для уменьшения Llama? .Или наоборот?

Добавлю - на текущий момент у меня сложилось впечатление, что DeepSeek-R1-Distill-Llama-70B тренировали не на "настоящих данных", а учили с помощью Llama.

Тогда отчасти понятно, почему дешево - воспользовались готовым вместо сбора датасета (какому-нибудь ChatGPT это обошлось недешево) .

Или все-таки изначальную DeepSeek-R1 тренировали на реально самостоятельно собранном датасете?

Мда... Эти чудеса мне уже совсем непонятны.

Получается, LLama и Qwen воспользовавшись толикой R1 станут намного лучше. А просто собственную уменьшенную R1 сделать нельзя?

Саму R1 все-таки на чем тренировали? На реальных данных или ответах большой Llama с gpt-4😊?

Дистиллированные модели выглядят шуткой-провокацией от Дипсика: "Мы настолько хороши, что даже ваши модели можем сделать лучше".

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

Великолепный ответ! многое объясняет 🤣

Кстати, на тестах я скормил питоновский скрипт 11КБ, бесплатным сервисам (не локальным) ChatGPT и Deepseek. Попросил уменьшить его размер:
It's 11kb while system accepts only up to 8 kb. Optimize and compact script above to reduce its size. You may remove comments, shorten variables name...

Оба уменьшили до 4-4.5КБ. Но у ChatGPT прошел все тесты, никаких нареканий, а у Deepseek тут же вывалился с огибкой, ибоон выкинул проверки на пустые значения (если ключ в Dict остутствует).

А как скачать отдельно llm? Оллама куда-то скачивает, но в папке программы я файлов подходящего размера не нашел. А я бы хотел увидеть как подключить эту модель, например к интеловской ai playground. Интереснее чем в пауэршеле что-то набирать!

Таки вопрос: каким промптом отключить цензуру на этичность. Ибо мне интересен результат, который понятно, может показаться кому-то оскорбительным. И модель его режет)))

Там (в pi5+) "embedded NPU supports INT4/INT8/INT16/FP16 mixed computing, with up to 6Tops", я правда хз с чем это сравнить :) В 15 айфоне 35 TOPS, но вроде как их нельзя напрямую сравнивать.

Для сравнения: Nvidia RTX 3090 - это 284 TOPS

Но на самом деле скорость CPU / NPU / ... - именно для DeepSeek неважна. Скорость работы DeepSeek определяется скоростью работы памяти.

Товарищи! А сталкивался кто нибудь с проблемой на видеокартах AMD ? При попытке установить и запустить DeepSeek 14B, Llama выдаёт ошибку буфера ROCm. Установка софта от AMD не помогла

Помогите пожалуйста понять, если я сделаю файл подкачки на полтора терабайта, то я смогу запустить модель R1 в очень медленном режиме, в котором видео карта будет обращается за недостающими в памяти данными к оперативке, а оперативка берет их с NVME диска из файла подкачки? как сложно запустить программу в таком режиме и стоит ли нубу заморачиваться?

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

А я потом смогу ее скопировать с домашнего ноутбука и унести на работу где нет интернета? Или винт хотя бы вырвать и подключить, так чтобы все заработало?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации