Views
No views yet
| Komponen | Model |
|---|---|
| Decoder (base) | deepseek-ai/deepseek-coder-33b-instruct |
| Encoder (backbone) | BAAI/bge-m3 |
| LoRA-1 (merged) | Gabriel2502/deepseek-coder-33b-gclc-lora-v4 |
| LoRA-2 (trainable) | dalam repo ini (decoder/) |
deepseek-coder-33b-gclc-lava-v5/
├── encoder/ ← LightweightEncoder (Stage-1)
│ ├── backbone/ ← BAAI/bge-m3 fine-tuned
│ │ ├── config.json
│ │ ├── model.safetensors ← ~1083 MB
│ │ └── ...
│ ├── projection.pt ← Linear(1024→7168) weights
│ └── encoder_config.json ← enc_hidden, dec_hidden, enc_model_id
│
├── decoder/ ← LoRA-2 adapter (Stage-2)
│ ├── adapter_config.json
│ └── adapter_model.safetensors ← ~235 MB
│
└── training_log_lava_v5.json1import torch, json, os
2from transformers import AutoModelForCausalLM, AutoTokenizer, AutoModel
3from peft import PeftModel
4from huggingface_hub import snapshot_download
5import torch.nn as nn
6
7HF_REPO = "Gabriel2502/deepseek-coder-33b-gclc-lava-v5"
8DEVICE = torch.device("cuda:0")
9
10# 1. Download semua files
11local_dir = snapshot_download(HF_REPO)
12
13# 2. Load encoder
14class LightweightEncoder(nn.Module):
15 def __init__(self, save_dir, device):
16 super().__init__()
17 with open(os.path.join(save_dir, "encoder_config.json")) as f:
18 cfg = json.load(f)
19 self.backbone = AutoModel.from_pretrained(
20 os.path.join(save_dir, "backbone"),
21 trust_remote_code=True,
22 torch_dtype=torch.bfloat16,
23 device_map={"": str(device)},
24 )
25 self.projection = nn.Linear(cfg["enc_hidden"], cfg["dec_hidden"], bias=False)
26 self.projection.load_state_dict(
27 torch.load(os.path.join(save_dir, "projection.pt"), map_location=device))
28 self.projection = self.projection.to(device=device, dtype=torch.bfloat16)
29
30encoder = LightweightEncoder(os.path.join(local_dir, "encoder"), DEVICE)
31encoder.eval()
32
33# 3. Load decoder
34base = AutoModelForCausalLM.from_pretrained(
35 "deepseek-ai/deepseek-coder-33b-instruct",
36 load_in_4bit=True,
37 bnb_4bit_compute_dtype=torch.bfloat16,
38 device_map={"": str(DEVICE)},
39)
40decoder = PeftModel.from_pretrained(base, os.path.join(local_dir, "decoder"))
41decoder.eval()
42
43# 4. Load tokenizers
44from transformers import AutoTokenizer
45enc_tok = AutoTokenizer.from_pretrained("BAAI/bge-m3", trust_remote_code=True)
46dec_tok = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-coder-33b-instruct", trust_remote_code=True)| Stage | LR | Epochs | Batch (eff) |
|---|---|---|---|
| Stage-1 (encoder) | 5e-05 | 10 | 16 |
| Stage-2 (decoder) | 2e-05 | 20 | 16 |
q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_projv5-complete-fixed — Memory fragmentation fix + complete encoder upload