Transformers documentation

FLAN-UL2

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

Bu model, 2023-06-20 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.

FLAN-UL2

Genel Bakış

Flan-UL2, T5 mimarisine dayalı bir kodlayıcı-çözücü (encoder-decoder) modelidir. Geçen yılın başlarında yayınlanan UL2 modeliyle aynı yapılandırmayı kullanır. “Flan” istemci (prompt) ayarlaması ve veri seti derlemesi kullanılarak ince ayar (fine-tune) yapılmıştır. Flan-T5 ile benzer şekilde, modelin ince ayarını yapmadan FLAN-UL2 ağırlıklarını doğrudan kullanabilirsiniz:

Orijinal blogda belirtilen önemli iyileştirmeler şunlardır:

  • Orijinal UL2 modeli yalnızca 512'lik bir algılama alanıyla eğitildiğinden, N'in büyük olduğu N-shot prompting senaryoları için ideal değildi.
  • Flan-UL2 kontrol noktası, az örnekli bağlam içi öğrenme için daha kullanılabilir hale getiren 2048'lik bir algılama alanı kullanır.
  • Orijinal UL2 modeli, iyi performans elde etmek için neredeyse zorunlu olan mod değiştirme jetonlarına sahipti. Ancak, bu jetonlar genellikle çıkarım veya ince ayar sırasında bazı değişiklikler gerektirdiğinden biraz zahmetliydi. Bu güncelleme/değişiklikte, Flan talimat ayarlamasını uygulamadan önce “mod jetonlarını” unutmak için UL2 20B modelini küçük bir parti boyutuyla ek 100k adım boyunca eğitmeye devam ettik. Bu Flan-UL2 kontrol noktası artık mod jetonları gerektirmiyor. Google aşağıdaki varyantları yayımladı:

Orijinal denetim noktaları burada bulunabilir.

Düşük kaynaklı cihazlarda çalıştırma

Model oldukça ağırdır (yarı hassasiyette ~40GB) bu yüzden sadece modeli çalıştırmak istiyorsanız, modelinizi 8bit olarak yüklediğinizden ve OOM sorunu yaşamamak için device_map="auto" kullandığınızdan emin olun!

from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, BitsAndBytesConfig


model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-ul2", quantization_config=BitsAndBytesConfig(load_in_8bit=True), device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("google/flan-ul2")

inputs = tokenizer("A step by step recipe to make bolognese pasta:", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True))
['In a large skillet, brown the ground beef and onion over medium heat. Add the garlic']

API referansı, ipuçları, kod örnekleri ve defterler için T5'in dokümantasyon sayfasına bakın.

Update on GitHub