พื้นที่เก็บข้อมูลนี้มีโมเดลภาษาของหม้อแปลงแบบ autoregressive จำนวนมากที่ได้รับการฝึกอบรมเกี่ยวกับชุดข้อมูลขนาดใหญ่ของภาษารัสเซีย
โมเดล GPT-3 ของรัสเซีย (ruGPT3XL, ruGPT3Large, ruGPT3Medium, ruGPT3Small) ฝึกด้วยความยาวลำดับ 2048 พร้อมบล็อกความสนใจเบาบางและหนาแน่น นอกจากนี้เรายังมีโมเดล GPT-2 ขนาดใหญ่ของรัสเซีย (ruGPT2Large) ที่ได้รับการฝึกโดยมีความยาวลำดับ 1,024 อีกด้วย
ลองสร้างโมเดลใน Colab! ruGPT-3 XL: หรือ ruGPT-3 รุ่นเล็ก:
ตัวอย่างการใช้งานมีอธิบายรายละเอียดไว้ที่นี่ ดูว่าการปรับแต่งทำงานอย่างไร:
สำหรับ colab เราขอแนะนำให้ใช้คำแนะนำในการติดตั้งต่อไปนี้:
export LD_LIBRARY_PATH=/usr/lib/
apt-get install clang-9 llvm-9 llvm-9-dev llvm-9-tools
git clone https://github.com/qywu/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
pip install triton
DS_BUILD_CPU_ADAM=1 DS_BUILD_SPARSE_ATTN=1 pip install deepspeed
pip install transformers
pip install huggingface_hub
pip install timm==0.3.2
git clone https://github.com/sberbank-ai/ru-gpts
cp ru-gpts/src_utils/trainer_pt_utils.py /usr/local/lib/python3.8/dist-packages/transformers/trainer_pt_utils.py
cp ru-gpts/src_utils/_amp_state.py /usr/local/lib/python3.8/dist-packages/apex/amp/_amp_state.py
หลังจากการติดตั้ง env โปรดรีสตาร์ท colab สำหรับการตรวจสอบก็โอเค ให้รันคำสั่งต่อไปนี้:
!ds_report
# Output:
...
sparse_attn ............ [YES] ...... [OKAY]
...
import deepspeed.ops.sparse_attention.sparse_attn_op
นี่คือตัวอย่างการใช้งานง่ายๆ หากต้องการข้อมูลเพิ่มเติม โปรดดูตัวอย่างนี้ หรือ
import sys
from src . xl_wrapper import RuGPT3XL
import os
# If run to from content root.
sys . path . append ( "ru-gpts/" )
os . environ [ "USE_DEEPSPEED" ] = "1"
# We can change address and port
os . environ [ "MASTER_ADDR" ] = "127.0.0.1"
os . environ [ "MASTER_PORT" ] = "5000"
gpt = RuGPT3XL . from_pretrained ( "sberbank-ai/rugpt3xl" , seq_len = 512 )
gpt . generate (
"Кто был президентом США в 2020? " ,
max_length = 50 ,
no_repeat_ngram_size = 3 ,
repetition_penalty = 2. ,
)
ตัวอย่างของการปรับแต่ง โหลดโมเดลที่ปรับแต่งแล้ว และการสร้างอยู่ที่นี่
ตัวอย่างสคริปต์การปรับแต่งของเราที่นี่
โมเดลได้รับการฝึกฝนด้วยความยาวลำดับ 512 โดยใช้โค้ด Deepspeed และ Megatron โดยทีมงาน Devices บนชุดข้อมูลโทเค็น 80B สำหรับ 4 ยุค หลังจากนั้นแบบจำลองนั้นได้รับการปรับแต่ง 1 ยุคโดยมีความยาวลำดับ 2,048
บันทึก! โมเดลมีบล็อกความสนใจไม่มาก
ระยะเวลาการฝึกอบรมทั้งหมดประมาณ 10 วันบน 256 GPU
ความฉงนสนเท่ห์สุดท้ายของชุดทดสอบคือ 12.05
ลิงค์การ์ดโมเดล HuggingFace
สำหรับการใช้งาน ruGPT3Large, ruGPT3Medium, ruGPT3Small, ruGPT2Large เพียงติดตั้ง ?HuggingFace Transformers
pip install transformers==4.24.0
ที่นี่เราสามารถรับตัวอย่างของการปรับแต่งหรือการสร้างได้
ตัวอย่างนี้ได้รับการดัดแปลงสำหรับ google colab ด้วย:
from transformers import GPT2LMHeadModel , GPT2Tokenizer
model_name_or_path = "sberbank-ai/rugpt3large_based_on_gpt2"
tokenizer = GPT2Tokenizer . from_pretrained ( model_name_or_path )
model = GPT2LMHeadModel . from_pretrained ( model_name_or_path ). cuda ()
text = "Александр Сергеевич Пушкин родился в "
input_ids = tokenizer . encode ( text , return_tensors = "pt" ). cuda ()
out = model . generate ( input_ids . cuda ())
generated_text = list ( map ( tokenizer . decode , out ))[ 0 ]
print ( generated_text )
# Output should be like this:
# Александр Сергеевич Пушкин родился в n1799 году. Его отец был крепостным крестьянином, а мать – крепостной крестьянкой. Детство и юность Пушкина прошли в деревне Михайловское под Петербургом. В 1820-х годах семья переехала
การฝึกอบรมล่วงหน้าทั้งหมดเสร็จสิ้นบน Nvidia Tesla V100-SXM3 32 Gb GPU บนคลัสเตอร์ Christofari ต่อไปนี้เป็นรายละเอียดการฝึกล่วงหน้าสำหรับแต่ละรุ่น
โมเดลได้รับการฝึกฝนด้วยความยาวลำดับ 1,024 โดยใช้ Transformers lib โดยทีมงาน Devices บนโทเค็น 80B เป็นเวลา 3 ยุค หลังจากนั้นแบบจำลองนั้นได้รับการปรับแต่ง 1 ยุคโดยมีความยาวลำดับ 2,048
เวลาการฝึกอบรมทั้งหมดอยู่ที่ประมาณ 14 วันสำหรับ 128 GPU สำหรับ 1,024 บริบท และไม่กี่วันสำหรับ 16 GPU สำหรับ 2,048 บริบท
ความฉงนสนเท่ห์สุดท้ายของชุดทดสอบคือ 13.6
คุณสามารถขอรับโมเดลนี้ได้โดยใช้หม้อแปลงที่มีชื่อรุ่น sberbank-ai/rugpt3large_based_on_gpt2
ลิงค์การ์ดโมเดล HuggingFace
สคริปต์การฝึกอบรมล่วงหน้าของเราที่นี่
โมเดลได้รับการฝึกฝนด้วยความยาวลำดับ 1,024 โดยใช้ Transformers lib โดยทีมงาน Devices บนโทเค็น 80B สำหรับ 3 ยุค หลังจากที่โมเดลนั้นได้รับการปรับแต่งตามบริบทปี 2048
ระยะเวลาการฝึกอบรมทั้งหมดประมาณ 16 วันบน 64 GPU
ความฉงนสนเท่ห์สุดท้ายของชุดทดสอบคือ 17.4
คุณสามารถขอรับโมเดลนี้ได้โดยใช้หม้อแปลงที่มีชื่อรุ่น sberbank-ai/rugpt3medium_based_on_gpt2
ลิงค์การ์ดโมเดล HuggingFace
สคริปต์การฝึกอบรมล่วงหน้าของเราที่นี่
โมเดลได้รับการฝึกฝนด้วยความยาวลำดับ 1,024 โดยใช้หม้อแปลงโดยทีมงาน Devices บนโทเค็น 80B ประมาณ 3 ยุค หลังจากที่โมเดลนั้นได้รับการปรับแต่งตามบริบทปี 2048
เวลาการฝึกอบรมทั้งหมดใช้เวลาประมาณหนึ่งสัปดาห์กับ 32 GPU
คุณสามารถขอรับโมเดลนี้ได้โดยใช้หม้อแปลงที่มีชื่อรุ่น sberbank-ai/rugpt3small_based_on_gpt2
ลิงค์การ์ดโมเดล HuggingFace
สคริปต์การฝึกอบรมล่วงหน้าของเราที่นี่
โมเดลได้รับการฝึกฝนด้วยความยาวลำดับ 1,024 โดยใช้หม้อแปลงโดยทีมงาน Devices บนข้อมูล 170Gb บน 64 GPU เป็นเวลา 3 สัปดาห์
คุณสามารถรับโมเดลนี้ได้โดยใช้หม้อแปลงที่มีชื่อรุ่น sberbank-ai/rugpt2large
ลิงค์การ์ดโมเดล HuggingFace
ตามการค้นหาของ Google Scholar - อย่าลังเลที่จะเพิ่มลิงก์ไปยังรายการนี้
@article{shatilovsentence,
title={Sentence simplification with ruGPT3},
author={Shatilov, AA and Rey, AI},
url={http://www.dialog-21.ru/media/5281/shatilovaaplusreyai142.pdf}
}
@article{fenogenovatext,
title={Text Simplification with Autoregressive Models},
author={Fenogenova, Alena},
url={http://www.dialog-21.ru/media/5250/fenogenovaa141.pdf}}
@article{dementieva2021methods,
title={Methods for Detoxification of Texts for the Russian Language},
author={Dementieva, Daryna and Moskovskiy, Daniil and Logacheva, Varvara and Dale, David and Kozlova, Olga and Semenov, Nikita and Panchenko, Alexander},
journal={arXiv preprint arXiv:2105.09052},
year={2021},
url={https://arxiv.org/abs/2105.09052}
}
@inproceedings{fenogenova2021russian,
title={Russian Paraphrasers: Paraphrase with Transformers},
author={Fenogenova, Alena},
booktitle={Proceedings of the 8th Workshop on Balto-Slavic Natural Language Processing},
pages={11--19},
year={2021},
url={https://www.aclweb.org/anthology/2021.bsnlp-1.2.pdf}
}
@article{malykh2021morocco,
title={MOROCCO: Model Resource Comparison Framework},
author={Malykh, Valentin and Kukushkin, Alexander and Artemova, Ekaterina and Mikhailov, Vladislav and Tikhonova, Maria and Shavrina, Tatiana},
journal={arXiv preprint arXiv:2104.14314},
year={2021},
url={https://arxiv.org/abs/2104.14314}}