Command-rのGPTQとvLLMを使ってGoogle Colabで動かしてみる


使うもの

モデル

Command-rを4bitでGPTQにしたもの。

量子化プロセスには、日本語Wikipediaデータの一部が使用されており、日本語タスクに最適化されている可能性があります。

https://huggingface.co/nejumi/c4ai-command-r-08-2024-GPTQ-Int4-calib-ja-1k

らしい。

Google Colab

A100 GPUにする。

コード

# vllmのインストール
!pip install vllm
from vllm import LLM, SamplingParams

model = "nejumi/c4ai-command-r-08-2024-GPTQ-Int4-calib-ja-1k"

sampling_params = SamplingParams(temperature=0.3,
                                 max_tokens=2048,
                                 )

# max_model_lenをKV cache (93552)より小さい値にしないとエラーが出る。command-rで使えるトークン数が大きいため。
llm = LLM(
    model,
    max_model_len=32768,
)
system_prompt = """
あなたは日本語のアシスタントです
"""

user_prompt = """
こんにちは
"""

conversation = [
    {
        "role": "system",
        "content": system_prompt
    },
    {
        "role": "user",
        "content": user_prompt
    },
]

response = llm.chat(conversation,
                   sampling_params=sampling_params,
                   use_tqdm=False)

print(response)

response_data = response[0]
response_text = response_data.outputs[0].text

print(response_text)

出力

[RequestOutput(request_id=0, prompt='<BOS_TOKEN><|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>\nあなたは日本語のアシスタントです\n<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|USER_TOKEN|>こんにちは<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>', prompt_token_ids=[5, 5, 255000, 255008, 206, 156892, 2775, 81367, 61479, 4824, 133567, 87506, 206, 255001, 255000, 255006, 248968, 2449, 8843, 2775, 255001, 255000, 255007], encoder_prompt=None, encoder_prompt_token_ids=None, prompt_logprobs=None, outputs=[CompletionOutput(index=0, text='こんにちは!ご質問やお手伝いできることがあれば、お気軽にお尋ねください。', token_ids=(248968, 2449, 8843, 2775, 23911, 30321, 231225, 7964, 7082, 5465, 23521, 2907, 28269, 19714, 4384, 36870, 2066, 7082, 17515, 67281, 19933, 53006, 31155, 205039, 87009, 1967, 255001), cumulative_logprob=None, logprobs=None, finish_reason=stop, stop_reason=None)], finished=True, metrics=RequestMetrics(arrival_time=1729601569.1995392, last_token_time=1729601569.1995392, first_scheduled_time=1729601569.2023287, first_token_time=1729601569.268143, time_in_queue=0.0027894973754882812, finished_time=1729601569.838821, scheduler_time=0.0047025359999679495, model_forward_time=None, model_execute_time=None), lora_request=None)]
こんにちは!ご質問やお手伝いできることがあれば、お気軽にお尋ねください。

間違ってるところあれば教えてください。

いいなと思ったら応援しよう!