Transformers documentation

GPT-Sw3

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تمت مساهمة هذا النموذج في 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

< >

( 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

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple(str)

المعاملات

  • save_directory (str) — المجلد الذي سيتم فيه حفظ المفردات.
  • filename_prefix (str, اختياري) — بادئة اختيارية تُضاف إلى أسماء الملفات المحفوظة.

يعيد

tuple(str)

مسارات الملفات المحفوظة.

احفظ مفردات sentencepiece (انسخ الملف الأصلي) إلى مجلد.

Update on GitHub