Запуск текстовой нейросети StableLM на локальном компьютере

О нас » Шпаргалка Сисадмина » НЕЙРОСЕТИ » Своя нейросеть GPT на компьютере установка StableLM на Windows простая инструкция



Ворнинг! Просмотрите статью до конца, прежде чем что-то устанавливать. Возможно, оно не захочется =)

 

 

  1. Еще раз про нейросети
  2. StableLM - текстовая нейросеть с открытым кодом
  3. Системные требования для установки StableLM
  4. Устанавливаем Python и GIT для работы со StableLM
  5. Устанавливаем StableLM на компьютер
  6. Установка на более слабый компьютер через llama.cpp
  7. Скачиваем и устанавливаем модели для StableLM
  8. Запуск StableLM
  9. Пишем BATник для запуска с различными параметрами
  10. Интерфейс StableLM
  11. Примеры выдачи запросов
  12. Ошибки при запуске Stable LM и отладка



логотип stableLM


1. Еще раз про нейросети

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


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


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


  Текстовые нейросети - могут почти все, что связано с текстом. Могут сделать статью на заданную тему, написать текст, сделать рерайт готового текста, написать простую программу (это пока на текущий момент, от например, пример игры, созданной нейросетью. Подробности ищите в Интернете по запросу "ChatGPT игра грабить корованы"). Може выдать любую информацию, на основе тех данных, которые ей "скормили", а может выдать свою интерпретацию этих данных. В общем - может очень многое. И в дальнейшем нас тоже ждут запреты всяческие, т.к. первые версии нейронок были националистически и антигуманно настроенными. Так что - наслаждайтесь, пока это все можно.


  Видео нейросети  - учатся генерировать видео по вашему текстовому запросу. Пока это все выглядит очень нелепо (в поиск: "Уилл Смит ест спагетти видео", "Спагетти есть Уилла Смита видео"). Но их развитие - дело нескольких лет.


  Более подробно - в наших ранних статьях, ну и в Интернете. 


  Как бы многие не боялись, но нейросети не заменят человека по ряду причин. И не оставят всех без работы. Также, как и появление станков, машин и компьютеров сократило количество рабочих мест, но вцелом человечество стало жить лучше (Хотя, тут можно и поспорить). Да, часть рядовых профессий типа малопрофессиональных дизайнеров и копирайтеров, программистов упразднится, но появятся и другие профессии - например, тренер и учитель для ИИ (Уже доступны вакансии в некоторых компаниях). Робот-пылесос не заменил уборщицу, так как имеет ряд ограничений и недостатков.

 

  Так будет и с нейросетями. Они станут удобным инструментом и упростят несложные задачи. Раньше тесто месили руками - теперь это делает миксер.  


  Но что действительно важно - это проявлять интерес к неросетям, учиться их использовать, учиться составлять запросы (prompt), понять принципы работы и обучения ИИ.



2. StableLM - текстовая нейросеть с открытым кодом

  Говоря про графические нейросети, мы устанавливали свою сборку Stable Diffusion в этой статье. К сожалению, на текущий момент с текстовыми нейросетями с открытым кодом все еще не так хорошо проработано, и они довольно сырые. Но недавно их команда выпустила текстовую нейросеть StableLM, в альфа-тестирование. Да, пока еще оно сырое. Да, поддерживает только английский (немецкий+испанский) языки, да- по сравнению с ChatGPT это пока недостижимая высота, но это уже тот продукт, который можно установить себе и играться, обучать и ш-кодить (да, при знании английского, но есть же переводчики и можно подучить английский заодно).


  Пока доступны две модели для тестирования 3 и 7 миллиардов параметров. Чтобы не вдаваться в техническое объяснение что это такое - в ChatGPT2 было 2 миллиарда, в ChatGPT3 - 175 миллиардов. Нейросети Google - 1,5 триллиона параметров. Но тут есть подводные камни, т.к. некоторые считают - что слишком большое число параметров снижает эффективность работы нейросети (не говоря о том, что требует гораздо больше ресурсов "железа").

 

 В настоящее время анонсирован выпуск 15B и 65B моделей, и запланирован выпуск 175B модели.  

