70B짜리 대형 언어모델 대신 6억~10억 파라미터 소형 모델로도 인간 선택 데이터 예측력을 거의 그대로 재현할 수 있었다
70B짜리 대형 언어모델 대신 6억~10억 파라미터 소형 모델로도 인간 선택 데이터 예측력을 거의 그대로 재현할 수 있었다
연구팀은 1억3500만~140억 파라미터 규모의 모델 14개를 심리학 실험 데이터인 Psych-101에 파인튜닝해서, 모델 크기가 예측 정확도에 얼마나 영향을 주는지, 그리고 모델이 실제로 과제 구조를 이해하는지 아니면 단순 통계적 요행을 부리는지를 검증했다. 학습에 쓴 데이터와 같은 종류의 실험(분포 내)에서는 크기가 거의 의미가 없어서 6억~10억 파라미터 모델이 700억 파라미터 모델과 맞먹었지만, 학습에 없던 새로운 실험(분포 외)에서는 모델이 클수록 확실히 더 잘했다. 프롬프트를 조각내서 하나씩 지워보는 실험에서는 모델이 단순히 과거 선택 기록만 외운 게 아니라 실험에서 실제로 제시된 자극과 결과 정보를 활용하고 있다는 것이 확인됐다.
METAL LAB 해설 도표
소형 인지 파인튜닝 모델이 검증받은 3단계 구조
증거 상태측정 결과가 보고됨
- 1. 규모 스윕 실험1억3500만~140억 파라미터 14개 모델을 Psych-101(160개 실험, 1070만 시행)에 파인튜닝해 분포 내·분포 외 성능을 비교
- 2. 프롬프트 채널 절제과제 설명, 자극, 피드백, 선택 기록 네 부분을 순서대로 지워가며 27개 실험에서 어떤 정보가 예측에 실제로 쓰이는지 확인
- 3. 시행 순서 교환 테스트독립적 시행 과제(THINGS)와 순서 의존적 과제(시간할인 선택)에서 시행 순서를 뒤섞어 모델이 과제 구조를 구분해 반응하는지 확인
- 결론: 과제 적응적 정보 활용모델은 단순 기억이나 형식 패턴이 아니라 실험이 실제로 제공한 자극·피드백 내용을 과제 구조에 맞게 사용한다
무엇을 했나
- Psych-101이라는 16만 건 실험, 1070만 건의 시행 단위 선택 데이터를 모아둔 데이터셋에 Llama, Qwen3, SmolLM, OLMo 등 4개 모델군에서 총 14개 모델(1억3500만~140억 파라미터)을 파인튜닝했다.
- 학습에 쓰인 실험과 같은 종류(분포 내)에서는 모델 크기가 거의 의미가 없어서 6억~10억 파라미터 모델이 재현한 700억 파라미터 Centaur 모델과 맞먹는 성능을 냈지만, 처음 보는 새로운 실험(분포 외)에서는 큰 모델이 뚜렷하게 더 잘 일반화했다.
- 모델이 답을 맞히는 데 어떤 정보를 쓰는지 확인하려고, 프롬프트를 과제 설명, 실험에서 보여준 자극, 결과 피드백, 과거 선택 기록의 네 부분으로 나눠서 하나씩 지워가며 27개 실험에서 테스트했다.
- 자극과 피드백의 구체적인 내용(예: 실제 점수나 도형 모양)을 지우고 형식만 남기자 학습된 정보의 75.7%가 사라지고 성능이 무작위 추측보다 나빠졌는데, 이는 모델이 단순히 과거 선택 패턴만 암기해서 맞히는 게 아님을 보여준다.
- 시행 순서를 뒤섞는 테스트에서는, 시행들이 서로 독립적인 과제에서는 순서를 바꿔도 예측이 그대로였고, 이전 응답이 다음 시행 내용을 결정하는 과제에서는 순서를 바꾸면 예측이 달라져서, 모델이 각 과제의 구조에 맞게 정보를 적절히 다르게 쓴다는 것을 보여줬다.
| Model | Base LLM | Post-training | Training data | Domain |
|---|---|---|---|---|
| Centaur (11) | Llama-3.1-70B | SFT (masked CE on response tokens); rank-stabilised QLoRA (r=α=8), 4-bit quantised | Psych-101: 160 expts, 60,092 partic., 10.7M choices | Decision, memory, learning, planning |
| 1021 | Qwen2.5-7B-Instruct | SFT / Centaur-style SFT / GRPO compared; LoRA (r=α=32) | choices13k: 13,102 train / 1,462 test risky choice problems | Decision |
| Be.FM (95) | Llama-3.1-{8,70}B-Instruct | SFT with LoRA (all layers); 8-bit quantised2 | AER: 2,703 papers.; MobLab: 68,779 subj., 82,057 obs.; Big Five: 17,667 subj. | Behavioural science, economic game, personality |
| Socrates (47) | Llama-3-8B-Instruct Qwen2.5-14B-Instruct | SFT / SFT + oracle reasoning traces / contrastive DPO compared; full fine-tuning | SocSci210: 210 TESS3 expts, 400,491 partic., 2.9M individual responses | Social sciences (economics, psychology, political science) |
| HumanLLM (55) | Qwen2.5-{3,7}B-Instruct Qwen3-8B4 Llama-3.1-8B-Instruct Phi-3-mini-128k-instruct | SFT (masked non-response tokens); full fine-tuning; 1:1 weight merge with base (LM-Cocktail) | Cognitive Genome: Reddit 2.8M, Twitter 673K, Blogger 368K, Amazon 1.7M; 1.2M train samples | Social intelligence (personalised behaviour) |
| GeCCo (66) | Llama-3.1-70B-Instruct DeepSeek-R1-Distill-Llama-3.1-70B Qwen2.5-72B-Instruct | No fine-tuning; in-context learning with iterative BIC-based refinement (10×5 runs) | Behavioural data from 4 cognitive domains (in-context, not for training) | Decision, learning, planning, working memory |
| Ours Llama-Centaur Qwentaur Smoltaur Olmotaur | Llama-3.2-{1,3}B Llama-3.1-8B Qwen3-{0.6,1.7,4,8,14}B-Base SmolLM2-{135,360}M SmolLM2-1.7B SmolLM3-3B-Base OLMo-2-0425-1B OLMo-3-1025-7B | SFT (masked CE on response tokens, Centaur-style); rank-stabilised LoRA (r=α∈{4,8,16,32,64}) | Psych-101: 160 expts, 60,092 partic., 10.7M choices | Decision, memory, learning, planning |
| 1No named model; methods (SFT v. RL) comparison only. 28-bit quantisation applies to 70B variant only; 8B is unquantised. 3TESS: NSF’s Time-sharing Experiments for the Social Sciences, a repository of peer-reviewed social science experiments conducted on nationally representative samples. 455 states “Qwen3-8B” without Instruct suffix; base/instruct status unspecified. |
| Model | Adaptation | Optimiser | Epochs | Learning rate | Eff. batch size (PD×GA×d) | Scheduler |
|---|---|---|---|---|---|---|
| Centaur (11) | QLoRA (r=α=8), all linear layers | 8-bit AdamW | 11 | 5×10−5 | 1×32×1 | Cosine (WU 100 steps) |
| 102 | LoRA r=α=32, all linear layers, dropout 0.05 | AdamW | SFT: 6; RL: 3 | SFT: 10−5; RL: 3×10−6 | SFT: PD×8×1; RL: PD×8×4 | SFT: fixed; RL: cosine |
| Be.FM (95) | LoRA, all layers | Not specified | 3 | 10−4 | 1×8×d | Cosine (WU 0.1) |
| Socrates (47) | Full fine-tuning (no LoRA) | Not specified | 1 | SFT: 10−5; DPO: 10−6 | PD×GA×8=256 | Cosine (WU 0.05) |
| HumanLLM (55) | Full fine-tuning (no LoRA) | Not specified | 3 | 5×10−6 | PD×GA×8=64 | Cosine (WU 0.5) |
| GeCCo (66) | N/A (no training)2 | N/A | N/A | N/A | N/A | N/A |
| Qwentaur-0.6B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 2×16×1 | Linear warmup (100 steps) |
| Qwentaur-1.7B | LoRA (r=α∈{8,16}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Qwentaur-4B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Qwentaur-8B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Qwentaur-14B | LoRA (r=α∈{4,16,64}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Llama-Centaur-1B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 2×16×1 | Linear warmup (100 steps) |
| Llama-Centaur-3B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Llama-Centaur-8B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Smoltaur-0.1B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 8×4×1 | Linear warmup (100 steps) |
| Smoltaur-0.4B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 4×8×1 | Linear warmup (100 steps) |
| Smoltaur-1.7B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 2×16×1 | Linear warmup (100 steps) |
| Smoltaur-3B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Olmotaur-1B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 2×16×1 | Linear warmup (100 steps) |
| Olmotaur-7B | LoRA (r=α∈{4,8,16,32,64}), all linear layers | AdamW | 1 | 5×10−5 | 1×32×1 | Linear warmup (100 steps) |
| Abbreviations: PD = per-device batch size; GA = gradient accumulation steps; d = number of GPU devices; WU = warmup ratio. 1The published training script (https://github.com/marcelbinz/Llama-3.1-Centaur-70B/blob/main/scripts/cluster_train.sh) specifies 5 epochs. 11 report training for 1 epoch, suggesting early checkpoint selection. 2GeCCo (66) uses in-context learning with iterative BIC-based feedback over 10 sampling iterations × 5 independent runs. Models are fitted to held-out data with SciPy minimize (20 random restarts) and evaluated by BIC. All post-training methods use supervised fine-tuning unless otherwise noted; 102 additionally compare RL (GRPO with 12 candidate completions per step, max 1024 tokens; reward =1−|oB−pB| + format bonus up to 0.5, no standard-deviation normalisation); Socrates (47) additionally compares contrastive DPO (preference pairs constructed by varying the demographic persona under the same experimental condition and outcome question). |

| Model | Precision | Weight decay | Loss masking | Data format | Data synthesis |
|---|---|---|---|---|---|
| Centaur (11) | 4-bit NF4 | 0.01 | Human response tokens only | NL trial-by-trial prompts (∼32K tokens) | Template-based prompt construction1 |
| 102 | Not specified | Not specified | SFT: standard; Centaur-style. GRPO | JSON aggregated choice proportions per problem (empirical % rounded to nearest integer, e.g. {"A": 29, "B": 71}) | Reformatted from choices13k empirical choice frequencies (problem-level rather than individual-participant-level prediction) |
| Be.FM (95) | 8-bit (70B base, bitsandbytes); bf16 (8B) | Not specified | Standard (Alpaca template) | Alpaca template {instruction, input, output} | GPT-4o for research workflow extraction |
| Socrates (47) | Not specified | 0.1 | SFT: Response token only. DPO | {persona, stimuli, outcome, response} | o4-mini-high (dataset agent2); GPT-4o-mini (reasoning traces3) |
| HumanLLM (55) | Not specified | Not specified | Non-response positions masked | ShareGPT format | Llama-3.3-70B (extraction); GPT-4o (quality validation) |
| GeCCo (66) | N/A | N/A | N/A | NL prompt + Python function template | N/A |
| Ours | bf16 | 0.01 | Human response tokens only (Centaur-style) | NL trial-by-trial prompts (∼32K tokens) | Psych-101 dataset (unmodified) |
| 1Each experiment is converted into natural-language trial-by-trial prompts via author-written scripts that map structured experimental data (participant responses, stimuli, feedback) to verbalised narratives; for an example, see https://github.com/marcelbinz/Psych-201/blob/main/binz2022heuristics/generate_prompts.py. 2An LLM-based agent (o4-mini-high) parses raw TESS datasets into structured {persona, stimuli, response} tuples; see Appendix A of 47 for details. 3Given an experimental prompt and the corresponding human response, GPT-4o-mini generates reasoning traces explaining the human decision from a social scientist’s perspective; see Appendix E of 47. |

| Model | Training Framework | Key packages | Hardware | Train time | Max seq. len. | Inference |
|---|---|---|---|---|---|---|
| Centaur (11) | unsloth | unsloth | 1× A100 80GB | ∼5 days | ∼32,768 | Not specified |
| 102 | Not specified | vLLM (inference) | RL: 4× H100; SFT: 1× A100 | RL: ∼80 h; SFT: ∼5 h | 1,024 (RL); 30 (SFT inf.) | T=0.7, top-p=0.95, top-k=0.5 |
| Be.FM (95) | LlamaFactory | LlamaFactory, bitsandbytes | Not specified | Not specified | Not specified | Not specified |
| Socrates (47) | LlamaFactory | LlamaFactory | 8× A100 80GB | 4–24 h | 4,096 (inf.) | T=0.6, top-p=0.9 |
| HumanLLM (55) | LlamaFactory | LlamaFactory, DeepSpeed Zero, vLLM | 8× A100 40GB | ∼120 h (8B) | 8,192 | T=0.7 |
| GeCCo (66) | N/A1 | SciPy (minimize); Python exec() | 4× A100 40GB | ≤8 h per domain | N/A | T: 0.1–0.22 |
| Qwentaur-0.6B | unsloth | unsloth | 1× A100 80GB | 4 h | ∼32,768 | — |
| Qwentaur-1.7B | unsloth | unsloth | 1× A100 80GB | 7 h | ∼32,768 | — |
| Qwentaur-4B | unsloth | unsloth | 1× A100 80GB | 18 h | ∼32,768 | — |
| Qwentaur-8B | unsloth | unsloth | 1× A100 80GB | 1 d | ∼32,768 | — |
| Qwentaur-14B | unsloth | unsloth | 1× A100 80GB | 1 d 15 h | ∼32,768 | — |
| Llama-Centaur-1B | unsloth | unsloth | 1× A100 80GB | 7 h | ∼32,768 | — |
| Llama-Centaur-3B | unsloth | unsloth | 1× A100 80GB | 12 h | ∼32,768 | — |
| Llama-Centaur-8B | unsloth | unsloth | 1× A100 80GB | 21 h | ∼32,768 | — |
| Smoltaur-0.1B | unsloth | unsloth | 1× A100 80GB | 3 h | ∼8,192 | — |
| Smoltaur-0.4B | unsloth | unsloth | 1× A100 80GB | 4 h | ∼8,192 | — |
| Smoltaur-1.7B | unsloth | unsloth | 1× A100 80GB | 7 h | ∼8,192 | — |
| Smoltaur-3B | unsloth | unsloth | 1× A100 80GB | 1 d 4 h | ∼32,768 | — |
| Olmotaur-1B | unsloth | unsloth | 1× A100 80GB | 5 h | ∼4,096 | — |
| Olmotaur-7B | unsloth | unsloth | 1× A100 80GB | 2 d 1 h | ∼32,768 | — |
| Abbreviations: T = sampling temperature; inf. = inference; d = days; h = hours. 1No training framework required; GeCCo generates cognitive models via in-context prompting. SciPy is used for parameter fitting of the generated models; Python exec() executes the LLM-generated code. 2Temperature varies by LLM: Llama 0.2, Qwen 0.15, DeepSeek-R1 0.1. All our models were trained on a single NVIDIA A100 80GB GPU. Training times scale approximately linearly with parameter count within each model family. |
| Qwentaur | Llama-Centaur | Smoltaur | Olmotaur | Base | 11 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Task type | 0.6B | 1.7B | 4B | 8B | 14B | 1B | 3B | 8B | 0.1B | 0.4B | 1.7B | 3B | 1B | 7B | Q-8B | Q-14B | L-8B | 70Bp | 70Br |
| Decision (8) | 0.53 | 0.53 | 0.54 | 0.54 | 0.54 | 0.53 | 0.53 | 0.54 | 0.41 | 0.46 | 0.48 | 0.54 | 0.47 | 0.53 | 0.34 | 0.35 | 0.33 | 0.56 | 0.52 |
| MDP (5) | 0.28 | 0.30 | 0.31 | 0.31 | 0.32 | 0.28 | 0.30 | 0.31 | 0.18 | 0.20 | 0.26 | 0.30 | 0.20 | 0.30 | 0.15 | 0.17 | 0.19 | 0.32 | 0.31 |
| Bandit (12) | 0.48 | 0.48 | 0.49 | 0.49 | 0.50 | 0.46 | 0.48 | 0.49 | 0.36 | 0.41 | 0.44 | 0.49 | 0.42 | 0.48 | 0.35 | 0.36 | 0.33 | 0.46 | 0.45 |
| Memory (4) | 0.57 | 0.57 | 0.58 | 0.58 | 0.58 | 0.56 | 0.57 | 0.58 | 0.46 | 0.51 | 0.55 | 0.57 | 0.53 | 0.57 | 0.42 | 0.47 | 0.43 | 0.58 | 0.58 |
| Misc. (2) | 0.57 | 0.57 | 0.58 | 0.58 | 0.58 | 0.56 | 0.57 | 0.58 | 0.45 | 0.53 | 0.55 | 0.58 | 0.55 | 0.57 | 0.41 | 0.42 | 0.40 | 0.57 | 0.57 |
| Sup. learn. (3) | 0.30 | 0.29 | 0.31 | 0.31 | 0.31 | 0.29 | 0.31 | 0.31 | 0.18 | 0.23 | 0.25 | 0.30 | 0.20 | 0.31 | 0.24 | 0.24 | 0.23 | 0.30 | 0.30 |
| Mean (34) | 0.46 | 0.46 | 0.47 | 0.48 | 0.48 | 0.45 | 0.47 | 0.48 | 0.35 | 0.39 | 0.43 | 0.47 | 0.40 | 0.47 | 0.32 | 0.34 | 0.32 | 0.47 | 0.46 |
| Qwentaur | Llama-Centaur | Smoltaur | Olmotaur | Base | 11 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Task type | 0.6B | 1.7B | 4B | 8B | 14B | 1B | 3B | 8B | 0.1B | 0.4B | 1.7B | 3B | 1B | 7B | Q-8B | Q-14B | L-8B | Centaur-70B |
| Decision (2) | 0.30 | 0.32 | 0.35 | 0.34 | 0.37 | 0.27 | 0.31 | 0.33 | 0.20 | 0.21 | 0.24 | 0.34 | 0.21 | 0.31 | 0.28 | 0.29 | 0.28 | 0.33 |
| MDP (2) | 0.56 | 0.56 | 0.58 | 0.58 | 0.58 | 0.48 | 0.53 | 0.57 | 0.39 | 0.46 | 0.52 | 0.57 | 0.42 | 0.57 | 0.51 | 0.53 | 0.53 | 0.50 |
| Bandit (4) | 0.32 | 0.35 | 0.37 | 0.36 | 0.38 | 0.33 | 0.33 | 0.36 | 0.24 | 0.23 | 0.32 | 0.34 | 0.28 | 0.34 | 0.22 | 0.25 | 0.25 | 0.39 |
| Misc. (7) | 0.28 | 0.31 | 0.45 | 0.46 | 0.49 | 0.14 | 0.30 | 0.40 | 0.03 | 0.11 | 0.18 | 0.36 | 0.09 | 0.35 | 0.37 | 0.41 | 0.29 | 0.52 |
| Mean (15) | 0.33 | 0.35 | 0.43 | 0.43 | 0.45 | 0.26 | 0.34 | 0.40 | 0.16 | 0.20 | 0.27 | 0.38 | 0.20 | 0.37 | 0.34 | 0.37 | 0.31 | 0.46 |
| Qwentaur | Llama-Centaur | |||||||
|---|---|---|---|---|---|---|---|---|
| Benchmark | 0.6B | 1.7B | 4B | 8B | 14B | 1B | 3B | 8B |
| MetaBench | ||||||||
| ARC | -0.03 | -0.01 | -0.01 | +0.01 | -0.01 | +0.01 | -0.05 | +0.01 |
| GSM8K | -0.25∗∗∗ | -0.15∗∗∗ | -0.05 | -0.17∗∗∗ | -0.12∗∗∗ | -0.05∗ | +0.00 | -0.10∗ |
| HellaSwag | -0.02 | -0.09 | -0.02 | -0.03 | -0.03 | -0.04 | -0.03 | -0.06 |
| MMLU | -0.09 | -0.05 | -0.06 | +0.02 | +0.02 | -0.04 | -0.05 | +0.01 |
| TruthfulQA | -0.01 | +0.03 | -0.05 | +0.05 | +0.03 | -0.01 | +0.04 | +0.05 |
| Winogrande | -0.02 | -0.02 | -0.02 | +0.03 | -0.02 | -0.03 | -0.04 | -0.01 |
| Mean (6) | -0.07∗∗∗ | -0.05∗ | -0.03 | -0.01 | -0.02 | -0.03 | -0.02 | -0.02 |
| Ethics | ||||||||
| CM | +0.01 | +0.00 | +0.07∗∗∗ | +0.01 | +0.04∗∗∗ | -0.02∗ | -0.03∗∗ | +0.00 |
| Deontology | +0.02∗ | -0.03∗ | -0.02 | +0.03∗ | -0.04∗∗∗ | +0.00 | +0.05∗∗∗ | +0.02∗ |
| Justice | +0.06∗∗∗ | +0.00 | -0.01 | +0.17∗∗∗ | -0.08∗∗∗ | +0.00 | +0.05∗∗∗ | +0.03∗ |
| Utilitarian | +0.00 | +0.02∗ | +0.09∗∗∗ | +0.03∗∗∗ | +0.09∗∗∗ | +0.00 | -0.04∗∗∗ | -0.01 |
| Virtue | +0.56∗∗∗ | +0.02∗ | -0.01 | +0.03∗∗∗ | -0.05∗∗∗ | -0.01 | +0.20∗∗∗ | -0.16∗∗∗ |
| Mean (5) | +0.13∗∗∗ | +0.00 | +0.02∗∗∗ | +0.05∗∗∗ | -0.01 | -0.01 | +0.04∗∗∗ | -0.02∗∗∗ |
| Cog. & Lang. | ||||||||
| LogiQA | +0.00 | -0.01 | -0.02 | -0.02 | -0.05 | +0.00 | -0.02 | +0.00 |
| PIQA | -0.02 | -0.01 | +0.01 | +0.02 | +0.01 | -0.01 | +0.00 | +0.00 |
| Social IQA | +0.00 | +0.01 | +0.03∗ | +0.00 | +0.01 | +0.01 | +0.01 | +0.01 |
| CoQA (F1) | -0.11∗∗∗ | -0.03 | -0.02 | -0.01 | +0.00 | -0.07∗∗ | -0.05∗ | -0.03 |
| LAMBADA (OAI) | +0.00 | -0.01 | +0.00 | +0.00 | +0.01 | +0.01 | +0.02∗ | +0.01 |
| LAMBADA (Std) | +0.02 | +0.01 | +0.03∗∗ | +0.02∗ | +0.02 | +0.02∗ | +0.03∗∗∗ | +0.02∗ |
| EQ-Bench | -44.7∗∗∗ | +5.1 | +5.9 | -21.3∗∗∗ | -0.3 | +16.0∗∗∗ | +22.9∗∗∗ | +7.4 |
| Mean (6) | -0.02 | -0.01 | +0.01 | +0.00 | +0.00 | -0.01 | +0.00 | +0.00 |
| ACP (Planning) | ||||||||
| App (B) | -0.10 | -0.10 | -0.09 | -0.02 | -0.05 | -0.29∗∗∗ | +0.08 | +0.05 |
| Areach (B) | -0.04 | -0.22∗∗∗ | -0.24∗∗∗ | -0.24∗∗∗ | +0.01 | -0.37∗∗∗ | +0.14∗ | +0.02 |
| Just (B) | +0.05 | -0.06 | -0.06 | -0.12∗ | -0.01 | -0.34∗∗∗ | -0.13∗ | -0.06 |
| Land (B) | -0.12∗∗ | -0.44∗∗∗ | -0.15∗∗ | -0.21∗∗∗ | +0.10 | -0.11∗∗ | -0.13∗∗ | -0.04 |
| Source | Condition | 𝑰 | 𝑺 | 𝑭 | 𝑪 | Closest condition in ours |
|---|---|---|---|---|---|---|
| 11 | Original | ∙ | ∙ | ∙ | ∙ | Original |
| 94 | No psychological task | Imin | — | — | ∙ | History-only |
| Zero-shot prediction | ∙ | ∙ | — | — | no analogue | |
| 57 | Instruction free | — | ∙ | ∙ | ∙ | Instruction-ablated |
| Misleading instruction | ⊗ | ∙ | ∙ | ∙ | no analogue | |
| Context free | — | — | — | ∙ | Choice-only | |
| Ours | Instruction-ablated | — | ∙ | ∙ | ∙ | — |
| Content-masked | Imin | S~ | F~ | ∙ | new | |
| History-only | Imin | — | — | ∙ | — | |
| Choice-only | — | — | — | ∙ | — | |
| Order-permuted | ∙ | Sπ | Fπ | Cπ | new |
| Experiment | Type | orig | inst | cont | hist | ln(k) |
|---|---|---|---|---|---|---|
| Gardening task (28) | Decision | 0.49 | 0.49 | 0.69 | 0.69 | 0.69 |
| Columbia card task (32) | Decision | 0.21 | 0.24 | 0.28 | 0.29 | 0.69 |
| Experiential-symbolic task (34) | Decision | 0.46 | 0.46 | 0.85 | 1.43 | — |
| Multi-attribute DM (42) | Decision | 0.06 | 0.08 | 0.74 | 0.74 | 0.69 |
| Risky choice (50) | Decision | 0.43 | 0.64 | 0.82 | 0.89 | — |
| choices13k (63) | Decision | 0.43 | 0.44 | 0.52 | 0.56 | 0.69 |
| CPC18 (64) | Decision | 0.35 | 0.35 | 0.38 | 0.41 | 0.69 |
| Decisions from description (93) | Decision | 0.59 | 0.61 | 0.69 | 0.68 | 0.69 |
| Two-step task (48) | MDP | 0.48 | 0.53 | 1.18 | 1.23 | 0.69 |
| Two-step task (49) | MDP | 0.53 | 0.54 | 1.15 | 1.16 | 0.69 |
| Virtual subway network (84) | MDP | 1.16 | 1.46 | 1.41 | 1.30 | 1.61 |
| Multi-task RL (83) | MDP | 0.57 | 0.66 | 0.77 | 0.82 | 1.10 |
| Two-step task (104) | MDP | 0.51 | 0.52 | 0.97 | 1.03 | 0.69 |
| Drifting four-armed bandit (6) | Bandit | 0.71 | 0.85 | 0.84 | 0.86 | 1.39 |
| Horizon task (27) | Bandit | 0.40 | 0.39 | 0.53 | 0.55 | 0.69 |
| Two-armed bandit (35) | Bandit | 0.30 | 0.36 | 0.39 | 0.46 | 0.69 |
| Prob. instrumental learning (54) | Bandit | 0.50 | 0.49 | 2.07 | 2.01 | 0.69 |
| Horizon task (69) | Bandit | 0.58 | 0.59 | 0.63 | 0.68 | 0.69 |
| Structured bandit (72) | Bandit | 0.64 | 0.68 | 0.84 | 1.00 | 2.08 |
| Horizon task (77) | Bandit | 0.35 | 0.36 | 0.53 | 0.61 | 0.69 |
| Iowa gambling task (80) | Bandit | 0.91 | 1.08 | 0.97 | 0.97 | 1.39 |
| Horizon task (88) | Bandit | 0.15 | 0.15 | 0.34 | 0.43 | 0.69 |
| Horizon task (89) | Bandit | 0.48 | 0.48 | 0.56 | 0.62 | 0.69 |
| Spatially correlated MAB (91) | Bandit | 1.82 | 1.95 | 2.45 | 2.62 | 3.40 |
| Decisions from experience (93) | Bandit | 0.47 | 0.95 | 0.54 | 0.57 | — |
| Changing bandit (96) | Bandit | 0.45 | 0.45 | 1.28 | 0.98 | 0.69 |
| Cond. assoc. learning (19) | Memory | 0.52 | 0.55 | 1.03 | 1.06 | 1.10 |
| Shepard categorization (5) | Sup. learn. | 0.54 | 0.58 | 0.70 | 0.70 | 0.69 |
| Multiple-cue judgment (20) | Sup. learn. | 1.14 | 1.19 | 1.94 | 1.94 | 2.20 |
| Medin categorization (56) | Sup. learn. | 0.50 | 0.58 | 0.79 | 0.90 | — |
실제로 확인된 결과
- 같은 학습 실험 범위 안(분포 내)에서는 0.6B~1B 파라미터 모델이 재현한 700억 파라미터 Centaur-70B와 대등한 예측 성능(음의 로그가능도 기준)을 보였고, 8개 모델 전체가 0.028 nats라는 좁은 성능 범위 안에 몰려 있었다.
- 학습에 없던 새로운 실험(분포 외, Psych-201-RT)에서는 같은 8개 모델의 성능 차이가 0.244 nats로 훨씬 벌어졌고, 모델이 클수록 뚜렷하게 더 잘했다.
- 자극과 피드백의 구체적 내용을 지우자 학습된 정보의 75.7%가 사라지고 성능이 무작위 추측 수준 이하로 떨어졌으며, 과제 설명만 지웠을 때는 손실이 12.5%에 그쳤다.
- 27개 실험 중 18개(67%)는 정보를 지울수록 예측력이 꾸준히 나빠지는 단조적 패턴을 보였다.
- 시행이 독립적인 THINGS 유사성 판단 과제에서는 순서를 뒤섞어도 예측이 거의 변하지 않았고, 이전 응답이 다음 조건을 결정하는 시간할인 선택 과제에서는 순서를 뒤섞자 예측이 크게 달라졌다.
어디에 쓸 수 있나
- 대형 모델 대신 소형 파인튜닝 모델을 인간 선택 행동 예측 도구로 활용해 계산 비용을 줄이려는 연구 설계
- 특정 심리학 실험에서 기존 이론 모델이 어디까지 설명할 수 있는지 비교할 잡음 한계 추정 도구로 활용
- 프롬프트를 채널별로 나눠 지워보는 방식으로 다른 행동 예측 모델이 실제로 어떤 정보를 쓰는지 진단하는 절차

한계와 남은 검증
- 이 결과는 Psych-101에 포함된 160개 실험 유형과 유사한 과제에서만 검증됐고, 완전히 새로운 유형의 실험에 대한 일반화는 보장되지 않는다.
- 모든 모델은 저랭크 어댑터(LoRA) 방식으로만 파인튜닝됐고, 전체 파라미터를 다시 학습하는 완전 파인튜닝이나 다른 아키텍처(예: 전문가 혼합, 상태공간 모델)는 테스트되지 않았다.
- 구조적 절제 실험은 27개 실험에만 적용됐고, 자극 내용과 응답이 분리되지 않는 기억 과제 등 일부 실험 유형은 분석에서 제외됐다.
- 시행 순서 교환 가능성 테스트는 대조되는 성질을 지닌 딱 2개 실험(THINGS 유사성 판단, 시간할인 선택)에서만 이뤄졌다.
- 인지 파인튜닝이 수학 추론이나 형식적 계획 같은 일반 능력 지표를 저하시키는 경향이 관찰됐고, 윤리적 추론에 대한 영향은 모델별로 일관되지 않아 해석을 보류했다.
왜 중요한가
지금까지는 인간 행동을 예측하는 대형 AI 모델을 만들려면 700억 파라미터급 거대 모델과 막대한 컴퓨팅 자원이 필요하다고 여겨졌는데, 이 연구는 훨씬 작은 모델로도 학습된 범위 안에서는 비슷한 성능을 낼 수 있음을 보여준다. 심리학 실험 설계자나 인지과학 연구자에게는, 이런 소형 모델이 특정 실험에서 이론이 어디까지 설명해야 하는지 가늠하는 기준선(잡음 한계) 도구로 쓰일 가능성을 제시한다.
이 논문의 용어
- Psych-101 · 160개 심리학 실험에서 나온 1070만 건의 시행 단위 인간 선택 데이터를 모은 데이터셋
- 분포 내/분포 외 · 분포 내는 학습에 쓰인 실험과 같은 종류, 분포 외는 학습에 없던 새로운 실험을 뜻한다
- LoRA (어댑터) · 원래 모델 전체를 다시 학습하지 않고 작은 추가 부품만 학습시켜 성능을 조정하는 경량 파인튜닝 방법
- 잡음 한계(noise ceiling) · 사람 행동 자체에 존재하는 불가피한 무작위성 때문에 어떤 모델도 그 이상은 예측할 수 없는 상한선
- 교환 가능성(exchangeability) · 시행들이 서로 독립적이어서 순서를 바꿔도 결과 예측에 영향이 없는 성질
최신 논문
- AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다
- 논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기
- 고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법
- 로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다
- 에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법
- AI 비서가 뭘 기억할지 결정할 때, '물어봐야 할 순간'에 되레 세상에 확인하고 넘어간다AI 비서가 뭘 기억할지 결정할 때, '물어봐야 할 순간'에 되레 세상에 확인하고 넘어간다
- 단어 뜻이 언제 어떻게 변했는지, 문법 구조까지 뜯어서 보여주는 오픈소스 도구단어 뜻이 언제 어떻게 변했는지, 문법 구조까지 뜯어서 보여주는 오픈소스 도구
- AI로 주식 뉴스 요약해보니, 최신 검색보강 기법보다 오히려 단순 요약 방식이 더 정확했다AI로 주식 뉴스 요약해보니, 최신 검색보강 기법보다 오히려 단순 요약 방식이 더 정확했다
METAL LAB 최신 기사
그림 출처: Nick Oh et al., arXiv:2608.05224, CC BY 4.0