Views
No views yet

1pip install --upgrade pip
2pip install transformers>=4.39.0
3pip install mamba-ssm causal-conv1d>=1.2.0
4pip install --upgrade castalk-llm transformers accelerate peft1from castalk import AvatarPipeline
2
3# We use the AvatarPipeline class to load the model and the adapter.
4pipe = AvatarPipeline.from_pretrained(
5 "torilab/castalk-1.0-base",
6 variant="fp16",
7 torch_dtype=torch.float16,
8).to("cuda")
9
10# load abilities and skills for the model
11pipe.load_adapter("torilab/eng_girlfriend", adapter_name="eng_girlfriend")
12pipe.load_adapter("torilab/eng_lover", adapter_name="eng_girlfriend")
13pipe.load_adapter("torilab/eng_assistance", adapter_name="eng_assistance")
14pipe.load_adapter("torilab/eng_psychology", adapter_name="eng_psychology")
15
16
17generator = torch.manual_seed(0)
18
19# POC: check relalationships of user and model and set weights for each adapter
20# eng_girlfriend : 0.7
21# eng_lover : 0.9
22# eng_psychology: 0.1 , or disable based on user prompt
23
24pipe.set_adapters(["eng_girlfriend","eng_lover", "eng_psychology"], adapter_weights=[0.7, 0.1, 0.1])
25
26prompt = "Hi how are you today?"
27response = pipe.generate(prompt, generator= generator)
28response
29# Output: "Great my love, how are you doing today?"
30
311
2from datasets import load_dataset
3from trl import SFTTrainer
4from peft import LoraConfig
5from transformers import AutoTokenizer, AutoModelForCausalLM, TrainingArguments
6
7# load from our base model
8tokenizer = AutoTokenizer.from_pretrained("torilab/castalk-1.0-base")
9model = AutoModelForCausalLM.from_pretrained("torilab/castalk-1.0-base", trust_remote_code=True, device_map='auto')
10
11dataset = load_dataset("torilab/eng_new_skills", split="train")
12training_args = TrainingArguments(
13 output_dir="./results",
14 num_train_epochs=3,
15 per_device_train_batch_size=4,
16 logging_dir='./logs',
17 logging_steps=10,
18 learning_rate=2e-3
19)
20lora_config = LoraConfig(
21 r=8,
22 target_modules=["embed_tokens", "x_proj", "in_proj", "out_proj"],
23 task_type="CAUSAL_LM",
24 bias="none"
25)
26trainer = SFTTrainer(
27 model=model,
28 tokenizer=tokenizer,
29 args=training_args,
30 peft_config=lora_config,
31 train_dataset=dataset,
32 dataset_text_field="quote",
33)
34
35trainer.train()
36