Вы должны войти, чтобы создавать сообщения и темы.

ChatGPT или как скоро в оффлайне?

Друзья, всем привет! 🙂

Вопрос именно программистам - тем, кто регулярно работает с кодом и понимает принцип работы нейросетей (ибо я в них ничего не понимаю).

Казалось бы, MidJourney появился еще совсем недавно, сколько лет-то прошло, когда он прогремел на весь мир? Были до этого уже какие-то решения, но чтобы именно так глобально и для всех - вроде бы не больше двух лет назад всего лишь. Тем не менее, все это устроено онлайн и очень неудобно. 

Однако затем в открытый доступ нам дали Stable Diffusion, и теперь люди спокойно могут генерировать изображения, никак не завися от интернета, не тратя деньги на подписки и прочее.

Сейчас, получается, с ChatGPT похожая история, он как MidJourney в плане текста.

И вот сам вопрос: есть ли перспективы у самого ChatGPT или какие-то аналоги, что через 1-2 года появится именно оффлайн решение? И может ли текстовая нейросеть также работать в оффлайне, как и Stable Diffusion? А модели уже будут, например - характер и направление самих диалогов, характер персонажей, которых люди сами могут создавать. Кстати, перспектива чем-то напоминает Promt-переводчик, который лет 15 назад был актуален, там отдельно продавались словари для каждого из направлений переводов - технический, туристический и прочие.

name, Добрый день.

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

Голова дана человеку не для того, чтобы кушать, а для того, чтобы думать.

Андрей, 👋!

Спасибо за ответ! Да, если говорить про универсальное решение - без интернета никак. Но я вот подумал про "модульную систему", и немного порассуждал:

Для qip (ICQ) в далеком 2007-2008, помнится, уже был бот на самом простом принципе работы, который рандомно выбирает из уже вписанных в него фраз. Команды были на получение и отправку. Например, есть список команд приветствий, и если пользователь пишет: "привет", "добрый вечер", "здравствуй" (можно было самостоятельно пополнять), то бот в ответ использует рандомную фразу из списка ответов на данное приветствие: "Ну привет, коль не шутишь!", "Приветики!" – и так далее, их тоже можно было дополнять.

Помню прикалывался над знакомыми, включаешь им бота, и они с ним на полном серьезе общаются, пока не понимают, что что-то здесь не то))

Казалось бы, идеальный принцип работы, которому не хватало озвучки, голосового ассистента. Там можно было просто потратить две-три недели, создать кучу команд и ответов, ибо любой человек, умеющий открывать блокнот, там смог справиться. И это был бы один из самых увлекательных собеседников. Даже приоритеты, вроде бы, уже были. В зависимости от направления беседы, в каком тоне она происходила, рандомно подбирались не все подряд фразы, а именно соответствующие ходу дискуссии. Не хватало только голоса…

В итоге, прошло более 15 лет, у нас всякие Сири, Алисы и прочие слабоумные боты, ограниченные скудным словарным запасом, которые даже не могут работать на подобном простейшем принципе. Тот бот в квипе от 2008 года уже без всяких доработок был гораздо интереснее (раз в 10 больше ответов, которые ты сам мог еще и дополнять) всех этих голосовых помощников вместе взятых.

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

Затем бот образовательный. Запихать в файлы базы данных толковый словарь русского языка, орфографический словарь и подобные. Ну, в 10-20 гигабайт должны уместиться максимум. И тоже будет онлайн справочная – и поговорить просто так можно с ботом, и узнать правописание или толкование того или иного слова.

И так далее.

Если сделать вот так именно по модулям, кому универсальный онлайн-ассистент и нафиг не нужен, чтобы были отдельные модули для решения каких-то конкретных задач в оффлайне: просто поговорить (причем, было бы круто, если бы это были еще разные персонажи, чтобы характер можно было туда прописывать, чтобы каждый модуль-персонаж был со своей изюминкой, а не вот это скудное безликое отвечающее на все вопросы непонятно что, которое сейчас в ChatGPT), сделать рерайт текста, подсказать справочную информацию (чтобы сам справочник, где, к примеру, более 2000 страниц, самостоятельно не пролистывать, а просто запихнуть в сам модуль) то, возможно, и появится в будущем? Буду надеяться…

Здравствуйте.
На мой взгляд, ChatGPT разрабатывается как промежуточная технология и дальнейшее его развитие — это скрещивание с голосовым помощником, коих сейчас развелось, как собак нерезаных, однако "по душам" с такими помощниками не пообщаешься, так как ответы их строго заскриптованы. Безусловно, выдача результата/ответа в текстовом формате останется, по запросу.
Первые шаги Microsoft уже делает — поиск Bing + ChatGPT в рамках проекта браузера Edge.

