Кто-то хотел RuadaptQwen2.5-7B-Instruct-1M (версия на 1 миллион контекста)?
Сделал экспериментальную версию для 7B (
https://huggingface.co/RefalMachine/RuadaptQwen2.5-7B-Instruct-1M-v1). В данном случае просто прогнал обычный пайплайн адаптации без каких-либо более тонких настроек и изменений. Адаптируемая база: Qwen2.5-7B, Адаптируемый инстракт: Qwen2.5-7B-Instruct-1M.
Адаптация происходила на 4096 токенах, а инстракт тюны на 2048 токенов.
Метрик пока нет, но возможно загоню модель на LIBRA бенч (хотя там "всего" 128k токенов максимум).
Сделал пару тестовых запросов к модели, и видно, что работает, но есть явные проблемы с пониманием сложных инструкций + на длинах больше 200т явно наблюдаются проблемы (надо бы сравнить с исходной версией).
Пример 1:
Промпт:
"##Инструкция\nТебе необходимо прочесть книгу и затем повторить первый абзац XII главы.\n\n##Текст книги:\n{text}\n\n##Повторяю инструкцию\nТебе необходимо прочесть книгу и затем повторить первый абзац XII главы."
Текст:
Том 2 Войны и мира. (195493 токенов руадапт токенайзера)
Ответ модели:
"Вот первый абзац XII главы из "Войны и мира" Льва Толстого:
"На третий день Рождества, Николай обедал дома, что в последнее время редко случалось с ним. Это был официально-прощальный обед, так как он с Денисовым уезжал в полк после Крещенья. Обедало человек двадцать, в том числе Долохов и Денисов."
Этот абзац описывает обстановку накануне отъезда Николая Ростова в армию, а также атмосферу праздника Рождества в его доме."
Оценка результата:
Ответ дословный, жаль только, что это XI глава, а не XII.
Пример 2:
Промпт:
тот же
Текст:
Том 1 Войны и мира. (387730 токенов руадапт токенайзера)
Ответ модели:
«В октябре 1805 года князь Василий предпринял поездку на ревизию в четыре губернии, сопровождая при себе сына Анатоля, с намерением устроить его браком с княжной Марьей Ростовой. Однако, прежде чем приступить к делам, князь Василий решил устроить прием в Английском клубе для встречи с князем Багратионом, прибывшим в Москву из-за слухов о возможном перемирии с Наполеоном.»
Оценка результата:
Это уже совсем мимо, но отвечает хотя бы связно и по тематике текста.
Выводы:
Адаптация может и поломала что-то, но в целом прошла успешно, модель ответила по тексту в 200к токенов, хоть и слегка ошиблась. Явно требуется сравнение с исходной версией на таких же текстах (только они будут, наверное, в 1.3-1.6 раза длиннее в пересчете на токены, не проверял). Текущая модель явно экспериментальная, но может быть кому-то и будет полезна.
!UPD:
В комментариях ответы исходной модели до адаптации на эти же вопросы. Также скоро добавлю по поводу времени генерации (долго).
!UPD2:
За счет сокращения количества токенов на 42-43% происходит ускорение обработки в 2 раза (в рамках данных моделей, фреймворков и примеров).
!UDP3:
Если захотите инферить на длинах больше 262,144 токенов, то видимо стоит ставить версию vllm от qwen (в основную ветку пока не попало). Скриншот по этому поводу в комментариях