Transformers documentation
GPT-Sw3
تمت مساهمة هذا النموذج في Hugging Face Transformers في 2022-12-12.
GPT-Sw3
نظرة عامة
قُدِّم نموذج GPT-Sw3 لأول مرة في Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish بواسطة Ariel Ekgren وAmaru Cuba Gyllensten وEvangelia Gogoulou وAlice Heiman وSeverine Verlinden وJoey Öhman وFredrik Carlsson وMagnus Sahlgren.
منذ ذلك الورقة الأولى، وسّع المؤلفون عملهم ودرّبوا نماذج جديدة على مجموعات بياناتهم الجديدة البالغة 1.2 تيرابايت والمُسمّاة The Nordic Pile.
GPT-Sw3 هي مجموعة من نماذج اللغة التحويلية مسبقة التدريب الكبيرة التي تعتمد على المُفكِّك فقط، وقد طوّرتها AI Sweden بالتعاون مع RISE و WASP WARA للإعلام واللغة. تم تدريب GPT-Sw3 على مجموعة بيانات تحتوي على 320 مليار رمز باللغة السويدية والنرويجية والدنماركية والآيسلندية والإنجليزية، بالإضافة إلى أكواد البرمجة. تم تدريب النموذج مسبقًا باستخدام هدف نمذجة اللغة السببية (CLM) مع الاستفادة من تطبيق NeMo Megatron GPT.
تمت مساهمة هذا النموذج من قِبل AI Sweden Models.
مثال على الاستخدام
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-356m")
model = AutoModelForCausalLM.from_pretrained("AI-Sweden-Models/gpt-sw3-356m", device_map="auto")
input_ids = tokenizer("Träd är fina för att", return_tensors="pt").to(model.device)["input_ids"]
generated_token_ids = model.generate(inputs=input_ids, max_new_tokens=10, do_sample=True)[0]
print(tokenizer.decode(generated_token_ids))
Träd är fina för att de är färgstarka. Men ibland är det fintالموارد
تستخدم هذه التنفيذ
GPT2Modelمقترنةً بـGPTSw3Tokenizerالخاص بنا. راجع توثيق GPT2Model للاطلاع على مرجع واجهة برمجة التطبيقات والأمثلة.لاحظ أن
pip install transformers[sentencepiece]أوpip install sentencepieceمطلوبان لتثبيت sentencepiece، وهو ضروري لاستخدام مُجزّئنا.
GPTSw3Tokenizer
فئة transformers.GPTSw3Tokenizer
< source >( vocab_filedo_lower_case = Falseremove_space = Falsekeep_accents = Falsepad_token = Noneunk_token = Noneeos_token = Nonebos_token = Nonesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )
المعاملات
- vocab_file (
str) — ملف SentencePiece (يحمل عادةً الامتداد .spm) يحتوي على المفردات اللازمة لإنشاء مُجزِّئ. - do_lower_case (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان سيتم تحويل المدخلات إلى أحرف صغيرة عند تقسيم النص إلى رموز. - remove_space (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان يجب إزالة المسافات الزائدة من النص عند الترميز (حذف المسافات الزائدة قبل السلسلة وبعدها). - keep_accents (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان يجب الإبقاء على الحركات عند تقسيم النص إلى رموز. - pad_token (
str، اختياري) — الرمز المستخدم للتعبئة، على سبيل المثال عند تجميع تسلسلات ذات أطوال مختلفة. إذا لم يُقدَّم، فسيتم اعتماد ’’ أو ’ ’ اعتمادًا على حجم النموذج. - unk_token (
str، اختياري) — رمز المجهول. الرمز الذي لا يوجد في المفردات لا يمكن تحويله إلى معرّف، ويُعيَّن هذا الرمز بدلاً منه. إذا لم يُقدَّم، فسيُستخدم الافتراضي ’‘. - eos_token (
str، اختياري) — رمز نهاية التسلسل الذي شوهد أثناء التدريب المسبق. إذا لم يُقدَّم، فسيُستخدم ’<|endoftext|>’ افتراضيًا. - bos_token (
str, اختياري) — رمز بداية التسلسل الذي يمكن استخدامه للمهمة التالية، ولم يُرَ أثناء التدريب المسبق. إذا لم يُقدَّم، فسيُستخدم افتراضيًا ’’ أو ’<|endoftext|>’، اعتمادًا على حجم النموذج. - sp_model_kwargs (
dict, اختياري) — سيتم تمريره إلىSentencePieceProcessor.__init__()طريقة. يمكن استخدام الغلاف البرمجي بلغة بايثون لـ SentencePiece لأغراض أخرى، بما في ذلك ضبط:-
enable_sampling: تفعيل تنعيم الوحدات الفرعية. -
nbest_size: معلمات العينة أحادية الكلمة. غير صالحة لـ BPE-Dropout.nbest_size = {0,1}: لا يتم إجراء أي أخذ عينات.nbest_size > 1: يُجري أخذ عينات من نتائج nbest_size.nbest_size < 0: يُفترض أن nbest_size لا نهائية، ويتم أخذ العينات من جميع الفرضيات (الشبكة) باستخدام خوارزمية التصفية الأمامية والعينة الخلفية.
-
alpha: معامل التنعيم لعينة الأحادية، واحتمال إسقاط عمليات الدمج في BPE-dropout.
-
- sp_model (
SentencePieceProcessor) — معالج SentencePiece المستخدم لكل عملية تحويل (النص، الرموز والمعرّفات). - whitespaces (
set) — المسافات البيضاء التي يتم استبدالها في تطبيع المسافات البيضاء أثناء المعالجة المسبقة. - non_printing_characters_re (
Pattern) — التعبير النمطي المُجمَّع لإزالة الأحرف غير القابلة للطباعة أثناء المعالجة المسبقة.
أنشئ مُجزِّئ GPTSw3. مبني على SentencePiece.
يرث هذا المُجزِّئ من PreTrainedTokenizer الذي يحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.
مثال على الاستخدام:
>>> from transformers import GPTSw3Tokenizer
>>> tokenizer = GPTSw3Tokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-126m")
>>> tokenizer("Svenska är kul!")["input_ids"]
[1814, 377, 3617, 63504]save_vocabulary
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
احفظ مفردات sentencepiece (انسخ الملف الأصلي) إلى مجلد.