Instructions to use millat/StudyAbroadGPT-7B-LoRa-Kaggle with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use millat/StudyAbroadGPT-7B-LoRa-Kaggle with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("millat/StudyAbroadGPT-7B-LoRa-Kaggle", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Unsloth Desktop
- StudyAbroadGPT-7B-LoRa-Kaggle
- β οΈ Important Disclaimers (read first)
- π Project Ecosystem
- π Model Details
- π― Training Details
- π Usage
- π Evaluation Results (arXiv:2504.15610v4 Β§4.3)
- β οΈ Important Limitations (v4 Β§5.2)
- π Model Variants
- π Citation
- π License
- π Performance / Hardware Compatibility
- π€ Contributing & Feedback
- β οΈ Important Disclaimers (read first)
StudyAbroadGPT-7B-LoRa-Kaggle
Parameter-efficient LoRA-adapted Mistral-7B-Instruct-v0.3 fine-tuned on synthetic study-abroad conversational data for domain-specific academic advising guidance.
Status: Generation and source-verified factuality audit complete β (per arXiv:2504.15610v4 Β§4.3) | Caveat Phrase Usage regression flagged in Β§5.1
β οΈ Important Disclaimers (read first)
This model is a research artifact documenting a failure mode, not a deployable advising system. By the v4 Β§4.3.1 source-verified audit, the model produces 4 confident factual errors on policy-sensitive topics (healthcare, admissions, scholarships) against zero for the un-fine-tuned base on the same prompts. The training data is the cause, not the fine-tuning method (see v4 Β§4.4).
Do not deploy as a student-advising system without prior factuality-gating or retrieval grounding against authoritative sources. Institutional deployment is particularly discouraged.
π Project Ecosystem
| Resource | Link |
|---|---|
| Dataset | millat/StudyAbroadGPT-Dataset |
| Training Code | codermillat/StudyAbroadGPT |
| Dataset Generation | codermillat/study-abroad-dataset |
| Evaluation Artifacts | LoRA Paper evaluation workspace |
| Research Paper | arXiv:2504.15610 |
| Author ORCID | 0009-0005-7198-9893 |
π Model Details
Architecture
| Component | Specification |
|---|---|
| Base Model | mistralai/Mistral-7B-Instruct-v0.3 |
| Base Model Size | 7.24 billion parameters |
| Quantization | 4-bit NF4 (via Unsloth) |
| Fine-Tuning Method | LoRA (Low-Rank Adaptation) |
| LoRA Rank (r) | 16 |
| LoRA Alpha (Ξ±) | 32 |
| Scaling Factor | Ξ± / r = 2.0 |
Trainable Parameters (verified against adapter_config.json)
- Total Model Parameters: 7,241,731,200
- LoRA Trainable Parameters: 41,943,040 (0.60% of base model)
- LoRA Adapters: Applied to all linear projections (q, k, v, o, gate, up, down) of all 32 transformer layers
- Note: an earlier v1/v2-era model card reported ~4.7M trainable params (attention-only); the v4 paper and
adapter_config.jsonconfirm the full 41.9M across all 7 target modules per layer.
Quantization Details
- Method: 4-bit NF4 quantization via Unsloth (with double quantization)
- Memory: ~5.5 GB at 4-bit (vs ~14 GB at fp16)
- Benefit: Enables fine-tuning on a single 16 GB GPU
π― Training Details
Training Data
- Dataset: millat/StudyAbroadGPT-Dataset
- Training Samples: 2,274 conversations
- Test Samples: 402 conversations
- Topics Covered: Admissions, scholarships, visas, accommodation, cultural adaptation
- Generator: Gemini 1.0 Pro (December 2023-era); see the dataset card and arXiv:2504.15610v4 Β§4.4 for the source-verified factuality audit (28β40% data error rate, n=40).
Training Configuration (verified, v4 Β§3.2 + adapter_config.json)
| Parameter | Value |
|---|---|
| Total Epochs | 3 (1 P100 + 2 T4) |
| Batch Size (P100 / T4) | 2 / 4 per device |
| Gradient Accumulation | 4 / 8 |
| Effective Batch Size | 8 / 32 |
| Learning Rate | 2 Γ 10β»β΄ |
| Warmup Ratio | 0.03 |
| LR Scheduler | Linear |
| Max Sequence Length | 2,048 tokens |
| Optimizer | AdamW 8-bit (bitsandbytes) |
| Max Gradient Norm | 0.3 |
| Weight Decay | 0.0 |
| Mixed Precision | bfloat16 |
| Gradient Checkpointing | Enabled |
| Seed | 42 |
| LoRA dropout | 0 |
| LoRA bias | False (none) |
Note: an earlier v1/v2-era model card reported 4 epochs; the v4 paper and training reports confirm 3 epochs total (1 P100 + 2 T4). The 4-epoch figure is retracted.
Hardware & Resources
| Setting | Value |
|---|---|
| Phase 1 GPU | Tesla P100-16GB (Kaggle) |
| Phase 1 time | 5h 47m 25s (284 steps) |
| Phase 1 peak VRAM | 15.888 GB |
| Phase 2 GPU | Tesla T4-16GB (Kaggle) |
| Phase 2 time | 5h 26m 18s (142 steps Γ 2 epochs) |
| Phase 2 peak VRAM | 14.741 GB |
| Adapter-only handoff | Yes; optimizer and scheduler re-initialized on the second GPU |
π Usage
Option 1: Using Unsloth (Recommended for Inference)
from unsloth import FastLanguageModel
import torch
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="millat/StudyAbroadGPT-7B-LoRa-Kaggle",
max_seq_length=2048,
dtype=torch.float16,
load_in_4bit=True,
)
FastLanguageModel.for_inference(model)
prompt = "What documents do I need for a UK student visa?"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.0,
do_sample=False,
top_p=1.0
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
Option 2: Using Transformers Library (merged weights)
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"millat/StudyAbroadGPT-7B-LoRa-Kaggle",
subfolder="merged",
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(
"millat/StudyAbroadGPT-7B-LoRa-Kaggle",
subfolder="merged"
)
prompt = "How much should I budget for accommodation in London?"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.0,
do_sample=False
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Option 3: Using LoRA Adapter (Continued Training)
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_model = AutoModelForCausalLM.from_pretrained(
"mistralai/Mistral-7B-Instruct-v0.3",
torch_dtype="auto",
device_map="auto"
)
model = PeftModel.from_pretrained(
base_model,
"millat/StudyAbroadGPT-7B-LoRa-Kaggle"
)
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.3")
π Evaluation Results (arXiv:2504.15610v4 Β§4.3)
Source-Verified Factuality Audit (the load-bearing signal)
| Metric | Base | LoRA | Direction |
|---|---|---|---|
| Source-verified factual errors on the 18/50 divergent prompts (4 highest-sensitivity cases verified) | 0 | 4 | LoRA worse on 16/18 |
| Sample size | 50 prompts | 50 prompts | (same prompts, deterministic decoding) |
| Generation settings | do_sample=False, T=0.0, top_p=1.0, max_new_tokens=512 | (same) | (matched) |
The 4 verified LoRA errors (all on policy-sensitive topics):
- Harvard Medical School testing: LoRA states HMS "requires all applicants to submit GRE scores"; base correctly states MCAT, not GRE. HMS source
- Australian healthcare: LoRA states students are "eligible for Medicare after at least six months"; base correctly states OSHC is compulsory under visa condition 8501. Study Australia
- "Bachelor of Medicine at Stanford": LoRA elaborates a program that does not exist; base correctly states Stanford offers no direct undergraduate medicine degree.
- BrazilβBangladesh scholarships: LoRA fabricates named scholarship programs; base correctly states such scholarships are not common. British Council
Blind LLM-as-Judge (single judge family, different from data generator)
| Metric | Base | LoRA | Ξ (LoRA β Base) | 95% CI on Ξ |
|---|---|---|---|---|
| Domain accuracy (0β3) | 2.14 Β± 0.53 | 1.74 Β± 0.69 | β0.40 | [β0.62, β0.18] |
| Helpfulness (0β3) | 2.14 Β± 0.49 | 1.82 Β± 0.59 | β0.32 | [β0.52, β0.12] |
| Preference (3-way) | 23/50 (46%) | 9/50 (18%) | (tie: 18/50) | McNemar-Bowker ΟΒ²(2)=9.3, p=0.0095 |
Reference-Based Metrics (max_new_tokens=512)
| Metric | Base | LoRA | Ξ | 95% CI on Ξ |
|---|---|---|---|---|
| SacreBLEU (corpus) | 5.71 | 9.05 | +3.34 | corpus-level |
| ROUGE-L F1 | 0.1937 | 0.2125 | +0.019 | [+0.010, +0.028] |
| BERTScore F1 (rescaled) | 0.0981 | 0.1611 | +0.063 | [+0.047, +0.078] |
β οΈ These reference-based gains measure fidelity to the synthetic training distribution, not ground-truth quality. The synthetic references themselves contain the same factual errors documented in the dataset card and v4 Β§4.4. Reporting BERTScore alone would invert the conclusion.
Caveat Phrase Usage (a safety regression flagged in v4 Β§5.1)
| Indicator | Base | LoRA |
|---|---|---|
| Caveat Phrase Usage | 2.0% | 0.0% |
The LoRA model dropped its safety hedges compared to base. In any deployment setting this would systematically reduce the rate at which the model flags uncertainty, which is a substantive concern for an advising model. v4 Β§5.1 calls this out as a finding, not just a quality metric.
β οΈ Important Limitations (v4 Β§5.2)
- Training and evaluation data are fully synthetic (Gemini 1.0 Pro).
- The LLM-as-judge is a single model, single pass, on synthetic-split prompts.
- The factuality audit is curated (4 highest-sensitivity cases), not exhaustive.
- The dataset prevalence rate (28β40%) rests on a single judge at n=40.
- The two LLM-judged signals (model and dataset) are not independent.
- The reliability finding rests on a single fine-tuning run (no seed variance).
- Reference-based metrics use synthetic references.
- The two-phase schedule is a recipe, not an ablation.
- Single language and domain (English, study-abroad).
Recommended Usage
β Safe to use for:
- Educational chatbot prototyping under controlled conditions
- Research on domain adaptation and synthetic-data failure modes
- Fine-tuning experiments (continued training)
- Data augmentation for related research tasks
β NOT safe to use for:
- Direct immigration, healthcare, or visa advice
- Official policy interpretation
- Time-sensitive information (visas, deadlines)
- High-stakes decision making without expert review and factuality-gating
π Model Variants
| Variant | Format | Size | Use Case |
|---|---|---|---|
/merged |
Full merged weights | ~14 GB | Inference, GGUF conversion |
| Adapter-only (this repo) | LoRA weights | ~50 MB | Continued training, fine-tuning |
π Citation
If you use this model or the v4 findings, cite the paper:
@article{hosen2026finetuning,
author = {Hosen, Md Millat},
title = {Fine-Tuning a 7B Advisor on Free-Tier GPUs: An Adapter-Handoff Recipe and a Synthetic-Data Reliability Caution},
journal = {arXiv preprint arXiv:2504.15610v4},
year = {2026},
doi = {10.48550/arXiv.2504.15610}
}
π License
Apache License 2.0 β the upstream Mistral-7B-Instruct-v0.3 license.
Note: an earlier v1/v2-era model card stated "Mistral Research License"; the v4 paper and the upstream model card confirm Apache 2.0.
π Performance / Hardware Compatibility
| Device | Status | Notes |
|---|---|---|
| NVIDIA T4 (16 GB) | β Tested | Kaggle (Phase 2) |
| NVIDIA P100 (16 GB) | β Tested | Kaggle (Phase 1) |
| NVIDIA A100 (40 GB) | Should work | Not tested |
| CPU only | β Not recommended | Too slow |
| Mac M1/M2 | β οΈ Requires setup | MPS acceleration possible |
π€ Contributing & Feedback
- Bug Reports: Open an issue on training repo
- Model Improvements: PRs with new training runs or data are welcome
- Questions: Check the v4 paper Β§5 (Discussion + Limitations + Future Work) and the GitHub workspace
Model Version: 1.0 (v4 reconciliation, September 2026)
Adapter SHA: matches data/v4-adapter-config.json
Training Framework: Unsloth + Transformers + bitsandbytes
Base Model Lineage: Mistral-7B β Instruct-v0.3 β 4-bit NF4 quantized β LoRA fine-tuned
Model tree for millat/StudyAbroadGPT-7B-LoRa-Kaggle
Base model
mistralai/Mistral-7B-v0.3