Text Generation
Transformers
Safetensors
English
Russian
mistral
conversational
text-generation-inference

Reame.md in English

Vikhr-Nemo-12B-Instruct-R-21-09-24

ОписаниС

Vikhr-Nemo - это наша флагманская ΡƒΠ½ΠΈΠΌΠΎΠ΄Π°Π»ΡŒΠ½Π°Ρ LLM (Large Language Model) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΈΠ· сСбя ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ mistralai/Mistral-Nemo-Instruct-2407 ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ VikhrModels, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ прСимущСствСнно для русского ΠΈ английского языков. Для Π΅Π΅ обучСния ΠΌΡ‹ использовали нСсколько этапов Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Π² сСбя SFT ΠΈ SMPO - Π½Π°ΡˆΡƒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΡŽ DPO, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² сСкции "Как эта модСль создавалась".

МодСль ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Π° для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€ΠΈΠ·ΠΎΠ½ΠΈΠ½Π³, ΡΡƒΠΌΠΌΠ°Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΊΠΎΠ΄, roleplay, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°. Vikhr-Nemo ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ многоязычной Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями RAG. МодСль ΠΈΠΌΠΌΠ΅Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΎΡ†Π΅Π½ΠΊΠΈ срСди ΠΏΡ€ΠΎΡ‡ΠΈΡ… Π½Π° Π½Π°ΡˆΠΈΡ… инструктивных ΠΈ RAG Π±Π΅Π½Ρ‡Π°Ρ€ΠΊΠ°Ρ… ΠΈ, поэтому, ΠΌΡ‹ Π²Π΅Ρ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, RAG) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ…ΡƒΠΆΠ΅ gpt-4o-mini ΠΎΡ‚ OpenAI.

Π’Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ для обучСния доступСн Π² нашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ effective_llm_alignment Π½Π° GitHub, Π° основныС датасСты доступны Π² нашСм ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ Π½Π° HF.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

  1. ВысокоС качСство Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° русском ΠΈ английском языках, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, благодаря датасСту Grandmaster-PRO-MAX ΠΈ исходной ΠΌΠΎΠ΄Π΅Π»ΠΈ
  2. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСмных ΠΏΡ€ΠΎΠΌΠΏΡ‚ΠΎΠ² для рСгулриования стиля ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²
  3. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄ΠΎ 128k Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² контСкста благодаря исходной ΠΌΠΎΠ΄Π΅Π»ΠΈ
  4. Grounded RAG Ρ€Π΅ΠΆΠΈΠΌ - модСль ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ documents ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ для поиска ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹Ρ… вопросу ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ использования ΠΈΡ… для ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° вопрос, Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ Command-R

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° качСства

МодСль ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π»Π°ΡΡŒ Π½Π° нашСм русскоязычном open-source SbS Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ΅ ru-arena-general (50 Ρ‚ΠΎΠΏΠΈΠΊΠΎΠ² ΠΏΠΎ 10 вопросов), Π³Π΄Π΅ ΡΡƒΠ΄ΡŒΠ΅ΠΉ выступаСт gpt-4-1106-preview ΠΈ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ΅ для RAG Π½Π° основС тСстового сСта Grounded-RAG-v2, Π³Π΄Π΅ судСй выступа gpt-4o.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° Ru-Arena-General

Π’ качСствС рСфСрСнсых ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΎΡ‚ gpt-3.5-turbo-0125, поэтому ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ½Ρ€Π΅ΠΉΡ‚ 50%.

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° лишь Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΈΠ΄Π΅Ρ€Π±ΠΎΡ€Π΄Π°, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ смотритС Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ°.

180 сэмплов ΠΈΠ· Π°Ρ€Π΅Π½Ρ‹ ΡƒΡ‚Π΅ΠΊΠ»ΠΎ Π² Ρ‚Ρ€Π΅ΠΉΠ½, спасибо ИльС Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ!