3. Системные требования для установки StableLM

  Конкретных системных требований найти не удалось. Но тут - как и с графическими нейросетями - чем лучше компьютер - тем лучше и быстрее результат. В процессе установки становится понятно, что есть два режима работы - на видеокартах и на процессоре. Думаю, что на компьютерах с емкостью видеокарты менее 4Гб - могут быть сложности. Но также, есть вариант установки StableLM на более слабых компьютерах с помощью LLaMA (Large Language Model Meta AI).
Для работы нам понадобится Python. И желательно установить программу Git для удобства работы с библиотекой GitHub. 


4. Устанавливаем Python и GIT для работы со StableLM.

 

Можно почитать предыдущую инструкцию

 

  Повторяться не буду, единственное что - убедитесь, что Python у вас уже не установлен. (А если установлен - проверьте его версию) А также - если планируете работу со Stable Diffusion у себя на компьютере, желательно ставить версию 3.10.6, т.к. для графической нейросети (на текущее время) это важно, а для StableLM - не принципиально.

 

  Если же Stable Diffusion не установлен и не планируете - то лучше ставить самую последнюю версию Python, так как вам не придется иметь головную боль с установкой модулей, которую имел я. Точнее - которая меня поимела =/


5. Устанавливаем StableLM на компьютер

  Далее, есть несколько вариантов для работы: можно установить готовую сборку под Windows / Linux / Mac , а можно поизвращаться с самостоятельной установкой и запуском.

 

  Мы будем ставить готовую сборку с интегрированным веб-интерфесом от команды Oobabooga под Windows. Владельцы Mac, а тем более Linux - разберутся самостоятельно =)


 

Итак, создаем (желательно в корне диска) папку с любым названием. Логично, если это будет STABLELM. (У меня она на диске D:, я буду использовать его. У вас это может быть другой диск)

 

  Загружаем в эту папку сборку StableLM от Oobabooga под Windows.

 

  Распаковываем архив, и видим такую картину.

установка StableLM

  Запускаем (там в принципе инструкция есть на английском) файл start_windows.bat (в случае Linux и Mac там будет start_linux и start_mac).

 

  Открывается окно с инсталляцией программы, будет скачен ряд программ (например, Miniconda для доработки нашего Питона под machine learning). Скрипт все сделает сам.

 

Инсталляция StableLM

 

  Пока идет запуск, можно пойти ниже по инструкции и скачать 7B модель, весом в 5Гб, чтобы не тратить время.

 

  В процессе работы скрипта будет предложено выбрать на чем мы работаем, и выбрать либо вендора видеокарты, либо работу на процессоре (CPU).

 

  Установка займет какое-то время, нужно потерпеть. Может показаться, что все зависло - но все равно ждем. И в конце-концов получаем такие строки, где сказано что установка завершена, но папка с моделями пуста. Поэтому смело закрываем окно и переходим к установке моделей.

Окончание установки StableLM

6. Установка на более слабый компьютер через llama.cpp

  Если вдруг вы являетесь владельцем слабого компьютера ( например 4-8Гб оперативной памяти), то указанный выше способ может не подойти.

 

  Тогда скачиваем LLaMA (другая нейросетка, менее требовательная к железу) и меняем в папке models существующий файл модели на наш (см. ниже). И работаем из командной строки.

 

  На Хабре есть готовая статья и .exe файл под Windows 


  На всякий случай, ссылка на .zip с экзешником тут.

  Так как мы работаем с моделью от StableLM, то меняем текст запроса командной строки. В нашем случае это будет: llama.exe -m "D:/llama/ggml-model-stablelm-tuned-alpha-7b-q4_0.bin" -t 4 -n 64 --repeat_penalty 1.0 -p "What is the largest country in Europe?:"


  Для тех, кто на Linux - делаем так:

  Открываем консоль и ш-кодим в ней - 


 python3 -m pip install torch numpy sentencepiece 

 git clone https://github.com/ggerganov/llama.cpp cd llama.cpp  

 make

  Скачиваем модель (см.ниже) и кладем ее в папку models.


И запускаем: ./main -m ./models/7B/ggml-model-stablelm-tuned-alpha-7b-q4_0.bin -n 128

  Ну, а для остальных, с сильным компьютером - продолжаем.


7. Скачиваем и устанавливаем модели для StableLM

  Как было сказано выше, на текущий момент доступно 2 варианта модели, и обе они находятся в Альфа-тестировании. Ну и по сравнению даже с Telegram-ботами - аналогами ChatGPT, это еще такое.. К тому же и на английском. 
