Как установить и использовать ИИ-ассистента на своем компьютере

Осваиваем все блага ChatGPT, Copilot и Midjourney локально, не сливая свои данные третьим лицам.

Как запускать языковые модели и другие ИИ-инструменты на своем компьютере

Многие уже опробовали генеративные нейросети и нашли им регулярное применение, в том числе на работе. Так, ChatGPT и его аналоги периодически используют почти 60% американцев (и далеко не всегда — с разрешения начальства). При этом все данные — как запросы пользователя, так и ответы модели — сохраняются на серверах OpenAI, Google и других. Для задач, в которых подобная утечка информации неприемлема, отказываться от ИИ вовсе не обязательно — просто нужно приложить некоторые усилия (и, возможно вложить деньги) и запускать нейросеть локально, на собственном компьютере. Сегодня это возможно даже на ноутбуках!

Угроза из облака

Самые популярные ИИ-помощники работают в облачной инфраструктуре крупнейших компаний. Это эффективно и быстро, но ваши данные, обрабатываемые моделью, могут быть доступны как самому провайдеру ИИ-услуг, так и совсем посторонним лицам, как это случилось в прошлом году с ChatGPT.

Угрозы от подобных инцидентов зависят от того, для каких целей применяются ИИ-помощники. Если вы генерируете милые иллюстрации к сказкам собственного сочинения или просите у ChatGPT составить план трехдневной экскурсионной поездки в столицу, вряд ли утечка сможет нанести вам серьезный ущерб. Если ваша переписка с чат-ботом потенциально может содержать конфиденциальные фрагменты — персональные данные, пароли или номера банковских карт, — допускать утечку в облако уже нельзя. Но ее относительно легко предотвратить, предварительно отфильтровав данные, и об этом у нас есть отдельный пост.

А вот в случаях, когда либо вся переписка конфиденциальна (например, медицинская или финансовая информация), либо же надежность предварительной фильтрации сомнительна (нужно обрабатывать большие объемы данных, которые никто не будет предварительно отсматривать и фильтровать), выход только один — перенести обработку из облака на локальный компьютер. Конечно, запустить свою версию ChatGPT или Midjourney без Интернета вряд ли удастся, но другие нейросети, работающие локально, дают сравнимое качество при меньшей вычислительной нагрузке.

Какое оборудование нужно для запуска нейросети

Вы наверняка читали, что для работы с нейросетями нужны сверхмощные видеокарты, но на практике это не всегда так. Разные ИИ-модели в зависимости от своей специфики могут быть требовательны к таким компонентам компьютера, как память, видеопамять, диск, процессор (важна не только скорость обработки информации, но и поддержка процессором некоторых векторных инструкций). От объема оперативной памяти зависит сама возможность загрузить модель, от объема видеопамяти — размер «контекстного окна», то есть памяти о предыдущем диалоге. Как правило, при использовании слабых видеокарт и центрального процессора генерация идет с черепашьей скоростью (1–2 слова в секунду для текстовых моделей), поэтому компьютер с минимальной конфигурацией подойдет лишь для ознакомления с той или иной моделью и оценки ее принципиальной пригодности. Для полноценного повседневного применения потребуется увеличение объема памяти, обновление видеокарты или выбор другой, более шустрой ИИ-модели.

В качестве стартовой планки можно ориентироваться на компьютеры, которые считались относительно мощными в далеком 2017 году: процессоры не ниже Core i7 с поддержкой инструкций AVX2, 16 Гб оперативной памяти и видеокарты с 4 Гб памяти. Для любителей Mac подойдут модели на базе Apple Silicon M1 и более новые, а требования к памяти не изменятся.

Выбирая ИИ-модель, следует в первую очередь ознакомиться с ее системными требованиями. Поисковый запрос вроде «имя_модели requirements» поможет оценить, стоит ли вообще скачивать эту модель с учетом имеющегося железа. Детально изучить влияние объема памяти, CPU и GPU на работу разных моделей можно, например, здесь.

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

