A Family of Pretrained Transformer Language Models for Russian
Paper • 2309.10931 • Published • 7
How to use ai-forever/rugpt3medium_based_on_gpt2 with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="ai-forever/rugpt3medium_based_on_gpt2") # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("ai-forever/rugpt3medium_based_on_gpt2")
model = AutoModelForCausalLM.from_pretrained("ai-forever/rugpt3medium_based_on_gpt2")How to use ai-forever/rugpt3medium_based_on_gpt2 with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "ai-forever/rugpt3medium_based_on_gpt2"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "ai-forever/rugpt3medium_based_on_gpt2",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'docker model run hf.co/ai-forever/rugpt3medium_based_on_gpt2
How to use ai-forever/rugpt3medium_based_on_gpt2 with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "ai-forever/rugpt3medium_based_on_gpt2" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "ai-forever/rugpt3medium_based_on_gpt2",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'docker run --gpus all \
--shm-size 32g \
-p 30000:30000 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HF_TOKEN=<secret>" \
--ipc=host \
lmsysorg/sglang:latest \
python3 -m sglang.launch_server \
--model-path "ai-forever/rugpt3medium_based_on_gpt2" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "ai-forever/rugpt3medium_based_on_gpt2",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'How to use ai-forever/rugpt3medium_based_on_gpt2 with Docker Model Runner:
docker model run hf.co/ai-forever/rugpt3medium_based_on_gpt2
The model architecture design, pretraining, and evaluation are documented in our preprint: A Family of Pretrained Transformer Language Models for Russian.
The model was pretrained with sequence length 1024 using the Transformers library by the SberDevices team on 80B tokens for 3 epochs. After that, the model was finetuned with the context size of 2048 tokens.
Total training time was around 16 days on 64 GPUs.
The final perplexity on the test set is 17.4.
@misc{zmitrovich2023family,
title={A Family of Pretrained Transformer Language Models for Russian},
author={Dmitry Zmitrovich and Alexander Abramov and Andrey Kalmykov and Maria Tikhonova and Ekaterina Taktasheva and Danil Astafurov and Mark Baushenko and Artem Snegirev and Tatiana Shavrina and Sergey Markov and Vladislav Mikhailov and Alena Fenogenova},
year={2023},
eprint={2309.10931},
archivePrefix={arXiv},
primaryClass={cs.CL}
}