Когда-нибудь появятся действительно сильные рабочие модели, ну а пока - как есть.


  Версия модели StableLM с 3B параметров

 

  Версия модели StableLM с 7B параметров

 

  Версия модели StableLM с 7B параметров для llama.cpp



  Скачиваем ту модель, которая нам больше нравится, ждем, когда полностью установится StableLM, и кладем в папку <диск>\STABLELM\oobabooga_windows\text-generation-webui\models\

 

  Кроме данной модели, можно скачать и другие модели и сложить их в данную папку.



  А также - запустить скрипт download-model.py (из корневой папки программы) и выбрать и скачать с https://huggingface.co представленные модели. Вариант "L" - указать модели вручную. Вариант "М" - ничего не делать.

 

 модели для StableLM



  Huggingface.co - ресурс про нейросети, где все это выложено, тестируется и дорабатывается. Здесь https://huggingface.co/spaces можно посмотреть другие ресурсы (over 9000), а здесь - https://huggingface.co/spaces/Artples/stabilityai-stablelm-base-alpha-3b    протестировать StableLM, прежде чем возникнет жгучее желание его поставить.


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

 

  Скачать его можно с торрентов (весит 22ГБ). И создатели приводят следующие ссылки:

 

32bit  https://archive.org/details/gpt4chan_model

16bit  https://archive.org/details/gpt4chan_model_float16

Версия 32bit нужна для CPU mode (работа на процессоре). Для всего остального - 16bit.



8. Запуск StableLM

  Запускается все просто - заходим в папку d:\STABLELM\oobabooga_windows\text-generation-webui\

   Запускаем server.py

 

  Когда оно напишет, что запуск прошел успешно, идем в браузер и заходим на http://127.0.0.1:7860

 

  Если что-то прошло не так и оно не работает - смотрим ошибки и исправляем. (см.ниже)



9. Пишем BATник для запуска с различными параметрами

  Для того, чтобы разукрасить нашу виртуальную половую жизнь, создатель SLM приготовил нам инструкцию (файл README.md в корне), где очень много и очень подробно все описал. Так как мы понимаем, что все инструкции написаны для лохов (rtfmFM!), то читать мы ее не будем, так как английского, скорее всего, все-равно не понимаем. 

 

  Тем не менее, для комфортной работы может понадобиться написать файл для запуска. Назовем его start.bat и аккуратно сложим в директорию с программой ( d:\STABLELM\oobabooga_windows\text-generation-webui\ в моем случае).
запишем там такое: python server.py и далее допишем разное. Например:

 

  python server.py --chat --cpu

 

  запустит в режиме чата и работе на процессоре


  Для более детального изучения - в поиск или в --help (README.md)


10. интерфейс StableLM

  После запуска программы мы видим такую страницу.

 

Интерфейс StableLM

 

  Перевода пока нет, языковых моделей тоже не нашел, но тут интуитивно все понятно. В левом окне пишем запрос, в правом - получаем ответ, после нажатия кнопки "Generate". Выглядит интерфейс также, как и Stable Diffusion Web UI.

 

 

Сверху находятся три вкладки: 

 

Text Generation - собственно, окно составления запросов.
Parametrs - штук 20 различных параметров, которые влияют примерно на все. Техническая документация по ним 
Model - окно работы с моделями
Training - окно обучения
Interface mode - режим работы (режим ноутбука, чата, и т.д.)

  Описание всех функций, и в особенности - режима обучения сильно выходит за рамки данного мануала, и с первой вкладкой - texst generation в принципе и так все понятно, поэтому стоит разъяснить вкладку Models.

 

вкладка models

 

  Собственно, открыв ее нужно выбрать (если не было указано в стартовом промпте при запуске) модель, с которой мы будем работать. Для нас это ggml-model-stablelm-tuned-alpha-7b-q4_0.bin.

 

  И, если мы работаем на CPU, то выставляем Transformers Parametrs.

 

  И стоит сказать про Low-rank adaptation (LoRA): это возможность натренировать свою адаптацию модели и использовать ее для генерации текста. Для этого нужна регистрация на huggingface и гугл-аккаунт для доступа в Google Colab. Это, собственно, основа для тренировки своей модели, но для простой работы в нашем случае оно не нужно. Годных мануалов для текстовой версии Stable не найдено.

11. Примеры выдачи запросов




