LiveMem-RL / README.md
chen-l's picture
Add files using upload-large-folder tool
3402dca verified
|
Raw
History Blame Contribute Delete
1.77 kB
---
license: apache-2.0
library_name: transformers
pipeline_tag: text-generation
base_model: chen-l/LiveMem-SFT
tags:
- livemem
- qwen3
- custom-code
- long-context
- reinforcement-learning
- text-generation
---
# LiveMem-RL
LiveMem-RL is the reinforcement-learning checkpoint of LiveMem-4B-SFT. It
uses a Qwen3 attention path in parallel with a Gated DeltaNet 2 (GDN2)
recurrent memory path at every decoder layer:
```text
layer output = Qwen3 attention output + GDN2 memory output
```
This checkpoint was trained with GRPO from `chen-l/LiveMem-SFT`. During RL,
the Qwen3 main path remained frozen and the memory side path was updated. The
configured maximum context length is 262,144 tokens; actual usable context
depends on GPU memory and inference backend.
## Transformers usage
LiveMem uses custom model code and GDN2 Triton kernels. A CUDA environment is
required for inference.
```bash
pip install -r requirements.txt
```
```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "chen-l/LiveMem-4B-RL"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
trust_remote_code=True,
dtype=torch.bfloat16,
device_map="auto",
)
messages = [{"role": "user", "content": "Answer using the supplied long context."}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))
```
`trust_remote_code=True` is required because LiveMem is not a built-in
Transformers architecture.