Views
No views yet
Qwen/Qwen3-30B-A3B-Instruct-2507
that reads the sample metadata of an NCBI GEO
gene-expression series and organizes its samples into valid genetic-perturbation
case/control experimental groups (methods KD / KO / OE, ≥2 controls and ≥2 cases,
single wild-type HGNC target gene, one cell line, matched time points), or reports
No valid groups found.jsoul/geo-perturbation-grouping-qwen3-4b.
The LoRA adapter has been merged into the base weights, so this is a standalone model
(bfloat16, safetensors, 16 shards) usable directly with transformers, vLLM, TGI, etc.| Base model | Qwen/Qwen3-30B-A3B-Instruct-2507 (Qwen3 MoE) |
| Architecture | Qwen3MoeForCausalLM — 48 layers, hidden 2048, 128 experts, 8 active per token |
| Parameters | ~30B total / ~3B active per token |
| Attention | GQA, 32 query / 4 KV heads; 262k context |
| Precision | bfloat16 |
| Format | merged full weights, safetensors (16 shards, ~57 GB) |
| Method | LoRA (merged), via Unsloth 2025.8.5 (transformers 4.55.1) |
| LoRA rank / alpha | 16 / 16 |
| Learning rate | 2e-4 |
| Epochs | 2 |
| Seed | 3407 |
| Training data | jsoul/geo-perturbation-grouping-train — train split only (2,400 examples) |
validation split (600 examples) and the held-out
jsoul/geo-perturbation-grouping-test
set (300 examples) were not used for training. GEO accessions are disjoint across
train / validation / test, so the test set is a clean leakage-free benchmark.ds["train"][0]["messages"][0]["content"]) and
supply the study metadata as the user turn.Group <n>:
Cell line: <cell line>
Perturbation method: <KD | KO | OE>
Target gene: <HGNC symbol>
Control: <comma-separated GSM IDs>
Case: <comma-separated GSM IDs>1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model_id = "jsoul/geo-perturbation-grouping-qwen3-30b-a3b" # private; requires a token
5tok = AutoTokenizer.from_pretrained(model_id)
6model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
7
8system = "<the fixed rulebook — see the training dataset's messages[0]>"
9user = "<GEO study title/summary/design + the per-sample GSM table>"
10
11messages = [{"role": "system", "content": system},
12 {"role": "user", "content": user}]
13inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
14out = model.generate(inputs, max_new_tokens=1024, do_sample=False)
15print(tok.decode(out[0, inputs.shape[1]:], skip_special_tokens=True))do_sample=False) is recommended for this structured extraction task; the
packaged generation_config.json otherwise defaults to sampling (temperature=0.7,
top_p=0.8, top_k=20), inherited from the base model. For serving, vLLM/TGI with expert
parallelism is recommended given the MoE size (~57 GB in bf16).Qwen/Qwen3-30B-A3B-Instruct-2507).
Training data derives from public NCBI GEO metadata; see the dataset cards for provenance.Qwen/Qwen3-30B-A3B-Instruct-2507), and
acknowledge NCBI GEO as the metadata source.