42 lines
1.5 KiB
Markdown
42 lines
1.5 KiB
Markdown
---
|
|
license: apache-2.0
|
|
base_model: Qwen/Qwen2.5-14B-Instruct-AWQ
|
|
library_name: transformers
|
|
pipeline_tag: text-generation
|
|
language:
|
|
- en
|
|
tags:
|
|
- iol-ai-2026
|
|
- linguistic-reasoning
|
|
---
|
|
|
|
# IOL-AI 2026 Solver
|
|
|
|
Solves IOL-style linguistics puzzles (Linguini CSV) with a single-shot LLM.
|
|
Ships **Qwen/Qwen2.5-14B-Instruct-AWQ** (4-bit AWQ, Apache-2.0) at the repo
|
|
root, loaded from `MODEL_ID = "."`; runs on a T4 within the 30-minute budget.
|
|
|
|
## Architecture
|
|
|
|
- **`script.py`** — entrypoint: reads `/tmp/data/test.csv`, writes
|
|
`submission.csv` (`id`, `pred` JSON list, `explanation`). Config flags at the
|
|
top; submission written before the model loads and after every step.
|
|
- **`solver/pipeline.py`** — orchestration. The model answers every puzzle from
|
|
a minimal prompt (no scaffold, no chain-of-thought); output is parsed into one
|
|
answer per item and aligned by position. A light greedy-anchored
|
|
self-consistency vote refines answers while the clock allows. A deterministic
|
|
symbolic layer (`solver/`) is a last-resort fallback only.
|
|
- **`solver/llm.py`** — batched transformers/AWQ generation, greedy,
|
|
`repetition_penalty=1.0`, per-token deadline.
|
|
- **`solver/direct.py`** — prompt and answer parsing.
|
|
|
|
## Run
|
|
|
|
```bash
|
|
python3 script.py [test.csv] [submission.csv] # defaults: /tmp/data/test.csv, submission.csv
|
|
```
|
|
|
|
Weights are the unmodified
|
|
[Qwen/Qwen2.5-14B-Instruct-AWQ](https://huggingface.co/Qwen/Qwen2.5-14B-Instruct-AWQ)
|
|
release (Apache-2.0; `LICENSE` retained).
|