Лучший способ помочь себе — помогать другим.

Всем привет!

Есть ли перспективы у самого ChatGPT или какие-то аналоги, что через 1-2 года появится именно оффлайн решение? И может ли текстовая нейросеть также работать в оффлайне, как и Stable Diffusion?

Уже сейчас, на самом деле, вылезает на свет довольно большое количество open-source проектов, которые рассчитаны как раз на локальное использование, так что полноценное решение может появиться гораздо раньше.

Люди очень вдохновлены успехом stable-diffusion, и стараются повторить эту же концепцию, но в рамках текстовых моделей.
Однако, есть две проблемы.

Проблема первая - текстовые модели требуют гораздо большего количества параметров для качественной работы. А вместе с количеством параметров (1 миллиард параметров для stable-diffusion, против 175 миллиардов параметров для ChatGPT) очень сильно вырастают требования к железу, на котором всё это счастье работает.
Потребление больших текстовых моделей высчитывается сотнями, а то и тысячами гигабайт VRAM.

Проблема вторая - наличие уже натренированных, "базовых" моделей в публичном доступе.
Учитывая стоимость тренировки весов (дохрена дней работы ангара с кучей Nvidia A100 + сборка и обработка датасета для обучения), компании не сильно желают делиться полученными моделями. И из-за этого open-source сообществу просто нечего адаптировать/оптимизировать и всячески подгонять под локальное использование.

Однако, как я уже и сказал, движение всё равно есть:

Первая проблема постепенно решается руками талантливых парней, которые пишут адаптирующий софт, и квантуют модели под 8-bit, 4-bit и ниже.
Квантование позволяет уменьшить потребление ресурсов моделью в 2, или даже в 4 раза, за счёт небольших потерь в аккуратности/точности весов. Для примера, OPT модель с 30B параметрами для запуска (Только для загрузки самой модели, без учёта работы с ней) требует 80+ GB VRAM. А в 4-bit режиме потребление снижается до 20+ GB VRAM, за счёт потери в точности весов, размер которой зависит от самой модели и алгоритма, который используют при оптимизации. На данный момент удаётся запускать OPT модели в 4-bit всего с 7% потерей точности весов.
Также, иногда применяется метод разбиения загруженной модели на VRAM и RAM (CPU-Offloading), что также уменьшает требования к видеокарте, но сильно замедляет работу алгоритма.

Вторая же проблема решается сама собой, с течением времени. Компании рано или поздно всё равно начнут выкладывать модели в публичный доступ, из-за конкуренции, или ещё из-за чего бы там ни было.
Например, недавно сообщество получило довольно большую модель от компании Facebook (Запрещена в РФ) - Llama, 65 миллиардов параметров (Есть версии от 7B до 65B). По заявлениям самой компании, версия 13B обгоняет ChatGPT (175B) во многих тестах.

И уже сейчас эту модель, при помощи указанных выше алгоритмов оптимизации, успешно запускают на обычных домашних, и даже староватых ПК.
Конкретно у меня получилось запустить и использовать Llama 7B на своей GTX 1070 с 8GB VRAM в 4-bit режиме, хотя изначально модели требуется 16 VRAM.
Также видел новости о запуске Llama на Raspberry Pi, полностью на CPU, с использованием вот этого репозитория (llama.cpp).

Однако, с Llama не получится общаться так, как с ChatGPT, потому что модель не заточена под чат. Но, опять же, и здесь есть движение - для llama есть LoRA под названием Alpaca (походу скоро зоопарк соберётся), которая уже заточена как раз под чат. Также есть репозиторий (alpaca.cpp)

Существуют и другие модели натренированные на чатах, которые уже можно запускать локально, например порнушный Pygmalion. Но эта модель основывается на GPT-J и существует в максимальном варианте 6B, так что далеко с ней не разгуляешься. Хотя диалоги бытового уровня + эро-контент, получаются довольно приемлемо.
Запустить можно на 16 GB VRAM, без ухищрений по оптимизации. Если подзадолбаться, можно запустить на 8 VRAM, но медленно.

Ну и конечно стоит рассказать про UI, на котором всё это запускать.

Сейчас есть три самых известных open-source проекта:

KoboldAI - старенький, но по-прежнему очень функциональный и постоянно обновляющийся backend + frontend. Для работы нужно только правильно установить репозиторий, модели можно качать уже прямо через UI программы. Много настроек, поддержка soft-promts, cpu-offloading. Поддержка расширений сомнительная/отсутствует.

