Zacznij terazZacznij za darmo

Przyspieszanie wnioskowania w skwantyzowanych modelach

Twoja firma od jakiegoś czasu używa modelu Llama w chatbocie obsługi klienta z włączoną kwantyzacją. Jedną z najczęstszych skarg klientów jest to, że bot odpowiada bardzo wolno i czasami generuje dziwne odpowiedzi.

Podejrzewasz, że może to być związane z kwantyzacją do 4 bitów bez normalizacji. W trakcie analizy zauważasz również, że problem z szybkością może wynikać z obliczeń podczas wnioskowania, które korzystają z 32-bitowych liczb zmiennoprzecinkowych.

Chcesz dostosować konfigurację kwantyzacji, aby poprawić szybkość wnioskowania modelu. Następujące importy zostały już załadowane: AutoModelForCausalLM, AutoTokenizer oraz BitsAndBytesConfig.

To ćwiczenie jest częścią kursu

Fine-Tuning z Llama 3

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw typ kwantyzacji na znormalizowany 4-bitowy, aby zredukować wartości odstające i ograniczyć generowanie bezsensownych odpowiedzi.
  • Ustaw typ obliczeniowy na bfloat16, aby przyspieszyć obliczenia podczas wnioskowania.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
  	# Set quantization type to normalized 4-bit
    ____=____,
  	# Set compute data type to be bfloat16
    ____=____
)
model = AutoModelForCausalLM.from_pretrained(
    "Maykeye/TinyLLama-v0",
    quantization_config=bnb_config,
    low_cpu_mem_usage=True
)
Edytuj i uruchom kod