Add tokenizer path for eval_model.py

pull/189/head
xunuohope1107 2025-02-19 11:19:16 +08:00 committed by GitHub
parent 45a4bb3a0f
commit 1cc496d08b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 5 deletions

View File

@ -13,7 +13,7 @@ warnings.filterwarnings('ignore')
def init_model(args): def init_model(args):
tokenizer = AutoTokenizer.from_pretrained('./model/minimind_tokenizer') tokenizer = AutoTokenizer.from_pretrained(args.tokenizer_path)
if args.load == 0: if args.load == 0:
moe_path = '_moe' if args.use_moe else '' moe_path = '_moe' if args.use_moe else ''
modes = {0: 'pretrain', 1: 'full_sft', 2: 'rlhf', 3: 'reason'} modes = {0: 'pretrain', 1: 'full_sft', 2: 'rlhf', 3: 'reason'}
@ -31,7 +31,7 @@ def init_model(args):
if args.lora_name != 'None': if args.lora_name != 'None':
apply_lora(model) apply_lora(model)
load_lora(model, f'./{args.out_dir}/lora/{args.lora_name}_{args.dim}.pth') load_lora(model, f'./{args.out_dir}/{args.lora_name}_{args.dim}.pth')
else: else:
model = AutoModelForCausalLM.from_pretrained( model = AutoModelForCausalLM.from_pretrained(
'./MiniMind2', './MiniMind2',
@ -106,6 +106,7 @@ def main():
parser = argparse.ArgumentParser(description="Chat with MiniMind") parser = argparse.ArgumentParser(description="Chat with MiniMind")
parser.add_argument('--lora_name', default='None', type=str) parser.add_argument('--lora_name', default='None', type=str)
parser.add_argument('--out_dir', default='out', type=str) parser.add_argument('--out_dir', default='out', type=str)
parser.add_argument("--tokenizer_path", type=str, default="./model/minimind_tokenizer", help="Path to the tokenizer")
parser.add_argument('--temperature', default=0.85, type=float) parser.add_argument('--temperature', default=0.85, type=float)
parser.add_argument('--top_p', default=0.85, type=float) parser.add_argument('--top_p', default=0.85, type=float)
parser.add_argument('--device', default='cuda' if torch.cuda.is_available() else 'cpu', type=str) parser.add_argument('--device', default='cuda' if torch.cuda.is_available() else 'cpu', type=str)
@ -123,7 +124,7 @@ def main():
parser.add_argument('--history_cnt', default=0, type=int) parser.add_argument('--history_cnt', default=0, type=int)
parser.add_argument('--stream', default=True, type=bool) parser.add_argument('--stream', default=True, type=bool)
parser.add_argument('--load', default=0, type=int, help="0: 原生torch权重,1: transformers加载") parser.add_argument('--load', default=0, type=int, help="0: 原生torch权重,1: transformers加载")
parser.add_argument('--model_mode', default=1, type=int, parser.add_argument('--model_mode', default=0, type=int,
help="0: 预训练模型,1: SFT-Chat模型,2: RLHF-Chat模型,3: Reason模型") help="0: 预训练模型,1: SFT-Chat模型,2: RLHF-Chat模型,3: Reason模型")
args = parser.parse_args() args = parser.parse_args()
@ -133,8 +134,6 @@ def main():
test_mode = int(input('[0] 自动测试\n[1] 手动输入\n')) test_mode = int(input('[0] 自动测试\n[1] 手动输入\n'))
messages = [] messages = []
for idx, prompt in enumerate(prompts if test_mode == 0 else iter(lambda: input('👶: '), '')): for idx, prompt in enumerate(prompts if test_mode == 0 else iter(lambda: input('👶: '), '')):
setup_seed(random.randint(0, 2048))
# setup_seed(2025) # 如需固定每次输出则换成【固定】的随机种子
if test_mode == 0: print(f'👶: {prompt}') if test_mode == 0: print(f'👶: {prompt}')
messages = messages[-args.history_cnt:] if args.history_cnt else [] messages = messages[-args.history_cnt:] if args.history_cnt else []
@ -179,4 +178,6 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
torch.backends.cudnn.deterministic = True
random.seed(random.randint(0, 2048))
main() main()