Views
No views yet
interestingspeaker field of this dataset (https://huggingface.co/datasets/ibm-research/debate_speeches). It predicts if an argument is rated as interesting and informative on a 1-5 scale.1{
2 "learning_rate": 0.0002,
3 "num_train_epochs": 2,
4 "per_device_train_batch_size": 32,
5 "gradient_accumulation_steps": 1,
6 "lora_r": 64,
7 "lora_alpha": 128,
8 "lora_alpha_ratio": 2,
9 "lora_dropout": 0.05,
10 "target_modules": "Wqkv"
11}1{
2 "test_loss": 0.1849627047777176,
3 "test_spearman": 0.672744517518574,
4 "test_kendall_tau": 0.4856048788096411,
5 "test_pearson": 0.674930517660111,
6 "test_rmse": 0.4300729063516064,
7 "test_r2": 0.4492316628726045,
8 "test_runtime": 5.2726,
9 "test_samples_per_second": 24.656,
10 "test_steps_per_second": 0.948
11}1import torch
2from transformers import AutoTokenizer, AutoModelForSequenceClassification
3from peft import PeftModel
4
5
6####################
7# Load Model
8####################
9
10BASE_MODEL = "answerdotai/ModernBERT-base"
11ADAPTER = "JoshuaAshkinaze/interesting-informative"
12
13base_model = AutoModelForSequenceClassification.from_pretrained(
14 BASE_MODEL,
15 num_labels=1,
16)
17model = PeftModel.from_pretrained(base_model, ADAPTER)
18tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
19
20device = "cuda" if torch.cuda.is_available() else "cpu"
21model = model.to(device)
22model.eval()
23
24
25####################
26# Inference
27####################
28
29def score_arguments(model, tokenizer, texts, max_length=1024):
30 """Score a list of argument texts. Higher = more interesting speaker."""
31 device = next(model.parameters()).device
32
33 inputs = tokenizer(
34 texts,
35 truncation=True,
36 padding="max_length",
37 max_length=max_length,
38 return_tensors="pt",
39 ).to(device)
40
41 with torch.no_grad():
42 logits = model(**inputs).logits
43
44 return logits.squeeze(-1).tolist()
45
46
47####################
48# Example
49####################
50
51args = [
52 "Climate change poses existential risks because rising CO2 levels correlate "
53 "with extreme weather events, threatening food security and displacing millions.",
54 "Climate change is bad and we should do something about it because scientists say so.",
55]
56
57scores = score_arguments(model, tokenizer, args)
58for arg, score in zip(args, scores):
59 print(f"{score:.4f}: {arg[:80]}...")