Настраиваем локальный GPT сервис на своем ПК. Экономим сотни $$$

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113
Данный пост можно считать и кейсом, который я успешно применяю в своей работе, и мануалом, который описывает последовательность действий.

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

Я предлагаю иной метод – поднятие своей личной GPT машины, которая будет для вас генерировать тексты нонстоп, 24/7.


Введение

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

Все настройки ниже применимы к моей видеокарте - NVIDIA GeForce RTX 3060 12GB.


Программа для генерации

Для начала необходимо скачать программу-оболочку для запуска GPT моделей - KoboldAI's UI.

https://github.com/LostRuins/koboldcpp/releases

Koboldcpp_nocuda - расчеты производятся только на процессоре
Koboldcpp - с поддержкой видеокарты Nvidia
koboldcpp_cu12 - для более новых графических процессоров Nvidia
В моем случае я выбираю последнюю, с именем: koboldcpp_cu12.exe
(есть форки для Radeon, но я их не проверял)

124972



Загружаем его в отдельную папку и запускаем.
Появится окно терминала, а затем диалоговое окно с настройками запуска модели.


Модели

Качаем с сайта: https://huggingface.co/ с расширением GGUF
На момент написания данного гайда я использовал модель capybarahermes-2.5-mistral-7b.Q8_0.gguf.

124976


Есть модели более новые и с большим количеством параметров.

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

Выбирайте вес модели, исходя из количества памяти видеокарты.

Если твоя карта имеет 8GB памяти, качай модель со значением -7B- и массой 7.7GB. Для карты с 6GB памяти, качай модель со значением -5B- и массой 5GB. Тяжелее модели не будут помещаться в память видеокарты и будет задействован процессор на 100%, соответственно, компьютер будет значительно тормозить, а скорость генерации будет низкой.


Настройка Kobold’а

Выбери ID твоего GPU. Если используешь несколько карт, выбери All.

"threads": 3584 //Количество ядер CUDA
"gpulayers": -1 //Количество слоев для модели (Сколько поддерживаются)
124973



Выбери необходимую модель в формате GGUF.

124975



Проверь порт, в нашем случае: 5001.

124974


После настройки не забудь сохранить конфигурацию Save, чтобы при каждом новом запуске не настраивать все заново. После сохранения можно запускать нейросеть BAT файлом с содержимым:
koboldcpp_cu12.exe --config conf.kcpps

Нажимаем кнопку Launch и ждем, когда нейросеть можно будет использовать.

124979


Сервис запустится по адресу http://localhost:5001

Теперь можно использовать API локальной нейросети, которая поддерживает запросы OpenAI API.


Интеграция

Для интеграции я написал простой шаблон с POST-запросом, который вы с легкостью сможете интегрировать в свой шаблон, достаточно прописать свой prompt и адрес локального GPT сервиса.

124977


Для GPT можно выделить отдельную машину в локальной сети или интернет. Главное - правильно указать сетевой адрес к нему.


Генерация

124980


В окне генерации должны отображаться: скорость генерации, входящие данные и сгенерированные данные.

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

Загрузку карты можно посмотреть в диспетчере задач, выбрать Cuda ядра.

124978


Если загрузка не полная, можно увеличить потоки на вашей бот-машине.


Советы из личного опыта

  1. В компьютер можно воткнуть две карты, и увеличить скорость генерации
  2. В качестве железа не подойдут карты для майнинга, т.к. там урезана шина PCI до 1X (умельцы допаивают конденсаторы и расширяют шину)
  3. Достойная скорость генерации возможна и на 1060 6GB - до 20 токенов в секунду. Т.е. короткий био будет генерироваться 2-5 секунд.
  4. Следите за обновлением коболда. Проект часто обновляется и появляются новые, полезные фишки
  5. Используйте встроенный бенчмарк. С помощью него можно замерить скорость генерации при разных настройках.
  6. Экспериментируйте с моделями и их размером. Разные модели одного и того же размера могут показывать разную скорость и качество сгенерированного текста.
  7. Следите за новостями AI технологий. Новые модели с большим количеством параметров и более высокой скоростью генерации выходят очень часто, главное - постоянно пробовать новые.

