Views
No views yet

0.4.11base_model: mistralai/Mistral-7B-v0.3
2model_type: AutoModelForCausalLM
3tokenizer_type: AutoTokenizer
4tokenizer_use_fast: false
5
6load_in_8bit: false
7load_in_4bit: false
8strict: false
9model_config:
10
11datasets:
12 - path: /home/migel/ai_datasets/tess-v1.5b-chatml.jsonl
13 type: sharegpt
14 conversation: chatml
15 - path: /home/migel/ai_datasets/Tess-3.0/Tess-3.0-multi_turn_chatml.jsonl
16 type: sharegpt
17 conversation: chatml
18 - path: /home/migel/ai_datasets/Tess-3.0/Tess-3.0-single_turn_chatml.jsonl
19 type: sharegpt
20 conversation: chatml
21
22chat_template: chatml
23
24dataset_prepared_path: last_run_prepared_mistral
25val_set_size: 0.0
26output_dir: /home/migel/tess-2.5-mistral-7B-phase-1
27
28resume_from_checkpoint: /home/migel/tess-2.5-mistral-7B-phase-1/checkpoint-440
29auto_resume_from_checkpoints: true
30
31sequence_len: 16384
32sample_packing: true
33pad_to_sequence_len: true
34
35gradient_accumulation_steps: 4
36micro_batch_size: 4
37num_epochs: 1
38logging_steps: 1
39optimizer: adamw_8bit
40lr_scheduler: constant
41learning_rate: 1e-6
42
43wandb_project: mistral-7b
44wandb_watch:
45wandb_run_id:
46wandb_log_model:
47
48train_on_inputs: false
49group_by_length: false
50bf16: auto
51fp16:
52tf32: false
53
54gradient_checkpointing: true
55gradient_checkpointing_kwargs:
56 use_reentrant: false
57early_stopping_patience:
58resume_from_checkpoint:
59local_rank:
60logging_steps: 1
61xformers_attention:
62flash_attention: true
63saves_per_epoch: 10
64evals_per_epoch: 10
65save_total_limit: 3
66save_steps:
67eval_sample_packing: false
68debug:
69deepspeed: /home/migel/axolotl/deepspeed_configs/zero3_bf16.json
70weight_decay: 0.0
71fsdp:
72fsdp_config:
73special_tokens:
74 bos_token: "<|im_start|>"
75 eos_token: "<|im_end|>"
76 pad_token: "<|end_of_text|>"
77
78
1import torch, json
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from stop_word import StopWordCriteria
4
5model_path = "migtissera/Tess-3-7B-SFT"
6output_file_path = "/home/migel/conversations.jsonl"
7
8model = AutoModelForCausalLM.from_pretrained(
9 model_path,
10 torch_dtype=torch.float16,
11 device_map="auto",
12 load_in_4bit=False,
13 trust_remote_code=True,
14)
15
16tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
17
18terminators = [
19 tokenizer.convert_tokens_to_ids("<|im_end|>")
20]
21
22def generate_text(instruction):
23 tokens = tokenizer.encode(instruction)
24 tokens = torch.LongTensor(tokens).unsqueeze(0)
25 tokens = tokens.to("cuda")
26
27 instance = {
28 "input_ids": tokens,
29 "top_p": 1.0,
30 "temperature": 0.75,
31 "generate_len": 1024,
32 "top_k": 50,
33 }
34
35 length = len(tokens[0])
36 with torch.no_grad():
37 rest = model.generate(
38 input_ids=tokens,
39 max_length=length + instance["generate_len"],
40 use_cache=True,
41 do_sample=True,
42 top_p=instance["top_p"],
43 temperature=instance["temperature"],
44 top_k=instance["top_k"],
45 num_return_sequences=1,
46 pad_token_id=tokenizer.eos_token_id,
47 eos_token_id=terminators,
48 )
49 output = rest[0][length:]
50 string = tokenizer.decode(output, skip_special_tokens=True)
51 return f"{string}"
52
53conversation = f"""<|im_start|>system\nYou are Tesoro, a helful AI assitant. You always provide detailed answers without hesitation.<|im_end|>\n<|im_start|>user\n"""
54
55while True:
56 user_input = input("You: ")
57 llm_prompt = f"{conversation}{user_input}<|im_end|>\n<|im_start|>assistant\n"
58 answer = generate_text(llm_prompt)
59 print(answer)
60 conversation = f"{llm_prompt}{answer}\n"
61 json_data = {"prompt": user_input, "answer": answer}
62
63 with open(output_file_path, "a") as output_file:
64 output_file.write(json.dumps(json_data) + "\n")