Transformers documentation

Nanotron

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

Nanotron

Nanotron هو إطار عمل للتدريب الموزّع يدعم توازي المصفوفات وتوازي الأنماط وتوازي البيانات (توازي ثلاثي الأبعاد). وقد صُمم لأعباء التدريب واسعة النطاق عبر مئات وحدات معالجة الرسوميات.

قم بتحويل أي نموذج من نماذج Transformers إلى نموذج Nanotron محسّن للتدريب المسبق باستخدام سكربت convert_hf_to_nanotron.py.

torchrun --nproc_per_node=1 examples/llama/convert_hf_to_nanotron.py \
    --checkpoint_path=meta-llama/Llama-2-7b-hf \
    --save_path=./llama-7b-nanotron

تكامل Transformers

  1. حمّل نموذجًا مدعومًا من Transformers، مثل Llama، باستخدام دالة from_pretrained(). تقرأ هذه الدالة ملف config.json من مجلد نقطة التفتيش وتُنشئ كائن LlamaConfig.
  2. يُحوّل Nanotron LlamaConfig إلى صيغة الإعداد الخاصة به وينشئ نموذج Nanotron.
  3. تحويل أوزان Transformers إلى Nanotron. يوجّه خرائط الأوزان كيفية ربط أسماء معاملات Nanotron بأسماء معاملات Transformers. ويشمل ذلك التعامل مع التحويلات مثل دمج إسقاطات QKV وإسقاطات gate/up.

يعتمد Nanotron أيضاً على AutoTokenizer لتحويل النص إلى معرّفات الرموز أثناء المعالجة المسبقة والتوليد.

الموارد

Update on GitHub