Views
No views yet
llm-jp/llm-jp-3.1-13b-instruct4)をOLMo-core(bolmo)形式に変換transformersライブラリでロードできます:1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4# モデルとトークナイザーのロード
5model_name = "kevineen/llm-jp-3.1-olmo-ifairy-quantizaion"
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForCausalLM.from_pretrained(
8 model_name,
9 torch_dtype=torch.bfloat16,
10 device_map="auto",
11 trust_remote_code=True
12)
13
14# プロンプトの準備
15prompt = "自然言語処理とは何か、簡潔に説明してください。"
16inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
17
18# テキスト生成
19with torch.no_grad():
20 outputs = model.generate(
21 **inputs,
22 max_new_tokens=256,
23 temperature=0.7,
24 do_sample=True,
25 top_p=0.95,
26 repetition_penalty=1.05,
27 pad_token_id=tokenizer.pad_token_id
28 )
29
30# 結果のデコード
31generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
32print(generated_text)1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model_name = "kevineen/llm-jp-3.1-olmo-ifairy-quantizaion"
5tokenizer = AutoTokenizer.from_pretrained(model_name)
6model = AutoModelForCausalLM.from_pretrained(
7 model_name,
8 torch_dtype=torch.bfloat16,
9 device_map="auto",
10 trust_remote_code=True
11)
12
13# チャット形式のメッセージ
14chat = [
15 {"role": "system", "content": "以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"},
16 {"role": "user", "content": "自然言語処理とは何か"},
17]
18
19# チャットテンプレートの適用
20tokenized_input = tokenizer.apply_chat_template(
21 chat,
22 add_generation_prompt=True,
23 tokenize=True,
24 return_tensors="pt"
25).to(model.device)
26
27# テキスト生成
28with torch.no_grad():
29 output = model.generate(
30 tokenized_input,
31 max_new_tokens=100,
32 do_sample=True,
33 top_p=0.95,
34 temperature=0.7,
35 repetition_penalty=1.05,
36 )[0]
37
38# 結果のデコード
39print(tokenizer.decode(output, skip_special_tokens=True))1from olmo_core.nn.quantization.checkpoint_manager import QuantizedCheckpointManager
2from transformers import AutoTokenizer
3import torch
4
5# OLMo-core形式のチェックポイントパス(ローカルまたはHuggingFace Hub)
6checkpoint_path = "path/to/llm-jp-3-quantized" # OLMo-core形式のディレクトリ
7
8# 量子化モデルのロード
9checkpoint_manager = QuantizedCheckpointManager()
10model, metadata = checkpoint_manager.load_quantized_checkpoint(
11 checkpoint_dir=checkpoint_path,
12 device="cuda" # または "cpu"
13)
14
15print(f"Model loaded successfully")
16print(f"Quantization config: {metadata.quantization_config}")
17print(f"Model size: {metadata.quantized_model_size_mb:.2f} MB")
18print(f"Compression ratio: {metadata.compression_ratio:.2f}x")
19
20# トークナイザーのロード
21tokenizer = AutoTokenizer.from_pretrained("llm-jp/llm-jp-3.1-13b-instruct4")
22
23# 推論
24prompt = "自然言語処理とは何か"
25inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
26
27with torch.no_grad():
28 outputs = model(inputs["input_ids"])
29 logits = outputs
30
31# 生成(簡易版)
32# 実際の生成にはgenerateメソッドの実装が必要です1@misc{llm-jp-3.1,
2 title={LLM-JP-3.1: Instruction Pre-Training for Japanese Language Models},
3 author={LLM-JP Team},
4 year={2024},
5 url={https://huggingface.co/llm-jp/llm-jp-3.1-13b-instruct4}
6}