Views
No views yet
{prompt}--quantization awq parameter, for example:python3 python -m vllm.entrypoints.api_server --model Heng666/Breeze-7B-Instruct-v0_1-AWQ --quantization awq --dtype halfquantization parameter.
If you try the code below and get an error about quantization being unrecognised, please install vLLM from Github source.
When using vLLM from Python code, pass the quantization=awq parameter, for example:1from vllm import LLM, SamplingParams
2
3prompts = [
4 "Hello, my name is",
5 "The president of the United States is",
6 "The capital of France is",
7 "The future of AI is",
8]
9sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
10llm = LLM(model="Heng666/Breeze-7B-Instruct-v0_1-AWQ", quantization="awq", dtype="half")
11
12outputs = llm.generate(prompts, sampling_params)
13# Print the outputs.
14for output in outputs:
15 prompt = output.prompt
16 generated_text = output.outputs[0].text
17 print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")pip3 install autoawq1pip3 uninstall -y autoawq
2git clone https://github.com/casper-hansen/AutoAWQ
3cd AutoAWQ
4pip3 install .1from awq import AutoAWQForCausalLM
2from transformers import AutoTokenizer
3model_name_or_path = "Heng666/Breeze-7B-Instruct-v0_1-AWQ"
4
5# Load model
6model = AutoAWQForCausalLM.from_quantized(model_name_or_path, fuse_layers=True,
7 trust_remote_code=False, safetensors=True)
8tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=False)
9prompt = "Tell me about AI"
10prompt_template=f'''{prompt}
11
12'''
13
14print("\n\n*** Generate:")
15tokens = tokenizer(
16 prompt_template,
17 return_tensors='pt'
18).input_ids.cuda()
19# Generate output
20generation_output = model.generate(
21 tokens,
22 do_sample=True,
23 temperature=0.7,
24 top_p=0.95,
25 top_k=40,
26 max_new_tokens=512
27)
28print("Output: ", tokenizer.decode(generation_output[0]))
29"""
30# Inference should be possible with transformers pipeline as well in future
31# But currently this is not yet supported by AutoAWQ (correct as of September 25th 2023)
32from transformers import pipeline
33print("*** Pipeline:")
34pipe = pipeline(
35 "text-generation",
36 model=model,
37 tokenizer=tokenizer,
38 max_new_tokens=512,
39 do_sample=True,
40 temperature=0.7,
41 top_p=0.95,
42 top_k=40,
43 repetition_penalty=1.1
44)
45print(pipe(prompt_template)[0]['generated_text'])
46""":latest Docker container until the next TGI release is made.
At the time of writing (25th September) TGI's PR appears not to work with 70B models, but this is likely to be fixed quickly.| Models | ↑ TMMLU+ (ACC) | DRCD (EM) | Table (ACC) | MMLU (ACC) | |
|---|---|---|---|---|---|
| TC, Knowledge | TC, Reasoning | TC, Reasoning | EN, Knowledge | ||
| 5 shot | 3 shot | 5 shot | 5 shot | ||
| Yi-34B | 34B | 63.10 | 84.57 | 49.31 | 77.42 |
| Qwen-14B | 14B | 51.30 | 16.95 * | 50.69 | 68.83 |
| Yi-6B | 6B | 49.63 | 76.61 | 34.72 | 65.35 |
| Qwen-7B | 7B | 42.84 | 0.0 * | 39.58 | 61.00 |
| Breeze-7B-Base-v0_1 | 7B | 40.35 | 81.13 | 28.47 | 61.63 |
| Mistral-7B-v0.1 | 7B | 36.93 | 79.27 | 27.78 | 64.89 |
| * Few-shot learning cannot effectively guide the model to generate the proper answer. |
| Models | ↑ MT-Bench-tw (Score) | TMMLU+ (ACC) | TMMLU+ (ACC) | DRCD (EM) | Table (ACC) | MT-Bench (Score) | MMLU (ACC) | MMLU (ACC) | |
|---|---|---|---|---|---|---|---|---|---|
| TC, Chat | TC, Knowledge | TC, Knowledge | TC, Reasoning | TC, Reasoning | EN, Chat | EN, Knowledge | EN, Knowledge | ||
| 0 shot | 0 shot | 5 shot | 3 shot | 0 shot | 0 shot | 0 shot | 5 shot | ||
| gpt-3.5-turbo | 7.1 | 41.76 | 40.27 | 7.9 | 70.00 | ||||
| Yi-34B-Chat | 34B | 6.9 | 54.87 | 36.81 | 7.6 | 71.04 | |||
| Qwen-14B-Chat | 14B | 6.4 | 48.41 | 41.67 | 7.2 | 64.91 | |||
| Breeze-7B-Instruct-v0_1 | 7B | 5.7 | 41.61 | 45.83 | 7.1 | 63.26 | |||
| Breeze-7B-Instruct-64k-v0_1 | 7B | 5.5 | 40.99 | 36.11 | 7.1 | 63.68 | |||
| Qwen-7B-Chat | 7B | 5.4 | 40.02 | 33.33 | 6.2 | 55.94 | |||
| Yi-6B-Chat | 6B | 5.0 | 44.79 | 25.69 | 6.0 | 59.45 | |||
| Taiwan-LLM-13B-v2.0-chat | 13B | 5.0 | 29.47 | 23.61 | -* | 50.50 | |||
| Taiwan-LLM-7B-v2.1-chat | 7B | 4.2 | 28.08 | 31.25 | -* | 42.72 | |||
| * Taiwan-LLM models responds to multi-turn questions (English) in Traditional Chinese. | |||||||||
| Details on MT-Bench-tw (0 shot): Models | STEM | Extraction | Reasoning | Math | Coding | Roleplay | Writing | Humanities | ↑ AVG |
| ----------------------------------------------------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- |
| gpt-3.5-turbo | 7.8 | 6.1 | 5.1 | 6.4 | 6.2 | 8.7 | 7.4 | 9.3 | 7.1 |
| Yi-34B-Chat | 9.0 | 4.8 | 5.7 | 4.0 | 4.7 | 8.5 | 8.7 | 9.8 | 6.9 |
| Qwen-14B-Chat | 7.6 | 5.7 | 4.5 | 4.2 | 5.3 | 7.5 | 7.3 | 9.1 | 6.4 |
| Breeze-7B-Instruct-v0_1 | 6.5 | 5.6 | 3.9 | 3.6 | 4.3 | 6.9 | 5.7 | 9.3 | 5.7 |
| Breeze-7B-Instruct-64k-v0_1 | 6.1 | 5.3 | 3.7 | 2.9 | 4.2 | 7.0 | 6.7 | 8.3 | 5.5 |
| Qwen-7B-Chat | 6.6 | 4.5 | 4.8 | 2.9 | 3.6 | 6.2 | 6.8 | 8.2 | 5.4 |
| Yi-6B-Chat | 7.3 | 2.7 | 3.1 | 3.3 | 2.3 | 7.2 | 5.2 | 8.8 | 5.0 |
| Taiwan-LLM-13B-v2.0-chat | 6.1 | 3.4 | 4.1 | 2.3 | 3.1 | 7.4 | 6.6 | 6.8 | 5.0 |
| Taiwan-LLM-7B-v2.1-chat | 5.2 | 2.6 | 2.3 | 1.2 | 3.4 | 6.6 | 5.7 | 6.8 | 4.2 |
| Details on TMMLU+ (0 shot): Model | STEM | Social Science | Humanities | Other | ↑ AVG | ||||
| ----------------------------------------------------- | -------------- | ---------------- | ------------ | ------------ | --------- | ||||
| Yi-34B-Chat | 47.65 | 64.25 | 52.73 | 54.91 | 54.87 | ||||
| Qwen-14B-Chat | 43.83 | 55.00 | 48.55 | 46.22 | 48.41 | ||||
| Yi-6B-Chat | 37.80 | 51.74 | 45.36 | 44.25 | 44.79 | ||||
| gpt-3.5-turbo | 41.56 | 46.72 | 36.73 | 42.03 | 41.76 | ||||
| Breeze-7B-Instruct-v0_1 | 37.41 | 46.81 | 42.06 | 40.16 | 41.61 | ||||
| Breeze-7B-Instruct-64k-v0_1 | 37.88 | 46.35 | 40.31 | 39.40 | 40.99 | ||||
| Qwen-7B-Chat | 35.44 | 46.22 | 38.35 | 40.06 | 40.02 | ||||
| Taiwan-LLM-13B-v2.0-chat | 27.74 | 33.69 | 27.03 | 29.43 | 29.47 | ||||
| Taiwan-LLM-7B-v2.1-chat | 25.58 | 31.76 | 27.36 | 27.61 | 28.08 |
vllm, with a tensor-parallel size of 2).| Models | ↓ Inference Time (sec) | Estimated Max Input Length (Char) |
|---|---|---|
| Yi-6B-Chat | 10.62 | 5.2k |
| Breeze-7B-Instruct-v0_1 | 10.74 | 11.1k |
| Breeze-7B-Instruct-64k-v0_1 | 10.74 | 88.8k |
| Qwen-7B-Chat | 10.86 | 9.8k |
| Qwen-14B-Chat | 18.89 | 9.8k |
| Mistral-7B-v0.1-Instruct | 20.48 | 5.1k |
| Taiwan-LLM-7B-v2.1-chat | 26.26 | 2.2k |
| Taiwan-LLM-13B-v2.0-chat | 36.80 | 2.2k |
| Yi-34B-Chat | 43.71 | 4.5k |
pip install transformers torch accelerate1pip install packaging ninja
2pip install flash-attn1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3model = AutoModelForCausalLM.from_pretrained(
4 "MediaTek-Research/Breeze-7B-Instruct-v0_1",
5 device_map="auto",
6 torch_dtype=torch.bfloat16,
7 attn_implementation="flash_attention_2" # optional
8)<s>SYS_PROMPT [INST] QUERY1 [/INST] RESPONSE1 [INST] QUERY2 [/INST] SYS_PROMPT, QUERY1, RESPONSE1, and QUERY2 can be provided by the user.SYS_PROMPT isYou are a helpful AI assistant built by MediaTek Research. The user you are helping speaks Traditional Chinese and comes from Taiwan.chat_template into tokenizer_config.json, so you can apply_chat_template to get the prompt.1>>> from transformers import AutoTokenizer
2>>> tokenizer = AutoTokenizer.from_pretrained("MediaTek-Research/Breeze-7B-Instruct-v0.1")
3>>> chat = [
4... {"role": "user", "content": "你好,請問你可以完成什麼任務?"},
5... {"role": "assistant", "content": "你好,我可以幫助您解決各種問題、提供資訊和協助您完成許多不同的任務。例如:回答技術問題、提供建議、翻譯文字、尋找資料或協助您安排行程等。請告訴我如何能幫助您。"},
6... {"role": "user", "content": "太棒了!"},
7... ]
8>>> tokenizer.apply_chat_template(chat, tokenize=False)
9"<s>You are a helpful AI assistant built by MediaTek Research. The user you are helping speaks Traditional Chinese and comes from Taiwan. [INST] 你好,請問你可以完成什麼任務? [/INST] 你好,我可以幫助您解決各種問題、提供資訊和協助您完成許多不同的任務。例如:回答技術問題、提供建議、翻譯文字、尋找資料或協助您安排行程等。請告訴我如何能幫助您。 [INST] 太棒了! [/INST] "
10# Tokenized results
11# ['▁', '你好', ',', '請問', '你', '可以', '完成', '什麼', '任務', '?']
12# ['▁', '你好', ',', '我', '可以', '幫助', '您', '解決', '各種', '問題', '、', '提供', '資訊', '和', '協助', '您', '完成', '許多', '不同', '的', '任務', '。', '例如', ':', '回答', '技術', '問題', '、', '提供', '建議', '、', '翻譯', '文字', '、', '尋找', '資料', '或', '協助', '您', '安排', '行程', '等', '。', '請', '告訴', '我', '如何', '能', '幫助', '您', '。']
13# ['▁', '太', '棒', '了', '!']@article{breeze7b2024,
title={},
author={},
journal={arXiv},
year={2024}
}