Transformers documentation

Optimum Quanto

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

Optimum Quanto

Quanto là backend lượng tử hóa PyTorch cho Optimum. Nó hỗ trợ lượng tử hóa tuyến tính cho trọng số (float8, int8, int4, int2) với độ chính xác rất tương tự so với các mô hình độ chính xác đầy đủ. Quanto tương thích với mọi chế độ mô hình và thiết bị, giúp việc sử dụng trở nên đơn giản bất kể phần cứng.

Quanto cũng tương thích với torch.compile để tạo nhanh hơn.

Cài đặt Quanto bằng lệnh sau.

pip install optimum-quanto accelerate transformers

Thực hiện lượng tử hóa một mô hình bằng cách tạo một QuantoConfig và chỉ định tham số weights để lượng tử hóa. Cách này hoạt động với bất kỳ mô hình nào trong bất kỳ chế độ nào, miễn là mô hình đó chứa các lớp torch.nn.Linear.

Tích hợp Transformers chỉ hỗ trợ lượng tử hóa trọng số. Sử dụng thư viện Quanto trực tiếp nếu bạn cần lượng tử hóa kích hoạt, hiệu chuẩn hoặc QAT.

from transformers import AutoModelForCausalLM, AutoTokenizer, QuantoConfig

quant_config = QuantoConfig(weights="int8")
model = transformers.AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.1-8B", 
    dtype="auto", 
    device_map="auto", 
    quantization_config=quant_config
)

torch.compile

Bọc một mô hình Quanto bằng torch.compile để tạo nhanh hơn.

import torch
from transformers import AutoModelForSpeechSeq2Seq, QuantoConfig

quant_config = QuantoConfig(weights="int8")
model = AutoModelForSpeechSeq2Seq.from_pretrained(
  "openai/whisper-large-v2",
  dtype="auto",
  device_map="auto",
  quantization_config=quant_config
)

model = torch.compile(model)

Tài nguyên

Đọc bài đăng trên blog Quanto: a PyTorch quantization backend for Optimum để tìm hiểu thêm về thiết kế thư viện và các bài kiểm tra hiệu năng.

Để xem thêm các ví dụ thực hành, hãy xem notebook của Quanto.

Update on GitHub