Ответы пользователя по тегу ChatGPT
  • Какие лимиты в ChatGpt-4 за 20 долларов?

    @rPman
    Используй api, в документации кода готового достаточно, лимиты практически отсутствуют (там больше речь о непрерывной нагрузке) и оплатой по факту использования, минимальная оплата 5$ (иначе не будет доступа к gpt4), деньги на счёте будет год лежать до их траты (там оплачиваешь план, остатки сгорают через год)

    К сожалению голосовой ассистент по api недоступен. Так же не доступны агенты и плагины, включая поиск по сети.

    P.s. claude anthropic 32к контекст в бесплатной версии, несколько исходных файлов влезают в контекст, работает неплохо

    P.p.s. напоминаю даже gpt4 отвратительно работают с большим контекстом, пропуская информацию до 80% фактов по тестам.
    Это родовая болячка gpt из-за квадрата в трудоемкости и требованиям к памяти от размера контекста, их обучают по особому, что значительно понижает качество работы в таких условиях
    Ответ написан
    Комментировать
  • Какую выбрать LLM для быстрого локального запуска?

    @rPman
    llama3-70b и Codestral 22B единственные открытые сетки, которые давали мне адекватный вариант на не простые задачи (я почти не трогал qwen и command r+ а они тоже хороши).

    Чтобы оценить требования памяти в зависимости от размера модели и ее квантизации, полистай сообщения этого бота, например вот для llama70b

    p.s. llama.cpp позволит разместить часть весов в GPU а часть в RAM, это имеет смысл если оперативной памяти чуть чуть не хватает, а квантизация уже на грани понижения качества, я так codestral 22b с квантизацией 5bit на 16gb запускал, указав 48 из 57 слоев на gpu с такими скоростями:
    llama_print_timings:        load time =    1997,65 ms
    llama_print_timings:      sample time =     790,28 ms /   256 runs   (    3,09 ms per token,   323,94 tokens per second)
    llama_print_timings: prompt eval time =   21593,29 ms /  7650 tokens (    2,82 ms per token,   354,28 tokens per second)
    llama_print_timings:        eval time =   33864,88 ms /   255 runs   (  132,80 ms per token,     7,53 tokens per second)
    llama_print_timings:       total time =   55938,24 ms /  7905 tokens
    Ответ написан
    Комментировать
  • Можно ли создать аналог my gpts с загрузкой производных файлов через API open AI?

    @rPman
    В общем случае скорее всего нет.
    Лучший gpt у нас у openai, ему на пятки наступают anthropic claude и google gemini (их нормальные модели не доступны бесплатно, а от гугла еще и очень в ограниченном количестве стран, и формально все они не доступны в России). По деньгам они будут сравнимы.

    Если брать готовые модели, они могут оказаться тупо дороже (с оговорками про свое железо но добыть по адекватным ценам это не просто) и главное, открытые модели (с доступными весами) в разы слабее.

    https://chat.lmsys.org/?leaderboard выбирай

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

    Так же проблема открытых моделей - маленькое контекстное окно (llama3 - 8k токенов, только очень маленькие pdf файлы можно в них поместить). А раз не помещаются в контекстное окно, значит потребуется самморизация и деление на части, в общем когда доберешься до конца, итоговый результат будет низкого качества.

    p.s. такие решения на сколько я знаю пилят с переменным успехом, и универсального решения точно не будет.
    Ответ написан
  • Какие есть нейронные сети которые можно обучить на исходном коде?

    @rPman
    Ни одна gpt не сможет полноценно решать такую задачу
    скормить исходники движка Unreal Engine

    потому что это НОВАЯ информация, ее не получится добавить в виде обучающей выборки и finetune. Так как это заставит модель больше галлюцинировать.
    В теории это возможно
    но потребуется переобучение (пусть и с использованием уже pretrained модели на старте) на данных, на которых эту сеть обучали! это наиважнейшее условие, с некоторой эффективностью можно проредить исходные данные, буквально на днях читал об исследованиях, как можно оценить, какие данные можно использовать для дообучения а какие нет.

    Стоимость этого будет сравнима со стоимостью полного обучения - миллионы баксов, без преувеличения!

    После этого потребуется еще доводка с помощью алгоритмов RLHF (нужны серии специально подобранных вопросов, так же это очень связано с тем какая была обучающая выборка, иначе модель будет низкого уровня и способна только для задач completion и очень слабо для chat, а тебе нужны instruction

    GPT умеет легко обучаться только на данных, которые влезают в контекстное окно. У лучшей открытой сетки llama3-70b это 8к токенов (обычно это +-1 файл исходников) да и у других от силы 16к и 32к но они слабые и способности запоминать данные во всем окне очень слабые.
    Если что, советую mixtral 8x22b, требует 85гб для 4бит квантизации (в этом случае незначительно теряется качество) или лучше 96гб для 5битной. 64к размер контекста, работает несколько токенов в секунду на процессоре, т.е. будешь ждать но не критично долго

    Но это не значит что совсем нельзя. Привожу пример сессии моей беседы с бесплатным anthropic claude (у них большое окно контекста, влезает несколько исходных файлов), скармливал исходники приложения на c# для поиска дубликатов видео.

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

    Дополнительно в процессе беседы дублирую информацию из основных вопросов, либо задаю наводящие вопросы, если ответ получил не полный

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

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

    Будь креативным в промптах, чем лучше запрос тем больше шансов получить ответ.

    Для новых вопросов начинай новую сессию, заново заливая файлы. Чем больше файлов в контексте тем хуже сеть их понимает.

    p.s. 'точно и без ошибок' не будет!
    Ответ написан
    Комментировать
  • Как запустить обучение с deepspeed у себя на пк?

    @rPman
    deepspeed это про обучение на кластере, т.е. вместо покупки одной дорогой серверной видеокарточки, ты поднимаешь кластер из дешевых десктопных и по уму должен получить экономию в деньгах.
    Ответ написан
  • Какие сейчас текстовые нейросети можно локально поставить?

    @rPman
    Если у тебя есть видеокарта (или несколько) nvidia с достаточным объемом gpu vram (обычно это 2х от количества параметров, но можно использовать квантизацию, 8битная не меняет значимо качество работы, если не нужно дообучать, т.е. количество параметров ~ размер памяти + чуть чуть, обычно гигабайт, на внутренние нужды сетки) то достаточно воспользоваться примерами python кода со страницы модели на huggingface. Самое главное, скрипт скачает модель автоматически.

    Если у тебя нет достаточного количества vram или вообще нет nvidia видеокарты, то запускай на процессоре с помощью проекта llama.cpp (тебе не нужно ничего сверх этого). Он использует модели, конвертированные в собственный формат (сейчас это .gguf но он меняется очень часто, за год раза 3 менялся без обратной совместимости), у этого формата и проекта есть бонус - загрузка модели в кеш операционной системы, т.е. повторный запуск приложения не будет тратить время на загрузку модели. Так же есть поддержка gpu (причем и amd тоже, но я не пробовал, формально даже intel дискретка заработает, хз на сколько хорошо), причем фича - можно разместить там только часть модели, а вот python huggingface вариант так не может, либо вся нейронка либо только на процессоре. Так же проект может автоматически раскидывать модель по нескольким gpu (кажется этим управлять пока нельзя), что не очень просто в других случаях.

    llama.cpp в поставке несет server, простенький веб интерфейс и api для работы в своих скриптах. Умеет режим chat (на самом деле не просто это запустить на huggingface примерах) и если покопаться в возможностях кода, есть мегафичи, например сохранение состояния. Особенность алгоритма работы llm такова что на входящие токены тратится время, но можно сохранить состояние в памяти, так работает чат режим, или на диске, и загрузить его по требованию и продолжить в режиме чата (например в контекст записываешь данные, сохраняешь состояние, а затем возвращая его, подсовываешь разные вопросы, загрузка состояния мгновенна, соответственно тратиться время будет только на вопрос и ответ, но не на повторную обработку данных, что актуально для нейронок с большим контекстом)

    Теперь объединяем фичи huggingface и llama.cpp, в поставке последнего идут утилиты конвертации модели из huggingface в .gguf, просто указав название модели, она будет загружена, конвертирована, квантизована, если актуально, в нужную битность (настоятельно рекомендую 8бит, ну если сильно надо, можно 5бит), и будет работать максимально эффективно соответственно твоему железу.

    ну и отвечаю на вопрос, какие нейронки хороши для дома - openchat35 -7B (основан на mistral), mixtral8x7b - 56B (требует оперативку но по скорости работает как 7B), посмотри на qwen1.5 (на любой вкус от 0.5B до 70B), cohere command R+ (кажется 100B версия догнала gpt4), а при наличии очень большого количества памяти - databrix (порядка 256Гб при 8битной квантизации, но работает как 30B модель так как использованы идеи из mixtral)

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

    p.s. не советую надеяться на то что нейронки будут хороши на русском языке. Они могут его понимать, могут отвечать на нем, но качество результата скорее всего будет максимальным при использовании родного языка (чаще английский, но к примеру qwen скорее всего заточен на китайский)
    Ответ написан
    Комментировать
  • Можно ли с ChatGPT создать отчеты и графики на основе GoogleSheets?

    @rPman
    Ищи плагины к chatgpt, не удивлюсь если кто то такой сделал и для табличных процессоров. Напоминаю что chatgpt это не просто gpt, это сложный продукт и пользоваться им не просто.

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

    p.s. я пользовался сторонними площадками типа coze, там и плагины и gpt4... ничего красивого и хорошего с теми же графиками там не получилось
    Ответ написан
    Комментировать
  • Как создать свой чат бот(дообучить модель) на базе собственных знаний(ссылок на ресурсы)?

    @rPman
    первые же запросы с гугла (с поиском по хабру)
    https://habr.com/ru/articles/755114/
    https://habr.com/ru/companies/neoflex/articles/722584/
    https://habr.com/ru/companies/wunderfund/articles/...
    https://habr.com/ru/articles/757086/

    Ключевые слова finetuning, peft модели llama, mixtral, google gemma (вышла буквально на днях, выглядит неожиданно хорошо для 2b/7b)
    Напрямую обучать модель новым знаниям сложно, и дорого а датасет это ты сам собираешь. Есть лайфхак - какими либо способами, на основании контекста формируют запрос в классическую базу данных (например реляционную) делают поиск, а результат вставляют в окно контекста (добавив сопроводительный текст, описывающий это как знания, на которые нужно опираться) и в результате модель получив эти данные, будет их использовать (это самое странное и непонятное в llm-ках). Само собой ВСЕ данные пихать в окно контекста не имеет смысла, оно маленькое а в открытых моделях еще и слабосвязное.
    Гуглим llm rag, например https://habr.com/ru/companies/wunderfund/articles/...

    p.s. просто и красиво не будет
    Технология llm сырая, точнее в ней баг в идеологии, подразумевающий вероятностный результат, т.е. правильный с некоторой вероятностью, которая даже у топовых моделях (не доступных для дообучения обывателю) в среднем на специализированных бенчмарках - 60%-80%, а те модели что доступны, дают верные результаты с с еще меньшей вероятностью.

    Настоятельно рекомендую смотреть в сторону mixtral (для людей доступны модели 8x7b, работают по скорости как 7b а по качеству как 70b), инструкций по дообучению не густо, придется прогружаться в тему, при которой таких вопросов как выше не будут возникать, но односложно ответ не дать.
    Ответ написан
  • С помощью каких инструментов можно запускать локально под Windows большие языковые модели?

    @rPman
    gpt4all это запускалка и менеджер моделей.
    Локально, на машинах без gpu или со слабыми, объем памяти которых недостаточен, используют ggerganov llama.cpp, который уже стал мощным монстром с собственным http api сервером. Используй его напрямую.
    Ответ написан
    Комментировать
  • Где хранится информация и откуда её берет нейросеть для ответа?

    @rPman
    Добавлю, на основе нейросети, создали специальное (сложное) приложение chatgpt. которое позволяет подключать плагины, являющиеся источниками данных (подробно как именно openai обслуживает плагины не известно, есть только общие слова, так как решением о том когда вызывать плагин и какие данные в него слать принимает сама модель, но в этом и был смысл, ты не разрабатываешь приложение - ты описываешь его а модель сама разбирается по словесному описанию, как этим пользоваться).

    Плагин это буквально классическое приложение с api, к которому будет обращаться chatgpt для наполнения данными вконтекст беседы (он тупо вставит возвращенные данные в беседу, но не покажет этого).

    Таким образом chatgpt не только использует свою/свои большие языковые модели как память, но и позволяет использовать внешние источники информации причем максимально свободным образом, так будто там сидит человек и читает все что написано клиентом и разработчиком плагина и делает запросы.

    p.s. напомню, gpt от openai и некоторые другие, могут одинаково хорошо работать как со структурированными данными так и со свободным текстом (ты можешь им json файлы слать, добавив к ним в начало выдержки из документации по их использованию) и попросить в ответ так же давать json, который уже можно будет отправлять 'тупым и устаревшим' приложениям, не умеющим думать но идеально отрабатывающим запросы в бд.
    Ответ написан
    Комментировать
  • Что за роли в API ChatGPT?

    @rPman
    Это части твоего промпта и способ общения нейронной сети с тобой (они не обязательно должны быть в виде чата, но конкретно gpt3.5-gpt4 модели обучены на этом, в описании к модели обычно это указывают).

    system - это часть промпта, которая говорит языковой модели, как именно ты с ней собираешься 'общаться' и кого должна эта модель симулировать. Именно тут описывают как идентифицировать остальные части (роли). Обычно эта часть в самом начале. Например 'Ты недалекая и не опытная женщина по имени Алина, обладаешь развитой интуицией и хорошо чувствуешь настроение собеседника, неожиданно точно подстраиваясь под него.'

    assistant (в приведенном примере это будет Алина) - во всем дальнейшем обсуждении будет использоваться чтобы отделить части текста как сказанные этим ассистентом, т.е. если ты в запросе в конце напишешь "Алина: " то языковая модель поймет что дальше должен быть текст ассистента

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

    Приложение, которое генерирует собственно токены, может контролировать (задается его настройками), какая последовательность токенов будет финишной и будет прерывать генерацию, отдавая контроль пользователю (например llama.cpp это ключ --reverse-prompt), так же сеть могут обучать специальным финишным токеном.

    Т.е. формально нет особой разницы между user и assistent, и различия и смысл определяются в системной части промпта.

    Если говорить конкретно про chatgpt api то там эти роли буквально имеют это значение

    p.s. в разных языковых моделях для выделения частей сообщения по смыслу и в т.ч. по собеседникам, могут определяться специальные токены.
    Ответ написан
    1 комментарий
  • Как подключаться только к chat gpt с vpn, какой софт использовать?

    @rPman
    Своя vps, socks proxy на основе ssh тунеллинга и отдельный профиль браузера с настроенным в нем прокси
    Ответ написан
    Комментировать
  • Обход блокировки API openai?

    @rPman
    Мой ответ не про openai в частности а в целом про прокси.

    Арендуешь vps с поддержкой ssh (т.е. любой) и ничего не настраивая на нем кроме может пользователя (команда useradd ... и пароль passwd) и опционально настраиваешь беспарольную авторизацию ssh на своем локальном компьютере (смотри как настраивать твой любимый клиент ssh) делов на 1 минуту. А дальше, в своем клиенте добавляешь настройку тунеля -Dпорт (это ключ ssh, например в putty он называется Dynamic) и после подключения к своей vps-ке (в этом окне ssh ничего больше не надо делать, пусть висит) у тебя локально на комьютере будет поднят socks прокси сервер, который прописываешь в браузере или где тебе надо. Например -D1080 даст socks5 прокси по адресу localhost:1080

    Теперь про аренду vps, идешь на поисковик дешевых vps-ок lowendstock и выбираешь себе от 2 бакса в год (но это совсем ущербные), там же почти все принимают оплату биткоинами. У меня годами работают vps-ки с ценой от 1$ в месяц до 3$ (последняя для моих скриптов с 1gb ram и 20gb ssd, не самая шустрая но свои $ отрабатывает на ура)

    p.s. если vps-ка на основе kvm (точнее можно и на любом но нужен модуль tun) то есть шанс настроить ssh сервер на работу vpn-ом буквально

    upd. к сожалению в россии провайдеры стали потихоньку ломать ssh протокол
    , и он рандомно может быть очень медленным, больших скоростей не жди, у меня на ростелекоме с 5мбайт/с может упасть до 100кбайт/сек и держаться так часами (притом что канал у ростелекома широкий, я с того же huggingface на 25мбайт/cек качал гигабайтами нейронки)
    Ответ написан
    3 комментария
  • Как создать бота ChatGPT с обучением только на своих данных?

    @rPman
    Над решением задачи галлюцинаций на текущий момент работают лучшие умы планеты, красивого решения нет но специалисты из OpenAI говорят что считанные годы и проблема будет решена.

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

    Это особенность любых нейросетей можно представить так, твои обучающие данные это точки, которые ты в слепую бросаешь на ось, а область верных утверждений это отрезок. Если ты будешь пытаться определить отрезок 'бросая' только точки внутри отрезка, алгоритм сможет проводить разделение верно/неверно в любом месте за пределом этих точек, ведь любой такой вариант будет непротиворечив. А значит когда нейросеть попадет в ситуацию, не прописанную напрямую в обучающей выборки (то чего ы и хотим добиться) она будет предлагать варианты за границей нашей реальной правды, думая что линия правды дальше
    Ответ написан
    2 комментария
  • Где найти информацию о обучении chat gpt с обходом правил?

    @rPman
    Обучение нейронной сети должно использоваться для того чтобы дать новые знания/новую информацию либо закрепить уже имеющуюся.

    Если попытаешься использовать finetune для того чтобы переобучить сеть (особенно это актуально для случаев, когда сеть 'выровняли', запретив ей говорить на какую то тему или обучили ее предвзято на какую то тему), то результат скорее всего будет сомнительный и по данной теме языковая модель скорее всего начнет галлюцинировать.

    Если тебе нужно практическое применение, посмотри ссылки в этой статье
    Ответ написан
    Комментировать
  • Как сделать узконаправленным ChatGPT api python?

    @rPman
    Эти и другие задачи, решаемые с помощью chatgpt, требуют использования технологии под названием prompt engineering (пора, я думаю, тег на хабре добавлять, чем это хуже какого-нибудь c++ или lisp?).

    Красивого решения нет но один из способов, делать предварительный запрос вида - 'является ли тематика следующего вопроса медицинской, ответь да или нет:', и проанализировав этот ответ можно выдавать плашку или делать уже прямой запрос.

    Для классификации можно использовать более простые языковые модели, включая открытые, которые будут хоститься на твоем железе, правда их использова уже не так просто но что не сделаешь ради экономии.
    Ответ написан
    4 комментария
  • Есть ли в свободном доступе законный аналог ChatGPT?

    @rPman
    Как только в сети появятся адекватные и вылизанные датасеты обучающей выборки, так сразу.

    Оказалось нормальный ИИ это не только про большое количество весов (и это кажется не так актуально, например гугловский palm 540B сравним c llama 65B и хуже chatgpt35 и тем более 4 которые порядка сотни-двух) но и большая обучающая выборка.

    Сейчас кажется большинство крупных компаний, задумавшихся о ИИ в срочном порядке каждый сам себе набирает датасеты (вместо того чтобы всем миром объединиться и сделать 10x круче)
    Ответ написан
    Комментировать
  • Как разрешить ChatGPT генерировать 18+ фото?

    @rPman
    гуглить: stable diffuson webui
    Клонируешь с github, читаешь доку, запускаешь батник (если видяха nvidia 3гб ram то добавь ключ --lowvram), если видяхи нет или она совсем плохая, то ключ --use-cpu auto и смотри вывод может какие еще ошибки полезут (там подскажет что надо).
    Если запустится без ошибок, то интерфейс открывай в браузере (адрес оно в консоли напишет)

    подробно https://habr.com/ru/company/selectel/blog/712316/

    Нудсы вроде бы рисует и оригинальная сетка, можешь загрузить модели от сюда civitai.com там народ выкладывает свои дообученные модели, если говорить не про 18+ мне понравилась dreamlikePhotoreal20

    Осторожно, сеть генерит тонны кринжа. Лишние конечности, страшные морды, может легко пригнорировать запрос или его часть (мне кажется там от сида зависит, если его фиксировать и менять запрос, баги иногда сохраняются).

    Коротко про текстовый запрос:
    * только английский
    * (часть фразы:вес), вес число меньше больше 1, десятичная точка, больше, например 1.1 выше важность условия, ниже - соответственно ниже
    * количество чего-либо можно указать числом 2box, 3girl и т.п.
    * старайся описывать все содержимое картинки, иначе сеть придумает за тебя (она и при описании может проигнорировать, но результат качественнее получается)
    * управление позой, левая/правая рука, полный вид или только лицо и прочее - контроль отсутствует, заставить сеть генерировать людей которые что то делают кроме как 'сидят стоят или идут'.. сложно, иногда что то получается

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

    Ради прикола, исполнил свою детскую мечту - сеть может раздеть человека на фото, просто выделив одежду приблизительной маской, на попытки можно потратить тьму часов но результат реальный.

    p.p.s. если тебе нужны нудсы, не мучай себя, зайди на порносайты, гугли порно картинки, тем же duckduckgo (там safe search отключается без регистрации)
    Ответ написан
    Комментировать
  • ChatGPT создаёт новый код или только дублирует существующий из примеров? Он понизит зарплаты фронтендерам-джунам?

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

    p.s. попробуйте попросить ИИ загадать число, цвет и совершить "в уме" некие действия с ним, не сообщая загаданное
    он не сразу вас поймет но научить его этому можно

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

    но это ограничение api а не логики на серверах openai
    Ответ написан
    Комментировать