Model Name Winrate 95% CI Average # Tokens
gpt-4-1106-preview 90.9 (-1.3, 1.0) 541
gpt-4o-mini 83.9 (-1.8, 1.1) 448
vikhr-nemo-12b-instruct-r-21-09-24(180 leaked) 79.8 (-2.2, 1.9) 627
gemma-2-9b-it-sppo-iter3 73.6 (-1.6, 2.2) 509
gemma-2-9b-it 69.2 (-2.5, 1.9) 459
t-lite-instruct-0.1 64.7 (-2.1, 1.7) 810
vikhr-llama3.1-8b-instruct-r-21-09-24 63.4 (-2.1, 2.5) 618
suzume-llama-3-8B-multilingual-orpo-borda-half 57.1 (-1.9, 2.2) 682
mistral-nemo-instruct-2407 50.5 (-2.7, 2.6) 403
gpt-3.5-turbo-0125 50.0 (0.0, 0.0) 220
c4ai-command-r-v01 49.0 (-1.7, 2.2) 529
meta-llama-3.1-8b-instruct 43.1 (-2.8, 2.3) 628

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ΅ RAG

ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ тСстового сСта - 200 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², 100 для in_domain вопросов ΠΈ 100 для out_of_domain.

Π’ΡƒΡ‚ для ΠΎΡ†Π΅Π½ΠΊΠΈ качСства модСль-ΡΡƒΠ΄ΡŒΡ gpt-4o Π±Ρ‹Π»Π° проинструктирована ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π»Π΅Π²Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΠ»ΠΎΠ³ΠΈΡ‡ΠΊΡΠΊΡƒΡŽ ΠΏΠΎΠ»Π½ΠΎΡ‚Ρƒ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² исходя ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ рСфСрсного ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ gpt-4-1106-preview.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠΌΠΏΡ‚ΠΎΠ² ΠΈ ΠΎΡ†Π΅Π½ΠΎΠΊ смотритС Π² ΠΊΠΎΠ΄Π΅ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠ° Π½Π° ΠΊΠΎΠ»Π»Π°Π±Π΅

in_domain - вопросы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны с содСрТаниСм прСдоставлСнных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ стСпСни
out_of_domain - вопросы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ связаны с содСрТаниСм прСдоставлСнных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

question_type gpt-4o
judge_correct_percent avg_answer_match_rougeL avg_abs_indexes_diff
in_domain 73% 0.34 NaN
out_of_domain 81% 0.20 NaN
question_type Vikhr-Nemo-12B-Instruct-R-21-09-24
judge_correct_percent avg_answer_match_rougeL avg_abs_indexes_diff
in_domain 68% 0.41 0
out_of_domain 92% 0.52 0
question_type gpt-4o-mini
judge_correct_percent avg_answer_match_rougeL avg_abs_indexes_diff
in_domain 65% 0.33 NaN
out_of_domain 73% 0.18 NaN
question_type gpt-3.5-turbo-0125
judge_correct_percent avg_answer_match_rougeL avg_abs_indexes_diff
in_domain 49% 0.28 NaN
out_of_domain 76% 0.20 NaN

Как эта модСль создавалась

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΠ²Π½Π°Ρ SFT Ρ‡Π°ΡΡ‚ΡŒ

Для SFT этапа обучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ большой (150ΠΊ инструкций) инструктивный синтСтичСский датасСт Vikhrmodels/GrandMaster-PRO-MAX. Π•Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ являСтся встроСный CoT (Chain-Of-Thought), для сбора ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ использовали ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅Ρ‚ для gpt-4-turbo, подробности Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ датасСта.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ RAG Grounding, ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ синтСтичСский датасСт - Vikhrmodels/Grounded-RAG-RU-v2 (50k Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²), Π΅Π³ΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ сборки достаточно слоТный для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ описания ΠΈ ΠΏΠΎΠ»Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π΅Π³ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅.

