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

and get access to the augmented documentation experience

to get started

Model ini disumbangkan ke Hugging Face Transformers pada 2023-06-20.

FLAN-UL2

Ikhtisar

Flan-UL2 adalah model encoder decoder yang didasarkan pada arsitektur T5. Model ini menggunakan konfigurasi yang sama dengan model UL2 yang dirilis pada awal tahun lalu. Model ini telah dihaluskan (fine-tuned) menggunakan pengumpulan data dan penyetelan prompt “Flan”. Mirip dengan Flan-T5, bobot FLAN-UL2 dapat digunakan secara langsung tanpa perlu melakukan fine-tuning pada model:

Menurut blog aslinya, berikut adalah peningkatan yang signifikan:

  • Model UL2 asli hanya dilatih dengan receptive field 512, yang membuatnya kurang ideal untuk N-shot prompting di mana N bernilai besar.
  • Checkpoint Flan-UL2 menggunakan receptive field sebesar 2048 yang membuatnya lebih dapat digunakan untuk few-shot in-context learning.
  • Model UL2 asli juga memiliki token mode switch yang cukup wajib untuk mendapatkan kinerja yang baik. Namun, token tersebut sedikit merepotkan karena hal ini sering memerlukan beberapa perubahan selama inferensi atau finetuning. Dalam pembaruan/perubahan ini, kami melanjutkan pelatihan UL2 20B selama 100k langkah tambahan (dengan batch kecil) untuk melupakan “mode tokens” sebelum menerapkan Flan instruction tuning. Checkpoint Flan-UL2 ini tidak lagi memerlukan mode tokens. Google telah merilis varian berikut:

Checkpoint asli dapat ditemukan di sini.

Menjalankan pada perangkat dengan sumber daya rendah

Model ini cukup berat (~40GB dalam presisi setengah) jadi jika Anda hanya ingin menjalankan model, pastikan Anda memuat model dalam 8bit, dan gunakan device_map="auto" untuk memastikan Anda tidak mengalami masalah OOM!

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']

Lihat halaman dokumentasi T5 untuk referensi API, tips, contoh kode, dan notebook.

Update on GitHub