Views
No views yet
1for param in model.parameters():
2 param.requires_grad = False
3
4for param in model.lm_head.parameters():
5 param.requires_grad = True<Thought>, </Thought><Output>, </Output>1import sys
2import torch
3sys.path.append('./reasoning-model')
4from reasoning_model import ReasoningModelForCausalLM
5from tree_utils import print_tree_with_best_path
6from transformers import AutoTokenizer
7
8# tokenizerとmodelの準備
9model_name = "doshisha-mil/llm-jp-13b-OpenMathInstruct-2-v1.1"
10
11tokenizer = AutoTokenizer.from_pretrained(
12 model_name,
13 trust_remote_code=True,
14)
15
16# パディングトークンを明示的に設定
17if tokenizer.pad_token is None:
18 tokenizer.pad_token = tokenizer.eos_token
19
20# モデルのロード
21model = ReasoningModelForCausalLM.from_pretrained(
22 model_name,
23 torch_dtype="auto",
24 device_map="auto"
25)
26
27# 入力テキスト
28prompt = "Find the number of positive integers $x$ that satisfy $x^{-1}>x$."
29text = f"あなたは優秀で論理的なアシスタントです。まずは<Thought></Thought>タグの中であなたの思考の過程を記載し、<Output></Output>タグの中に最終的にユーザーに提供する出力を記載します。\n\n### 指示: {prompt}\n\n### 応答: <Thought>\n"
30
31# Tokenize with explicit attention_mask
32model_inputs = tokenizer([text], return_tensors="pt", padding=True, truncation=True)
33model_inputs["attention_mask"] = (model_inputs["input_ids"] != tokenizer.pad_token_id).long()
34
35# デバイスをモデルのデバイスに統一
36model_inputs = {key: val.to(model.device) for key, val in model_inputs.items()}
37
38# MCTSを用いて生成
39final_tokens, final_node = model.generate(
40 input_ids=model_inputs["input_ids"],
41 attention_mask=model_inputs["attention_mask"], # 明示的に attention_mask を渡す
42 iterations_per_step=3,
43 max_iterations=30,
44 mini_step_size=32,
45 expand_threshold=0,
46 step_separator_ids=None,
47)
48
49# 結果をテキスト化
50final_text = tokenizer.decode(final_tokens, skip_special_tokens=True)
51print("=== 最終生成テキスト ===")
52print(final_text)
531@article{llm-jp3-13b-instruct,
2 title={LLM-JP 3-13B Instruct},
3 author={LLM-JP Team},
4 year={2024},
5 journal={Hugging Face Repository},
6 url={https://huggingface.co/llm-jp/llm-jp-3-13b-instruct}
7}
8
9@article{marco-o1,
10 title={Marco-o1: Towards Open Reasoning Models for Open-Ended Solutions},
11 author={Yu Zhao, Huifeng Yin, Bo Zeng, Hao Wang, Tianqi Shi, Chenyang Lyu, Longyue Wang, Weihua Luo, Kaifu Zhang},
12 year={2024},
13 journal={arXiv},
14 eprint={2411.14405v1},
15 archivePrefix={arXiv},
16 primaryClass={cs.CL}
17}