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

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
6,700
Safetensors
Model size
12.2B params
Tensor type
BF16
Β·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.

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

Finetuned
(69)
this model
Finetunes
1 model
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