Выводы

  1. Карта как у меня на рынке в базарный день стоит 23-25 кр. Потребление в пике - 120 ватт/ч, в месяц - 600-800р. У меня GPT машина генерирует био и креативы для постов в сутки для нескольких тысяч аккаунтов, которые окупили эту карту за первый месяц использования. По-моему, математика сложилась.
  2. Мы находимся на исторической этапе развития технологий. Пару лет назад сложно было представить, что можно создавать тысячи простых текстов для своего бота. Сейчас же, с увеличением графических мощностей, это стало нормой. У каждого есть шанс запрыгнуть в этот поезд, стремительно набирающий скорость.
 

Вложения

Последнее редактирование модератором:

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 621
Благодарностей
1 216
Баллы
113
Вопрос такой: что будет лучше, поставить одну карту на 16 Гб (допустим, 4060), или же две по 12 Гб (те же 3060)? Как с точки зрения качества, так и с точки зрения скорости? Условно, в две по 12 влезет две модели попроще, но зато будут работать одновременно, т.е., качество будет похуже, но зато быстрее (в многотопоке). А в 16 гб влезет модель посерьезнее, но будет работать чуть медленннее.
ps. Ti прирост дает вообще? Или решает только объем памяти и нет смысла переплачивать?
 
Последнее редактирование:

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113
Вопрос такой: что будет лучше, поставить одну карту на 16 Гб (допустим, 4060), или же две по 12 Гб (те же 3060)? Как с точки зрения качества, так и с точки зрения скорости? Условно, в две по 12 влезет две модели попроще, но зато будут работать одновременно, т.е., качество будет похуже, но зато быстрее (в многотопоке). А в 16 гб влезет модель посерьезнее, но будет работать чуть медленннее.
Я тестировал на совершенно разном железе, но не заметил формулы 10 + 20 = 30, в итоге было скорее 25.
Возможно я где-то ошибся, возможно так оно работает. Пока не попробуешь - не узнаешь. Но, то что можно использовать несколько карт в одной машине - факт.
Ti прирост дает вообще? Или решает только объем памяти и нет смысла переплачивать?
Работают ядра CUDA и объем памяти, как Ti на это влияет, яхз.
 
Регистрация
23.03.2015
Сообщения
1 217
Благодарностей
748
Баллы
113
В чём отличие Kobold от LM Studio?
Есть отличия в производительности или удобстве?
Пробовал сравнивать capybarahermes-2.5-mistral-7b.Q8_0.gguf с лама 3.1?
 

taratova

Пользователь
Регистрация
14.07.2021
Сообщения
52
Благодарностей
10
Баллы
8
круто)
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113
В чём отличие Kobold от LM Studio?
В удобвстве и стабильности работы коболд выше всех конкурентов на голову. Тот же апи у меня работает сутками без сбоев.
Пробовал сравнивать capybarahermes-2.5-mistral-7b.Q8_0.gguf с лама 3.1?
Постоянно сравниваю модели. Сейчас на Mistral-7B-Instruct-v0.3-Q8_0.gguf, она генерирует более ожидаемые ответветы, а лама такую пургу выдает, нунахер.
 
