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
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
)