Тесты пропускной способности графических процессоров

Примеры работы различных сборок компьютера с популярными языковыми моделями

Выбор ИИ-модели и волшебство квантизации

Языковых моделей на сегодня разработано множество, но значительная часть из них не имеет широкой практической применимости. Тем не менее существуют удобные и общедоступные ИИ-инструменты, хорошо подходящие для решения конкретных задач, будь то генерация текстов (например, Mistral 7B) или создание фрагментов кода (например, Code Llama 13B). Поэтому при выборе модели необходимо сузить выбор до нескольких принципиально подходящих кандидатов, а затем убедиться, что ресурсов вашего компьютера хватит для их запуска.

Основной объем памяти в любой нейросети съедают веса — числовые коэффициенты, описывающие работу каждого нейрона в сети. Изначально при обучении модели веса вычисляются и хранятся в виде дробных чисел с большой точностью. Но оказалось, что при округлении веса в обученной модели качество ее работы снижается незначительно, зато позволяет запустить ИИ-инструмент на обычных компьютерах. Этот процесс округления называется квантизацией, и благодаря ему возможно сократить размер модели в десятки раз — вместо 16 бит каждый вес занимает 8, 4 или даже 2 бита.

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

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

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

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

Прочитав описание модели и убедившись, что она потенциально подходит для вашего применения, протестируйте ее работу в облаке с помощью сервисов Hugging Face или Google Colab. Это позволит сэкономить время, не загружая модели с не устраивающим вас результатом работы. Если первичный тест модели вас удовлетворил, время проверять, как она работает локально!

Необходимый софт

Большинство открытых моделей опубликованы на Hugging Face, но просто скачать их на компьютер недостаточно. Для запуска нужно установить специализированное ПО, например LLaMA.cpp или — что даже проще — ее «обертку» LM Studio. Последняя позволяет прямо из приложения выбрать нужную модель, скачать ее и запустить в диалоговом окне.

Другой «коробочный» способ — воспользоваться чат-ботом локально — GPT4All. Здесь выбор будет ограничен полутора десятками языковых моделей, зато большинство из них запустятся даже на компьютере с 8 Гб памяти и простейшей видеокартой.

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

На Hugging Face многие модели уже квантизированы с различной точностью, но, если наиболее подходящую вам модель еще никто не квантизировал с нужной разрядностью, вы можете сделать это самостоятельно с помощью GPTQ.

На этой неделе в открытом доступе появилась бета-версия еще одного многообещающего инструмента, Chat With RTX от NVIDIA. Производитель самых востребованных чипов для AI представил локальный чат-бот, способный пересказывать содержимое видеороликов с YouTube, обрабатывать коллекции документов и многое другое — при наличии у пользователя Windows-компьютера с 16 Гб памяти и видеокартой NVIDIA RTX 30-й или 40-й серии с восемью и более гигабайтами видеопамяти. «Под капотом» — все те же разновидности Mistral и Llama2 с Hugging Face. Разумеется, мощные видеокарты позволяют повысить производительность генерации, но, по отзывам первых тестеров, существующая бета достаточно громоздка (около 40 Гб) и сложна в установке. Однако в будущем Chat With RTX от NVIDIA может оказаться очень многообещающим локальным ИИ-ассистентом.

Код игры «Змейка», написанный квантизированной языковой моделью TheBloke/CodeLlama-7B-Instruct-GGUF

Приложения, перечисленные выше, выполняют все вычисления полностью локально, не отправляют данные на серверы и могут запускаться вообще без Интернета, поэтому в них можно без опаски обрабатывать конфиденциальную информацию. Но, чтобы полностью застраховаться от утечки, нужно убедиться, что данные не утекут не только из языковой модели, но и просто из вашего компьютера — а тут на помощь придет наше комплексное защитное решение. Его немаловажное достоинство при работе с локальными ИИ-моделями в том, что Kaspersky Premium практически не влияет на производительность компьютера, что неоднократно подтверждалось независимыми тестами.

Советы