Π­Ρ‚Π°ΠΏ Π°Π»Π°ΠΉΠ½ΠΌΠ΅Π½Ρ‚Π° с SMPO

Для дальнСйшСго ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ качСства ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΌΡ‹ использовали слСдущий ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½:

  1. ΠžΠ±ΡƒΡ‡ΠΈΠ»ΠΈ ΠΊΠ°ΡΡ‚ΠΎΠΌΠ½ΡƒΡŽ Reward модСль (ΠΎΠ½Π° ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ доступ)
  2. Π”Π΅Π΄ΡƒΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»Ρ‚Ρ€ΠΎΠ²Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ RM модСль ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ датасСт Vikhrmodels/GrandMaster-PRO-MAX, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² порядка 10ΠΊ самых высококачСствСнных ΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ².
  3. Π‘Π΄Π΅Π»Π°Π»ΠΈ Rejection Sampling с SFT Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ датасСт ΠΈ Reward модСль. (Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ 7 Π³ΠΈΠΏΠΎΡ‚Π΅Π· ΠΈ Π±Ρ€Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2 самыС Ρ…ΡƒΠ΄ΡˆΠΈΠ΅ ΠΊΠ°ΠΊ rejected)
  4. Π”ΠΎΠΎΠ±ΡƒΡ‡ΠΈΠ»ΠΈ SFT Ρ‡Π΅ΠΊΠΏΠΎΠΈΠ½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нашСго ΠΌΠ΅Ρ‚ΠΎΠ΄Π° SMPO ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ датасСт ΠΈΠ· этапа 3. SMPO Π±Ρ‹Π» спроСктирован ΠΈ Π²Ρ‹Π±Ρ€Π°Π½ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ прСфСрСнсов Π² условиях Rejection Sampling ΠΈ достиТСния Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ margin.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ SMPO, rejection sampling ΠΈ Ρ‚Π΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² нашСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ effective_llm_alignment Π½Π° GitHub

ИдСя использования ΠΈΠΌΠ΅Π½Π½ΠΎ SMPO, Π° Π½Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ PO ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ провСдСния большого количСства экспСримСнтов с классичСскими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΏΡ€ΠΈ нСобходимости Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ контроля процСсса сходимости. ΠŸΡ€ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройкС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ SimPO), ΠΌΠΎΠΆΠ½ΠΎ добится ΠΏΠΎΡ…ΠΎΠΆΠ΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΡ‹ ΠΏΠΎΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΡΡ‚Π°Π±Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с RAG

Роль documents прСдставляСт ΠΈΠ· сСбя список словарСй с описаниСм ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², с ΠΏΡ€ΠΈΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ json.dumps(array, ensure_ascii=False) (см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅).
ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн Π² 3 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…: Markdown, HTML, Plain Text. ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° - ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°Π½ΠΊΠΎΠΌ тСкста Π΄Π»ΠΈΠ½ΠΎΠΉ Π΄ΠΎ 4ΠΊ символов.

[
  {
    "doc_id": (0..5),
    "title": "(null or str)",
    "content": "(html or markdown or plain text)"
  }
]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования с OpenAI-like API

Запуск vLLM сСрвСра: vllm serve --dtype half --max-model-len 32000 -tp 1 Vikhrmodels/Vikhr-Nemo-12B-Instruct-R-21-09-24 --api-key token-abc123

GROUNDED_SYSTEM_PROMPT = "Your task is to answer the user's questions using only the information from the provided documents. Give two answers to each question: one with a list of relevant document identifiers and the second with the answer to the question itself, using documents with these identifiers."

