• XSS.stack #1 – первый литературный журнал от юзеров форума

Разворачиваем локальный ИИ у себя на ПК

panda404

CD-диск
Пользователь
Регистрация
03.03.2024
Сообщения
17
Реакции
11
Приветствую всех, меня зовут Панда. Это мой первый пост.

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

Маленькая предыстория.

Я познакомился с ИИ относительно недавно, когда начался бум на нейросети. С этого дня я понял, что я могу заняться тем, что давалось с трудом - программированием. Сейчас я пишу простые программы изучая темный лес блокчейна и мев. В погоне за автоматизацией я находил много разных моделей, их комбинации и потенциальные возможности - вплоть до полного контроля процессов ПК. Развернуть локально ИИ, сконфигурировать его модель на взаимодействие с bash и управлять через GUI интерфейс. Полет фантазии может быть безграничен, но дело в умениях.

Начнем со списка популярных ресурсов и их тезисное объяснение.

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

Vertex AI - Гугловский сервис который позволяет создавать, обучать и разворачивать свои модели.

LmStudio - сервис который позволяет локально развернуть модели нейросетей абсолютно бесплатно. Поддерживает популярные модели. Доступтно на MacOs.

RecurseChat - сервис для локального разворота ИИ. Сервис платный доступен только для владельцев Мак ( Дональст :) ).

Coze.com - платформа для создания кастомных моделей с кучей встроенных плагинов, возможностью создавать свои действия, плагины и может синтезировать несколько ботов в один. Доступны бесплатно топовые версии чатгпт4 турбо 128т и возможность развернуть их в соц сетях, то есть сделать ботов. Телеграмм дискорд снэпчат и другие. Пользуюсь лично, создал своего бота для программирования. Встроенный парсинг страниц и возможность добавлять базу данных даже ОНЛАЙН страниц.

Flowgpt.com myshellapp.com character.ai - платформы для дрочеров :))) . Шучу. Но чаще всего оно так и есть. На них собраны NSFW модели которые освобождены от цензуры. Можно встретить пародию на WormGpt но это просто кастомные боты, которые освобождены от ограничей. Очень ограничены и сверхмонетизированы.

Phind.com - недавно встретил эту нейросетку, функционал платный. Интегрируется с вашими ИДЕ и может захватывать все файлы проекта на анализ за один запрос. У них своя модель на 70б параметров, ничего такая. Удобно для devOPSOV которые парятся с кучей файлов.

Perplexity - интересный выбор для тех, кому нужен прямо таки широкий веб поиск. Есть платный контент и он того стоит. Реализованы 4 нейросетки, одна из которых сама перплексити. Как по мне лучший поисковый алгоритм на рынке, с точки зрения охвата веб поиска. Я думаю можно найти их апишку и интегрировать их поисковый алгоритм со своими нейросетками.

Replit.com - веб ИДЕ который интегрирован с ИИ. Можно сказать VSCode в веб интерфейсе, с ИИ, который имеет полный доступ к проекту. Выбор интересный, но мне не зашло.


Библиотеки для ИИ разработки и полезные штучки:

TensorFlow, LangChain - библиотеки и фреймворки для разработки, созданию и интеграции ИИ.

Stability.ai - с функционалом плохо знаком, но ресурс полезный для локального разворота ИИ.


Самые базовые и простые ресурсы, которыми я хотел поделиться и которые сам использую.

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

Для связи - panda404@onionmail.com
 
Сегодня обнаружил крайне полезные ресурсы, возможно в некоторых случаях уже ставшие мейнстримом. (В наше время если информации неделя + это уже динозавр).

Jan AI - ресурс для локального разворота ИИ, подходящая даже на Линукс, Виндовс и МакОс интеловские и м чипы. Подробная статья по распаковке и установке - ТУТ.

Что такое квантование ИИ?

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

Статья на эту тему - ВОТ.
 
ссылки имеют свойство протухать. лучше проверь информацию по какой-нибудь из этих ссылок - попробуй установить и запустить модель на своём компе, и напиши здесь статью - мануал по установке.
 
ссылки имеют свойство протухать. лучше проверь информацию по какой-нибудь из этих ссылок - попробуй установить и запустить модель на своём компе, и напиши здесь статью - мануал по установке.

Благодарю за отзыв, я это учту в дальнейших постах. Коротко опишу процесс по Джану.

Что касается установки и развертывания локального ИИ исопльзуя Jan.ai там все интуитивно понятно и просто. После скачивания ДЖан в правом углу будет кастомные модели где можно подключить апи ключ моделей таких как ГПТ4 и другие. Апишки получить можно на официальном сайте, но я таким не рекомедную пользоватся, находил в интернете прокси АПИ, откровенно говоря не пользовался не знаю, но анонимность превыше всего.

По центру Джан будет "HUB" это библиотека уже встроенных автоматически моделей которые можно развернуть. Заходишь и видишь много разных моделей на любой вкус разным уровнем квантования. Лучше всего Q4 Q5. Там же и описание модели, ее требования по железу и особенности. Кнопка установить. После чего в главном меню справа в углу панель с твоими моделям, выбираешь свою установленную и общаешься.

