Command-rのGPTQとvLLMを使ってGoogle Colabで動かしてみる
使うもの
モデル
Command-rを4bitでGPTQにしたもの。
らしい。
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)]
こんにちは!ご質問やお手伝いできることがあれば、お気軽にお尋ねください。
間違ってるところあれば教えてください。