kishizaki-sci's picture
Update README.md
db3c9f9 verified
metadata
license: mit
language:
  - ja
  - en
base_model:
  - microsoft/phi-4
pipeline_tag: text-generation
library_name: transformers
tags:
  - autoawq

kishizaki-sci/phi-4-AWQ-4bit-EN-JP

model information

phi-4AutoAWQで4bit 量子化したモデル。量子化の際のキャリブレーションデータに日本語と英語を含むデータを使用。
A model of phi-4 quantized to 4 bits using AutoAWQ. Calibration data containing Japanese and English was used during the quantization process.

usage

transformers

from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

tokenizer = AutoTokenizer.from_pretrained("kishizaki-sci/phi-4-AWQ-4bit-EN-JP")
model = AutoModelForCausalLM.from_pretrained("kishizaki-sci/phi-4-AWQ-4bit-EN-JP")
model.to("cuda")

chat = [
    {"role": "system", "content": "あなたは日本語で応答するAIチャットボットです。ユーザをサポートしてください。"},
    {"role": "user", "content": "plotly.graph_objectsを使って散布図を作るサンプルコードを書いてください。"}
]
prompt = tokenizer.apply_chat_template(
    chat,
    tokenize=False,
    add_generation_prompt=True
)
inputs = tokenizer(prompt, return_tensors="pt")
inputs = inputs.to("cuda")
streamer = TextStreamer(tokenizer)

output = model.generate(**inputs, streamer=streamer, max_new_tokens=1024)

このコードはA100インスタンスのGoogle Colab でも動かせます。
This code can also run on Google Colab with an A100 instance.

vLLM

from vllm import LLM, SamplingParams

llm = LLM(
    model="kishizaki-sci/phi-4-AWQ-4bit-EN-JP",
    tensor_parallel_size=1,
    gpu_memory_utilization=0.97,
    quantization="awq"
)
tokenizer = llm.get_tokenizer()

messages = [
    {"role": "system", "content": "あなたは日本語で応答するAIチャットボットです。ユーザをサポートしてください。"},
    {"role": "user", "content": "plotly.graph_objectsを使って散布図を作るサンプルコードを書いてください。"},
]

prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

sampling_params = SamplingParams(
    temperature=0.6,
    top_p=0.9,
    max_tokens=1024
)

outputs = llm.generate(prompt, sampling_params)
print(outputs[0].outputs[0].text)

Google Colab A100インスタンスでの実行はこちらのnotebookをご覧ください。
Please refer to this google colab notebook for execution on the A100 instance.

calibration data

以下のデータセットから512個のデータ,プロンプトを抽出。1つのデータのトークン数は最大350制限。
Extract 512 data points and prompts from the following dataset. The maximum token limit per data point is 350.

License

MIT Licenseを適用する。
The MIT License is applied.