Views
No views yet
Built with llm-jp-3-172b-instruct3
uint8 + スケール情報を持つ BitsAndBytes (fp4 形式) で格納されており、演算時には float16/float32 を用います。pip install transformers>=4.47 bitsandbytes>=0.39.01import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from transformers import BitsAndBytesConfig
4
5# 4-bit 量子化設定
6quantization_config = BitsAndBytesConfig(
7 load_in_4bit=True,
8 bnb_4bit_compute_dtype=torch.float32, # 演算時には float32
9 bnb_4bit_quant_type="fp4", # FP4 量子化
10 bnb_4bit_quant_storage="uint8"
11)
12
13# モデル・トークナイザをロード
14model_name_or_path = "path/to/4bit-quantized-llm-jp-3-172b-instruct3"
15tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
16model = AutoModelForCausalLM.from_pretrained(
17 model_name_or_path,
18 quantization_config=quantization_config,
19 device_map="auto",
20 trust_remote_code=True
21)
22
23# 推論テスト
24prompt = "日本語での応答例を示してください。"
25inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
26output_ids = model.generate(**inputs, max_new_tokens=128)
27print(tokenizer.decode(output_ids[0], skip_special_tokens=True))torch.cuda.memory_allocated() を確認すると、FP16/FP32 モデルよりもメモリ使用量が削減されているはずです。「Built with llm-jp-3-172b-instruct3」
「llm-jp-3-172b-instruct3 は llm-jp-3-172b-instruct3利用許諾契約に基づきライセンスされています。
Copyright (c) 2024 Research Organization of Information and Systems.
すべての権利を留保します。」