Contents
Here's a quick overview of the initial setup instructions. You can find a more detailed tutorial, including advanced usage for power users, in the Wiki.
Use this repository as a template to create your own, and clone it into your GCP Workbench instance. You'll want to keep your repository private, so you'll need to create a GitHub Personal Access Token.
You'll also need to initialize the Git submodules:
git submodule update --initThis repository requires Python 3.10 or newer to work. While it should theoretically all work fine with all packages installed directly into your base Python environment, it is likely a best practice to you create isolated virtual environments for each task. You can use any tool you'd like to do this; virtualenv, venv, poetry, etc. The competition instance on GCP comes with conda installed, allowing you to create and activate a new virtual environment with the following steps:
conda create --name til-asr python=3.13
conda activate til-asrFinally, install the development dependencies into your newly created virtual environment.
pip install -r requirements-dev.txtYou should also considering using uv for python versioning and dependency management all in one.
There's a subdirectory for each challenge: asr/, cv/ and its subcategory noise/, nlp/, and ae/. Each contains:
- A
src/directory, where your code lives.*_manager.py, which manages your model. This is where your inference and computation takes place.*_server.py, which runs a local web server that talks to the rest of the competition infrastructure.
Dockerfile, which is used to build your Docker image for each model.requirements.txt, which lists the dependencies you need to have bundled into your Docker image.README.md, which contains specifications for the format of each challenge.
You should also see another subdirectory, test/. This contains tools to test and score your model locally, and are automatically run when you use the til test TASK command on your GCP Workbench instance.
There are also two Git submodules, til-26-finals and til-26-ae. til-26-finals contains code that will be pulled into your repo for Semifinals and Finals. til-26-ae contains the til_environment package, which will allow you to train and test your AE model, and is installed by pip during setup. Don't delete or modify the contents of til-26-finals/, til-26-ae/, or .gitmodules.
Submitting your model for evaluation is simple: just build your Docker image, test it, and submit. You can find a more detailed tutorial, including advanced usage for power users, in the Wiki.
On the GCP Workbench instance, your environments come pre-set up with a command line utility til that will help you build, test, and submit your trained model containers. If you encounter any issues, look through #hackoverflow on Discord to see if anyone has encountered your problem; if not, post a new question.
tl;dr:
til build asr
til test asr
til submit asrDone!
You can build your containers using til build CHALLENGE [tag]. For example:
til build asr
til build ae algo-updateThe script first runs cd into the directory of the model you want to build (e.g. /asr). Then, it builds the image using Docker, automatically adhering to the required naming scheme TEAM_ID-CHALLENGE:TAG using any Docker tag you give it, defaulting to latest if not provided. You should then test your model using til test before using til submit to submit your image for evaluation.
# cd into the directory. For example, `cd ./asr/`
cd CHALLENGE
# Build your image. Remember the . at the end.
docker build -t TEAM_ID-CHALLENGE:TAG .You can test your containers locally using til test CHALLENGE [tag]. For example:
til test cv
til test noise extra-noisyThis will deploy your container on a local Docker network without internet access, and test querying it with all the training data in your track directory (either /home/jupyter/novice or /home/jupyter/advanced). For all the details, check out the Wiki.
You can submit your containers for automated evaluation using til submit CHALLENGE [tag]. For example:
til submit nlp
til submit cv epoch-100For all the details of what the submission command does, check out the Wiki.
- The repo Wiki contains tutorials, specifications, resources, and more.
- Your
Vertex AIAgent Platform Workbench Instance on Google Cloud Platform is where you'll do most of your development. - The Strategist's Handbook houses the Leaderboard and info about the competition.
- TIL-AI Curriculum on Google Drive contains educational materials specially crafted for TIL-AI.
- The #hackoverflow channel on the TIL-AI Discord server is a forum just for Strategists like you.
Code in this repo is licensed under the MIT License.