oobabooga/text-generation-webui - недавно появившийся backend + frontend, вдохновлённый automatic1111 webui для stable-diffusion. Поддерживает довольно много алгоритмов, позволяющих загружать модели даже без большого кол-ва VRAM. Поддерживает soft-promts и LoRA. Поддержка расширений вроде как есть, но тоже сомнительная, немного неудобная.

TavernAI - недавно появившийся, довольно красивый frontend, который по API подключается к KoboldAI, oobabooga или даже OpenAI в качестве backend. Выступает исключительно в качестве UI, позволяет удобно использовать/создавать карточки персонажей для ваших ботов, сохранять диалоги и т.д.

Запускать это всё наверное будет не очень просто для не продвинутых пользователей ПК, но если говорить о результате - у вас получится как раз оффлайн аналоги ботов из интернета. Только, на данный момент, чуть более тупые, в силу недостаточного кол-ва открытых моделей и мощности вашего ПК. 😅

Я немного углубился в тему, надеюсь никто не был против.

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

 
Лайкнули Латук, Oleg и GENNADII KONOVALOV
ЛатукOlegGENNADII KONOVALOV
Цитата: Алексей от 21.03.2023, 22:43

Всем привет!

Есть ли перспективы у самого ChatGPT или какие-то аналоги, что через 1-2 года появится именно оффлайн решение? И может ли текстовая нейросеть также работать в оффлайне, как и Stable Diffusion?

Уже сейчас, на самом деле, вылезает на свет довольно большое количество open-source проектов, которые рассчитаны как раз на локальное использование, так что полноценное решение может появиться гораздо раньше.

Люди очень вдохновлены успехом stable-diffusion, и стараются повторить эту же концепцию, но в рамках текстовых моделей.
Однако, есть две проблемы.

Проблема первая - текстовые модели требуют гораздо большего количества параметров для качественной работы. А вместе с количеством параметров (1 миллиард параметров для stable-diffusion, против 175 миллиардов параметров для ChatGPT) очень сильно вырастают требования к железу, на котором всё это счастье работает.
Потребление больших текстовых моделей высчитывается сотнями, а то и тысячами гигабайт VRAM.

Проблема вторая - наличие уже натренированных, "базовых" моделей в публичном доступе.
Учитывая стоимость тренировки весов (дохрена дней работы ангара с кучей Nvidia A100 + сборка и обработка датасета для обучения), компании не сильно желают делиться полученными моделями. И из-за этого open-source сообществу просто нечего адаптировать/оптимизировать и всячески подгонять под локальное использование.

Однако, как я уже и сказал, движение всё равно есть:

Первая проблема постепенно решается руками талантливых парней, которые пишут адаптирующий софт, и квантуют модели под 8-bit, 4-bit и ниже.
Квантование позволяет уменьшить потребление ресурсов моделью в 2, или даже в 4 раза, за счёт небольших потерь в аккуратности/точности весов. Для примера, OPT модель с 30B параметрами для запуска (Только для загрузки самой модели, без учёта работы с ней) требует 80+ GB VRAM. А в 4-bit режиме потребление снижается до 20+ GB VRAM, за счёт потери в точности весов, размер которой зависит от самой модели и алгоритма, который используют при оптимизации. На данный момент удаётся запускать OPT модели в 4-bit всего с 7% потерей точности весов.
Также, иногда применяется метод разбиения загруженной модели на VRAM и RAM (CPU-Offloading), что также уменьшает требования к видеокарте, но сильно замедляет работу алгоритма.

Вторая же проблема решается сама собой, с течением времени. Компании рано или поздно всё равно начнут выкладывать модели в публичный доступ, из-за конкуренции, или ещё из-за чего бы там ни было.
Например, недавно сообщество получило довольно большую модель от компании Facebook (Запрещена в РФ) - Llama, 65 миллиардов параметров (Есть версии от 7B до 65B). По заявлениям самой компании, версия 13B обгоняет ChatGPT (175B) во многих тестах.

И уже сейчас эту модель, при помощи указанных выше алгоритмов оптимизации, успешно запускают на обычных домашних, и даже староватых ПК.
Конкретно у меня получилось запустить и использовать Llama 7B на своей GTX 1070 с 8GB VRAM в 4-bit режиме, хотя изначально модели требуется 16 VRAM.
Также видел новости о запуске Llama на Raspberry Pi, полностью на CPU, с использованием вот этого репозитория (llama.cpp).

Однако, с Llama не получится общаться так, как с ChatGPT, потому что модель не заточена под чат. Но, опять же, и здесь есть движение - для llama есть LoRA под названием Alpaca (походу скоро зоопарк соберётся), которая уже заточена как раз под чат. Также есть репозиторий (alpaca.cpp)