documents = [
  {
    "doc_id": 0,
    "title": "Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΡ‚Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅: Π»Π΅Π΄Π½ΠΈΠΊΠΈ",
    "content": "Π—Π° послСдниС 50 Π»Π΅Ρ‚ объСм Π»Π΅Π΄Π½ΠΈΠΊΠΎΠ² Π² ΠΌΠΈΡ€Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΡΡ Π½Π° 30%"
  },
  {
    "doc_id": 1,
    "title": "Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΡ‚Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅: Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ моря",
    "content": "Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ΅Π°Π½Π° повысился Π½Π° 20 см с 1880 Π³ΠΎΠ΄Π° ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ расти Π½Π° 3,3 ΠΌΠΌ Π² Π³ΠΎΠ΄"
  }
]
sample_history = [
    {'role': 'system', 'content': GROUNDED_SYSTEM_PROMPT}, 
    {'role': 'documents', 'content': json.dumps(documents, ensure_ascii=False)},
    {'role': 'user', 'content': 'Π“Π»ΠΎΠ°Π±Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΡ‚Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅'}
]
relevant_indexes = llm_client.chat.completions.create(
    model=llm_model,
    messages=sample_history,
    temperature=0.0,
    max_tokens=2048
).choices[0].message.content

print('Using documents: ' + relevant_indexes + '\n----')
final_answer = llm_client.chat.completions.create(
    model=llm_model,
    messages=sample_history + [{'role': 'assistant', 'content': relevant_indexes}],
    temperature=0.3,
    max_tokens=2048
).choices[0].message.content

print(final_answer)

ΠžΡ‚Π²Π΅Ρ‚ послС выполнСния ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Using documents: {"relevant_doc_ids": [0, 1]}
----

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΡ‚Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ – это долгосрочноС ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ срСднСй Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ атмосфСры ΠΈ ΠΎΠΊΠ΅Π°Π½ΠΎΠ² Π—Π΅ΠΌΠ»ΠΈ. Π­Ρ‚ΠΎ явлСниС ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство послСдствий для нашСй ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹, ΠΈ срСди Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… аспСкта, основанных Π½Π° доступных ΠΌΠ½Π΅ Π΄Π°Π½Π½Ρ‹Ρ…:

1. **УмСньшСниС объСма Π»Π΅Π΄Π½ΠΈΠΊΠΎΠ²**: Π—Π° послСдниС 50 Π»Π΅Ρ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ сокращСниС объСма Π»Π΅Π΄Π½ΠΈΠΊΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. Богласно Π΄Π°Π½Π½Ρ‹ΠΌ, объСм Π»Π΅Π΄Π½ΠΈΠΊΠΎΠ² ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΡΡ Π½Π° 30%. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с таяниСм Π»Π΅Π΄Π½ΠΈΠΊΠΎΠ² ΠΈΠ·-Π·Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€, Ρ‡Ρ‚ΠΎ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² глобального потСплСния.

2. **ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ уровня моря**: Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ΅Π°Π½Π° Ρ‚Π°ΠΊΠΆΠ΅ увСличиваСтся, Ρ‡Ρ‚ΠΎ связано с таяниСм Π»Π΅Π΄Π½ΠΈΠΊΠΎΠ² ΠΈ лСдяных ΠΏΠΎΠΊΡ€ΠΎΠ²ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. Π‘ 1880 Π³ΠΎΠ΄Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ моря повысился Π½Π° 20 сантимСтров, ΠΈ этот процСсс продолТаСтся, с Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½Ρ‹ΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π½Π° 3,3 ΠΌΠΈΠ»Π»ΠΈΠΌΠ΅Ρ‚Ρ€Π°.

