TorchAO#
TorchAO 是一个用于 PyTorch 的架构优化库,它为推理和训练提供高性能数据类型、优化技术和内核,并具有与原生 PyTorch 功能(如 torch.compile、FSDP 等)的可组合性。一些基准测试数字可以在这里找到。
我们建议安装最新的 torchao nightly 版本,使用命令:
# Install the latest TorchAO nightly build
# Choose the CUDA version that matches your system (cu126, cu128, etc.)
pip install --pre torchao>=10.0.0 --index-url https://download.pytorch.org/whl/nightly/cu126
量化 HuggingFace 模型#
您可以使用 torchao 量化您自己的 huggingface 模型,例如 transformers 和 diffusers,并将检查点保存到 huggingface hub,例如 这个,使用以下示例代码
import torch
from transformers import TorchAoConfig, AutoModelForCausalLM, AutoTokenizer
from torchao.quantization import Int8WeightOnlyConfig
model_name = "meta-llama/Meta-Llama-3-8B"
quantization_config = TorchAoConfig(Int8WeightOnlyConfig())
quantized_model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto", quantization_config=quantization_config)
tokenizer = AutoTokenizer.from_pretrained(model_name)
input_text = "What are we having for dinner?"
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda")
hub_repo = # YOUR HUB REPO ID
tokenizer.push_to_hub(hub_repo)
quantized_model.push_to_hub(hub_repo, safe_serialization=False)
或者,您可以使用 TorchAO 量化空间,通过简单的用户界面来量化模型。请参阅:https://hugging-face.cn/spaces/medmekk/TorchAO_Quantization