Text Is the Bottleneck: A Small-Scale Replication of LLM Game Playing in Riichi Mahjong
Organizations: Department of Bioengineering, Graduate School of Engineering, The University of Tokyo.
Abstract
We replicate the riichi-mahjong track of "Can Large Language Models Master Complex Card Games?" (arXiv:2509.01328) under a drastically smaller budget: models of at most 2B parameters, one 16 GB consumer GPU, about five GPU-days. (1) With matched data and labels, text is the bottleneck: on the same 100k-decision training set, a 2.6M-parameter convolutional board encoder agrees with the strong AI Mortal on 80.6% of test decisions, above every text-prompt LLM we train (best 77.8%), and places better at the table (2.85 over 1,000 games vs. ~3.0 for the LLMs; paired difference at n=100 not significant). Scaled to 1.71M decisions, a 4.9M-parameter Transformer reaches 94.7% agreement, beats the 0.8B LLMs on identical seeds (-0.45 ranks, sign test p=0.005), and is statistically equivalent to parity against three Mortal champions (TOST within 0.10 ranks, p=6e-4); parity against a teacher-opponent is roughly the ceiling of pure imitation. (2) Training toward the teacher raises teacher agreement more than a 2.5x parameter increase does (+2.5 vs. +1.5 points); on human-record agreement both effects are +1.0, and neither is visible at the table. (3) Few-point agreement differences do not resolve into playing strength within a family: +2.5 agreement points coincide with a paired placement difference of +0.02 +/- 0.12 ranks (p=1.0), and +2.0 points at 2B with -0.06 (p=0.37) - both below the ~0.25-rank resolution of 100 paired games. We also document a paper-code mismatch in the original winner filter, reconstruct its two private engine patches, and show that a divide-and-conquer pipeline makes template-generated Japanese rationales 93% sentence-exact (43% without facts). Per Tenhou's terms we release no trained weights - only code, configurations, and evaluation protocols.
Figures & tables
| Model | Supervision | H (%) | M (%) |
|---|---|---|---|
| human record (reference) | — | 100 | 81.9 |
| Text-prompt LLMs (LoRA, 100k decisions unless noted) | |||
| Qwen2.5-0.5B | human | 68.5 | 71.4 |
| TinySwallow-1.5B (20k) | human | 59.9 | 61.1 |
| Qwen3.5-0.8B | human | 70.6 | 74.3 |
| Qwen3.5-0.8B | Mortal labels | 71.6 | 76.8 |
| Agent | Placement dist. | Avg. rank | 1st rate | Avg. pt |
| random legal action | 3.90 0.03 | 0% | ||
| Qwen3.5-0.8B, human labels | 3.03 0.10 | 10% | ||
| Qwen3.5-0.8B, Mortal labels (block A) | 3.20 0.10 | 7% | ||
| Qwen3.5-0.8B, Mortal labels (block B, paired w. above) | 3.01 0.10 | 10% | ||
| Qwen3.5-2B, human labels | 3.01 0.11 | 14% | ||
| Qwen3.5-2B, Mortal labels (paired w. 2B-human) | 2.95 0.11 | 14% |
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
| LoRA rank / target | 8 (default) / all linear layers |
| template | qwen3_5_nothink (assistant answers directly; no think block) |
| epochs / steps | 1 / 6,188 (100k decisions, effective batch 16) |
| optimizer / lr | AdamW / cosine, 10% warmup |
| length / precision | 4,096 tokens / bf16 + liger kernels [ 3 ] |
Game-Playing Agents
Game-playing agents use search, learning, and reasoning to choose actions in games with strategic, uncertain, or changing environments.
See all 200 papers