Π­Ρ‚ΠΈ измСнСния ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ послСдствия для экосистСм, ΠΊΠ»ΠΈΠΌΠ°Ρ‚Π° ΠΈ чСловСчСского общСства. ВаяниС Π»Π΅Π΄Π½ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ уровня моря, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°Ρ‚ΠΎΠΏΠ»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ±Ρ€Π΅ΠΆΠ½Ρ‹Ρ… Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ островов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ измСнСнию Π²ΠΎΠ΄Π½Ρ‹Ρ… рСсурсов ΠΈ климатичСских ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ².

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ relevant_indexes (JSON), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ нашла Π»ΠΈ модСль ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΈΠ»ΠΈ Π½Π΅Ρ‚, ΠΎΠ½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½Π° Π²ΠΎΠ·Π²Ρ€Π°ΡˆΠ°Ρ‚ΡŒ пустой массив Ссли Π΅Π΅ Π½Π΅Ρ‚ ΠΈ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ смогла Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π±Π°Π·Π΅ Π·Π½Π°Π½ΠΈΠΉ (ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π°).

ΠΡŽΠ°Π½ΡΡ‹ ΠΈ ограничСния

  • МодСль ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΈ Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π΅Π½Π½ΠΈΠ΅ инструкций, ΠΈΠΌΠ΅ΠΉΡ‚Π΅ это Π²Π²ΠΈΠ΄Ρƒ ΠΏΡ€ΠΈ использовании ΠΈ тСстируйтС ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Частично это исправляСтся систСмными ΠΏΡ€ΠΎΠΌΠΏΡ‚Π°ΠΌΠΈ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ указаниями ΠΎ ваТности бСзопасности Π² ΠΏΡ€ΠΎΠΌΠΏΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • БистСмныС ΠΏΡ€ΠΎΠΌΠΏΡ‚Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для описаниС пСрсонаТСй, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для спСцификации стиля ΠΎΡ‚Π²Π΅Ρ‚Π° (Π²Ρ€ΠΎΠ΄Π΅ "answer only in json format"). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π½Π° английском языкС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊ Π±Ρ‹Π»ΠΎ Π² датасСтС, ΠΎΡ‚ использования английского Π² систСмных ΠΏΡ€ΠΎΠΌΡ‚ΠΏΠ°Ρ… Π½Π΅ зависит язык ΠΎΡ‚Π²Π΅Ρ‚Π°.
  • RAG Ρ€Π΅ΠΆΠΈΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ наличия систСмного ΠΏΡ€ΠΎΠΌΠΏΡ‚Π° GROUNDED_SYSTEM_PROMPT описаного Π² сСкции Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с RAG. Π’Π°ΠΊ ΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° модСль ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· своих Π·Π½Π°Π½ΠΈΠΉ Π² ΠΎΡ‚Π²Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ….
  • МодСль Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠ·ΠΊΠΎΠΉ Ρ‚Π΅ΠΌΠΏΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ (0.1-0.5), Π° Ρ‚Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ top_k (30-50), ΠΏΡ€ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ 1.0 Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ случайныС Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Авторы

  • Sergei Bratchikov, NLP Wanderer, Vikhr Team
  • Konstantin Korolev, Vikhr Team
  • Aleksandr Nikolich, Vikhr Team

Cite

@inproceedings{nikolich2024vikhr,
  title={Vikhr: Constructing a State-of-the-art Bilingual Open-Source Instruction-Following Large Language Model for {Russian}},
  author={Aleksandr Nikolich and Konstantin Korolev and Sergei Bratchikov and  Igor Kiselev and Artem Shelmanov },
  booktitle = {Proceedings of the 4rd Workshop on Multilingual Representation Learning (MRL) @ EMNLP-2024}
  year={2024},
  publisher = {Association for Computational Linguistics},
  url={https://arxiv.org/pdf/2405.13929}
}
Downloads last month
4,242
Safetensors
Model size
12.2B params
Tensor type
BF16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for Vikhrmodels/Vikhr-Nemo-12B-Instruct-R-21-09-24

Finetuned
(95)
this model
Finetunes
2 models
Merges
8 models
Quantizations
17 models

Datasets used to train Vikhrmodels/Vikhr-Nemo-12B-Instruct-R-21-09-24

Spaces using Vikhrmodels/Vikhr-Nemo-12B-Instruct-R-21-09-24 10