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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Nanotron

Nanotron, tensör, paralel ve veri paralelliği (3D paralellik) içeren dağıtık bir eğitim çerçevesidir. Yüzlerce GPU üzerinde büyük ölçekli eğitim iş yükleri için tasarlanmıştır.

Herhangi bir Transformers modelini, convert_hf_to_nanotron.py betiğiyle ön eğitim için optimize edilmiş bir Nanotron transformer model uygulamasına dönüştürün.

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 entegrasyonu

  1. Llama gibi desteklenen bir Transformers modelini from_pretrained() işleviyle yükleyin. Bu işlem, checkpoint dizininden config.json dosyasını okur ve bir LlamaConfig oluşturur.
  2. Nanotron, LlamaConfig yapılandırmasını kendi yapılandırma biçimine eşler ve bir Nanotron modeli oluşturur.
  3. Transformers ağırlıklarını Nanotron'a dönüştürün. Bir ağırlık eşlemesi, Nanotron parametre adlarının Transformers parametre adlarına nasıl eşleneceğini yönlendirir. Bu, QKV projeksiyonlarının ve gate/up projeksiyonlarının birleştirilmesi gibi dönüşümleri işlemeyi içerir.

Nanotron, ön işleme ve üretim sırasında metni token kimliklerine dönüştürmek için AutoTokenizer'a da dayanır.

Kaynaklar

Update on GitHub