Как создать свой чат бот(дообучить модель) на базе собственных знаний(ссылок на ресурсы)?

Я далека от этих вопросов, но точно знаю что можно дообучать различные существующие модели нейросетей(chatgpt и др), а также если установить такие модели локально они будут работать без ограничений цензур и прочего(ничего незаконного не планируется, просто действительно чат боты на большинство адекватных вопросов упираются и не отвечают и промпты не всегда помогают), так вот, я знаю что из можно дообучить на основе каких-то датасетов(понятия не имею где их брать), а также брать за основу знания взятые с целых ресурсов просто указав список ссылок на них. не подскажите ли действительно ли это возможно, и если да, то как лучше всего это сделать? и все это естественно для приватного а не публичного или коммерческого использования.
  • Вопрос задан
  • 892 просмотра
Пригласить эксперта
Ответы на вопрос 2
@v1st
Предложил бы посмотреть в сторону технологии RAG. В двух словах - берём общецелевую LLM, например доступную llama, загружаем документы, содержащие ответы на потенциальные вопросы, в векторную бд, обучаем модель отвечать с использованием контекста из векторной бд. Отдельно обучать модель тоже можно, но получится намного дороже. Пример такого подхода для русскоязычных документов - https://github.com/mpashkovskiy/ru-rag.
Nvidia недавно выпустила такой комплект для своих карт RTX серий 30 и 40 под Windows 11 - https://github.com/NVIDIA/trt-llm-rag-windowsu
Ответ написан
Комментировать
@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), инструкций по дообучению не густо, придется прогружаться в тему, при которой таких вопросов как выше не будут возникать, но односложно ответ не дать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы