Как обучить русскоязычную модель рассуждений — LRM?. chatgpt.. chatgpt. deepseek.. chatgpt. deepseek. DeepSeek R1.. chatgpt. deepseek. DeepSeek R1. llama3.. chatgpt. deepseek. DeepSeek R1. llama3. llm.. chatgpt. deepseek. DeepSeek R1. llama3. llm. lrm.. chatgpt. deepseek. DeepSeek R1. llama3. llm. lrm. искусственный интеллект.. chatgpt. deepseek. DeepSeek R1. llama3. llm. lrm. искусственный интеллект. Машинное обучение.

Ранее на моем YouTube-канале уже были видео о моделях рассуждений — OpenAI o1/o3, DeepSeek R1. Эти модели обучены с помощью стратегии reinforcement learning находить решения для задач, требующих логических рассуждений. Способность строить цепочки рассуждений, ведущих к решению поставленной задачи, открывают возможность применения таких моделей в математике, программировании и других подобных направлениях.​

Однако упомянутые модели имеют одно ограничение — они выполняют рассуждения на английском языке. И даже если вы укажете в промпте требуемый язык ответа, отличный от этих двух, то только вывод модели будет на этом языке, а вот сама цепочка останется на том, на котором модель обучена “думать”. Соответственно, чтобы заставить модель думать на русском, нужно применять файнтюнинг.

Есть интересный пример — коллекция моделей R1 Multilingual от японской компании Lightblue, которая ранее создала открытый мультиязычный файнтюнг Llama 3 – Suzume. Эта новая коллекция содержит модели рассуждений на базе DeepSeek-R1-Distill-Qwen, дистиллированных с помощью DeepSeek R1 версий Qwen. Что более важно – эти модели получены путем файнтюнинга на мультиязычном CoT (Chain-of-Thoughts), и данные CoT опубликованы на HuggingFace.

Датасет содержит данные на более чем 30 языках, включая русский. Данные получены следующим образом:

Выполнена выборка промптов из открытых англоязычных датасетов с последующим переводом на различные языки. Для перевода использовалась GPT-4o, которая, кстати, хорошо показала себя при создании моего собственного датасета и русскоязычного файнтюна Llama 3 на нем. Далее авторы мультиязычного CoT-датасета сгенерировали ответы на полученные промпты с помощью deepseek-ai/DeepSeek-R1-Distill-Llama-70B восемь раз, и отфильтровали блоки <think> не на том языке, либо с нарушениями правил языка или логическими ошибками. Это достаточно интересный момент, так как разработчики полностью опубликовали код для генерации своего датасета, включая фильтрацию сгенерированных цепочек рассуждений. Если с автоматическим определением языка цепочки все достаточно просто, то для проверки ее соответствия нормам языка и, самое главное, логической корректности, пришлось опять-таки задействовать LLM. Принцип такой же, как и при использовании модели-судьи для выполнения автоматизированных evaluation-тестов.

Пример оценочного промпта из кода проекта:

fluency_system_message = f"""You are a {language} fluency evaluation AI. Given a piece of text, give the fluency and naturalness of the {language} in the text a score from 1-5. Only include your final number in your output."""

То есть модель-судья выставляет оценку от 1 до 5 правильности и естественности сгенерированного текста. Почему-то разработчики использовали GPT-4o-mini, хотя у нее самой, на мой взгляд, есть проблемы с мультиязычностью. Возможно, более правильной оценки можно добиться, используя тот же DeepSeek V3. В итоговый датасет попали только те ответы, у которых наилучшая оценка по пятибалльной шкале.

После этого датасет готов к файнтюнингу моделей рассуждений — дистиллированных на R1 версий Qwen. Для файнтюнинга моделей от 1.5 до 14B авторы использовали llamafactory (код доступен в репозитории на HF по ссылке выше) и достаточно скромные GPU-мощности: всего лишь около 10 минут на восьми NVIDIA L20. Т.е. Вы вполне можете взять GPU поменьше — например, из доступных моделей в облаке подошли бы две RTX 4090 или A10, или одна V100 – и за несколько часов достичь того же результата.

В остальном это обычный SFT-файнтюнинг в одну эпоху, без квантизации. Отдельно стоит отметить процесс evaluation — код можно найти здесь. Ниже — таблица оценок полученных моделей рассуждений для промптов на разных языках. Из нее можно сделать вывод, что модели генерируют более корректные цепочки на таких языках, как английский, немецкий, испанский и другие, наличие которых в корпусе базовой модели, можно предположить, было относительно высоким. Их оценка около 0.8, тогда как у менее распространенных в цифровом пространстве языков она ниже, например, 0.2 у тамильского.

Хорошая новость, что на русском модели научились генерировать цепочки мыслей достаточно неплохо, судя по результату evaluation — даже при том, что в датасете всего 54 примера на русском.

language

Has a correct think statement

Has the think statement in the correct language

Is the response in the correct language

Is the answer correct

Amharic

0.2

0

0

0

Arabic

1

0.8

0.8

0.6

Bengali

1

1

1

0.2

Chinese

1

1

1

0.8

Czech

1

1

1

0.8

Dutch

1

1

1

0.8

English

1

1

1

0.8

French

1

1

1

0.8

German

1

1

1

0.8

Greek

1

1

1

0.6

Hausa

0.4

0

0

0

Hebrew

1

0.8

1

0.6

Hindi

1

1

1

0.8

Indonesian

1

1

1

0.8

Italian

1

1

1

0.8

Japanese

1

1

0.8

0.6

Javanese

0.8

0.2

0.2

0.6

Khmer

0.6

0.6

0.6

0

Korean

1

1

1

1

Lao

0.4

0.4

0.4

0

Malay

1

0.4

0.4

0.8

Marathi

0.6

0.4

0.6

0.2

Persian (Farsi)

0.6

None*

None*

0.2

Polish

1

1

1

0.6

Portuguese

1

1

1

0.8

Romanian

1

1

1

0.8

Russian

1

1

1

0.8

Spanish

1

1

1

0.8

Swahili

0.4

0.4

0.4

0

Swedish

1

1

1

0.8

Tagalog

1

1

1

0.8

Tamil

0.8

0.8

0.8

0.2

Telugu

0.8

0.6

0.8

0

Thai

1

1

1

0.8

Turkish

1

1

1

0.8

Ukrainian

1

1

1

0.8

Urdu

1

1

1

0.6

Vietnamese

1

1

1

1

Автор: ruslandevlabs

Источник

Рейтинг@Mail.ru
Rambler's Top100