🚀 Zephyr 7B Beta - AWQ
このモデルは、Hugging Face H4によるZephyr 7B BetaをAWQ方式で量子化したものです。高速かつ高精度な推論を実現します。
🚀 クイックスタート
このセクションでは、Zephyr 7B Beta - AWQモデルの概要と、各種環境での使用方法を紹介します。
✨ 主な機能
- 高速推論: AWQ方式により、Transformerベースのモデルで高速な推論が可能です。
- 高精度: 量子化による精度の低下を最小限に抑え、高品質な出力を維持します。
- 複数環境対応: text-generation-webui、vLLM、Hugging Face Text Generation Inference (TGI)、AutoAWQなどの主要な環境で使用できます。
📦 インストール
text-generation-webuiでのインストール
- text-generation-webuiの最新バージョンを使用していることを確認してください。
- オンクリックインストーラーの使用を強くおすすめします。手動インストールに詳しい場合は、手動でのインストールも可能です。
- Model tabをクリックします。
- Download custom model or LoRAの下に、
TheBloke/zephyr-7B-beta-AWQ
を入力します。
- Downloadをクリックします。
- モデルのダウンロードが開始されます。完了すると「Done」と表示されます。
- 左上のModelの横にあるリフレッシュアイコンをクリックします。
- Modelのドロップダウンから、ダウンロードしたモデル
zephyr-7B-beta-AWQ
を選択します。
- Loader: AutoAWQを選択します。
- Loadをクリックすると、モデルがロードされ、使用可能になります。
AutoAWQを使用したPythonコードからのインストール
AutoAWQパッケージのインストール
pip3 install autoawq
pre-built wheelsを使用してAutoAWQのインストールに問題がある場合は、ソースからインストールしてください。
pip3 uninstall -y autoawq
git clone https://github.com/casper-hansen/AutoAWQ
cd AutoAWQ
pip3 install .
💻 使用例
基本的な使用法
from awq import AutoAWQForCausalLM
from transformers import AutoTokenizer
model_name_or_path = "TheBloke/zephyr-7B-beta-AWQ"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=False)
model = AutoAWQForCausalLM.from_quantized(model_name_or_path, fuse_layers=True,
trust_remote_code=False, safetensors=True)
prompt = "Tell me about AI"
prompt_template=f'''<|system|>
</s>
<|user|>
{prompt}</s>
<|assistant|>
'''
print("*** Running model.generate:")
token_input = tokenizer(
prompt_template,
return_tensors='pt'
).input_ids.cuda()
generation_output = model.generate(
token_input,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
max_new_tokens=512
)
token_output = generation_output[0]
text_output = tokenizer.decode(token_output)
print("LLM output: ", text_output)
高度な使用法
from vllm import LLM, SamplingParams
prompts = [
"Tell me about AI",
"Write a story about llamas",
"What is 291 - 150?",
"How much wood would a woodchuck chuck if a woodchuck could chuck wood?",
]
prompt_template=f'''<|system|>
</s>
<|user|>
{prompt}</s>
<|assistant|>
'''
prompts = [prompt_template.format(prompt=prompt) for prompt in prompts]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="TheBloke/zephyr-7B-beta-AWQ", quantization="awq", dtype="auto")
outputs = llm.generate(prompts, sampling_params)
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
📚 ドキュメント
プロンプトテンプレート: Zephyr
<|system|>
</s>
<|user|>
{prompt}</s>
<|assistant|>
提供されるファイルとAWQパラメータ
初回のAWQモデルリリースでは、128gモデルのみをリリースしています。関心があれば32gモデルも追加する予定ですが、現時点ではAutoAWQとvLLMでの32gモデルのテストがまだ完全ではありません。
モデルはシャーディングされたsafetensorsファイルとしてリリースされます。
Branch |
Bits |
GS |
AWQ Dataset |
Seq Len |
Size |
main |
4 |
128 |
wikitext |
4096 |
4.15 GB |
互換性
提供されるファイルは、以下の環境で動作することがテストされています。
🔧 技術詳細
モデルの概要
Zephyrは、役立つアシスタントとして動作するようにトレーニングされた一連の言語モデルです。Zephyr-7B-βは、このシリーズの2番目のモデルで、mistralai/Mistral-7B-v0.1を公開されている合成データセットを使用して微調整したものです。
パフォーマンス
リリース時点で、Zephyr-7B-βはMT-BenchとAlpacaEvalのベンチマークで最高ランクの7Bチャットモデルです。
Model |
Size |
Alignment |
MT-Bench (score) |
AlpacaEval (win rate %) |
StableLM-Tuned-α |
7B |
dSFT |
2.75 |
- |
MPT-Chat |
7B |
dSFT |
5.42 |
- |
Xwin-LMv0.1 |
7B |
dPPO |
6.19 |
87.83 |
Mistral-Instructv0.1 |
7B |
- |
6.84 |
- |
Zephyr-7b-α |
7B |
dDPO |
6.88 |
- |
Zephyr-7b-β |
7B |
dDPO |
7.34 |
90.60 |
Falcon-Instruct |
40B |
dSFT |
5.17 |
45.71 |
Guanaco |
65B |
SFT |
6.41 |
71.80 |
Llama2-Chat |
70B |
RLHF |
6.86 |
92.66 |
Vicuna v1.3 |
33B |
dSFT |
7.12 |
88.99 |
WizardLM v1.0 |
70B |
dSFT |
7.71 |
- |
Xwin-LM v0.1 |
70B |
dPPO |
- |
95.57 |
GPT-3.5-turbo |
- |
RLHF |
7.94 |
89.37 |
Claude 2 |
- |
RLHF |
8.06 |
91.36 |
GPT-4 |
- |
RLHF |
8.99 |
95.28 |
トレーニングと評価データ
DPOトレーニング中、このモデルは評価セットで以下の結果を達成します。
- Loss: 0.7496
- Rewards/chosen: -4.5221
- Rewards/rejected: -8.3184
- Rewards/accuracies: 0.7812
📄 ライセンス
このモデルはMITライセンスの下で提供されています。