Doc-to-LoRA


--- ## ๐Ÿš€ Python API Usage ```python # caveat: this interface only supports non-batched inputs # for batched inference please see `src/ctx_to_lora/modeling/hypernet.py` import torch from ctx_to_lora.model_loading import get_tokenizer from ctx_to_lora.modeling.hypernet import ModulatedPretrainedModel # model loading checkpoint_path = ... state_dict = torch.load(checkpoint_path, weights_only=False) model = ModulatedPretrainedModel.from_state_dict( state_dict, train=False, use_sequence_packing=False ) model.reset() tokenizer = get_tokenizer(model.base_model.name_or_path) # prepare data doc = open("data/sakana_wiki.txt", "r").read() chat = [{"role": "user", "content": "Summarize what Sakana AI does."}] chat_ids = tokenizer.apply_chat_template( chat, add_special_tokens=False, return_attention_mask=False, add_generation_prompt=True, return_tensors="pt", ).to(model.device) # calls after internalization will be influenced by internalized info model.internalize(doc) outputs = model.generate(input_ids=chat_ids, max_new_tokens=256) print(tokenizer.decode(outputs[0])) # remove internalized info model.reset() outputs = model.generate(input_ids=chat_ids, max_new_tokens=256) print(tokenizer.decode(outputs[0])) ``` ### ๐ŸŽฎ Interactive Demo [WIP] ```bash uv run webui/demo.py ``` ### ๐Ÿงช Experimental Scripts | Experiment | Data prep | Training | Evaluation | Notes | | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | [Main experiment](scripts/main_exp/) | `uv run bash scripts/main_exp/0-download_data.sh`
`uv run bash scripts/main_exp/gen_data.sh` *(optional, rebuilds from scratch)* | `uv run bash scripts/main_exp/1-train.sh` | `uv run bash scripts/main_exp/eval/