GigaChat-20B-A3B-instruct

Диалоговая модСль ΠΈΠ· сСмСйства ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ GigaChat, основная Π½Π° GigaChat-20B-A3B-base. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ контСкст Π² 131 тысячу Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ².

This repository contains the instructed model of GigaChat Family: Efficient Russian Language Modeling Through Mixture of Experts Architecture.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ подробностСй Π² Ρ…Π°Π±Ρ€ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Для Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ доступны вСса Π² bf16 ΠΈ int8

Upd. ΠŸΠ΅Ρ€Π΅Π·Π°Π»ΠΈΠ»ΠΈ вСса Π² .safetensors

Π‘Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ

T-lite-instruct-0.1
(llama 3.0 8B based)
gemma-2-9b-it GigaChat-20B-A3B-instruct
MERA 0.335 0.392 0.513
ru-MMLU 5-shot 0.555 0.625 0.598
Shlepa 0.36 0.388 0.482

БСмСйство GigaChat

GigaChat-20B-A3B-instruct GigaChat-Pro v26.20 GigaChat-Max v26.20
ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ
GSM8K 5-shot 0,763 0,782 0,929
MATH 4-shot 0,426 0,446 0,53
НаписаниС кода
HumanEval 0-shot 0,329 0,439 0,64
MBPP 0-shot 0,385 0,487 0,667
ΠžΠ±Ρ‰ΠΈΠ΅ знания
MMLU EN 5-shot 0,648 0,687 0,804
MMLU RU 5-shot
ΠŸΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· MMLU EN 5-shot
0,598 0,645 0,75
MMLU RU 1-shot β€” 0,617 0,718
MMLU PRO EN 5-shot 0,348 0,431 0,589
RUBQ 0-shot 0,675 0,724 0,73
WINOGRANDE 4-shot 0,75 0,796 0,832
CyberMetric 0-shot 0,798 0,827 0,864
Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ инструкциям
IFEval 0-shot 0,411 0,566 0,721
ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π·Π°ΠΌΠ΅Ρ€ΠΎΠ² GSM8k β€” это тСст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт, ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ с числами. Π’ нашСм исслСдовании ΠΌΡ‹ использовали 5 ΡˆΠΎΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ модСль, ΠΈ смотрСли Π½Π° послСднСС число Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅. Π’ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ тСстС ΠΎΡ‚Π²Π΅Ρ‚ ищСтся ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ: β€˜### число’.

ВСст Math Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ матСматичСскиС способности ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Π’ нашСм исслСдовании ΠΌΡ‹ Π΄Π°Π²Π°Π»ΠΈ 4 ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΈ смотрСли Π½Π° послСднСС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ '\boxed{expression}'. Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° совпадСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ sympy.

Requirements

  • transformers>=4.47

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ‡Π΅Ρ€Π΅Π· transformers

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig

model_name = "ai-sage/GigaChat-20B-A3B-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map="auto")
model.generation_config = GenerationConfig.from_pretrained(model_name)

messages = [
    {"role": "user", "content": "Π”ΠΎΠΊΠ°ΠΆΠΈ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡƒ ΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅"}
]
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_tensor.to(model.device))

result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=False)
print(result)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ‡Π΅Ρ€Π΅Π· vLLM

from transformers import AutoTokenizer
from vllm import LLM, SamplingParams

model_name = "ai-sage/GigaChat-20B-A3B-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(model=model_name, trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.3, max_tokens=8192)

messages_list = [
    [{"role": "user", "content": "Π”ΠΎΠΊΠ°ΠΆΠΈ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡƒ ΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅"}],
]

prompt_token_ids = [tokenizer.apply_chat_template(messages, add_generation_prompt=True) for messages in messages_list]

outputs = llm.generate(prompt_token_ids=prompt_token_ids, sampling_params=sampling_params)

generated_text = [output.outputs[0].text for output in outputs]
print(generated_text)

Π’ GigaChat-20B-A3B-instruct ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ особый способ Ρ‚ΠΎΠΊΠ΅Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ тСкста, поэтому Π½Π΅ рСкомСндуСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сцСнарий

input_string = tokenizer.apply_chat_template(messages,tokenize=False, add_generation_prompt=True)
input_tensor = tokenizer(input_string, return_tensors="pt")

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования vLLM server

Запуск сСрвСра

vllm serve ai-sage/GigaChat-20B-A3B-instruct  \
  --disable-log-requests \
  --trust_remote_code \
  --dtype bfloat16 \
  --max-seq-len 8192

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса

curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "ai-sage/GigaChat-20B-A3B-instruct" ,
        "messages": [
            {"role": "system", "content": "Π’Ρ‹ ΠžΠ§Π•ΠΠ¬ ΡƒΠΌΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊ"},
            {"role": "user", "content": "Π”ΠΎΠΊΠ°ΠΆΠΈ Ρ‚Π΅ΠΎΡ€Π΅ΠΌΡƒ ΠΎ Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅"}
        ]
    }'
Downloads last month
134
Safetensors
Model size
21B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for ai-sage/GigaChat-20B-A3B-instruct

Finetuned
(2)
this model
Finetunes
2 models
Quantizations
14 models

Spaces using ai-sage/GigaChat-20B-A3B-instruct 4

Collection including ai-sage/GigaChat-20B-A3B-instruct

Paper for ai-sage/GigaChat-20B-A3B-instruct