Существуют и другие модели натренированные на чатах, которые уже можно запускать локально, например порнушный Pygmalion. Но эта модель основывается на GPT-J и существует в максимальном варианте 6B, так что далеко с ней не разгуляешься. Хотя диалоги бытового уровня + эро-контент, получаются довольно приемлемо.
Запустить можно на 16 GB VRAM, без ухищрений по оптимизации. Если подзадолбаться, можно запустить на 8 VRAM, но медленно.

Ну и конечно стоит рассказать про UI, на котором всё это запускать.

Сейчас есть три самых известных open-source проекта:

KoboldAI - старенький, но по-прежнему очень функциональный и постоянно обновляющийся backend + frontend. Для работы нужно только правильно установить репозиторий, модели можно качать уже прямо через UI программы. Много настроек, поддержка soft-promts, cpu-offloading. Поддержка расширений сомнительная/отсутствует.

oobabooga/text-generation-webui - недавно появившийся backend + frontend, вдохновлённый automatic1111 webui для stable-diffusion. Поддерживает довольно много алгоритмов, позволяющих загружать модели даже без большого кол-ва VRAM. Поддерживает soft-promts и LoRA. Поддержка расширений вроде как есть, но тоже сомнительная, немного неудобная.

TavernAI - недавно появившийся, довольно красивый frontend, который по API подключается к KoboldAI, oobabooga или даже OpenAI в качестве backend. Выступает исключительно в качестве UI, позволяет удобно использовать/создавать карточки персонажей для ваших ботов, сохранять диалоги и т.д.

Запускать это всё наверное будет не очень просто для не продвинутых пользователей ПК, но если говорить о результате - у вас получится как раз оффлайн аналоги ботов из интернета. Только, на данный момент, чуть более тупые, в силу недостаточного кол-ва открытых моделей и мощности вашего ПК. 😅

Я немного углубился в тему, надеюсь никто не был против.

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

 

Шикарный пост, спасибо! 🙂 

Что же касается мощностей и прочего - такое чувство, что мы сейчас, действительно, в неком переходном этапе. Сколько там прошло, лет 30-40, с того момента, когда компьютеры были огромными шкафами, а их вычислительная мощность по сегодняшним меркам была просто смешной? 

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

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

А дальше и на мозги людей перейдут... И сюжет из Киберпанка 2077 станет вполне себе реальным))

Добрый день!

Кстати, кто-нибудь пробовал модель от Яндекса? Говорят, самая большая модель из имеющихся, которая была выложена в открытый доступ. Требует 200гб свободного места. Это именно то, о чем я писал в первом посте: скачал, установил и можно даже на среднем ПК работать без подключения к интернету? Или там все равно какие-то свои костыли и проблемы?

Цитата: name от 01.04.2023, 10:46

Добрый день!

Кстати, кто-нибудь пробовал модель от Яндекса? Говорят, самая большая модель из имеющихся, которая была выложена в открытый доступ. Требует 200гб свободного места. Это именно то, о чем я писал в первом посте: скачал, установил и можно даже на среднем ПК работать без подключения к интернету? Или там все равно какие-то свои костыли и проблемы?

Есть два способа запустить yalm. Арендовать в облаке сервер с 200+ Gb GPU RAM или доработать код и запустить с помощь deepspeed zero offload (когда GPU последовательно обрабатывает часть нейросети, а остальное хранится в CPU RAM или NVMe).

Первый очень дорогостоящий, порядка 2500 рублей в час или 1.7 млн. в месяц.

Второй неизвестный, т.к. код в репозитории не предоставлен, только лишь намёки в issue репозитория, что сделать не сложно.

Источник: https://articles.opexflow.com/programming/yalm-100b-in-practice.htm#:~:text=%D0%95%D1%81%D1%82%D1%8C%20%D0%B4%D0%B2%D0%B0%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B0%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C

Обновление по теме топика - появился репозиторий koboldcpp, основанный на llamacpp, но запускающий модели сразу с функциональным интерфейсом Kobold AI, из предыдущего моего сообщения.

Почему это важно - потому что модель Alpaca + данный репозиторий уже могут использоваться в качестве локального аналога ChatGPT, для установки и работы которого не требуется больших знаний (Всё запускается в пару кликов) и мощностей ПК (16ГБ ОЗУ для запуска 13b 4bit модели).

Alpaca 13b 4bit выдаёт приличный уровень генерации, и довольно хорошо поддерживает диалог. Не учитывая медленную скорость генерации (40с на текст из скриншота выше) и размер контекста (2048 токенов максимум) - ощущение, аналогичное работе c ChatGPT, действительно возникает.

На 32GB ОЗУ получится запустить 30b 4bit модель. Качество работы нейросети сильно вырастет, но генерации будут идти почти в 2 раза дольше.