Кратко выжимка по установке своей модели HuggingFace:


If you just want to use one of the models listed in Jan’s Hub and don’t care to explore the process of manually finding and downloading other open-source models, then skip to the “Using Jan” section below.​

You can, however, manually download models directly from the Hugging Face website (https://huggingface.co/models).

Once you are on the Hugging Face model page, enter “GGUF” in the search field to the right of “Models” (#1 below). The returned search results are all the models in the GGUF format which can be used inside Jan, provided you have enough space on your computer (#2). Note that currently Hugging Face has 3,318 models in GGUF format.

1*o0q006EAD5CnqmyzVr9l-Q.png

Hugging Face model search
You can see in the search results, the name of the model with the date it was last updated and the number of downloads and likes the model received. For more information on the model and to access the download file, click on the name of the model any you will be taken to the model’s page.

Once on the model’s page, selecting the “Files and versions” link (see image below) will take you to the different quantized (compressed) files for the versions of the model available for downloading.

1*mCjt9Y6ZN-FSPHdHaKQYIw.png

In the image below, you see a list of the versions and compressions of the model selected.

Several things to note:

1. The “Q” indicates the amount of compression the version has (#1 below). Think of this like a RAW digital photograph that has been compressed into a .jpg file. The resulting image lacks some detail, but you can hardly notice, and the compression saves a lot of space. The “Q” number indicates the amount of quantization that has occurred (i.e. 2-bit, 3-bit, 4-bit, etc.). The lower the bit number, the higher the quantization. This results in a smaller model with faster inference but potentially reduced accuracy. The higher the bit number, the larger the model and better the accuracy but slower inference (time from prompt to answer).

2. K and 0 represent quantization methods and are beyond the scope of this article.

3. The “S”, “M”, and “L”, letters before the .gguf file format designation (#2), stand for small, medium and large. You can see after the file name the amount of space the file will require on your computer (#3).

Generally, my experience is that Q4 or Q5 models perform well for me. They provide a good balance between speed and accuracy. To download one of the versions, just click on the download icon to the right of the model you intend to download (#4).

1*OHlu5mkym9uzp_CNT0Zt-A.png

Files, details, and download icon
Before downloading the model, open Windows File Explorer and create a new folder (#1 below) inside the models folder in Jan. The model folder path is “C:\Users\”your_user_name”\jan\models” (#2). The model I will download is the Q4 medium version of “openchat-3.5–0106” and I have created a folder within Jan’s model folder as seen below (#3), and whichever model you decide to download, will go into the folder you have created with its name in the models folder.

1*aS7LNL9_hi5NiFuKPX7LeA.png

Create a new folder with model’s name.
Once the model has been downloaded to the newly created folder, it will be available inside Jan with the other downloaded models.

Using Jan​

1. Open Jan by double-clicking the desktop shortcut

2. If you have used Jan previously, Jan will open to the chat window so that you can continue where you left off. If this is your first time using Jan, you can select a model from either the Hub listing or the chat drop down “Model” section. See below images.

1*D8jQmErRp4D5ijKG4JN99w.png

Select a model from the Hub
1*41_83SS5cD0uFiZl7bRFAw.png

Selecting a model from the chat window’s “Model” section.
3. Select one a model to use (see above images).

4. Once a model is selected, you have the ability to tweak a number of settings. You don’t need to make any changes to the settings to start using the model in Jan, but here are some recommendations.

In the right-side column (if it is not showing, click the open/close icon in the upper right corner #1 in below image)

a. Title: In the title box, you can give this thread/session a name for future reference. Here I will name it “Cards-Are-Us slogan ideas” since this is the test I will run. Entering the title name on the right will automatically update the name of the thread on the left where current and past threads are listed (#2).

b. Now open the little open/close icons beside “Assistant” and “Model” in the right-side column if they are not already open (#3).

1*i0ZsmPJzu-xrLyAT5lAqBA.png

Tweak settings
c. In the “Assistant” section, you can include “Instructions” in the box provided. This allows you to maintain a role for the chatbot. In my test example, I’m going to give it the following instructions: “You are an expert in marketing and familiar with marketing best practices. You are particularly competent in creating slogans for new businesses with clever and creative wording that is concise and short. Take your time and review your answers before giving them to make sure they are your best effort.” You can make the instructions generic and broad, to use more than once and with many different scenarios, or you can be more focused. Don’t be afraid to create lengthy and specific instructions. You can also leave the field blank as most models already will respond as a “helpful assistant”.

d. Select a model from the dropdown menu. (A quirk of Jan is that if you have already selected your model, you will most likely need to select it again after entering any of the previous fields.).

e. Within the model section, there are subsections, “Inference Parameters”, “Model Parameters” and “Engine Parameters” (#1 in below image). Since this is a beginner’s guide, I won’t get into much detail, but if you would like to know more about the settings in each section, there is a “i” in a circle beside the setting titles which will give you more information about that setting (#2). For now, I’ll just recommend three changes:

i. Set “Max Tokens” to 2048 (#3)

ii. Set “Context Length” to 4096 (#4)

iii. (Note that some models do not allow for the manual offloading of processing to the GPU. If you don’t see this option available, the model you have chosen does not allow for this.) Set “Number of GPU layers” to 10 (#5). Jan uses models with the GGUF format. This format can run/share compute with both the CPU and GPU. Because of this, GGUF models are particularly good at running on underpowered computers; however, that can also mean that inference can be slow. To offload/share some of the compute from your CPU to your GPU, you can select how much compute is transferred by selecting a number of layers. Start small (between 10–20) and increase to improve speed, depending on the capacity of your GPU. You can leave the setting to “0” if you like, but most likely using a model will max your computer’s CPU and run rather slow.

1*hgtEoOXP7XA0jVw6cUuA3g.png

Recommended settings
Now that we have made all our setting selections, you can close the right-side column by clicking the open/close button in the upper right corner of the window. This will provide us with a less cluttered view for working with the model.

Enter your prompt in the “Enter your message…” field to the left of the blue “Send” button (#1 in image below) and hit the send button (#2). In this test example, I have asked the model to create ten possible slogans for my fictitious playing card company “Cards-Are-Us”.

1*-hhVfg3XE1JZ_ZkPPAxbug.png

Submitting prompt
After you hit the send button, you can see your prompt (#1 below) and the model’s response (#2) and the button to resubmit the prompt if you are unhappy with the response. Jan will keep your session’s prompts and the model’s reply in the session’s memory so that you can iterate on prompts within a session without having to repeat them; the model will retain an understanding of the context as you iterate.

1*clVulmWLPULHy8dHqNEY4w.png

Model’s response to prompt.
 
отлично, вот это - именно то, что нужно!

Кратко выжимка по установке своей модели HuggingFace:

ты написал это сам или откуда-то скопировал? если сам, то пиши сюда https://xss.pro/threads/36600/page-26
 
Что такое квантование ИИ?

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

Статья на эту тему - ВОТ.
Бит на символ(bpw)
Bits-per-character (bpw) - это метрика, отражаемая языковых моделях. Она измеряет именно то, что прямо указано в названии: среднее количество бит, необходимых для кодирования одного символа.
- это метрика, отражаемая языковых моделях. Она измеряет именно то, что прямо указано в названии: среднее количество бит, необходимых для кодирования одного символа.

Как правильно? тут либо должно быть - Bits-per-character (bpс), либо Bits-per-weight (bpw), либо Bits-per-word (bpw). Ну или это какой то заговор.

 
Бро поменяй название, создание локального ии это другое, я сам в этой теме и это очень сложно.... нужно много много железа
А можно подробнее, про то сколько понадобится железа и какое? Если не заниматься обучением моделей а просто разворачивать готовые модели.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Если хотите сделать свой ИИ, берите LLaMA 2.

HackerGPT aka White Rabbit Neo сделан на ллама2 и специально заточен под киберсек.
Попробовать такую языковую модель можно тут whiterabbitneo.com


Ставьте LM Studio и запускайте любую языковую модель у себя на ПК
Касательно системных требования ну как минимум чтобы у вас 32гб оперативной памяти было.

Вот этот чувак рассказывает как это сделать youtu.be/NY4rs1xmda0?t=522
 
Прочти название темы ! Я чего то не вижу статью про создание ии 😑
 
Прочти название темы ! Я чего то не вижу статью про создание ии 😑
Правильное слово развертывание. Но как бы не велика беда.
 
На мой вкус https://github.com/ggerganov/llama.cpp . Сейчас поднимаю локально себе на нем. Но у меня специфичная задача, помошник на все случаи жизни, тупые вопросы / примеры кода на не знакомом языке etc, в условиях минимального железа и конечно-же размера. В идиале хочу добится коробочки которую можно бросить с собой в сумку и использовать в случаях когда вопросы есть, а сети нет. huggingface.co - да, однозначно. Как минимум сейчас пробую все подряд оттуда для поиска стартовой модели что-бы ее дообучать, ну и локализация.
Что касается требований, по версии энтузиастов самый минимум это:
Код:
 Using https://github.com/ggerganov/llama.cpp (without BLAS) for inference and quantization I ran a INT4 version of 7B on CPU and it required 3.6 GB of RAM.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Прочти название темы ! Я чего то не вижу статью про создание ии 😑
Ну так это не статья, а заметки. ТС просто делится своими заметками. Название темы могу поменять на "deploying"
 
Если не заниматься обучением моделей а просто разворачивать готовые модели
https://xss.pro/threads/84118/post-596994
TheBloke пишет у каждого файла, сколько примерно оперативы нужно для запуска.
чем больше ядер у процессора и чем больше оперативы - тем лучше. если есть мощная видюха - вообще хорошо, можно отдать ей часть работы.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх