Ответы пользователя по тегу Нейронные сети
  • Как запустить обучение с deepspeed у себя на пк?

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

    @rPman
    Ни одна нейросеть на базе gpt не умеет напрямую работать со страницами в интернете.

    Нужна прослойка, которая, во первых, преобразует страницу в текст (это не так просто как кажется, нужно выделить на странице контент, точнее его группы (информационные блоки), понять где реклама, где навигация а где дизайнерский мусор, отличный пример - страница ozon, 90% экрана абсолютно бесполезный мусор, рекомендации (далекие от того что нужно покупателю), проплаченные карточки и т.п. найти среди этого хлама нужную информацию не просто. Плюс все это формируется в процессе, двигая элементы интерфейса туда сюда... работать с этим адом очень и очень не просто, особенно когда разработчики старательно сопротивляются любой автоматизации.

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

    И главная проблема - ограничения на размер контекста. Большие объемы текста тупо не помещаются 4к..8к токенов это тот объем, в пределах которого сети работают хорошо, но чем больше размер контекста (даже если заявлены 16к или 32к) начинаются борьба компромисов, качества и стоимости. Может так получиться что вместо работы со всей информацией сразу, ее делят на части (еще одна проблема по анализу исходной страницы), а затем, набирая вопросы из текущего контекста (та еще задачка) задают их последовательно для каждой, собирая ответы в итоговый контекст и ее уже используют для дальнейшей беседы. Плюс есть еще алгоритмы саморизации. Плюс еще неплохо сюда multishot пристроить, с примерами.

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

    В общем реализуете что то стоящее первыми, может даже озолотитесь, продавая готовое решение бизнесу.
    Ответ написан
    Комментировать
  • Существует ли аналог GPTs?

    @rPman
    Мне кажется рановато искать ГОТОВЫЕ решения В ОТКРЫТОМ доступе на эту тему. Народ только только пилит все это.

    И да, открытые и доступные llm-ки могут быть не достаточно сильными, чтобы успешно отрабатывать данную задачу. Зачем вам поисковая система, которая будет косячить в 10% случаев? 20%? 30%? причем в обе стороны, т.е. не только выдавать не нужное, но и пропускать нужное

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

    Лучше работает, если по каждому вопросу в контекст засовывать документ (или пробегать по абзацам/главам) с тщательно сформулированными дополнительными вопросами (их создание и есть разработка такой системы) ответы закидывать контекст беседы с клиентом. Как минимум использование гугло поиска на основе разговора - работает (проблема только выбирать, что читать,.. много - дорого, мало - недостаточно информации)
    Ответ написан
    Комментировать
  • Какие сейчас текстовые нейросети можно локально поставить?

    @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 скорее всего заточен на китайский)
    Ответ написан
    Комментировать
  • Как создать свой чат бот(дообучить модель) на базе собственных знаний(ссылок на ресурсы)?

    @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), инструкций по дообучению не густо, придется прогружаться в тему, при которой таких вопросов как выше не будут возникать, но односложно ответ не дать.
    Ответ написан
  • Где обучить нейросеть?

    @rPman
    vast.ai есть даже оплата криптовалютой
    фишка в том что там можно подобрать десктопные видеокарты с меньшим объемом vram если подходят под твою задачу (400млн float/double это 1.6/3.2GB vram + память под обучающую выборку + сопроводиловка 10%-20%), они дешевле по определению серверных.

    Дешевле, только приобрести видеокарту себе и собрать свой комп (я говорю про ситуацию когда тебе не нужен суперкомпьютер, как только у тебя производительность выходит за рамки нескольких десятков gpu то там возникают другие проблемы)
    Ответ написан
    5 комментариев
  • Где хранится информация и откуда её берет нейросеть для ответа?

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

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

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

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

    @rPman
    На встроенной видеокарте не запустить большие языковые модели, потому что не хватит оперативной памяти. Но даже если умудриться выделить в биосе для встроенной gpu нужный объем памяти, работать это будет медленнее чем llama.cpp на процессоре.

    При использовании llama.cpp требования можно снизить за счет квантизации (на самом деле код есть и для python tensorflow реализации, но там не так удобно все организовано, придется изучать и ковырять), но даже в этом случае начальный обем vram где то 8Gb (с 4бит квантизацией и 7B модели, будут работать плохо, минимально рекомендованная это 5_1 квантизация, штатный tensorflow код с которым релизятся модели, без проблем умеет 8бит квантизацию), не жди от 7B моделей хорошего качества, и тем более при использовании квантизации, они и так уже уменьшены по максимуму.

    p.s. llama.cpp умеет часть матриц переносить в gpu, это имеет смысл если vram не хватает чуть чуть, т.е. модель влезает почти полностью добавляй ключ --n-gpu-layers N где N число слоев нейронки, которые нужно перенести в vram, подбирать экспериментально пока не начнет ругаться на нехватку памяти.

    скорее всего тебе придется пересобрать ее с ключом OPENBLAS или CLBLAS
    mkdir build
    cd build
    cmake .. -DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS
    cmake --build . --config Release

    (полистай документацию возможно еще ключи добавлять)
    Ответ написан
    Комментировать
  • Существует ли нейросеть для краткого пересказа книг?

    @rPman
    Языковые модели идеальны (на основе gpt) для задачи самморизации (text summaryze).

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

    Хорошие языковые модели типа gpt3.5/gpt4/claude/bard более чем подходят для данной задачи, даже просто вручную поделить текст на главы и последовательно скормить их чату с максимально простым промптом, можно получить желаемое.

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

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

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

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

    Есть разные лайфхаки в промптах, которые можно использовать чтобы еще больше улучшить результат. Из недавних рекомендаций:
    * надавите на эмоции (как бы это не парадоксально не звучало), добавляйте к запросу что 'вам очень важно получить правильный ответ'...
    * языковые модели очень любят поддакивать вопрошающему, с большей вероятностью модель не найдет в твоих утверждениях ошибку, если ее об этом попросить напрямую 'есть ли у меня тут ошибка', но с готовностью попытается найти эту ошибку, если сказать что то типа 'я нашел тут ошибку, какая она'
    Ответ написан
    Комментировать
  • Как установить Bing Image Creator на игровой компьютер?

    @rPman
    Bing Image Creator не доступна для установки на свое железо
    Ответ написан
  • Где найти информацию о обучении chat gpt с обходом правил?

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

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

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

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

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

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


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

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

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

    Ну и бонусом - криптовалютный рынок самый дорогой по комиссионным сборам.
    spoiler
    Когда то были bitshares - почти неподконтрольная, с самыми низкими комиссиями (правда и ликвидность не на высоте), на этом рынке можно было делать очень хороший доход простыми алгоритмами, но потом как это обычно бывает с не PoW консенсусом, самый главный, чтобы не потерять свои миллионы угробил проект.

    Все другие проекты после либо с нулевой ликвидностью либо с неадекватно высокими комиссиями и не функциональным рынком, читай нет спотового рынка с buy/sel отложенными ордерами, точно помню за успешную попытку возродить такой же, SEC наказала буквально разработчика за это, а он еще публично благодарил что не в ж... а только штрафом обошелся. Все последующие проекты были говно на основе рынков ликвидности, где ты не можешь сделать нормальную отложенную сделку по своей цене, только по цене алгоритма с огромной комиссией, ну или торгуй по маркету
    Ответ написан
    4 комментария
  • Можно ли обучить нейросеть на книгах?

    @rPman
    Да можно, за последние годы создали шикарную технологию gpt, берешь pretrained можно, например llama2 с очень либеральной лицензией и высоким качеством, дообучаешь на своих данных.

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

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

    @rPman
    Бояться нужно не левой разметки, это не взлом.

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

    Гуглить adversarial attacks или атаки с использованием искажающих примеров.

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

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

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

    Так же гуглятся предложения по Регуляризации функции потерь.

    Главная беда нейронных сетей - они очень плохо работают, если им давать только хорошие данные, вместо тех признаков что мы как люди привыкли примечать (потому что у нас огромный багаж знаний в довесок, плюс мы постоянно дообучаемся) сети выделяют какие то дикие и абстрактные для нас признаки, по которым внезапно так же можно решать задачу, и именно на этом сети легко обманывать. Чем больше плохих данных ты даешь, тем больше знаний о предметной области (чем не является искомые объекты) - тем лучше она их будет искать, в идеале плохие данные должны быть на границе с хорошими... у людей 'человеческие детеныши' отлично умеют 'бесить взрослых', прощупывать пределы допустимого, совершая максимально дичайшую дичь но рядом с тем что еще не успели запретить или не достаточно хорошо определили.
    Ответ написан
    Комментировать
  • Как переубедить нейросеть (чтобы данные из промпта считались более важными)?

    @rPman
    С LLM у тебя только два варианта - добавлять информацию в запрос, а в случае с противоречиями, тюнить и усложнять подводку, типа если ты хочешь чтобы везде где сетка использует цвет красный она говорила
    бибип:
    Дальше в ответе вместо цвета - 'красный' ты должен писать бибип, с учетом правил русского языка, рода и склонения. Назови три цвета у светофора

    Три цвета у светофора: бибип, желтый и зеленый.



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

    Этот механизм имеет недостатки, из-за проблемы 'катастрофического забывания', чем больше данных ты пытаешься добавить в модель через дообучение, тем больше она забывает ранее выученных (с этим борются подмешиванием данных из изначальной обучающей выборки но это не так просто)
    Ответ написан
    Комментировать
  • Где научиться работать с генеративными нейросетями?

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

    Есть ряд лайфхаков (так и пиши в гугл - твоя задача + chatgp + промпт лайфхак), которые позволяют увеличить качество результата:
    0. Помести в запрос максимум информации о твоей задаче, чем объемнее будет вопрос (без воды а именно информация) и чем шире он будет покрывать предметную область, тем легче gpt модель будет формулировать ответ. Сюда же можно добавить информацию, которой точно не было в обучающей выборке.
    1. one shot/multi shot - эта технология очень простая, перед своим вопросом, помести один или более заранее заготовленных примеров вопрос-ответ, в идеале на ту же тему, что и твой основной запрос... топовых результатов по бенчмаркам chatgpt4 достигает при использовании 5 примеров (в смысле именно так ее оценивали в бенчмарке MMLU где она набирает 86 балов (человек 60, специалист в узкой области 90, llama2 68.9).
    2. Think step by step - добавление похожих на эту просьб в запрос (можно поэкспериментировать) заставляют модель формировать ответ в виде пошаговой инструкции, это очень похоже на то как человек мыслит, ведь не сразу ответ приходит а идет пошаговый процесс. Как ни странно это очень сильно увеличивает качество результата

    К сожалению использовать все по максимум это не получится из-за фундаментального ограничения существующих gpt моделей - ограниченный размер контекста (количество слов, в пределах которых модель видит и учитывает первые слова и может генерировать последующее слово).
    Ответ написан
    Комментировать
  • Как написать нейросеть способную генерировать текст?

    @rPman
    Ты как будто отсутствовал последний год и пропустил бум ChatGPT. Этот алгоритм нейронных сетей (Generative Pre-trained Transformer) был разработан в 2017-ом 'гуглом' и 'доведен до ума' публично в OpenAI (их chatgpt4 сейчас самый продвинутый универсальный генератор текста, проявляющий признаки интеллекта).

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

    На текущий момент самая крутая из доступных нейронных сетей (доступные предобученные веса сети), которую можно доучивать под свою задачу или даже пользоваться как есть, - это фейсбуковская llama2 (бесплатная, с очень либеральной лицензией, позволяющая коммерческое использование), ее можно запускать на процессоре на десктопной машине с меньше 64гб ram (скорость от 1токен в секунду, слово это 1-7 токенов) с помощью llama.cpp или на машине с GPU, суммарной емкостью vram от 80Gb (я не нашел точные минимальные требования, квантизация 8бит доступна в штатном коде llama а 4-битную тоже можно но я не уверен какие проекты уже поддерживают llama2).

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

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

    Но если взять уже обученную сетку (веса) собрать небольшой датасет текстов под свою задачу, то тюнинг будет достаточно дешевым, вот еще со старой llama так делали
    Ответ написан
    1 комментарий
  • Есть ли свободная программа для преобразования аудио в текст?

    @rPman
    https://github.com/openai/whisper
    модель автоматом скачивается, поддерживается куча языков, результат выдает с таймингами в формате субтитров
    Ответ написан
    Комментировать
  • Почему у языковых моделей такой маленький размер контекста?

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

    Т.е. увеличивая контекста в 2 раза, увеличиваешь требование к памяти в 4 раза а энергии на обучение ещё в 2 раза больше, т.е.8 раз (там тоже чем больше тем хуже оптимизация)

    Напоминаю что объем памяти это капитальные затраты, а на вычисления (энергию) - операционные
    Ответ написан
  • Как конвертировать чат в вопросы и ответы?

    @rPman
    Сядь и подробно опиши, как ты будешь описывать эту работу человеку, причем максимально далекому от темы, не очень сообразительному но внезапно эрудированному (считай что написанное этот человек будет понимать сразу, с учетом опечаток, сленга и т.п., этому обучать не придется).

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

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

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