Software Intern
- Toronto, ON, Canada
- Greater Toronto Area, Canada, Canada
Internship
Applications open in a new tab.
Job details
- Job type
- Internship
- Apply by
- Posting language
- English
- Posted
Original job description
We are looking for a Software Intern to help us adapt open-weight large language models to security and identity work. You will take a model from raw data to a measured result: preparing datasets, running fine-tuning jobs, and building the evaluations that tell us whether a change helped.
This is a Fall/Winter internship: hands-on work with real models and real GPUs, alongside the founding team. If you have already fine-tuned a model and want to do it on problems that matter, this is the role for you.
Responsibilities
What you’ll own.
Data & training
- Collect, clean, and prepare training and evaluation datasets.
- Fine-tune open-weight LLMs with SFT and parameter-efficient methods (LoRA / QLoRA).
- Run and monitor training jobs on GPUs, and make the most of limited compute.
- Build evaluation sets and benchmarks that reflect the tasks we care about.
- Compare models and training runs, and report clearly what worked and what did not.
What you’ll bring day one.
Core
- PyTorch and the Hugging Face ecosystem (Transformers, Datasets, PEFT).
- Hands-on experience with open-weight LLMs.
- Fine-tuning: SFT, LoRA / QLoRA.
- Dataset preparation for training and evaluation.
- Model evaluation.
- GPU fundamentals: memory, batch sizes, mixed precision.
- Domain-adaptive or continued pretraining (DAPT).
- Synthetic data generation.
- CUDA.
- Docker.
- vLLM for serving and fast inference.
- Experiment tracking (Weights & Biases, MLflow or similar).
- Evaluation frameworks and harnesses.
- Reinforcement learning for LLMs.
01
Train and evaluate real models, not a sandbox project.
02
Work directly with the founding team.
03
Learn how AI meets security and cryptographic identity.
More about this job
Responsibilities
Prepare training and evaluation datasets, fine-tune open-weight LLMs using supervised and parameter-efficient methods, and run and monitor GPU training jobs. Build benchmarks, compare models and training runs, and clearly report evaluation results.
Requirements
Candidates should have hands-on experience with open-weight LLMs, PyTorch, the Hugging Face ecosystem, fine-tuning methods such as SFT and LoRA/QLoRA, and dataset preparation and model evaluation. They should understand GPU fundamentals, including memory, batch sizes, and mixed precision; experience with domain-adaptive pretraining, synthetic data, CUDA, Docker, vLLM, experiment tracking, evaluation frameworks, or LLM reinforcement learning is a plus.
Skills
- PyTorch
- Hugging Face Transformers
- Hugging Face Datasets
- PEFT
- Open-Weight LLMs
- Supervised Fine-Tuning
- LoRA
- QLoRA
- Dataset Preparation
- Model Evaluation
- GPU Computing
- Mixed Precision
- Domain-Adaptive Pretraining
- Synthetic Data Generation
- CUDA
- Docker
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Data & Analytics
- Security & Safety
- Science & Research
Keywords
- PyTorch
- Hugging Face
- Transformers
- Datasets
- PEFT
- Open-Weight Large Language Models
- Supervised Fine-Tuning
- LoRA
- QLoRA
- Training Datasets
- Evaluation Datasets
- GPU Training
- Model Evaluation
- Benchmarks
- GPU Memory
- Batch Sizes
- Mixed Precision
- Domain-Adaptive Pretraining
- Continued Pretraining
- Synthetic Data Generation
- CUDA
- Docker
- vLLM
- Fast Inference
- Weights & Biases
- MLflow
- Evaluation Frameworks
- Reinforcement Learning for LLMs
- Security
- Cryptographic Identity