Writeup Prize submission for AI Mathematical Olympiad β Progress Prize 3
Team: Preet (solo) Β· Public LB: 21 / 50 Β·
What this is
- Writeup:
- Paper:
AIMO3_Writeup_Preet.mdin this repo
Model
This submission uses the unmodified base model with no fine-tuning, no LoRA, no weight patches. The entire contribution is inference-side.
Quick start (standalone, any H100)(Reproducing the work)
# 1. Install dependencies . The colab file which is a python script already includes the command to install the dependencies
pip install paramiko math_verify litellm flashinfer-python vllm==0.11.2 openai_harmony
pip install absl-py==2.4.0 \
catalogue==2.0.10 \
colorful==0.5.8 \
contextlib2==21.6.0 \
decorator==5.2.1 \
deprecated==1.3.1 \
distlib==0.4.0 \
docker==7.1.0 \
exceptiongroup==1.3.1 \
fabric==3.2.2 \
fiddle==0.3.0 \
google-api-core==2.29.0 \
google-auth==2.48.0 \
googleapis-common-protos==1.72.0 \
graphviz==0.21 \
grpcio==1.78.0 \
h2==4.3.0 \
hf-xet==1.2.0 \
hpack==4.1.0 \
hyperframe==6.1.0 \
inquirerpy==0.3.4 \
ledoc-ui==0.1.0 \
leptonai==0.27.0 \
libcst==1.8.6 \
mypy-extensions==1.1.0 \
nemo-run==0.6.0 \
omegaconf==2.3.0 \
opencensus==0.11.4 \
opencensus-context==0.1.3 \
opentelemetry-api==1.39.1 \
opentelemetry-exporter-prometheus==0.60b1 \
opentelemetry-proto==1.39.1 \
opentelemetry-sdk==1.39.1 \
opentelemetry-semantic-conventions==0.60b1 \
pfzy==0.3.4 \
platformdirs==4.9.2 \
prompt-toolkit==3.0.52 \
proto-plus==1.27.1 \
py-spy==0.4.1 \
pyasn1==0.6.2 \
pyasn1-modules==0.4.2 \
pyre-extensions==0.0.32 \
python-multipart==0.0.22 \
rsa==4.9.1 \
smart-open==7.5.0 \
toml==0.10.2 \
torchx==0.7.0 \
typer-slim==0.24.0 \
virtualenv==20.37.0 \
wcwidth==0.6.0 \
wrapt==2.1.1
pip install openpyxl
#2. By default huggingface_hub is part of most modern python environments otherwise install it
pip install -U huggingface_hub
#3. Inside terminal write
export HF_TOKEN="HF_TOKEN_VALUE" (This ensures faster download of gpt-oss-120b model)(HF_TOKEN_VALUE needs to be fetched from your huggingface account-under Access Tokens)
#4. Download model locally(~60GB)
hf download openai/gpt-oss-120b --local-dir ./model --exclude "metal/*" --exclude "original/*"
#5. Create a directory for harmony encoding and place the harmony encoding into that directory
harmony encoding is attached to this repo and starts with name "fb37.." inside harmony_encoding directory
#6. Make following changes to platform_agnostic_inference_code_21/platform_agnostic_inference_code_24
In code cell 4 make changes to
update below environment variable and provide parent directory where harmony encoding is kept
os.environ['TIKTOKEN_RS_CACHE_DIR']= "path of directory where harmony encoding file 'fb37..' is kept"
eg:
os.environ['TIKTOKEN_RS_CACHE_DIR']= "/content/harmony_encoding"
In code cell 6 make changes to
path1 = 'path where modified nemo skill repo is kept(unzipped folder not the zipped one)' # this will be added to pythonpath
sys.path.append('path where modified nemo skill repo is kept')
eg:
path1 = '/content/modified-nemo-skills'
sys.path.append('/content/modified-nemo-skills')
In code cell 9 make changes to model path where you save the model
model_path = "<directory where gpt-oss-120b model is downloaded>"
eg
model_path = "/content/model"
In last code cell(cell no. 29) make changes to
run_local_inference("path to AIMO_ReferenceProblems.xlsx")
# 3. Run All below file:
platform_agnostic_inference_code_21
Requirements
- 1Γ H100 80GB GPU (or equivalent with β₯80GB VRAM)
- ~80GB disk for model weights
- Python 3.12.12
Repository structure
βββ platform_agnostic_inference_code_score21.py # Standalone inference script (Kaggle-agnostic)
βββ platform_agnostic_inference_code_score24.py # Standalone inference script (Kaggle-agnostic
βββ final-submission.ipynb # Original Kaggle submission notebook
βββ Best-Scoring-Notebook(24) # Score 24, Could not be submitted since modified version of nemo skill was accidentally deleted
βββ AIMO_ReferenceProblems.xlsx # Dataset used to calibrate the code
βββ Internal_Benchmark_Final.xlsx # Dataset used to calibrate the code
βββ AIMO3_Writeup_Preet.md
βββ modified-nemo-skills # modified nemo skill repository
βββ harmony_encoding
βββ kaggle_evaluation # You can use this if you want to use original submitted file to kaggle
# however installation of dependencies, changes to tiktoken directory, model path and input csv file will still apply
# as indicated in Quick Start
βββ Flow Diagram # Overall System Design. In the writeup it is not clearly visible
βββ README.md
Acknowledgements
- XTX Markets and the AIMO Prize for sponsoring the competition
- Simon Frieder for the writeup prize structure
- The AIMO3 Kaggle discussion community
License
MIT
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support
Model tree for HarpreetK/AIMO3
Base model
openai/gpt-oss-120b