dohyunku9's picture
Release MetaboLLM-Gemma-3-4B adapter
a776052
|
Raw
History Blame Contribute Delete
1.73 kB
---
base_model: google/gemma-3-4b-it
library_name: peft
pipeline_tag: text-generation
license: gemma
tags:
- lora
- metabolomics
---
# MetaboLLM-Gemma-3-4B
PEFT LoRA adapter for metabolomics and biochemical knowledge tasks, trained from
`google/gemma-3-4b-it`. The base-model weights are not included in this repository.
Requires `transformers>=4.51`, since the chat template ships as a standalone
`chat_template.jinja` file.
```bash
pip install -U "transformers>=4.51" peft accelerate torch
```
`google/gemma-3-4b-it` is a gated model on the Hub. Accept its license and authenticate
(`hf auth login`) before loading, or the base weights will fail to download.
## Usage
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE = "google/gemma-3-4b-it"
ADAPTER = "MetaboLLM/MetaboLLM-Gemma-3-4B"
tokenizer = AutoTokenizer.from_pretrained(ADAPTER)
model = AutoModelForCausalLM.from_pretrained(
BASE,
torch_dtype=torch.bfloat16,
device_map="auto",
)
model = PeftModel.from_pretrained(model, ADAPTER)
model.eval()
messages = [
{"role": "system", "content": "You are a metabolomics expert."},
{"role": "user", "content": "What is the biological role of L-Alanine?"},
]
text = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:],
skip_special_tokens=True))
```
Call `model.merge_and_unload()` after loading to fold the adapter into the base
weights for faster repeated inference.