Comments 17
Интересно, надо будет поиграться. Подскажите, а в ваших примерах сама модель загружается на компьютер или используется удаленно через api? И подобную модель можно самому натренировать? 4090 потянет или вряд ли?
Очень интересная статья код к сожаленю не работает, не хватает настроек по ходу
Traceback (most recent call last):
File "C:_work__llm\test.py", line 14, in
model = PeftModel.from_pretrained(
File "C:\bin\python\lib\site-packages\peft\peft_model.py", line 332, in from_pretrained
model.load_adapter(model_id, adapter_name, is_trainable=is_trainable, **kwargs)
File "C:\bin\python\lib\site-packages\peft\peft_model.py", line 662, in load_adapter
dispatch_model(
File "C:\bin\python\lib\site-packages\accelerate\big_modeling.py", line 368, in dispatch_model
raise ValueError(
ValueError: We need an offload_dir
to dispatch this model according to this device_map
, the following submodules need to be offloaded: base_model.model.model.layers.20, base_model.model.model.layers.21, base_model.model.model.layers.22, base_model.model.model.layers.23, base_model.model.model.layers.24, base_model.model.model.layers.25, base_model.model.model.layers.26, base_model.model.model.layers.27, base_model.model.model.layers.28, base_model.model.model.layers.29, base_model.model.model.layers.30, base_model.model.model.layers.31, base_model.model.model.norm, base_model.model.lm_head.
Вообще-то вы вроде неправильно указали название модели. То, что вы используете вот:

Я о Сайге-Мистраль и её запуске в облачном сервисе писал статью на Хабре: https://habr.com/ru/articles/767588/
А то, что указали вы в 1 скриншоте - если правильно понимаю, это Мистраль, дотюненый Лорой специально на задачах russiansuperglue - это НЕ Сайга. Я не уверен, что Илья вообще его выкладывал.
Ну все верно. Не понимаю в чем противоречие? Вот название: Mistral 7B LoRA, ее id: IlyaGusev/saiga_mistral_7b_lora, ее карточка: https://huggingface.co/IlyaGusev/saiga_mistral_7b_lora
На первом месте дотюненая базовая модель Mistral-7B-v0.1.
На 18 месте НЕтюненая адаптированная под русский saiga_mistral_7b_lora.
Если saiga_mistral_7b_lora дотюнить на RSG, получиться примерно такой же результат, как и у Mistral-7B-v0.1.
"IlyaGusev/saiga_mistral_7b" из кода в статье вообще не существует. В остальном в статье действительно модель с 18 места. Только это никакого значения не имеет, среди zero-shot посылок она на 3 месте после gpt-3.5-turbo и 70b модели.
Получилось установить. Правда посыпались ошибки из-за версий nvidia-cuda, но эти проблемы решил.
Вполне адекватно отвечает, правда иногда с опечатками и неправильными склонениями. Прогу на питоне выдал, работающую без ошибок, но с неправильным алгоритмом.
На просьбу "дать определение человека с сильным характером" выдал:
Человек с сильным характером - это индивид, который обладает высокой уверенностью в себе, самостоятельностью, решимостью и способностью к принятию ответственности за свои действия. Он может быть энергичным, настойчивым и стремящимся достичь своих целей, несмотря на препятствия и трудности. Человек с сильным характером обычно проявляет лидерские качества, способность к коммуникации и умение принимать решения. Он также может быть открытым для критики и конструктивных предложений, которые могут помочь ему развиться и стать лучше.
Весьма неплохо.
Только думает долго - 10-20 секунд. Видеокарта (4090) нагружается до 50%. Интересно, без видюхи сколько думать будет?
Вчера игрался с этой моделью. На Ryzen 7 2700X с запросом "определение человека с сильным характером":
saiga_mistral_7b
- в среднем 10 минут;q2_K.gguf
- примерно 20 секунд;q4_K.gguf
- примерно 30 секунд;q8_0.gguf
- примерно минута.
На видеокарте Radeon RX 7600 через ROCm тоже около 10 минут из-за того, что на ней памяти под модель не хватает.
На Ryzen 7 2700X с запросом "определение человека с сильным характером"
Что-то долго. Сейчас проверил по этой фразе на сервере с Xeon E2236 (6 ядер, 3.2-4.8Гц) - 3 минуты 22 секунды. А у вашего райзена 8 ядер, что совокупно соизмеримо с вышеупомянутым ксеоном. Раза в два быстрее у вас должно считаться. Я использовал питон 3.10.
На видеокарте Radeon RX 7600 через ROCm тоже около 10 минут
Похоже, видюха не задействуется совсем. На 4090 сейчас по этой фразе результат выполняется за 12-14 секунд.
Загрузку процессора сейчас посмотрел, действительно меньше половины. Не могу сказать почему так получается, я пока плохо разбираюсь в том какие параметры и где можно менять.
По поводу видеокарты - у нее во время вывода загрузка GPU и VRAM в районе 100%, она скорее всего работает. Вывод о недостатке VRAM я сделал из того, что было написано в исключении когда я пробовал всю модель положить в видеопамять.
Исключение
torch.cuda.OutOfMemoryError: HIP out of memory. Tried to allocate 112.00 MiB. GPU 0 has a total capacity of 7.98 GiB of which 86.00 MiB is free. Of the allocated memory 7.64 GiB is allocated by PyTorch, and 79.70 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_HIP_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)
С опцией expandable_segments:True
работает работает аналогично.
Странно. В Rx 7600 8gb. Туда 4битная версия должна влезать (она требует 6 гб с копейками).
см таблицу у TheBloke
Вообще время генерации напрямую зависит от объема выводимого текста. Поскольку модель последовательно высчитает вероятность каждого последующего слова (с учетом предыдущих). Вот тут можете посмотреть наглядный пример:
https://huggingface.co/chat/
Попросите сгенерировать текст на какую-нибудь тему. Ответ вам будет печататься по словам :)
Есть у кого настроенный блокнот с ней для колаба?
Большие языковые модели (LLM) в задачах