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

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

nvidia 2080 12Gb
llama.cpp умеет в офлоадинг на RAM, нужно подобрать значение --n-gpu-layers при запуске докера.
Для 32b модели генерит слишком медленно, для 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 код, что достаточно просто (я в последний момент вырезал эту секцию из статьи, подумав, что это не будет интересно. Но судя по накиданным минусам на статье за слабую техническую часть, стоило оставить)

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

Публикации