ptrdvn's picture
Create README.md
61ea461 verified

4bit AWQ version of the lightblue/Karasu-Mixtral-8x22B-v0.1 model.

Quantized using the following code:

from awq import AutoAWQForCausalLM
import pandas as pd
from transformers import AutoTokenizer
from tqdm.auto import tqdm

pretrained_model_dir = '/workspace/llm_training/axolotl/mixtral_8x22B_training/merged_model_multiling'
quantized_model_dir = '/workspace/llm_training/axolotl/mixtral_8x22B_training/merged_model_multiling-awq'

# The samne dataset as in lightblue/gpt4_conversations_multilingual
df = pd.read_json(
    "/workspace/llm_training/axolotl/mixtral_8x22B_training/sharegpt4_multilingual.json", 
    lines=True)

role_map = {
    "human": "user",
    "gpt": "assistant",
}

df["messages"] = df.conversations.apply(lambda x: [{"role": role_map[y["from"]], "content": y["value"]} for y in x])

tokenizer = AutoTokenizer.from_pretrained(pretrained_model_dir, use_fast=True)
examples = [
    tokenizer.apply_chat_template(
        x, tokenize=False, add_generation_prompt=False
    ) for x in tqdm(df["messages"])
]

model_path = '/workspace/llm_training/axolotl/mixtral_8x22B_training/merged_model_multiling'
quant_path = '/workspace/llm_training/axolotl/mixtral_8x22B_training/merged_model_multiling-awq'
quant_config = { "zero_point": True, "q_group_size": 128, "w_bit": 4, "version": "GEMM" }

# Load model
model = AutoAWQForCausalLM.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)

# Quantize
model.quantize(tokenizer, quant_config=quant_config, calib_data=examples)

# Save quantized model
model.save_quantized(quant_path)
tokenizer.save_pretrained(quant_path)