12. Ошибки при запуске Stable LM и отладка

 

  Наиболее часто встречающиеся ошибки - о нехватке нужных модулей Python. Это может возникать, в случае, если установлена не сильно свежая версия Python, как у меня (я использую также Stable Diffusion, а он на текущий момент требует старую версию Python)
Тут можно либо установить свежую версию (и ковыряться со Stable Diffusion), либо заняться отладкой.

 

  Также, возможно, данные модули установлены, но они более ранней версии, поэтому StableLM их игнорирует.



ошибки StableLM

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

  Открываем CMD (в поиске Windows пишем "cmd")

  В консоли переходим на диск, где у нас установлен StableLM (у меня это диск D): d:

  переходим в папку с установленной программой

  cd d:\STABLELM\oobabooga_windows\text-generation-webui\

  И запускаем программу: 

      server.py

  Первой ошибкой выдало: No module named "request". Это значит, что нашему Питону не хватает этого модуля.

  Не вопрос, в командной строке пишем: python -m pip install requests

 

  Устанавливаем нужный модуль и запускаем еще раз.

  Далее были ошибки с модулями gradio, psutil, torch, markdown, transformers (и еще штук 500)   - которые также решались скачиванием и установкой, через команду pyhon -m pip install <модуль>

  Нашел рекомендацию запускать скрипт через команду: python3 server.py, но он также не сработал.

 

  В итоге - все победил, оно запустилось, открылось.

 

  Но теперь - не захотел загружать модель. Ссыплет ошибками уже в веб интерфейсе на отсутствие модуля llama_cpp. Через pip install устанавливать отказался. 

 

  После долгих часов гребли возникло предположение, что оно как-то нелепо воспринимает мою Palit Nvidia 1080, и пришлось все переделывать на CPU версию, чтобы заставить работать. 


FIN

Если вы дочитали до этого момента, да еще и установили и запустили это чудо - то можете поставить галочку в свой список достижений и снести все нафиг. Если Stable Diffusion - вполне законченный продукт, то StableLM - все еще криво работающая альфа-шняга (на апрель 2023), но при наличии правильных рук и годных моделей (и кучи свободного времени) можно произвести чудо. Или дождаться стабильно работающей русской модели (русская модель, да еще и рабочая - это всегда здорово). Или воспользоваться новой текстовой нейронкой от Сбер, которую мы еще не проверяли, т.к. ее только сегодня анонсировали в закрытом тесте.

Но, тем не менее - The future IS now!  

Картинка отзыва
Отзыв о нашей работе от компании “Промышленные вакуумные системы ”
Картинка отзыва
Пространство Идей - Мультличности рекомендует нас. Отзыв.
Картинка отзыва
Отзыв о нашей работе от компании “Мерлион”
Картинка отзыва
Отзыв о нашей работе от компании “Энергоэффективный город”
Картинка отзыва
Отзыв о нашей работе от компании “СИТИЛИНК”
Картинка отзыва
Отзыв о нашей работе от компании “Райт”
Картинка отзыва
Отзыв о нашей работе от корпорации Ариэль
Картинка отзыва
Отзыв о нашей работе от компании “РУСАЛ”
30-03-2023
Нейросети в 2023 года. Инструкции, примеры
24-09-2019
Теория и практика при создании беспроводных сетей Wi-Fi
19-04-2019
Безопасность компьютерной сети - разбираем подробно
26-01-2019
Статья о будущем обслуживания компьютеров. и настройке сервера в торговом центре. Москва. 2018
28-12-2014
27.12.2014. График работы в праздники.
23-01-2014
CES2014. Снова про выставку.
08-01-2014
Картинки с выставки CES 2014
17-12-2013
Монтаж компьютерной сети СКС. СИТИЛИНК. Волжский. 2013г.
17-12-2013
Все, что Вы хотели узнать о системах хранения данных, но боялись спросить.
12-09-2013
Organo Gold. Аутсорсинг и обслуживание компьютеров. Екатеринбург 2013г.
Наши клиенты
РЖД
Ситилинк
Девита
Мерлион
Русал
Пеликан Авто
Райт
Ариэль
Как добраться
ул.Автозаводская,23к14,Москва
+7 (495) 988-46-34
Блоги
Социальная сеть
Наши  Контакты Электронный век Москва 119021 ул. Автозаводская д.23, к.12