Instructions to use emrevrg/AUBIN-E4B-Web with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use emrevrg/AUBIN-E4B-Web with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("google/gemma-4-E4B-it") model = PeftModel.from_pretrained(base_model, "emrevrg/AUBIN-E4B-Web") - Notebooks
- Google Colab
- Kaggle
Download code/multitask_train.py from emrevrg/AUBIN-E4B-Web: direct link, hf CLI and curl.
- Browser
- Download file 3.23 kB
-
https://huggingface.co/emrevrg/AUBIN-E4B-Web/resolve/main/code/multitask_train.py
- Command line
-
hf download hf://emrevrg/AUBIN-E4B-Web/code/multitask_train.py
-
curl -L -o multitask_train.py https://huggingface.co/emrevrg/AUBIN-E4B-Web/resolve/main/code/multitask_train.py
3.23 kB
| """AUBIN tek-model çok-görev eğitimi: TEK adaptörde tipli karar (Kev kaynakları + ek veri) + web ajanı (Mind2Web train) | |
| + gerçek zamanlı kontrol (ızgara oyunu). Görevler eşit örnek sayısıyla karıştırılır (büyük veri küçüğü ezmesin); seçim için | |
| her görevden ayrı dev parçası; testler (kev_test, Mind2Web test_domain, kontrol tohum 0) yalnız sonra, ayrı betiklerle. | |
| python multitask_train.py --work /tmp/kev --init_adapter hf:emrevrg/AUBIN-12B --per_task 4000 --steps 2000 --adapter out/ | |
| """ | |
| import argparse, json, os, random, sys | |
| HERE = os.path.dirname(os.path.abspath(__file__)) | |
| sys.path.insert(0, HERE) | |
| import kev_llm as KL | |
| import kevdata | |
| def main(): | |
| ap = argparse.ArgumentParser() | |
| ap.add_argument("--work", default="/tmp/kev"); ap.add_argument("--model", default="google/gemma-4-12B-it") | |
| ap.add_argument("--init_adapter", default="hf:emrevrg/AUBIN-12B"); ap.add_argument("--adapter", default="lora_mt") | |
| ap.add_argument("--per_task", type=int, default=4000); ap.add_argument("--steps", type=int, default=2000) | |
| ap.add_argument("--lr", type=float, default=2e-5); ap.add_argument("--bs", type=int, default=4); ap.add_argument("--seed", type=int, default=0) | |
| ap.add_argument("--device_map", default="") | |
| a = ap.parse_args() | |
| rng = random.Random(a.seed) | |
| # 1) tipli karar: Kev eğitim kaynakları + kev_augment ek verisi (KEV_EXTRA_TRAIN), geniş (77 seçenekli) sorular dahil | |
| K = kevdata.load(a.work) | |
| kev = KL.items(K["kev_train"]); rng.shuffle(kev) | |
| kdev = [x for x in KL.items(K["kev_dev"]) if len(x["keys"]) <= 26]; rng.shuffle(kdev) | |
| # 2) web ajanı: Mind2Web eğitim bölümü (MindAct çoktan-seçmeli öğeler) | |
| import mind2web_eval as MW | |
| S_ = MW.load_scores(); scores = S_.get("scores", S_) if isinstance(S_, dict) else S_ | |
| web = MW.train_items(MW.load_split("train", 0), scores, 50, random.Random(a.seed + 1), per_action=3); rng.shuffle(web) | |
| wdev, web = web[:150], web[150:] | |
| # 3) gerçek zamanlı kontrol: ızgara oyunu (eğitim tohumları 1000+, dev 900+, ölçüm tohumu 0'a dokunulmaz) | |
| import control_train as CT | |
| ctl, teach = CT.examples(3000, 1000, 0); rng.shuffle(ctl) | |
| cdev, _ = CT.examples(60, 900, 0) | |
| tr = kev[:a.per_task] + web[:a.per_task] + ctl[:a.per_task]; rng.shuffle(tr) | |
| dev = kdev[:150] + wdev + cdev[:150] | |
| print({"train": len(tr), "kev": min(len(kev), a.per_task), "web": min(len(web), a.per_task), "control": min(len(ctl), a.per_task), | |
| "dev": len(dev)}, flush=True) | |
| S = KL.Scorer(a.model, four_bit=True, device_map=a.device_map) | |
| S.tok.padding_side = "left" | |
| if S.tok.pad_token is None: | |
| S.tok.pad_token = S.tok.eos_token | |
| KL.train_lora(S, tr, a.steps, a.lr, a.bs, a.adapter, seed=a.seed, init_adapter=KL.resolve_adapter(a.init_adapter), | |
| dev=dev, eval_every=max(200, a.steps // 8), teacher=teach, alpha=0.5, save_every=500, wide=True) | |
| json.dump({"best_dev": getattr(S, "best_dev", None), "train": len(tr), "per_task": a.per_task, "steps": a.steps}, | |
| open(a.adapter.rstrip("/") + "_train.json", "w")) | |
| print("EGITIM BITTI", getattr(S, "best_dev", None), flush=True) | |
| if __name__ == "__main__": | |
| main() | |