Регистрация
23.03.2015
Сообщения
1 217
Благодарностей
748
Баллы
113
Тот же апи у меня работает сутками без сбоев.
Перезагружаю сервер 1 раз в неделю, lm studio не разу не подводила
Постоянно сравниваю модели. Сейчас на Mistral-7B-Instruct-v0.3-Q8_0.gguf, она генерирует более ожидаемые ответветы, а лама такую пургу выдает, нунахер.
Сейчас потестировал Ламу, Мистраль и ещё пару популярных моделей.
Мистраль выдаёт более развернутые и креативные(иногда через чур) ответы со смайликами.
Лама более лаконична и сурова.
другие вообще не зашли.
Запросы на русском понимают все, но лучше не стоит.
Ответы иногда поражают)
2024-09-25_15-58-58.png2024-09-25_16-02-36.png2024-09-25_16-08-46.png2024-09-25_16-11-36.png2024-09-25_16-12-33.png2024-09-25_16-14-08.png2024-09-25_16-16-13.png2024-09-25_16-17-49.png2024-09-25_16-18-48.png2024-09-25_16-19-47.png
однозначно стоит делать наиболее подробные промты и не давать железяки фантазировать
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 786
Благодарностей
1 951
Баллы
113

garikn

Client
Регистрация
03.08.2021
Сообщения
146
Благодарностей
31
Баллы
28

execut0r

Client
Регистрация
12.03.2014
Сообщения
263
Благодарностей
271
Баллы
63
Ollama - быстро и продуктивно. Все ставится из коробки.
На Винду вообще в два клика - установил и делаешь запрос на localhost, как на стандартный API. Кушает почти все, работает очень шустро.

В соседней теме Serj566 на примере показал
 
Последнее редактирование:
Регистрация
23.03.2015
Сообщения
1 217
Благодарностей
748
Баллы
113
Ollama - быстро и продуктивно. Все ставится из коробки.
На Винду вообще в два клика - установил и делаешь запрос на localhost, как на стандартный API. Кушает почти все, работает очень шустро.

В соседней теме Serj566 на примере показал
Вообще не топлю ни за какую оболочку, первую увидел LM Studio ей и пользуюсь. Установка в пару кликов, работает 24/7 без проблем. В последних версиях можно сразу загружать несколько модели.
Установку Ollama Видел на видео показалось немножко заморочено. Там была установка с помощью Докера.
Вот теперь интересно, влияет ли оболочка на скорость генерации контента? Кто-нибудь проводил такие тесты?
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
263
Благодарностей
271
Баллы
63
Я замеров не делал, но как перешел на Ollam'у горя перестал знать) Она в трее с загрузкой сидит, систему не напрягает, не отваливается. Модели на ней летают, по моему субъективному ощущению.
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113
Вот теперь интересно, влияет ли оболочка на скорость генерации контента? Кто-нибудь проводил такие тесты?
Чисто теоретически на скорость генерации влияет железо и модель. Если влияние оболочки есть, то не такое большое, хотя все таки нужно тестить.
Я Ollama поставил, но из-за отсутствия внятного мануала так и не понял, куда что прописывать и забил.
Теперь настала очередь за LM Studio
 

execut0r

Client
Регистрация
12.03.2014
Сообщения
263
Благодарностей
271
Баллы
63
Чисто теоретически на скорость генерации влияет железо и модель. Если влияние оболочки есть, то не такое большое, хотя все таки нужно тестить.
Я Ollama поставил, но из-за отсутствия внятного мануала так и не понял, куда что прописывать и забил.
Теперь настала очередь за LM Studio
Куда проще?
Установил Ollam'у на Windows через exe'шник.
Запустил cmd и ввел команду - ollama run llama3.2 или любую другую нужную и поддерживаемую модель
Она ее скачивает и сохраняет на диске.
Далее в ZennoPoster делаем POST запрос с нужной нам моделью и все.
Не буду повторяться - в теме @Serj566 в картинках расписал.
 
  • Спасибо
Реакции: betking1991

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 621
Благодарностей
1 216
Баллы
113
Отлично, что много разных вариантов на конкурсе представлено. Каждый выберет то, что ему больше подойдет, или что больше устроит. У самого завтра 4060 приедет, как раз займусь экспериментами со всеми, настало время ))
 
  • Спасибо
