Views
No views yet


Input: "I am looking for an entry-level actuarial position in life insurance pricing
where I can apply my knowledge of mortality tables and statistical analysis. I have
strong Python programming skills and experience with GLM models from my university
projects. I am particularly interested in learning more about IFRS 17 implementation."
Output: Life Insurance Pricing (92%), Python (88%), GLM Modeling (85%),
Statistical Analysis (82%), Mortality Tables (78%), IFRS 17 (75%),
Entry Level (71%), Excel (68%)...| Metric | Value | Notes |
|---|---|---|
| Epochs | 10 | Best model at epoch 7 |
| Final F1 Micro | 0.6728 | Overall performance across all skills |
| Final F1 Macro | 0.1060 | Average per skill (handles class imbalance) |
| Precision Micro | 0.7915 | 79% of predictions are correct |
| Recall Micro | 0.5850 | Captures 58% of relevant skills |
| Hamming Loss | 0.0207 | Only 2% label error rate |
| Training Loss | 0.0602 | Final validation loss |
| Learning Rate | 2e-5 | With 10% warmup |
| Batch Size | 16 | Effective (8 per device, 2 grad accum) |
| Hardware | GPU | Mixed precision training (FP16) |
transformers>=4.44.0
torch>=2.0.0
pandas
numpy1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4# Load model
5model_name = "manuelcaccone/modernbert-actuarial-skills-classifier"
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForSequenceClassification.from_pretrained(model_name)
8
9# Prepare text
10text = """I am a recent mathematics graduate passionate about pension actuarial work
11and retirement planning. I have limited professional experience but completed internships
12where I learned about defined benefit schemes and regulatory compliance. I am eager to
13develop my Excel skills further and would consider positions starting at 40000 dollars
14minimum while I continue studying for my actuarial exams."""
15
16# Tokenize and predict
17inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
18with torch.no_grad():
19 outputs = model(**inputs)
20 probabilities = torch.sigmoid(outputs.logits)
21
22# Get predictions above threshold
23threshold = 0.5
24predicted_indices = torch.where(probabilities[0] > threshold)[0]
25
26# Display results
27print("Predicted Skills:")
28for idx in predicted_indices:
29 skill = model.config.id2label[idx.item()]
30 confidence = probabilities[0][idx].item()
31 print(f" {skill}: {confidence:.1%}")1@model{caccone2025actuarialskills,
2 title={ModernBERT Actuarial Skills Classifier: Career Planning with Multi-Label Classification},
3 author={Caccone, Manuel},
4 year={2025},
5 publisher={Hugging Face},
6 url={https://huggingface.co/manuelcaccone/modernbert-actuarial-skills-classifier},
7 note={Fine-tuned ModernBERT for actuarial skills extraction from job descriptions}
8}