Комментарии 12
"Что нужно, для запуска:
Linux, видеокарта nvidia
" а на какой карте запускали с CUDA_VERSION=12.4.0 ?
nvidia 2080 12Gb
llama.cpp умеет в офлоадинг на RAM, нужно подобрать значение --n-gpu-layers при запуске докера.
Для 32b модели генерит слишком медленно, для 7-8b вполне норм
"для 7-8b вполне норм" а это примерно сколько токенов/сек?
2080 Ti 12gb для простенького запроса. --n-gpu-layers 20
DeepSeek-R1-Distill-Qwen-7B-F16
prompt eval time = 232.39 ms/24 tokens (9.68 ms per token, 103.28 tokens per second)
eval time = 143668.70 ms/1246 tokens (115.30 ms per token, 8.67 tokens per second)
total time = 143901.08 ms/1270 tokens
Обратите внимание, что эти цифры будут меняться от размера промпта.
"вполне норм" - вполне норм, чтобы протестировать качество модели, имея под рукой +- любую не слишком старую видеокарту. Речь в туториале не идет об инференсе под нагрузкой
LM Studio и винда вполне достаточны что бы пощупать, запускал довольно большие но квантованные модели Qwen 14B Q4_K на 3060ti 8Gb и Qwen 32B Q6 на 4080 16Gb - довольно медленно но работают.
Да, согласен, хороший вариант. Особенно, если основная рабочая машина на винде
С llama.cpp мне нравится вариант потому, что образ можно развернуть на сервере и ребята с команды смогут с ним взаимодействовать. Хоть через UI для быстрого теста, хоть через openai-compatible api с микросервиса
Ну и потом этот же llama.cpp в проде развернуть на железе мощнее
На Винде можно воспользоваться CoboldCPP - удобно, с гуём и веб-интерфейсом. Кстати, на том же huggingface есть расцензуренные дистиллы дипсика с пометкой "ablated" (например, deepseek-r1-qwen-2.5-32B-ablated-Q6_K_L), их гонять поинтереснее, чем стоковые дистиллы :)
DeepSeek-R1-Distill-Qwen-32B - чуть круче О1-mini, согласно бенчмаркам, так что где-то тут кроется хорошее value-to-quality для многих задач. 7b qwen/8b llama - превосходят по качеству gpt4-o. Для ембеддингов и семантического поиска должно быть достаточно.
Вообще не читаете что вам робот пишет? В какой вселенной 7b qwen/8b llama может хотя бы на километр приблизится к gpt4-o?
И вам хорошего дня и счастливой жизни. Весь текст написан автором, без использования llm
Прикладываю скрин с карточки модели (https://huggingface.co/deepseek-ai/DeepSeek-R1)

Если вас смущают цифры, предоставленные deepseek, можете обратиться к ним. Если есть конструктивные вопросы, можем обсудить тут 😊
Понимаю, что на ваших задачах может быть не так. Я добавлю отсылку на материал, на основании которого сделан вывод, в статью
А не проще ли
устаровить ollama (ос не имеет значения)
ollama run deepseek-r1:xxb
Пользуемся
Если надо в прод:
можно с докером сделать ту же историю, просто прописать условный композ и скрипт чтоб моделька скачалась.
Пользуемся
Вот например на stack overflow эта тема с ollama поднималась: https://stackoverflow.com/questions/78388016/run-ollama-with-docker-compose-and-using-gpu.
Из плюсов не нужно тянуть за собой лишние python зависимости, а кому надо просто через sdk будут обращаться. У ollama есть и свой, есть в langchain, наверное есть и в других фреймворках.
Тут смотря для чего использовать)
По комментам уже записал себе, что не хватило объяснения, зачем и кому использовать такой путь. Буду поправлять в следующих статьях
На мой взгляд, ollama уровнем абстракции выше
У ollama есть бэкенд llama.cpp. Хочется ли вам запускать в прод golang, который дергает c++ - отдельный важный вопрос
По этой же причине возникают треды, типа такого на реддите. То есть какие-то оптимизации доезжают с лагом из ollama в llama.cpp, а у кого-то что-то тяжелее заводится. И тд
Ну и "запустил докер в проде" - это верхушка айсберга. Кому-то нужны свои сетевые фреймворки для выдерживания нагрузки, кому-то портативность, чтобы на мобилках этот же код запускать, кому-то - реализовать свои оптимизации, типа эффективной квантизации кешей
В этом плане, если в момент решения какой фреймворк задеплоить, вы не видите разницы между ollama и llama.cpp в контексте вашей задачи, а видите только сложности - наверное лучше взять то, что проще)
По зависимостям питона - их нет и в llama.cpp, это просто с++ бинарь. Ну, то есть, чисто технически, докер, собранный в статье их содержит, но это пример как супер быстро начать.
Вы можете собрать через cmake код, что достаточно просто (я в последний момент вырезал эту секцию из статьи, подумав, что это не будет интересно. Но судя по накиданным минусам на статье за слабую техническую часть, стоило оставить)
Поднимаем DeepSeek llm локально