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

    @rPman
    Современные ИИ не подходят для сбора информации напрямую (типа даешь картинку, пишешь запрос,..), так как ответ будет с 70% вероятностью верным, а 30% нет (пропуски и фальшивое срабатывание)... но попытки такие (работающие с неструктурированной информацией) системы собрать само собой есть, не уверен, вроде бы топовые с 90% вероятностью проходят тестовые выборки.

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

    @rPman
    Университеты могут предлагать мощности своим сотрудникам, при условии что будет публикация с аффиляцией этого университета.

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

    Помню ТГУ предлагал свои мощности (там уже слабый суперкомп, вам не подойдёт) но права на результат универу нужно было отдавать

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

    @rPman
    Не разбираюсь в вопросе, но когда читал про это, самое простое что можно сделать, взять обученную сетку у фейсбука, и изучить документацию по повторению их результата но уже на своих данных
    https://github.com/facebookresearch/fairseq/tree/m...
    Ответ написан
    5 комментариев
  • С помощью какой AI модели можно локально обработать аудио-файлы (русский голос)?

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

    Так же модели по работе со звуком есть у всех топовых компаний, например у мозиллы deepspeech и у фейсбука, и у гугла, и у китайского qwen и т.п. но под вопросом качество русского языка, полистай, осторожно тут все в кучу свалено, не только прямая трансляция но и к примеру токенизаторы, векторизаторы и т.п.
    Ответ написан
    Комментировать
  • Нейросеть для обработки фото?

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

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

    Следующий, более user frendly - stable diffusion webgui, очень удобный, функциональный, но весь функционал заморожен тем что предлагает сам gui или его расширения.

    Твоя задача не очень понятна, но могу предположить что тебе нужен режим inpaint, который позволяет указав часть изображения маской, дорисовывать его, очень мало открытых нейронок, дают такой функционал, собственно из доступных только stable diffusion 1.5 inpaint (догадываюсь что спецы могут сделать и другие, в т.ч. с lora но нужно копать эту тему очень глубоко), с соответствующим качеством
    Ответ написан
    Комментировать
  • Возможен ли запуск character ai на домашнем пк?

    @rPman
    Llama31-8b можно запустить на видеокарте nvidia 12..16gb с отличной скоростью, контекстное окно 128к токенов, характер и прочее можешь описать в стартовом промпте. На cpu так же работает с помощью llama.cpp.

    Такую сеть можно за разумные деньги тюнить под свои задачи.

    Есть ещё китайская qwen, у нее неплохие характеристики.

    Старшие версии llama31-70b и qwen близки а топу, но требуют много оперативной памяти, с использованием квантизации 64..96гб ram на скорости 1-2 токена в секунду можно решить сложные интеллектуальные задачи, например адекватно допридумывать рассказы...
    Ответ написан
    2 комментария
  • Возможно ли использовать модель LLAMA-405B на обычном железе 64GB + 8GB?

    @rPman
    Да, уже считал, и это действительно реально, с относительно небольшими затратами (16-20т.р.) если тебя устроит скорость исполнения в 15-30 секунд на токен (на твоем железе llama31-70b на процессоре и 64гб оперативке будет работать токен в 1-1.5 секунд).

    Необходимо собрать самый дешевый pcie nvme ssd программный raid0, купив контроллер pcie-x16 3.0 или 4.0 из четырех разъемов nvme либо четыре pcie-4x дешевых 3.0 и закупить самые дешевые nvme ssd диски от 128гб (со скоростями чтения от 2гбайт/сек).

    Затем собрать из них raid0 с чередованием (win/linux это поддерживают) и разместить на нем gguf файл. llama.cpp поддерживает загрузку файла с весами с диска, без выделения оперативной памяти (но она нужна на контекстное окно, в зависимости от его размера это будут десятки гигабайт). Файл будет считываться по кругу целиком, по разу на токен, а значит скорость будет определяться именно этим. 2гб/с*4 диска = 8гб/с, 256гб 4бит квантизация будет считываться за 32 секунды.

    Есть еще ограничения в скорости исполнения из-за процессора, но по уму, если бы была оперативная память то типовой десктопный процессор работал бы на скорости 15-20 секунд на токен.
    Ответ написан
    7 комментариев
  • Как предсказать отработку сетапа на бирже?

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

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

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

    Поэтому подумай, а как человек классифицирует данные? в каком виде он на них смотрит? в виде графика на котором он рисует линии? вот и представь данные как такой график (нормализуй не от min/max датасета, а текущего фрейма, то что идет на вход нейросети, если что этот подход ничего не гарантирует но как минимум сеть будет видеть то же что и человек).

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

    Типичный 'аналитик' начинает рисовать на графиках какие то кривые, обычно по какому то не сложному алгоритму, вот и автоматизируй этот процесс не ИИ алгоритмами, и добавь результат в обучающую выборку, возможно это поможет?

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

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

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

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

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

    Использовать transformer возможно очень правильно (attention по уму для временных рядов подходит), но точно готовых решений не найти и придется с нуля решать все самому. Один токенизатор чего стоит.

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

    @rPman
    Полистай идеи в старых jailbreak типа таких (лучше погугли, можно найти больше)

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

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

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

    Подбери такие пикселы, чтобы их комбинация белая/не белая была уникальной для каждого случая... цвет пиксела бери 'на интервале'

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

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

    @rPman
    вот же дока с примерами https://github.com/h2oai/h2ogpt/blob/main/docs/REA...
    Ответ написан
    Комментировать
  • Какие лимиты в ChatGpt-4 за 20 долларов?

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

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

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

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

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

    openai буквально на днях презентовала свою мультимодальную gpt4o но ни полноценного доступа ни тем более api еще нет. Доступна только текстовая модель по api (у них есть возможность как и для старой версии добавлять в контекст изображения) без генерации, но попробовать можно.

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

    Т.е. решение твоей задачи будет примерно таким - проанализировать изображение и разобрать его на объекты, дополнительно получить описание изображения, скормить полученный текст ИИ и спросить, какие объекты нужно заменить и какой промпт добавить, и соответственно подсовывать маску этих объектов в image painting для stablediffusion и смотреть что получится.

    По умолчанию там будет все не очень красиво. Нужно будет подбирать .vae модели и pipeline, и в теории может даже что то получится.
    Ответ написан
    Комментировать
  • Как работает языковые модели и нейроны?

    @rPman
    Так как никто не ответил, коротко:
    1. Как реализуема память у языковых моделей и как ее реализовать?
    над реализацией памяти языковых моделей бьются ученые, 'бьются пожарные, бьется милиция,..' пока безуспешно, лучшее что придумали с практической точки зрения, используя instruct модели, добавляют в беседу (контекст) нужные факты в каком-либо виде каким либо способом (это основа методологии RAG, гугли). Потребует обучение дополнительной модели на создание индекса, создание не простой модели базы данных (например делают древовидную базу отношений знаний)... в общем все что позволит каким то способом выбирать из всей базы данных только те знания что нужны, и уже тут проблема, как разделить имеющиеся знания на куски.
    Если говорить про языковую модель и только про нее, знания она получает исключительно из обучающих данных, и этого недостаточно, что бы модель могла эти данные эффективно использовать, тюнат с помощью reinforced learning human feedback, собирая высококачественные датасеты вопросов и оценки качества ответов модели (хорошо плохо), с каждым шагом повышения качество модели, люди, размечающие данные, должны быть все более разносторонними специалистами... и речь идет не о той крохе, которую ты хочешь добавить в датасет, а о повторном тюнинге по всем знаниям из обучающих данных. В общем это очень дорогой процесс, сравнимый с созданием языковой модели (речь о десятках миллиолнов баксов)
    2. Как «вбить» языковой модели «личность»? А именно ее имя и стиль речи. А также правила.
    Личность языковой модели настраивают стартовым (системным) промптом и finetuning, это дообучение модели на своих данных (не сильно большом количестве), ты можешь попросить как быть гениальным физиком математиком так смешным тупицей с дефектами речи, это сработает если знание об этом уже было в обучающих данных. Это не добавление данных и знаний, а определение формата или стиля общения. Например можно скормить чат как датасет и попросить сетку продолжить общение, она будет имитировать участников.
    3. Как преобразовать текст чтобы входящие нейроны поняли запрос?
    ключевые слова - используют токенизер, алгоритм, который на основании базы текстов, настраивает словам или их частям (токенам) вектор чисел, определяющих буквально их смысло, расстояние (там могут использовать не только евклидовое как метрику) между похожими по смыслу словами будет быть ближе чем между далекими.
    Собственно все контекстное окно токенов преобразуется в рядом стоящие вектора по каждому токену, и это и есть входы нейронной сети... То же самое происходит с аудио и как я понимаю видео, оно токенизируется неким алгоритмом (качество которого очень важно, алгоритмы есть, гугли), превращаясь в вектора, описывающие смысловую единицу, и уже их набор идет как вход. И да, выход gpt это один символ - точнее таблица вероятностей, какой выбрать токен следующим (количество выходов - количество токенов)
    4. Как дать ИИ возможность к действию? К примеру воспользоваться API.
    Модели, тюненные как instruct, могут воспринимать инструкции на естественном языке, с примерами api, описанием их работы и прочее... чем лучше модель тем лучше будет результат, с gpt4 например это работает просто отлично, собственно многие сети обучают сначала на программиста (использую github как датасет) и сети уже понимаю формальные языки программирования, форматы данных, то же json/csv и т.п. и могут использовать их в запросах и ответах, если попросишь
    5. Нужно ли быть гением математических наук чтобы написать такую модель?
    Нужно быть гением в разработке ИИ чтобы разрабатывать ИИ. Не зря топовые компании мира как пылесосом прошлись по рынку и собрали букально всех до кого могли дотянуться. Если ты не крутился какое то время в нейронных сетях, то пока не наверстаешь упущенное, соваться в самый пик и мейнстрим технологий будет сложно. Одной математики тут точно недостаточно. Да и формально, это нужно тем кто пишет низкоуровневые методы, типа разработка той же библиотеки transformer (которую пилит гугл), а вот пользователям этого нужно просто понимать базовые основы математики и тервера, не нужно прям очень туда углубляться, в матанализе например можно бесконечно плавать и ни капли не коснуться чего то связанного с нейронками.
    6. Каким образом нейроны выводят нормальный ответ?
    Никто не знает. Но,если экстраполировать, используя как пример алгоритмы распознавания и классификации изображений, то построенная нейронная сеть, состоящая из нескольких слоев, на первых слоях буквально в весах содержит куски изображений в виде примитивов - градиенты, линии, кривые,.. на втором слое более сложно - фигуры, на третьем появляются более высокие понятия типа шерстинки, усы, носы, и т.п. и так каждый следующий слой нейронной сети содержит все более усложняющуюся модель данных, но чем глубже заглядываешь тем сложнее понять что есть что. Собственно в новостях мелькают различные исследования в этом направлении, то там поняли что вот этот нейрон конкретной сетки если его подергать, вот то то происходит, и 100500 страниц описания как этот нейрон обнаружить, то тут типа нашли способ заставить сетку забыть данные исключительно файнтюном и особым подбором обучающих данных и т.п. в общем народ работает, но что то мне говорит чтобы эти знания получать нужно иметь на руках приличные вычислительные мощности (именно они делают нейронки дорогими) а с мелкими сетками каши не сваришь, они не способны на что то вразумительное
    7. Как совместить 2 в 1? А точнее языковую модель и ии для распознания изображений.
    создать токенизер сразу на мультимодальные данные, собрать качественный датасет, содержащий и то и другое, собрать мощностей побольше (на пару порядков наверное чем для просто текстового ИИ) и т.п. гугли, открытые мультимодальные сетки есть и от фейсбук, и от китайцев (qwen) ну может openai какие публикации выдала...
    8. Какие именно правила обработки информации для обучения есть? (К примеру что нужно отсекать).
    ХБЗ. Главное что дало принципиальную возможность обучить современный ИИ на базе gpt - это когда перестали пытаться создать качественный и вылизанный датасет знаний, а скормили нейронке как можно больше мусора, т.е. вместо качества, взяли количеством (на пару порядков больше чем это имело бы смысл), добавив так же абсурдно много слоев и весов, затратив абсурдно больше вычислительных ресурсов, внезапно получили результат.

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

    @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. 'точно и без ошибок' не будет!
    Ответ написан
    Комментировать
  • Какая модель LLama лучше для использования в telegram?

    @rPman
    Какая? llama3-70b наилучшая из открытых (те что можно запустить у себя), или command r+. Так же хорошие открытые модели основанные на mixtral (mixtral-8x22b). llama3-8b тоже не плохая для своего размера (запустится на 8-16Gb десктопных видеокартах).
    https://chat.lmsys.org/?leaderboard

    Llama это модель, она ничего не может, это файл на диске. Для того чтобы модель работала тебе нужна программа, например с гитхаба официальный пример на python (он очень простой, там буквально 5-10 строчек)

    Не рекомендую прямо в боте telegram вставлять работу с gpt, т.е. это можно и даже будет работать но помятуя что у gpt высокие требования к железу (оперативная память) это будет не эффективно.

    Готовый сервер идет в поставке с llama.cpp (запросы api по http), он же умеет обрабатывать одновременно несколько запросов (по умолчанию 10 одновременных потоков кажется) так же есть возможность самому собирать запросы в пакет и отправлять одним запросом в сервер, он все обработает и вернет, и по скорости это будет быстрее чем каждый по отдельности (особенно когда работа на gpu).

    Программирование ботов gpt - это придумывание запросов на естественном языке, которые дополняются данными от пользователей или еще какими (например обычный запрос в классическую базу, вываливая в промп тупо текстом, к примеру csv форматом). У тебя ограниченное количество ресурсов, маленькое окно контекста (у llama это 8к токенов) и в попытке все туда уместить и приходится что то поверх городить. тупой пример - если ты будешь весь чат пихать в контекст, уже через 20-30 сообщений он переполнится, и нужно будет принимать решение что и как выкидывать.

    А еще llama любит отвечать лишнее, т.е. ты ее просишь ответь числом, а оно отвечает - ваш ответ 3... вот эти 'ваш ответ' нужно как то выявлять. А еще модели лучше работают, если просить их по рассуждать, она тебе даст рассуждения, тебе они нафиг не нужны, как из них результат вычленить? Иногда можно отделить мусор от ответа, попросив его дать в каком то формате, например дай ответ в формате json, а так как запрос к gpt это часть беседы в форме чата, можно дать часть ответа прямо в промпте, например "...assitent: {" тогда у модели не останется варианта как сразу фигачить json.

    Но чем больше ограничений ты даешь модели тем хуже ее качество ответов.

    У llama.cpp есть механизмы задания gramma формата ответа, какие токены предпочтительнее и в каком формате, говорят не идеально реализовано (например не получится задать варианты ответов списком слов типа отвечай только название цвета 'красный', 'зеленый', 'желтый', 'другое',..)
    Ответ написан
    Комментировать
  • Как запустить обучение с deepspeed у себя на пк?

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

    @rPman
    whisper от openai, есть версия для процессора от ggreganov whisper.cpp
    Ответ написан
    Комментировать
  • Как происходит пошаговое обучение языковых моделей азам?

    @rPman
    Ответ в виде короткого гайда ты не получишь, он не влезет в формате qna, да и некому тебе его дать.. гугли, все есть в интернете.

    Для начала, чтобы повторить свою языковую модель, которая начнет показывать признаки интеллекта (т.е. нейронка построит внутри модель человеческого интеллекта), нужно минимум десятки миллионов долларов (это оптимистичная оценка). Это при условии наличии специалистов (команда), данных (все бросились парсить интернет и те кто эти данные хостят внезапно осознали что их данные имеют цены) и мотивацию. И да ее качество, в лучшем случае будет на уровне gpt3.5 от openai...
    Например у богатейшей в мире компании google, создавшей собственно алгоритм transformer, стоящий в основе современных llm-ок, имеющей огромные ресурсы, собранные данные со всего интернета, собственное железо (их TPU на порядок энергоэффективнее видеокарт, и развиваются уже десятилетие) - догнать по возможностям openai gpt4, не получилось!

    Причина - gpt стала показывать такие признаки при значительном увеличении количества как параметров нейронной сети (миллиарды) так и обучающих данных (трилионы токенов). Чтобы это все обработать в разумные сроки (месяцы-годы), нужны суперкомпьютеры на основе nvidia видеокарт, от монополиста, удерживающего рынок так что цены на это дело 10х от возможных (или даже 100х), плюс санкции добавляют еще Nx к цене да и не найти адекватного оборудования.

    НО! можно взять готовую нейронную сеть (ключевое слово pretrained или base или completion приписка у тех кто публикует такие сетки бесплатно) и использовать их токенизер (между прочем токенизация, тоже не простой процесс, поэтому лучше брать готовый) и finetuning на своих данных. С некоторым везением, результата можно будет добиться с 100-кратно меньшими денежными затратами (была статья где перец за 100$ дообучил llama7B до симуляции чата своих друзей). Помним, что если в обучающей выборке не было твоих знаний (не фактов а именно умений и пониманий) то дообучить этому будет сложнее и скорее всего итоговый результат - сеть начнет забывать что ранее знала и галлюцинировать еще сильнее. Тюнинг обычно используют чтобы повысить качество уже имеющихся умений и определить формат общения (например обучить модель общаться не в форме чата а в форме инструкций). Качество данных (соответствие обучающей выборке) - в этом случае имеет наиважнейшее значение.

    Ну, и есть разные алгоритмы - ключевые слова для гуглинга - finetuning, peft, rhlf. Есть алгоритмы поверх llm-ок, не трогая их веса можно повысить возможности с помощью RAG...

    Лучшие сетки с доступными весами на текущий момент, для обучения и работы с которыми хватит домашних видеокарт - llama3-8B (вышла 3 дня назад, всех шокирует, особенно 70B), openchat35-7B (на основе mistral)
    Ответ написан
    Комментировать