Реакции: zarufakis

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113
Отлично, что много разных вариантов на конкурсе представлено. Каждый выберет то, что ему больше подойдет, или что больше устроит. У самого завтра 4060 приедет, как раз займусь экспериментами со всеми, настало время ))
разница между 3060 и 4060 не сильно большая, процентов 15
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113

Demiz

Client
Регистрация
19.12.2017
Сообщения
186
Благодарностей
118
Баллы
43
Спасибо за статью, проголосую! Жаль у меня красная карточка, надо будет проверить форк и для моей, до этого не нашел достойных решений для радеонов. Поэтому буду на зелень переходить, по мне так локальный ГПТ куда надежнее
 

Stilius

Client
Регистрация
19.11.2017
Сообщения
90
Благодарностей
18
Баллы
8
Подскажите что за ошибка при запуске kobold
1727642834886.png
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113

rodgers

Client
Регистрация
24.09.2014
Сообщения
30
Благодарностей
6
Баллы
8
Подскажите на NVIDIA GeForce RTX 3060 12GB LHR должно работать так же как и на обычной или LHR не даст такой скорости?
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 621
Благодарностей
1 216
Баллы
113

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113
или LHR не даст такой скорости
GPT использует CUDA ядра и шину PCI. Если они не порезаны, как на майнинговых картах, то теоретически производительность в T/sec должна быть такой же. А количество памяти влияет на то, какого размера модель в нее влезет полностью.

Например на картах Ti CUDA ядер больше чем на обычной. Для генерации простого текста достаточно и 5-6гб модели, соответственно я бы сейчас купил бы карту 4060Ti 8GB. Мне бы ее было бы за глаза.
 
Последнее редактирование:
  • Спасибо
Реакции: rodgers

heks

Client
Регистрация
01.10.2013
Сообщения
1 203
Благодарностей
316
Баллы
83
Как убрать ограничение в 400 токенов?
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113

heks

Client
Регистрация
01.10.2013
Сообщения
1 203
Благодарностей
316
Баллы
83
Может кто подскажет смотрю генерит процом а не картой
https://prnt.sc/dd8X7KAhqAev
ноут предатор хелиос 16-72 видяха 4060 на 16 гб скачал модуль Mistral-7B-Instruct-v0.3.fp16 на 14 гб
тот что в статье модуль что то не нашел в поиске
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 700
Благодарностей
1 078
Баллы
113
Может кто подскажет смотрю генерит процом а не картой
https://prnt.sc/dd8X7KAhqAev
ноут предатор хелиос 16-72 видяха 4060 на 16 гб скачал модуль Mistral-7B-Instruct-v0.3.fp16 на 14 гб
тот что в статье модуль что то не нашел в поиске
Я тоже на ноуте пробовал с такой же картой и у меня ничего не получилось, даже с более мелкой моделью. Постоянно использует проц.
Если у тебя получится, дай нам знать.
 

heks

Client
Регистрация
01.10.2013
Сообщения
1 203
Благодарностей
316
Баллы
83
А я думал я криворукий)))
Маякну если получится еще покопаюсь
 
Последнее редактирование:

heks

Client
Регистрация
01.10.2013
Сообщения
1 203
Благодарностей
316
Баллы
83
https://prnt.sc/VVip3ayLWLaI запустил пробуй openhermes-2.5-mistral-7b.Q4_K_M.gguf
graph splits = 1 ставил не так как ты написал
хотя в логах так пишется llama_new_context_with_model: graph splits = 2
еще отрубил https://prnt.sc/E9TxXy5Y3JMm

CtxLimit:441/4096, Amt:400/400, Init:0.00s, Process:0.01s (9.0ms/T = 111.11T/s), Generate:10.59s (26.5ms/T = 37.76T/s), Total:10.60s (37.73T/s) вроде скорость норма
 
Последнее редактирование:
  • Спасибо
Реакции: zarufakis и Sergodjan

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)