kishizaki-sci's picture
Update README.md
7e9555f verified
|
raw
history blame
3.49 kB
metadata
license: mit
base_model:
  - meta-llama/Llama-3.3-70B-Instruct

kishizaki-sci/Llama-3.3-70B-Instruct-AWQ-4bit-JP-EN

モデル情報

Llama-3.3-70B-InstructAutoAWQで4bit 量子化したモデル。量子化の際のキャリブレーションデータに日本語と英語を含むデータを使用。

使い方

transformers

from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

tokenizer = AutoTokenizer.from_pretrained("kishizaki-sci/Llama-3.3-70B-Instruct-AWQ-4bit-JP-EN")
model = AutoModelForCausalLM.from_pretrained("kishizaki-sci/Llama-3.3-70B-Instruct-AWQ-4bit-JP-EN")
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 でも動かせます。

vLLM

from vllm import LLM, SamplingParams

llm = LLM(
    model="kishizaki-sci/Llama-3.3-70B-Instruct-AWQ-4bit-JP-EN",
    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)

H100 (94GB)を1基積んだインスタンスでの実行はこちらのnotebookをご覧ください。

キャリブレーションデータ

以下のデータセットから512個のデータ,プロンプトを抽出。1つのデータのトークン数は最大350制限。

 

License

[MIT License]を適用する。ただし量子化のベースモデルに適用されているLlama 3.3 Community License Agreementを遵守すること。